]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/efiemu/i386/pc/cfgtables.c
[grub2.git] / ChangeLog
CommitLineData
d1611f01
VS
12011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/efiemu/i386/pc/cfgtables.c
4 (grub_machine_efiemu_init_tables): Make declaration a prototype.
5 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
6 (grub_xnu_unlock): Likewise.
7 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
8
7d4e39d6
VS
92011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10
11 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
12 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
13 * grub-core/commands/hashsum.c (aliases): Likewise.
14 * grub-core/commands/setpci.c (pci_registers): Likewise.
15 * grub-core/disk/usbms.c (attach_hook): Likewise.
16 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
17 (zio_checksum_table): Likewise.
18 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
19 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
20 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
21 * grub-core/lib/relocator.c (leftovers): Likewise.
22 (extra_blocks): Likewise.
23 * grub-core/loader/i386/bsd.c (relocator): Likewise.
24 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
25 (modules_last): Likewise.
26 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
27 (devices): Likewise.
28 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
29 (modules_last): Likewise.
30 * grub-core/normal/auth.c (users): Likewise.
31 * grub-core/normal/context.c (initial_menu): Likewise.
32 (current_menu): Likewise.
33 * grub-core/normal/crypto.c (crypto_specs): Likewise.
34 * grub-core/term/serial.c (grub_serial_ports): Likewise.
35 (grub_serial_terminfo_input_template): Likewise.
36 (grub_serial_terminfo_output_template): Likewise.
37 (grub_serial_terminfo_input): Likewise.
38 (grub_serial_terminfo_output): Likewise.
39 (registered): Likewise.
40 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
41
40fc4659
VS
422011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
43
44 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
45 grub_video_mode_type_t.
46 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
47 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
48 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
49
2da48d28
VS
502011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
51
52 * util/grub-install.in: Correct the x86-64 name as x86_64.
53
9b43bf39
CW
542011-03-11 Colin Watson <cjwatson@ubuntu.com>
55
56 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
57 initial chunk read from the kernel always includes GRUB's multiboot
58 header, which is now outside the first sector.
59
be1a7ce0
CW
602011-03-09 Colin Watson <cjwatson@ubuntu.com>
61
62 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
63 cached mmap_size, so that this works correctly when called multiple
64 times.
65 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
66
83a3c48d
CW
672011-03-09 Colin Watson <cjwatson@ubuntu.com>
68
69 * docs/grub.texi (Simple configuration): Tidy up formatting.
70
57d75699
SJ
712011-03-07 Szymon Janc <szymon@janc.net.pl>
72
73 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
74 Set-but-not-used variable removed.
75
028501a0
VS
762011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
77
78 Workaround yet another IEEE1275 bug.
79
80 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
81 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
82 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
83 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
84 is set.
85 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
86 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
87
d998657d
VS
882011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
89
90 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
91 error.
92
fee7cdd4
CW
932011-02-11 Colin Watson <cjwatson@ubuntu.com>
94
95 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
96 empty, since in that case we can only generate either nothing or a
97 syntactically invalid configuration file.
98 Reported by: Michal Suchanek. Fixes Debian bug #612898.
99
97286eb5
CW
1002011-02-09 Colin Watson <cjwatson@ubuntu.com>
101
102 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
103 (Making a GRUB bootable CD-ROM): Likewise.
104 (Invoking grub-mkrescue): New section.
105 Reported by: Yann Dirson. Fixes Debian bug #612585.
106
22b28eb3
CW
1072011-02-09 Colin Watson <cjwatson@ubuntu.com>
108
109 * util/grub-install.in: Remove unnecessary brackets from tr
110 arguments.
111 * util/grub.d/10_hurd.in: Likewise.
112 * util/grub.d/10_kfreebsd.in: Likewise.
113 * util/grub.d/10_linux.in: Likewise.
114 * util/grub.d/20_linux_xen.in: Likewise.
115 Reported by: Jamie Heilman. Fixes Debian bug #612564.
116
7e735e43
CW
1172011-02-08 Colin Watson <cjwatson@ubuntu.com>
118
119 * include/grub/file.h (not_easly_seekable): Rename to ...
120 (not_easily_seekable): ... this. Update all users.
121
800f1881
CW
1222011-01-28 Colin Watson <cjwatson@ubuntu.com>
123
124 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
125 grub-mkrescue.
126
3281d3d6
VS
1272011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
128
129 * util/grub-mkimage.c (generate_image): Refuse to create the images
130 bigger than the actual flash (512K) in Loongson machines. 512K is also
131 the biggest chip supported by them.
132
3533413c
VS
1332011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
134
135 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
136
73ae4f4f
VS
1372011-01-22 Anthony DeRobertis <anthony@derobert.net>
138
139 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
140 super_offset field.
141
37f4f608
VS
1422011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
143
144 * util/grub-install.in: Ignore install device on platforms
145 where it doesn't make sense. Always use UUIDs except on pc, efi and
146 sparc64.
147 Reported by: Daniel Kahn Gillmor.
148
03a4ccb5
VS
1492011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
150
151 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
152
ffc8f4d8
VS
1532011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
154
155 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
156 (iterate_real): Don't rely on partition being non-NULL.
157
80f23be7
VS
1582011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
159
160 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
161 supported platforms. Put a compile time assert for this rather than
162 generate a warning with 32-bit shift.
163
5d4f4dd5
VS
1642011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
165
166 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
167 logical expression more readable.
168
e489601a
VS
1692011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
170
171 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
172 even if some elements have a name.
173 Reported by: Alexander GQ Gerasiov.
174
96e0a6ea
CW
1752011-01-22 Colin Watson <cjwatson@ubuntu.com>
176
177 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
178 path unreadable if `grub-probe -t abstraction' fails, for example if
179 memberlist fails on an LVM volume group.
180 Reported by: Darius Jahandarie.
181
81431e2b
CW
1822011-01-22 Colin Watson <cjwatson@ubuntu.com>
183
184 * docs/grub.texi (Simple configuration): Document
185 GRUB_PRELOAD_MODULES.
186
5e79d66a
CW
1872011-01-17 Colin Watson <cjwatson@ubuntu.com>
188
189 * .bzrignore: Remove nonexistent grub-pbkdf2.
190
646ada34
VS
1912011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
192
193 * configure.ac: Bump version to 1.99~rc1.
194
04360337
VS
1952011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
196
197 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
198 for safety.
199
46c9db88
VS
2002011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
201
202 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
203 module.
204
2052011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
206
207 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
208
4fbf1852
VS
2092011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
210
211 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
212 diskdevid.
213
f1632d4d
VS
2142011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
215
216 Fix compilation on cygwin.
217
218 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
219 -R .drectve on cygwin.
220 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
221 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
222 (COND_CYGWIN): New condition.
223 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
224 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
225 not @TARGET_OBJ2ELF@.
226 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
227 type to determine whether aux is to be used.
228
0b5e127b
VS
2292011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
230
231 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
232 realpath'ed device string.
233 Handle floppy (somewhat).
234 Issue error in unknown case rather than garbage.
235 Reported by: Axel Beckert.
236
173b71e9
VS
2372011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
238
239 * util/grub.d/00_header.in (load_video): Handle the case when no video
240 drivers available.
241 Thanks to: Axel Beckert.
242
f8f479db
VS
2432011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
244
245 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
246 variable. Fixes problem on big endian platforms.
247
8fc0a245
VS
2482011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
249
250 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
251 It doesn't work well there.
252
b8494fbe
VS
2532011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
254
255 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
256 warning.
257 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
258 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
259 counter.
260
b44a558c
VS
2612011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
262
263 Use alias->path rather than buggy "canon".
264
265 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
266 (ofdisk_hash_add): New argument curcan. All users updated.
267
51fa856c
CW
2682011-01-11 Colin Watson <cjwatson@ubuntu.com>
269
270 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
271
9da068a5
VS
2722011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
273
274 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
275 loadmask before doing any calculations. Use correct type for offset.
276 (grub_linux_load64): Likewise.
277
86205c94
CW
2782011-01-11 Colin Watson <cjwatson@ubuntu.com>
279
280 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
281 with NULL.
282 (console_grub_equivalences_unshift): Likewise.
283 Reported by: Daniel Dehennin.
284
4531a206
VS
2852011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
286
287 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
288 (set_env_limn_ro): Likewise.
289 (GRUB_MOD_INIT): Likewise.
290 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
291 ARRAY_SIZE while on it.
292 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
293 * grub-core/normal/context.c (grub_env_export): Move from here ...
294 * grub-core/kern/env.c (grub_env_export): ... here.
295 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
296 prefix.
297 * grub-core/kern/main.c (grub_main): Export root and prefix.
298 * include/grub/env.h (grub_env_export): Export.
299 Reported by: Seth Goldberg.
300
45146057
VS
3012011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
302
303 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
304 Take into account space used by ELF sections and multiboot palette.
305 Reported by: Grégoire Sutre.
306
f093110b
VS
3072011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
308
309 * BUGS: New file.
310
3395fe52
VS
3112011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
312
313 Pass more appropriate video id to Linux.
314
315 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
316 grub_video_get_driver_id and variable gfxpayloadforcelfb to
317 fill have_vga.
318 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
319 shift params->lfb_size.
320 * include/grub/i386/linux.h: Make an enume out of have_vga values.
321
c2fa6cbb
VS
3222011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
323
324 * util/grub-menulst2cfg.c: Add missing include of misc.h.
325
b3ff6ff0
VS
3262011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
327
328 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
329 separator and pass bootpath/devid even if only one of them is available.
330 Reported by: Seth Goldberg.
331
ae67942e
VS
3322011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
333
334 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
335 implementations bug on them.
336
337 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
338 memory.
339 (filter_memory_map): Likewise.
340
d570097a
VS
3412011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
342
343 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
344 Reported by: nebuchadnezzar.
345
a508e776
VS
3462011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
347
348 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
349 Reported by: nebuchadnezzar.
350
dcb883b1
VS
3512011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
352
353 Submenu default support.
354
355 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
356 auto_boot. All users updated.
357 Declared static.
358 Handle chosen and default with submenus.
359 (grub_menu_execute_with_fallback): Declared static.
360 Don't notify failure if autobooted. Upper level does it.
361 (menuentry_eq): New function.
362 (get_entry_number): Use menuentry_eq.
363 (show_menu): New parameter "autobooted". All users updated.
364 (grub_show_menu): Likewise.
365 * include/grub/normal.h (grub_show_menu): Likewise.
366 * include/grub/menu.h (grub_menu_execute_entry): Removed.
367 (grub_menu_execute_with_fallback): Likewise.
368
6fef99b4
VS
3692011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
370
371 * util/grub-mklayout.c (usage): Update help text.
372
47a77af5
VS
3732011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
374
375 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
376
ce6bb3ee
VS
3772011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
378
379 * util/grub-menulst2cfg.c (main): Trim the line.
380
db87be2a
VS
3812011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
382
383 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
384 (grub_machine_init): Don't check amount of low memory as reportedly
385 INT 12h can be broken and if low memory is too low we wouldn't have
386 gotten into grub_machine_init anyway.
387
c49849cc
VS
3882011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
389
390 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
391 (grub_machine_mmap_iterate): Take low memory into account
392
b1969b30
VS
3932011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
394
395 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
396 badfs.
397 Reported by: TiCPU.
398
cf0eaf13
VS
3992011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
400
401 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
402 members errors.
403
1f060f39
GS
4042011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
405
406 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
407 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
408
a21e5672
GS
4092011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
410
411 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
412 openbsd and netbsd types being in part_bsd module.
413
c88172fa
VS
4142011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
415
416 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
417 (_FILE_OFFSET_BITS): Likewise.
418 Reported by: Seth Goldberg.
419
53798c4b
GS
4202011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
421
422 * configure.ac: Check for libdevmapper header.
423
e7121b69
VS
4242011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
425
426 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
427 avoid aliasing.
428 (fzap_lookup): Likewise.
429 (dnode_get): Likewise.
430 (make_mdn): Likewise.
431 (zfs_mount): Likewise.
432 (fzap_iterate): Use temporary pointer to avoid aliasing.
433 (grub_zfs_read): Likewise.
434 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
435 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
436 pointers to avoid aliasing.
437 (grub_cmd_xnu_kernel64): Likewise.
438 (grub_xnu_load_driver): Likewise.
439
fc836af9
VS
4402011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
441
442 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
443 aliasing warning.
444 (grub_cmd_terminal_output): Likewise.
445 Reported and tested by: Grégoire Sutre.
446
f9f37648
VS
4472011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
448
449 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
450 warning.
451 Reported and tested by: Grégoire Sutre.
452
ec1dfd63
VS
4532011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
454
455 * configure.ac: Do CPU substitution even if it's specified explicitly.
456 Reported and tested by: Alain Greppin.
457
9462775a
VS
4582011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
459
460 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
461 Reported and tested by: Alain Greppin.
462
0fd48e35
VS
4632011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
464
465 Satisfy some bison versions need for inttypes.h.
466
467 * grub-core/lib/posix_wrap/inttypes.h: New file.
468 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
469 (int16_t): Likewise.
470 (int32_t): Likewise.
471 (int64_t): Likewise.
472 Reported and tested by: Alain Greppin.
473
43f1bc83
VS
4742011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
475
476 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
477 Silence spurious warning.
478 Reported and tested by: Alain Greppin.
479
64d1f041
SJ
4802011-01-07 Szymon Janc <szymon@janc.net.pl>
481
482 * docs/grub.texi (Support automatic decompression): Update with xz
483 decompression support.
484
25953e10
SJ
4852011-01-07 Szymon Janc <szymon@janc.net.pl>
486
487 Improve loaders' kernel command line handling.
488
489 * grub-core/lib/cmdline.c: New file.
490 * include/grub/lib/cmdline.h: Likewise.
491 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
492 grub_create_loader_cmdline to create kernel command line.
493 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
494 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
495 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
496 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
497 (linux): Add lib/cmdline.c on common.
498
e72d259f
VS
4992011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
500
501 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
502 inopos might be unaligned.
503
c0cf26da
VS
5042011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
505
506 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
507 endian transformations.
508 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
509 Based on report by: Doug Nazar.
510
0ca09e6c
DN
5112011-01-07 Doug Nazar <nazard.michi@gmail.com>
512
513 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
514 array->members[i].start_sector.
515 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
516
014b6806
VS
5172011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
518
519 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
520 Reported and tested by: Grégoire Sutre.
521
415502c2
CW
5222011-01-06 Colin Watson <cjwatson@ubuntu.com>
523
524 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
525 avoid causing test failures by clearing the screen.
526
71b6a2b7
CW
5272011-01-06 Colin Watson <cjwatson@ubuntu.com>
528
529 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
530 Fix prefix check to handle the case where dir ends with a slash
531 (most significantly, "/" itself).
532 Reported by: Michael Vogt.
533
b3f8d28a
VS
5342011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
535
536 Run terminfo_cls on initing terminfo output to clear the screen and
537 move the cursor to (0,0).
538
539 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
540 Call grub_terminfo_output_init.
541 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
542 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
543 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
544
4c3e4f37
VS
5452011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
546
547 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
548 only when needed.
549
488f71f1
VS
5502011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
551
552 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
553 CTRL.
554
18a38098
VS
5552011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
556
557 The E820 type 5 is BADRAM, not EXEC_CODE.
558
559 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
560 (GRUB_E820_BADRAM): New define.
561 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
562 into reserved. Propagate BADRAM.
563 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
564 (GRUB_E820_BADRAM): New define.
565
9eae2084
VS
5662011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
567
568 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
569 Ignore the memory post-4G.
570 (grub_relocator_firmware_alloc_region): Additional debug statement.
571
ebc71d28
VS
5722011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
573
574 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
575 names.
576 Reported by: David Pravec.
577
446fa400
VS
5782011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
579
580 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
581 BIOSes.
582
a0159f37
VS
5832011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
584
585 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
586 Prevent overflow.
587 (grub_reed_solomon_recover): Likewise.
588
e5146ca1
VS
5892011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
590
591 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
592
5932011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
594
595 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
596 variable.
597
5b1bdf12
CW
5982011-01-04 Colin Watson <cjwatson@ubuntu.com>
599
600 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
601 descriptions of extract_legacy_entries_source and
602 extract_legacy_entries_configfile.
603 Reported by: Seung Soo, Ha.
604
99d925aa
CW
6052011-01-03 Colin Watson <cjwatson@ubuntu.com>
606
607 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
608 on devices that do not implement function 0.
609
4af0504b
DV
6102011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
611
612 * grub-core/fs/hfsplus.c: Make parent unsigned.
613 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
614 overflows.
615 (grub_hfsplus_cmp_extkey): Likewise
616
469ee10a
VS
6172011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
618
619 * util/grub-install.in: Correctly use bootloader_id and not
620 GRUB_DISTRIBUTOR on efibootmgr line.
621
323a8e9c
VS
6222011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
623
624 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
625
1b394975
IC
6262010-12-31 Ian Campbell <ijc@hellion.org.uk>
627
628 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
629 Xen and reorder menu item wording to make it clearer that this entry
630 will launch Xen. Print separate messages when loading Xen and
631 Linux.
632
275bff5f
VS
6332010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
634
635 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
636 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
637 loop in case of incorrect amiga partmap.
638
307806cb
VS
6392010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
642 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
643 Reported by:EHeM.
644
b12b923e
VS
6452010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
646
647 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
648 spurious warning.
649 Reported by: crocket
650
14b48a19
VS
6512010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
652
653 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
654 Preload EFIemu.
655 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
656
693db2df
VS
6572010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
658
659 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
660 is loaded
661 (grub_cmd_xnu_kextdir): Likewise.
662 (grub_cmd_xnu_splash): Likewise.
663
c7638645
VS
6642010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
665
666 Avoid using Reed-Solomon with 0 redundancy.
667
668 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
669 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
670 or 0 redundancy.
671 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
672 (grub_reed_solomon_recover): Likewise.
673
25dd4780
VS
6742010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
675
676 Don't use disk subsystem in freebsd_boot.
677
678 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
679 (freebsd_biosdev): Likewise.
680 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
681 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
682
0b2db943
VS
6832010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
684
685 Handling of files of unknown size is currently limited. They can't be
686 used e.g. for initrd or modules. Moreover gzip handling of not
687 easily seekable files is buggy. Disable unknown file size for now. May
688 be inefficient but works.
689
690 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
691 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
692
5c408d0f
MP
6932010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
694
695 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
696 floppy probe.
697
190a011a
JD
6982010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
699
700 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
701
022d01b8
SL
7022010-12-25 Shea Levy <shlevy>
703
704 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
705
c4855fdc
VS
7062010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
707
708 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
709 Windows Server 2008.
710 Reported by: Devin Giddings.
711
0354b867
VS
7122010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
713
714 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
715 writing an error message because of async power management.
716 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
717 (grub_reboot): Likewise.
718
ab66c69f
JU
7192010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
720
721 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
722 keep unit tests from failing when they shouldn't.
723
1426ef35
CW
7242010-12-21 Colin Watson <cjwatson@ubuntu.com>
725
726 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
727 previous patch increased the size of the RS code by 20 bytes (at
728 least with gcc-4.4), so increase this by 20 bytes to match.
729 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
730
20641b6b
CW
7312010-12-21 Colin Watson <cjwatson@ubuntu.com>
732
733 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
734 scratch area. Make sure to initialise chosen in standalone mode as
735 well as non-standalone.
736 Reported by: Robert Hooker and Andy Whitcroft.
737 Tested by: Andy Whitcroft.
738
d060ad60
CW
7392010-12-21 Colin Watson <cjwatson@ubuntu.com>
740
741 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
742 constructing a new unescaped string and passing it to grub_xputs in
743 one go, rather than passing characters to grub_printf one at a time.
744
b889cfad
CW
7452010-12-21 Colin Watson <cjwatson@ubuntu.com>
746
747 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
748 initialising utf16.
749
4e01b6c8
CW
7502010-12-21 Colin Watson <cjwatson@ubuntu.com>
751
752 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
753 comment. Add an extra layer of quotation, requiring the output of
754 this function to be used in a printf format string.
755 (gettext_printf): New function.
756 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
757 Extract translatable strings from here-documents and use a temporary
758 variable instead, so that xgettext can find them.
759 * util/grub.d/10_kfreebsd.in: Likewise.
760 * util/grub.d/10_linux.in: Likewise.
761 * util/grub.d/20_linux_xen.in: Likewise.
762
763 * po/grub.d.sed: New file.
764 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
765 arguments. Set c-format flags on all strings extracted from
766 util/grub.d/ (xgettext refuses to include these itself for strings
767 it extracted from a shell file, but these really are c-format).
768
5318fe98
VS
7692010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
770
771 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
772 Avoid next pointing to nowhere.
773
6c85b743
VS
7742010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
775
776 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
777 rather than assuming than rootblock is exactly in the middle.
778 (grub_affs_label): Likewise.
779
a2a08a35
VS
7802010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
781
782 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
783 reserved_first_sector to 0.
784 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
785 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
786 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
787
7059d1ec
VS
7882010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
789
790 Fix handling of UTF-16 UDF labels.
791
792 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
793 (read_string): .. here.
794 (grub_udf_label): Use read_string.
795
30aff4cb
BC
7962010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
797
798 * grub-core/normal/menu_entry.c (run): Execute commands from menu
799 editor under argument scope.
800 Reported by: Jordan Uggla
801
5cf86f4b
VS
8022010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
803
804 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
805
32570200
CW
8062010-12-18 Colin Watson <cjwatson@ubuntu.com>
807
808 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
809 line, and other keys scroll an entire page (previous handling was
810 for \r and \n to scroll a page and other keys to scroll two lines).
811
e1dffcf2
VS
8122010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
815 Set ptrdest to correct get_physical_target_address rather than
816 incorrect get_virtual_current_address.
817
b04298cf 8182010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
819
820 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
821 correct cat to grub_uint8_t * rather than grub_uint32_t *.
822
5367ecd3
CW
8232010-12-10 Colin Watson <cjwatson@ubuntu.com>
824
825 * .bzrignore: Ignore grub-core/rs_decoder.S.
826
1fb430f8
CW
8272010-12-10 Colin Watson <cjwatson@ubuntu.com>
828
829 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
830 .mo/.mo.gz opening sequence to ...
831 (grub_mofile_open_lang): ... here.
832 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
833 * util/grub.d/00_header.in (grub_lang): Include country part of
834 locale.
835 Reported by: Mario Limonciello.
836
a94a6671
RM
8372010-12-09 Robert Millan <rmh@gnu.org>
838
839 * NEWS: Document addition of ZFS support.
840
24b7938b
CW
8412010-12-04 Colin Watson <cjwatson@ubuntu.com>
842
843 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
844 rather than `/ 2', as the latter requires -Wa,--divide which would
845 require bumping our minimum binutils version.
846
bddc3ef6
BC
8472010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
848
849 * util/grub-script-check.c (main): Print script line number on
850 error.
851
bf78d5b2
RM
8522010-12-01 Robert Millan <rmh@gnu.org>
853
854 * grub-core/fs/zfs/zfs.c: New file.
855 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
856 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
857 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
858 * grub-core/fs/zfs/zfsinfo.c: Likewise.
859
860 * include/grub/zfs/dmu.h: Likewise.
861 * include/grub/zfs/dmu_objset.h: Likewise.
862 * include/grub/zfs/dnode.h: Likewise.
863 * include/grub/zfs/dsl_dataset.h: Likewise.
864 * include/grub/zfs/dsl_dir.h: Likewise.
865 * include/grub/zfs/sa_impl.h: Likewise.
866 * include/grub/zfs/spa.h: Likewise.
867 * include/grub/zfs/uberblock_impl.h: Likewise.
868 * include/grub/zfs/vdev_impl.h: Likewise.
869 * include/grub/zfs/zap_impl.h: Likewise.
870 * include/grub/zfs/zap_leaf.h: Likewise.
871 * include/grub/zfs/zfs.h: Likewise.
872 * include/grub/zfs/zfs_acl.h: Likewise.
873 * include/grub/zfs/zfs_znode.h: Likewise.
874 * include/grub/zfs/zil.h: Likewise.
875 * include/grub/zfs/zio.h: Likewise.
876 * include/grub/zfs/zio_checksum.h: Likewise.
877
878 * Makefile.util.def: Build ZFS into libgrubmods.
879 * grub-core/Makefile.core.def: Build zfs.mod.
880
3f0f3831
SJ
8812010-11-30 Szymon Janc <szymon@janc.net.pl>
882
883 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
884 variable.
885 * grub-core/commands/wildcard.c (match_files): Likewise.
886
3a4253b2
RM
8872010-11-30 Robert Millan <rmh@gnu.org>
888
889 * grub-core/loader/i386/bsd.c
890 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
891 whether kernel is loaded using grub_loader_is_loaded(), rather
892 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
893 certain error conditions.
894
8c317b27
RM
8952010-11-30 Robert Millan <rmh@gnu.org>
896
c5c9cd3e
RM
897 * grub-core/commands/echo.c: Include `<grub/term.h>'.
898 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 899
49d3ab46
VS
9002010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
901
902 Avoid using tricks for initialising endian variables.
903
904 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
905 Make const.
906 (GRUB_MOD_INIT): Don't byte-swap.
907 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
908 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
909 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
910 (grub_swap_bytes32_compile_time): Likewise.
911 (grub_cpu_to_le32_compile_time): Likewise.
912 (grub_cpu_to_le16_compile_time): Likewise.
913
f420a804
VS
9142010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
915
916 * util/grub-setup.c (setup): Stop recommending --force. People who
917 understand the dangers of blocklists are able to find this option
918 anyway and the ones who don't shouldn't use it anyway.
919
4e7db17b
RM
9202010-11-26 Robert Millan <rmh@gnu.org>
921
922 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
923 Update all users.
924
9be57a0d
CW
9252010-11-26 Colin Watson <cjwatson@ubuntu.com>
926
927 Fix LVM-on-RAID probing.
928
929 * util/grub-probe.c (probe): Remember which disk was detected as
930 RAID (perhaps an LVM physical volume). Use that disk's raidname
931 rather than that of the top-level disk.
932
2c7859b3 9332010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 934
d7647bb6
BC
935 Fix cmdline argument quotes for setparams command of menuentry
936 definitions.
7e623b0d
BC
937
938 * grub-core/commands/menuentry.c (setparams_prefix): Use single
939 quotes for arguments.
f866fe80 940 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 941 grub_strchrsub function instead.
f866fe80 942
7955bea0 943 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 944
74f72a64
CW
9452010-11-24 Colin Watson <cjwatson@ubuntu.com>
946
947 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
948 effort by skipping "." and ".." entries up-front.
949 Suggested by: Michael Lazarev.
950
5a407278
CW
9512010-11-24 Colin Watson <cjwatson@ubuntu.com>
952
953 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
954 ldflags to ldadd, to fix link line ordering.
955 (none_decompress): Likewise.
956
3030d8ec
CW
9572010-11-24 Colin Watson <cjwatson@ubuntu.com>
958
959 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
960 platforms.
961 (grub-emu-lite): Remove kern/emu/cache.S.
962
b7fbac12
CW
9632010-11-23 Colin Watson <cjwatson@ubuntu.com>
964
965 * util/deviceiter.c (compare_devices): If the by-id link for a
966 device couldn't be resolved, fall back to sorting by the by-id link
967 rather than segfaulting.
968 Reported and tested by: Daniel Mierswa.
969
5225f328
CW
9702010-11-23 Colin Watson <cjwatson@ubuntu.com>
971
972 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
973 ldflags, to fix link line ordering.
974
038b3ce8
CW
9752010-11-23 Colin Watson <cjwatson@ubuntu.com>
976
977 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
978 linkers are picky about this.
979
bf16e98e
CW
9802010-11-23 Colin Watson <cjwatson@ubuntu.com>
981
982 * grub-core/Makefile.am (command.lst): Adjust sed expression
983 ordering so that extended and priority commands aren't treated as
984 ordinary commands.
985
7242bab6
CW
9862010-11-23 Colin Watson <cjwatson@ubuntu.com>
987
988 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
989 Remove byte-swapping function calls, which are not valid in
990 structure initialisers.
991 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
992 non-const.
993 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
994 grub_gpt_partition_type_bios_boot.
995
14e8b279
CW
9962010-11-22 Colin Watson <cjwatson@ubuntu.com>
997
998 Fix test program build on GNU/kFreeBSD.
999
1000 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
1001 $(LIBNVPAIR)' library dependencies.
1002
e6f63338 10032010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
1004
1005 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
1006
cf8ffc38
CW
10072010-11-22 Colin Watson <cjwatson@ubuntu.com>
1008
1009 * util/grub-install.in: Remove excessive quoting that broke
1010 installations to RAID devices.
1011
7f8b0fd7
VS
10122010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
1015 bootloader version instead of 0.
1016
dfd240b1
VS
10172010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1018
1019 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
1020 warning.
1021
7b61e609
VS
10222010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1023
1024 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
1025 retrieve the metadat sector if size isn't known.
1026 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1027
9dfe92d0
RM
10282010-11-18 Robert Millan <rmh@gnu.org>
1029
1030 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
1031 with grub_memcmp().
1032
41cc919e
VS
10332010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1034
1035 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
1036 arrow.
1037 Reported by: Jordan Uggla.
1038
1afcc914
VS
10392010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 Make better UTF compliant.
1042
1043 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
1044 sequences as incorrect.
1045 (grub_is_valid_utf8): Likewise.
1046 (grub_utf8_to_ucs4): Likewise.
1047 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
1048 (grub_ucs4_to_utf8_alloc): Likewise.
1049 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
1050
f1808884
VS
10512010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 Make legacy_source behave like source.
1054
1055 * grub-core/commands/legacycfg.c (legacy_file): Don't call
1056 grub_show_menu.
1057 (grub_cmd_legacy_source): Call grub_show_menu if needed.
1058
24ec575b
CW
10592010-11-16 Colin Watson <cjwatson@debian.org>
1060
1061 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
1062 (-Wunused implies -Wunused-parameter, but not vice versa).
1063
72b7c7aa
CW
10642010-11-16 Colin Watson <cjwatson@ubuntu.com>
1065
1066 * configure.ac: Make error messages less confusing by testing for
1067 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
1068 accepted, but produces a diagnostic if something else is wrong).
1069
e98937aa
VS
10702010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
1071
1072 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
1073 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
1074 (now unused).
1075 (grub_keyboard_controller_init)
1076 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
1077 read the initial state since controller isn't inited yet.
1078
f6bbabc3
VS
10792010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
1080
1081 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
1082 allocate_regbeg may need to create new chunk header.
1083
22e7dbb2
VS
10842010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 Fix quoting in legacy parser.
1087
1088 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
1089 single quotes.
1090 (grub_legacy_parse): Likewise.
1091 Reported by: Jordan Uggla.
1092 Tested by: Jordan Uggla.
1093
03f80960
VS
10942010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1095
1096 Don't add -lgcc on i386 and x86_64.
1097
1098 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
1099 * conf/Makefile.common (LDADD_KERNEL): Likewise.
1100 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
1101
779dc15b
VS
11022010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1103
1104 * configure.ac: Add -Wno-trampolines when supported.
1105
d20a3b37
MV
11062010-11-14 Modestas Vainius <modax@debian.org>
1107
1108 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
1109 fakeraid.
1110
e5360933
GC
11112010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
1112
1113 Add generic logical block size support for UDF.
1114
1115 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
1116 (GRUB_UDF_BLKSZ): Removed.
1117 (struct grub_udf_data): New field "lbshift" to hold the logical block
1118 size of the file system in log2 format. All users updated.
1119 (sblocklist): Change type to unsigned.
1120 (grub_udf_mount): Change type of "sblklist" to unsigned.
1121 Move AVDP search before VRS recognition, because the latter requires
1122 knowledge of the logical block size, which is detected during the
1123 former.
1124 Detect and validate logical block size during AVDP search, adding
1125 support for block sizes 512, 1024 and 4096.
1126 Make VRS recognition independent of block size.
1127
cb0229c5
GC
11282010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
1129
1130 Properly handle deleted files on UDF.
1131
1132 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
1133 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
1134 set.
1135
406858a8
GC
11362010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
1137
1138 Support reading files larger than 2 GiB.
1139
1140 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
1141 "offset" to grub_off_t.
1142 (grub_udf_read_file): Likewise for parameter "pos".
1143
130da6a7
VS
11442010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
1147 unavailable.
1148 (Simple configuration): Refer to Changes from GRUB Legacy about
1149 save_env availability.
1150
65e93f6b
VS
11512010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1152
1153 * util/grub-install.in: Ignore empty partition table detection
1154 instead of trying to include part_ module.
1155
1fd08bf1
VS
11562010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
1159 LVM on RAID support.
1160
de1a024f
VS
11612010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1162
1163 Properly define WORDS_BIGENDIAN in wrapped environments.
1164
1165 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
1166 definition.
1167 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
1168
1169 Reported by: Manoel Rebelo Abranches.
1170 Tested by: Manoel Rebelo Abranches.
1171
bc5dd0b9
VS
11722010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 * util/grub-mkconfig.in: Fix quoting.
1175
58c184be
VS
11762010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1177
1178 Support big ext2 files.
1179
1180 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
1181 (grub_ext2_read_block): Support triple indirect blocks.
1182 (grub_ext2_read_file): Use 64-bit types and read size_high.
1183 (grub_ext2_open): Read size_high.
1184 Reported by: Ximin Luo.
1185 Tested by: Manoel Rebelo Abranches.
1186
5f0c02b3
VS
11872010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1188
1189 * util/grub-install.in: Handle filenames containing spaces.
1190 Reported by: Jordan Uggla.
1191 Tested by: Jordan Uggla.
1192
4417aae6
VS
11932010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 * util/grub-mkconfig.in (grub_script_check): New variable.
1196 Use grub_script_check instead of grub-script-check.
1197 Reported by: Barry Jackson.
1198
7625a68e
VS
11992010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1200
1201 * docs/grub.texi (menu): Correct the order.
1202 Reported by: D. Hugh Redelmeier.
1203
10001ac5
VS
12042010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1205
1206 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
1207 jump.
1208
9c4cf53b
MRA
12092010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
1210
10001ac5
VS
1211 * include/grub/elfload.h (grub_elf32_size): New parameter.
1212 All users updated.
9c4cf53b
MRA
1213 Return maximum segments alignment.
1214 (grub_elf64_size): Likewise.
1215 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
1216 Return maximum segments alignment.
1217 (grub_elf64_size): Likewise.
1218 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
1219 (grub_linux_claimmap_iterate): New function. Uses the
1220 "available" property in the "memory" node for memory allocation
1221 for kernel in the PowerPC loader.
9c4cf53b
MRA
1222 (grub_linux_load32): Correctly find linux entry point offset.
1223 (grub_linux_load64): Likewise.
1224
d2bf06bf
RM
12252010-11-07 Robert Millan <rmh@gnu.org>
1226
1227 On mips-yeeloong, build with -march=loongson2f when this flag is
1228 available (GCC >= 4.4).
1229 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
1230 `-march=mips3'.
1231 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
1232 or otherwise add -march=mips3.
1233
898c99a2
BC
12342010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
1235
87220a68
BC
1236 Suppress shell expansion on echo '*' and echo "*" like cases.
1237 Reported by: Jordan Uggla.
898c99a2
BC
1238
1239 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
1240 string arguments before shell expansion.
1241 * tests/grub_cmd_echo.in: New testcases.
1242
4f9b406a
RM
12432010-11-07 Robert Millan <rmh@gnu.org>
1244
1245 * conf/mips-qemu-mips.rmk: Remove stale file from previous
1246 transition.
1247
80c6d25e
VS
12482010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1249
1250 * grub-core/kern/emu/hostdisk.c
1251 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
1252
4a1a0153
VS
12532010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
1256 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
1257 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
1258
34706ddc
VS
12592010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
1262
6972dea9
VS
12632010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1264
1265 * util/grub-install.in: Replace useless recomendation to pass
1266 --modules with a recomendation to report a bug.
1267
9c693bd6
VS
12682010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 Properly register serial terminfo.
1271 Reported by: Jordan Uggla
1272
1273 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
1274 const.
1275 (grub_serial_terminfo_output_template): Likewise.
1276 (grub_cmd_serial): Register "serial" with terminfo.
1277 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
1278 grub_serial_terminfo_output.
1279
6c9e4c0c
RM
12802010-11-05 Robert Millan <rmh@gnu.org>
1281
1282 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
1283 needed).
1284
b9b3839f
RM
12852010-11-05 Robert Millan <rmh@gnu.org>
1286
1287 On Yeeloong, pass machine type information to Linux.
1288
1289 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
1290 (LOONGSON_MACHTYPE): New macro, set to
1291 "machtype=lemote-yeeloong-2f-8.9inches".
1292 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
1293 additional argument to Linux.
1294
1a3aaff4
RM
12952010-11-04 Robert Millan <rmh@gnu.org>
1296
1297 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
1298 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
1299 (its SATA disks are detected as slaveless IDE master drives on
1300 kFreeBSD).
1301 Reported by Carsten Aulbert.
1302
a75f4f62
CW
13032010-11-02 Colin Watson <cjwatson@ubuntu.com>
1304
1305 * util/bin2h.c (main): Fix spelling error in generated output.
1306
33b4b0c6
GS
13072010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
1308
1309 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
1310
2b36fbf4
VS
13112010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1312
1313 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
1314 vga= option is supplied.
1315
74aaf558
VS
13162010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
1319 * util/grub.d/10_kfreebsd.in: Likewise.
1320 * util/grub.d/10_linux.in: Likewise.
1321 * util/grub.d/20_linux_xen.in: Likewise.
1322
6428dec3
VS
13232010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1324
1325 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
1326 argument as an argument to no-argument option.
1327
f8729d98
VS
13282010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1329
1330 * util/grub.d/10_linux.in: Add missing load_video with explicit
1331 GRUB_GFXPAYLOAD_LINUX.
1332
89d68fa6
VS
13332010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
1336
3a1197cd
VS
13372010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1338
1339 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
1340 elements with invlid index.
1341 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1342 * grub-core/disk/raid.c (insert_array): Automatically reallocate
1343 members.
1344 * include/grub/raid.h (grub_raid_member): New struct.
1345 (grub_raid_array): Transform devices and start_sector into usage of
1346 grub_raid_member. All users updated
1347 (allocated_devs): New member.
1348
71574288
VS
13492010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1350
1351 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
1352 is modified
1353
8d40ec65
BC
13542010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
1355
1356 NetBSD build fix for getline function conflict from gnulib.
1357
1358 * Makefile.util.def (libgrubkern.a): New library for grub kernel
1359 components that depend on gnulib headers.
1360 (libgrubmods.a): Renamed from earlier libgrub.a.
1361 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
1362
95b9257e
VS
13632010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1364
1365 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
1366 install rather than creating a broken install.
1367
26c53dc6
VS
13682010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1369
1370 * util/grub-setup.c (argp): Remove misleading example of installing to
1371 a partition.
1372
4171b3c5
VS
13732010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1374
1375 * util/grub-setup.c (setup): Clarify the error message.
1376
18568d18
VS
13772010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1378
1379 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
1380
4f6a2e21
VS
13812010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 * grub-core/kern/emu/misc.c
1384 (grub_make_system_path_relative_to_its_root)
1385 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
1386
13872010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
1388
1389 * grub-core/kern/emu/misc.c
1390 (grub_make_system_path_relative_to_its_root): Revert r2882.
1391
e138c458
VS
13922010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1393
1394 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
1395 useless field head. All users updated.
1396 (free_subchunk): Correct handling of IN_REGION subchunk.
1397
0cbcdf0e
CW
13982010-10-22 Colin Watson <cjwatson@ubuntu.com>
1399
1400 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
1401 (Supported kernels): Likewise.
1402
b65ea155
GS
14032010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
1404
1405 Make mktemp invocations portable.
1406
1407 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
1408 exit if mktemp fails.
1409 * tests/grub_script_blockarg.in: Likewise.
1410 * tests/partmap_test.in: Likewise.
1411 * tests/util/grub-shell-tester.in: Likewise.
1412 * tests/util/grub-shell.in: Likewise.
1413 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1414 * Makefile.am: Likewise, and chain shell commands with `&&'
1415 instead of ';'.
1416 * util/grub-mkrescue.in: Use the same explicit template as above, and
1417 exit if mktemp fails.
1418
05f43cdd
BC
14192010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
1420
1421 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
1422 Linux kernel, reported by Dennis Schridde.
1423
800e6a9b
SJ
14242010-10-17 Szymon Janc <szymon@janc.net.pl>
1425
1426 * grub-core/normal/auth.c (grub_auth_check_authentication):
1427 Set-but-not-used variable removed.
1428
d82df574
VS
14292010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1430
1431 * docs/grub.texi (GNU/Linux): Document APM unavailability with
1432 32-bit linux protocol.
1433
7bced458
VS
14342010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
1437 cursor shape for sanity.
1438
5b027690
VS
14392010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 * docs/grub.texi (Installation): Document buggy BIOS install.
1442
ba5f65cf
VS
14432010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1444
1445 * docs/grub.texi (Installation): Indent.
1446
fdf2ec9c
VS
14472010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1448
1449 * util/grub-setup.c (setup): New parameter allow_floppy.
1450 (arguments): New member allow_floppy.
1451 (argp_parser): Handle --allow-floppy.
1452 (main): Pass allow_floppy.
1453 * util/grub-install.in: New option --allow-floppy passed though to
1454 grub-setup.
1455
861dfd4c
VS
14562010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1457
1458 * util/grub-install.in: Handle partitionless disks.
1459
f77a8c24
VS
14602010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1461
1462 * util/grub-setup.c (setup): Don't clean blocklists before readability
1463 verfification.
1464
27d9ee32
VS
14652010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1466
1467 * docs/grub.texi (Installation): Document embedding zone. Remove
1468 obsolete grub-install example.
1469
6bdda8f8
SJ
14702010-10-16 Szymon Janc <szymon@janc.net.pl>
1471
1472 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
1473 Set-but-not-used variable ifdef'ed.
1474 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
1475 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
1476 variable removed.
1477 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
1478 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
1479 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
1480 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
1481 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
1482 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
1483 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
1484 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
1485 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
1486 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
1487 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
1488 Likewise.
1489
e19b016b
VS
14902010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1491
1492 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
1493 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
1494 enum value.
1495
6c8d3002
VS
14962010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1497
1498 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
1499 synonym to _S5_. Needed for some DSDTs.
1500
c32b51c9
VS
15012010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 Userspace ACPI parser debugging.
1504
1505 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
1506 headers and add relevant defines. Don't include standard headers.
1507 (main) [GRUB_DSDT_TEST]: New function.
1508 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
1509 Don't declare functions.
1510
fbfbeb39
VS
15112010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1512
1513 Remove dead grub_efi_mm_fini.
1514
1515 * grub-core/kern/efi/mm.c (allocated_page): Removed.
1516 (ALLOCATED_PAGES_SIZE): Likewise.
1517 (MAX_ALLOCATED_PAGES): Likewise.
1518 (allocated_pages): Likewise.
1519 (grub_efi_allocate_pages): Don't record allocated pages.
1520 (grub_efi_free_pages): Likewise.
1521 (grub_efi_mm_init): Likewise.
1522 (grub_efi_mm_fini): Removed.
1523
65f7ed7c
VS
15242010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1525
1526 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
1527 (grub_efi_mm_init): Take into account the memory map size increase.
1528
24977b44
VS
15292010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1530
1531 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
1532 (serial_hw_put): Wait based on real time rather than port reads. Don't
1533 roken ports.
1534 * include/grub/serial.h (grub_serial_port): New field broken.
1535
1eb01cd2
RM
15362010-10-16 Robert Millan <rmh@gnu.org>
1537
1538 * grub-core/kern/emu/misc.c
1539 (grub_make_system_path_relative_to_its_root): Fix premature return
1540 when processing non-root ZFS filesystems.
5f8b440b 1541 Reported by Sergio Talens-Oliag.
1eb01cd2 1542
2d5fed60
RM
15432010-10-15 Robert Millan <rmh@gnu.org>
1544
1545 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
1546 guarantee compressed ones are processed first.
1547
d0f4c1ea
VS
15482010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1549
1550 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
1551 grub_efiemu_autocore.
1552
d87c681f
VS
15532010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
1556 rather than 0x1b.
1557 (grub_console_getkey): Use correct jae opcode rather than ja.
1558
219b3564
RM
15592010-10-12 Robert Millan <rmh@gnu.org>
1560
1561 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
1562 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
1563 variable. All references updated.
1564
1565 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
1566
20c6bb7e
VS
15672010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 Correctly distinguish mdraid flavours.
1570
1571 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
1572 (insert_array): New argument raid.
1573 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
1574 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
1575 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
1576
74baff84
VS
15772010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1578
1579 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
1580 handling of special keys.
1581
3ef068df 15822010-10-02 Aleš Nesrsta <starous@volny.cz>
1583
c7980ad9
VS
1584 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
1585 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 1586
a9455194 15872010-10-02 Aleš Nesrsta <starous@volny.cz>
1588
c7980ad9
VS
1589 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
1590 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
1591 users updated.
a9455194 1592 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 1593 Use right endpoint when querying descriptor.
a9455194 1594
441cfe65
VS
15952010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
1596
1597 Clear out 0x80 color bit on EFI.
1598 Tested by: decoder
1599 Reported by: decoder and meta tech.
1600
1601 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
1602 (grub_console_setcolorstate): Clear out 0x80 bit.
1603 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
1604 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
1605 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
1606
bf26bcc4
VS
16072010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
1608
1609 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
1610 Set to "auto".
1611
6e3c515d
VS
16122010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
1613
1614 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
1615 mo_file after freeing.
1616
e6d983ba
VS
16172010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
1620
74ccb5b5
VS
16212010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
1624 flags.
1625
17821956
VS
16262010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
1627
1628 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
1629 usage.
1630
ee74fa48
VS
16312010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 Put terminfo into core on ieee1275 and yeeloong (needed for console).
1634
1635 * gentpl.py: New groups terminfoinkernel and terminfomodule.
1636 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
1637 and terminfo.h when needed.
1638 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
1639 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
1640 (terminfo): Enable only on terminfokernel.
1641 (extcmd): Likewise.
1642 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
1643 * include/grub/lib/arg.h: Likewise.
1644 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
1645 incorrect usage of ->.
1646
aa438e68
VS
16472010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1648
1649 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
1650 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
1651
57994012
VS
16522010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1653
1654 Fix coreboot compilation.
1655
1656 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
1657 Take VBE info into account even if only text is supported.
1658 (fill_vbe_info): Take into account the case when only VGA text
1659 is supported.
1660 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
1661 on coreboot, multiboot and qemu.
1662
2a406611
VS
16632010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1664
1665 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
1666 debug messages.
1667 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
1668
d33613fc
VS
16692010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1670
1671 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
1672 parameters.
1673
44a1b432
VS
16742010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1675
1676 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
1677 if they were BSD-style.
1678
edde54e6
VS
16792010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1680
1681 * grub-core/boot/i386/pc/lnxboot.S: Replace
1682 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
1683 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
1684
b65830fa
VS
16852010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1686
1687 Write embedding zone using Reed-Solomon.
1688
1689 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
1690 * grub-core/Makefile.am (rs_decoder.S): New target.
1691 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
1692 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
1693 (multiboot): Move to RS part.
1694 (post_reed_solomon): New label.
1695 (grub_boot_drive): Move to non-RS part since it's modified in memory
1696 on boot.
1697 Include rs_decoder.S.
1698 * grub-core/lib/reed_solomon.c: New file.
1699 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
1700 New definition.
1701 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
1702 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
1703 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
1704 * include/grub/partition.h (grub_partition_map): Change prototype of
1705 embed to allow returning additional sectors.
1706 * include/grub/reed_solomon.h: New file.
1707 * util/grub-setup.c (setup): Handle Reed-Solomon.
1708
0b4b227f
CW
17092010-09-28 Colin Watson <cjwatson@ubuntu.com>
1710
1711 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
1712 i386 and x86-64 definedness tests.
1713
f772623b
YB
17142010-09-27 Yves Blusseau <blusseau@zetam.org>
1715
1716 Fix generation of kernel_syms.lst
1717
1718 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
1719 ASM_PREFIX
1720
8e57a6ca
RM
17212010-09-26 Robert Millan <rmh@gnu.org>
1722
1723 Support degraded ZFS arrays in "grub-probe -t device" resolution.
1724
1725 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
1726 the pool is an array of devices, iterate through it and return the
1727 first device that passes a stat() test (instead of blindly returning
1728 the first one).
1729
f9130836
RM
17302010-09-26 Robert Millan <rmh@gnu.org>
1731
1732 Build fixes for GNU/kFreeBSD.
1733
1734 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
1735 to programs that require ZFS conversion.
1736 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
1737 kernels that don't have FLOPPY_MAJOR.
1738
96510faf
BC
17392010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
1740
1741 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
1742
449333eb
BC
17432010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
1744
1745 Fix grub-emu build.
1746
1747 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
1748 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
1749 mdraid09 and mdraid1x.
1750
e1fd1939
CW
17512010-09-24 Colin Watson <cjwatson@ubuntu.com>
1752
1753 Re-enable grub-extras.
1754
1755 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
1756 avoid confusing Automake. Run autogen only twice, once for the top
1757 level and once for grub-core. Add Makefile.util.def and
1758 Makefile.core.def from extra modules to the appropriate autogen
1759 invocations. If Makefile.common exists in an extra module, include
1760 it in both Makefile.util.am and grub-core/Makefile.core.am;
1761 similarly, include any Makefile.util.common file in Makefile.util.am
1762 and any Makefile.core.common file in grub-core/Makefile.core.am.
1763 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
1764 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
1765 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
1766 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
1767
1768 * gentpl.py (gvar_add): Turn GVARS into a set.
1769 (global_variable_initializers): Sort global variables on output.
1770 (vars_init): New function.
1771 (first_time): Likewise.
1772 (library): Ensure that non-global variable initialisations are
1773 emitted before the first time we emit code for a library block.
1774 Append to variables rather than setting them. Only emit
1775 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
1776 each conditional path.
1777 (program): installdir() emits an Autogen macro, so must be passed to
1778 var_add rather than gvar_add.
1779 (data): Likewise.
1780 (script): Likewise.
1781 (rules): New function, centralising handling for different target
1782 types. Set up Guile association lists for first_time and vars_init,
1783 and send most output to a diversion so that variable initialisations
1784 can be emitted first.
1785 (module_rules): Use new rules function.
1786 (kernel_rules): Likewise.
1787 (image_rules): Likewise.
1788 (library_rules): Likewise.
1789 (program_rules): Likewise.
1790 (script_rules): Likewise.
1791 (data_rules): Likewise.
1792
1793 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
1794
1795 * .bzrignore: Add contrib and grub-core/contrib. Remove
1796 grub-core/Makefile.gcry.am.
1797
1d12cf29
YB
17982010-09-24 Yves Blusseau <blusseau@zetam.org>
1799
1800 * grub-core/lib/LzFind.c: Add missing include.
1801 * grub-core/lib/LzmaEnc.c: Likewise.
1802 * grub-core/script/lexer.c: Likewise.
1803 * grub-core/script/yylex.l: Likewise.
1804 * util/grub-macho2img.c: Likewise.
1805 * util/grub-menulst2cfg.c: Likewise.
1806 * util/grub-mklayout.c: Likewise.
1807 * util/grub-mkpasswd-pbkdf2.c
1808 * util/grub-mkrelpath.c: Likewise.
1809 * util/resolve.c: Likewise.
1810
dd363028
BC
18112010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
1812
1813 * Makefile.util.def (example_unit_test): Add
1814 grub-core/gnulib/libgnu.a.
1815
f5a109e2
GS
18162010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
1817
1818 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
1819
6d0fa83c
VS
18202010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1821
1822 Support xz compression on yeeloong.
1823
1824 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
1825 * configure.ac: Check for LZMA.
1826 * grub-core/Makefile.core.def (xz_decompress): New target.
1827 (none_decompress): Likewise.
1828 * grub-core/boot/decompressor/minilib.c: New file.
1829 * grub-core/boot/decompressor/none.c: Likewise.
1830 * grub-core/boot/decompressor/xz.c: Likewise.
1831 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
1832 * grub-core/kern/mips/cache_flush.S: Likewise.
1833 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
1834 * grub-core/kern/mips/startup.S: Move first stage to ...
1835 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
1836 nomacro.
1837 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
1838 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
1839 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
1840 Allocate statically.
1841 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
1842 Allocate statically or use scratch. Don't check CRC32.
1843 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
1844 Allocate statically. Don't check CRC32.
1845 * include/grub/decompressor.h: New file.
1846 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
1847 Removed.
1848 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
1849 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
1850 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
1851 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
1852 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
1853 * util/grub-mkimage.c (grub_compression_t): New type.
1854 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
1855 (image_target_desc): New field default_compression.
1856 (image_targets): Adjust yeeloong targets.
1857 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
1858 (compress_kernel): New parameter comp.
1859 (generate_image): Likewise. Handle new compression case.
1860 (options): New option --compression
1861 (help): Likewise.
1862 (main): Handle new option.
1863
1b655af6
GS
18642010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
1865
1866 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
1867
8f03f0b5
CW
18682010-09-22 Colin Watson <cjwatson@ubuntu.com>
1869
1870 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
1871 typo in __i386__ conditional.
1872
7835dfd3
VS
18732010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1874
1875 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
1876 include.
1877
e255597e
VS
18782010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1879
6d0fa83c 1880 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
1881
1882 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
1883 new tags as supported.
1884 (acpiv2_size): New function.
1885 (grub_multiboot_get_mbi_size): Take new tags into account.
1886 (grub_multiboot_make_mbi): Add new tags.
1887 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 1888
6cc14051 18892010-09-21 Aleš Nesrsta <starous@volny.cz>
1890
1891 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
1892 Added missing configuration of USB device.
1893
df7769d8
CW
18942010-09-21 Colin Watson <cjwatson@ubuntu.com>
1895
1896 * grub-core/normal/menu_entry.c (run): Make sure we always return
1897 a value.
1898
b031012d
CW
18992010-09-21 Colin Watson <cjwatson@ubuntu.com>
1900
1901 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
1902 NumberOfPages is UINT64 according to the UEFI specification, not
1903 UINTN. Fix printf format.
1904
174de8f3
CW
19052010-09-21 Colin Watson <cjwatson@ubuntu.com>
1906
1907 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
1908 `err' to grub_usb_err_t.
1909 Reported and tested by: KESHAV P.R.
1910
d7dbe923
CW
19112010-09-21 Colin Watson <cjwatson@ubuntu.com>
1912
1913 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
1914 tpart non-const, so that we can assign to it. (Since this is a
1915 typedef, the constness refers to the pointer rather than what it
1916 points to.)
1917
8d5e2af3
CW
19182010-09-21 Colin Watson <cjwatson@ubuntu.com>
1919
1920 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
1921 $(top_srcdir)/grub-core/gnulib as well as
1922 $(top_builddir)/grub-core/gnulib.
1923 Reported by: KESHAV P.R.
1924
5c527783
CW
19252010-09-21 Colin Watson <cjwatson@ubuntu.com>
1926
1927 * util/grub-install.in: Fix the bootloader ID option to be
1928 consistently --bootloader-id, not --bootloader_id.
1929 Reported by: KESHAV P.R.
1930
d309a16e
CW
19312010-09-21 Colin Watson <cjwatson@ubuntu.com>
1932
1933 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
1934 check hash checksum." consistently translatable.
1935
b830cd16
YB
19362010-09-21 Yves Blusseau <blusseau@zetam.org>
1937
1938 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
1939 $(top_builddir).
1940
c4fe27a8
CW
19412010-09-21 Colin Watson <cjwatson@ubuntu.com>
1942
1943 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
1944 (GRUB_MOD_INIT): Register sha1sum command.
1945 (GRUB_MOD_FINI): Unregister sha1sum command.
1946
a4c1d277
YB
19472010-09-21 Yves Blusseau <blusseau@zetam.org>
1948
1949 Keep boot and grub directory names in sync with utils scripts
1950
1951 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
1952 * config.h.in: Add previous macros.
1953 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
1954 * util/grub-install.in: Use $bootdir and $grubdir variables.
1955
4eff79d2
CW
19562010-09-21 Colin Watson <cjwatson@ubuntu.com>
1957
1958 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
1959 convert partition names to disk names if the new `convert' parameter
1960 is set.
1961 (grub_util_biosdisk_get_grub_dev): If opening the disk device
1962 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
1963 disk in its own right. This can happen with Xen disk images.
1964
934d7e44
YB
19652010-09-21 Yves Blusseau <blusseau@zetam.org>
1966
1967 * util/grub-editenv.c: Update strings to avoid warnings when generating
1968 grub.pot file.
1969 * util/grub-setup.c: Likewise.
934d7e44 1970
df3367cc
VS
19712010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
1972
1973 * configure.ac: Change version to 1.99~beta0.
1974
77a94e98
VS
19752010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
1978 Add BADRAM.
1979 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
1980 Likewise.
1981 * include/multiboot.h: Resynced with specification.
1982 * include/multiboot2.h: Likewise.
1983
269004c1
CW
19842010-09-21 Colin Watson <cjwatson@ubuntu.com>
1985
1986 Fix po directory handling.
1987
1988 * configure.ac: Create po/Makefile.in rather than po/Makefile.
1989 * grub-core/gnulib/Makefile.am: Import gettext module.
1990 * m4/gnulib-cache.m4: Likewise.
1991 * m4/gnulib-comp.m4: Likewise.
1992 * m4/gettext.m4: New file, from gnulib.
1993 * m4/glibc2.m4: Likewise.
1994 * m4/iconv.m4: Likewise.
1995 * m4/intdiv0.m4: Likewise.
1996 * m4/intl.m4: Likewise.
1997 * m4/intldir.m4: Likewise.
1998 * m4/intlmacosx.m4: Likewise.
1999 * m4/intmax.m4: Likewise.
2000 * m4/inttypes-pri.m4: Likewise.
2001 * m4/lcmessage.m4: Likewise.
2002 * m4/lib-ld.m4: Likewise.
2003 * m4/lib-link.m4: Likewise.
2004 * m4/lib-prefix.m4: Likewise.
2005 * m4/lock.m4: Likewise.
2006 * m4/nls.m4: Likewise.
2007 * m4/po.m4: Likewise.
2008 * m4/printf-posix.m4: Likewise.
2009 * m4/progtest.m4: Likewise.
2010 * m4/threadlib.m4: Likewise.
2011 * m4/uintmax_t.m4: Likewise.
2012 * m4/visibility.m4: Likewise.
2013 * po/Makefile.am: Remove.
2014 * po/Makefile.in.in: New file, from gettext.
2015 ($(DOMAIN).pot-update): Support POTFILES-shell.
2016 * po/Makevars: New file.
2017 * po/POTFILES-shell: Rename to ...
2018 * po/POTFILES-shell.in: ... this. Update.
2019 * po/POTFILES: Rename to ...
2020 * po/POTFILES.in: ... this. Update.
2021 * po/Rules-quot: New file, from gettext.
2022 * po/boldquot.sed: Likewise.
2023 * po/en@boldquot.header: Likewise.
2024 * po/en@quot.header: Likewise.
2025 * po/insert-header.sin: Likewise.
2026 * po/quot.sed: Likewise.
2027 * po/remove-potcdate.sin: Likewise.
2028
3e0fa5d0
VS
20292010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2030
2031 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
2032
ade9bd66
VS
20332010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2034
2035 * util/grub.d/20_linux_xen.in: Use submenus.
2036
fc55cc4c
VS
20372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2038
2039 Support submenus.
2040
2041 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
2042 parameter submenu. All users updated.
2043 * grub-core/normal/main.c (free_menu): Rename to ...
2044 (grub_normal_free_menu): ... this. Made global.
2045 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
2046 if requested.
2047 * grub-core/normal/menu_entry.c (screen): New field submenu.
2048 (make_screen): Set submenu.
2049 (run): Open new context if requested.
2050 * include/grub/menu.h (grub_menu_entry): New field submenu.
2051 * include/grub/normal.h (grub_normal_free_menu): New proto.
2052
600cedf7
VS
20532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2054
2055 Menu entries extractor.
2056
2057 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
2058 variants.
2059 (GRUB_MOD_INIT): Register new variants.
2060 (GRUB_MOD_FINI): Unregister new variants.
2061 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
2062 into grub_cmd_legacy_source.
2063 (grub_cmd_legacy_source): Implement extractor variants.
2064 (GRUB_MOD_INIT): Register new variants.
2065 (GRUB_MOD_FINI): Unregister new variants.
2066 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
2067 as an extractor.
2068 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
2069 search as an extractor.
2070 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
2071 test as an extractor.
2072 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
2073 as an extractor.
2074 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
2075 (grub_env_new_context): New function.
2076 (grub_env_context_open): Likewise.
2077 (grub_env_extractor_open): Likewise.
2078 (grub_env_extractor_close): Likewise.
2079 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
2080 grub_extractor_level.
2081 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
2082 * include/grub/env.h (grub_env_extractor_open): New proto.
2083 (grub_env_extractor_close): Likewise.
2084 * include/grub/normal.h (grub_extractor_level): New external variable.
2085
7bda3a87
VS
20862010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2087
2088 Make cutmem accept a region specification.
2089 Suggested by: Samuel Thibault
2090
2091 * grub-core/mmap/mmap.c (parsemem): New function.
2092 (grub_cmd_cutmem): Handle new arguments.
2093
2ea57f88
VS
20942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2095
2096 New command cutmem.
2097
2098 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
2099 (GRUB_MOD_INIT): Register new command.
2100 (GRUB_MOD_FINI): Unregister new command.
2101
74342e31
VS
21022010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 Support some annoying BSD and Minix subpartitions.
2105
2106 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
2107 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
2108 Properly handle concatenation.
2109 * grub-core/kern/device.c (grub_device_iterate): Likewise.
2110 * grub-core/normal/completion.c (iterate_partition): Likewise.
2111 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
2112 contain partition. All users updated.
2113 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
2114 struct.
2115 (grub_openbsdlabel_partition_map): Likewise.
2116 (bsdlabel_partition_map_iterate): Rename to ..
2117 (iterate_real): ... this. New arguments sector, freebsd and pmap.
2118 (bsdlabel_partition_map_iterate): New function.
2119 (netopenbsdlabel_partition_map_iterate): Likewise.
2120 (netbsdlabel_partition_map_iterate): Likewise.
2121 (openbsdlabel_partition_map_iterate): Likewise.
2122 (GRUB_MOD_INIT): Register new partmaps.
2123 (GRUB_MOD_FINI): Unregister new partmaps.
2124 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
2125 (grub_partition_msdos_iterate): ... this. All users updated.
2126 Don't support embedding other than in a minix partition.
2127 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
2128 proto.
2129 * include/grub/partition.h (grub_partition): New field msdostype.
2130 * util/grub-install.in: Handle openbsd and netbsd types being in
2131 part_bsd module.
2132
1e8d555b
VS
21332010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
2136
2137 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
2138 * grub-core/Makefile.core.def (mdraid): Renamed to ...
2139 (mdraid09): ... this.
2140 (mdraid1x): New module.
2141 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
2142 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
2143
899d8af4
VS
21442010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2145
2146 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
2147 vsprintf.
2148
40901acd
CW
21492010-09-20 Colin Watson <cjwatson@ubuntu.com>
2150
2151 * grub-core/commands/efi/lsefimmap.c: Correct header.
2152 * NEWS: Update.
2153
dfe3b247
CW
21542010-09-20 Colin Watson <cjwatson@ubuntu.com>
2155
2156 * util/grub-editenv.c (argp_parser): Don't pass translated strings
2157 as printf format strings; the translations might contain '%' which
2158 could cause a crash.
2159 (main): Likewise.
2160 * util/grub-fstest.c (argp_parser): Likewise.
2161 * util/grub-setup.c (argp_parser): Likewise.
2162 (main): Likewise.
2163
3286a4b4
VS
21642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2165
2166 Use argp in grub-fstest.
2167
2168 * util/grub-fstest.c: Don't include getopt.h.
2169 Include argp.h.
2170 (root): New variable.
2171 (args_count): Likewise.
2172 (nparm): Likewise.
2173 (num_disks): Likewise.
2174 (images): Likewise.
2175 (cmd): Likewise.
2176 (debug_str): Likewise.
2177 (args): Likewise.
2178 (options): Transformed to argp.
2179 (usage): Removed.
2180 (main): Split argument parsing into ...
2181 (argp_parser): ... this. Changed to argp format.
2182 (argp): New variable.
2183 (main): Use argp_parse.
2184
3dccbe4b
TG
21852010-09-20 Tristan Gingold <gingold@free.fr>
21862010-09-20 Robert Millan <rmh.grub@aybabtu.com>
21872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2188
2189 * grub-core/commands/efi/lsefimmap.c: New file.
2190 * grub-core/Makefile.core.def (lsefimmap): New module.
2191 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
2192
38c259a7
VS
21932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2194
2195 Pause the execution (10s max) if any errors are displayed so the user
2196 has a chance to see them.
2197
2198 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
2199 (grub_print_error): Increment grub_err_printed_errors.
2200 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
2201 execution if any errors were displayed.
2202 (show_menu): Remove old code for pause.
2203 * grub-core/normal/menu_entry.c (run): Likewise.
2204 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
2205 users updated.
2206 (grub_normal_get_char_counter): Likewise.
2207 * include/grub/err.h (grub_err_printed_errors): New external variable.
2208 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
2209
f218b09c
VS
22102010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2211
2212 Support multiboot VBE info.
2213
2214 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
2215 Take VBE info into account.
2216 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
2217 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
2218 Call fill_vbe_info when appropriate.
2219 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
2220 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
2221 as supported.
2222 (grub_multiboot_get_mbi_size): Take new tags into account.
2223 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
2224 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
2225 Call fill_vbe_tag when appropriate.
2226 (grub_multiboot_make_mbi): Properly align tags.
2227 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
2228 function.
2229 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
2230 proto.
2231 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
2232
a9cc5438
VS
22332010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2234
2235 Suport manual terminal geometry specification.
2236
2237 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
2238 Save state in grub_ofconsole_terminfo_output.
2239 (grub_ofconsole_term): Use grub_terminfo_getwh.
2240 (grub_ofconsole_getwh): Removed.
2241 * grub-core/term/serial.c (grub_serial_getwh): Removed.
2242 (grub_serial_term): Use grub_terminfo_getwh.
2243 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
2244 (options): New struct.
2245 (OPTION_*): New enum.
2246 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
2247 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
2248 width and height.
2249 (grub_terminfo_getwh): New proto.
2250 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
2251
1a8fed20
VS
22522010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2253
2254 Handle legacy "terminal" command.
2255
2256 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
2257 and FLAG_TERMINAL.
2258 (legacy_commands): Add terminal and title.
2259 (grub_legacy_parse): Handle terminal. Simplify title handling.
2260
41e9c57d
VS
22612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2262
2263 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
2264 parameters overflow.
2265
61c874c5
CW
22662010-09-20 Colin Watson <cjwatson@ubuntu.com>
2267
2268 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
2269 widthspec.h.
2270
2271 * docs/grub.texi (Shell-like scripting): Document `!'.
2272 (Network): Simplify using new i386-pc-pxe format. Mention
2273 grub-mknetdir.
2274
2275 * NEWS: Update.
2276
943682b4
CW
22772010-09-20 Colin Watson <cjwatson@ubuntu.com>
2278
2279 * Makefile.am (SUBDIRS): Restore "."; it's important to force
2280 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
2281 when needed.
2282
6d3d698d
CW
22832010-09-20 Colin Watson <cjwatson@ubuntu.com>
2284
2285 * grub-core/commands/efi/lsefisystab.c: Correct header.
2286 * grub-core/commands/efi/lssal.c: Likewise.
2287 * grub-core/commands/testload.c: Likewise.
2288
c982589f
CW
22892010-09-20 Colin Watson <cjwatson@ubuntu.com>
2290
2291 * util/grub-mkrescue.in: Add explicit root argument to --set to
2292 prevent the UUID being interpreted as an argument to --set (matches
2293 previous change to prepare_grub_to_access_device).
2294
a63c31b6
CW
22952010-09-20 Colin Watson <cjwatson@ubuntu.com>
2296
2297 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
2298 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
2299 the verbosity of later #ifs.
2300 (find_partition_start): Define this function on FreeBSD too.
2301 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
2302 function.
2303 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
2304 on FreeBSD.
2305
6439b8ee
YB
23062010-09-20 Yves Blusseau <blusseau@zetam.org>
2307
2308 * util/grub-editenv.c: Use argp instead of getopt.
2309
c5930ec8
YB
23102010-09-20 Yves Blusseau <blusseau@zetam.org>
2311
2312 * util/grub-setup.c: Use argp instead of getopt.
2313
15c69261
YB
23142010-09-20 Yves Blusseau <blusseau@zetam.org>
2315
2316 Use gnulib-tool to create gnulib source files.
2317
2318 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
2319 grub-core/gnulib directories
2320 * .bzignore: Add **/.deps and autogenerated gnulib files
2321 * configure.ac: Assign auxiliary directory to build-aux, add invocation
2322 of gnulib macros, add grub-core/gnulib/Makefile
2323 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
2324 include m4 directory to aclocal.
2325 * Makefile.util.def: Remove direct compilation of gnulib source files
2326 and use the new grub-core/gnulib/libgnu.a.
2327 * build-aux/config.rpath: move config.rpath from top directory to
2328 build-aux
2329 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
2330 in gnulib headers
2331 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
2332 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
2333 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
2334 header.
2335 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
2336 string.
2337
e511c9f5
YB
23382010-09-20 Yves Blusseau <blusseau@zetam.org>
2339
2340 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
2341 grub-core/genmod.sh and grub-core/gensyminfo.sh
2342
c2dede05
BC
23432010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
2344
2345 Add a test for echo command options.
2346
2347 * tests/grub_cmd_echo.in: New test.
2348 * Makefile.util.def: Rules for new test.
2349
c55f5018
SJ
23502010-09-20 Szymon Janc <szymon@janc.net.pl>
2351
2352 Remove crc.mod and move crc command to hashsum.mod.
2353 Remove lib/crc.c - users updated to use gcrypt implementation.
2354
2355 * grub-core/commands/crc.c: Removed.
2356 * grub-core/Makefile.core.def (crc): Module removed.
2357 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
2358 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
2359 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
2360 * grub-core/lib/crc.c: Removed.
2361 * include/grub/lib/crc.h: Removed.
2362 * Makefile.util.def (crc): Remove lib/crc.c
2363 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
2364 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
2365 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
2366 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
2367 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
2368 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
2369
e0337366
VS
23702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2371
2372 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
2373
742f9232
VS
23742010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2375
2376 Split config.h for util and core.
2377
2378 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
2379 (ADDR32): Likewise.
2380 (DATA32): Likewise.
2381 (BSS_START_SYMBOL): Likewise.
2382 (END_SYMBOL): Likewise.
2383 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
2384 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
2385 * config.h.in: New file.
2386 * configure.ac: Use config-util.h as config define file.
2387 Rename MACHINE into GRUB_MACHINE. All users updated.
2388 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
2389 updated.
2390 (NESTED_FUNC_ATTR): Likewise.
2391 Substitue new variables.
2392 (COND_HAVE_ASM_USCORE): New conditional.
2393 * grub-core/Makefile.am (ASM_PREFIX): New variable.
2394 (kernel_syms.lst): Use ASM_PREFIX.
2395 * grub-core/kern/emu/console.c: Include config-util.h.
2396 * grub-core/kern/emu/misc.c: Likewise.
2397 * grub-core/kern/emu/mm.c: Likewise.
2398 * include/grub/emu/misc.h: Likewise.
2399 * include/grub/libgcc.h: Likewise.
2400
39feb0e8
VS
24012010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
2404 constants usage.
2405 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
2406 Fix GRUB_TERM_KEY_* constants usage.
2407 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
2408
9af6dac3
VS
24092010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2410
2411 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
2412 print pointer.
2413 * grub-core/bus/usb/uhci.c: Remove empty define.
2414 (grub_uhci_check_transfer): Add missing cast.
2415 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
2416 print pointer.
2417 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
2418 PRIuGRUB_SIZE.
2419 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
2420
d6d94820
VS
24212010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2422
2423 * grub-core/Makefile.core.def (legacycfg): Add
2424 lib/i386/pc/vesa_modes_table.c on emu.
2425
3572f2b6
BC
24262010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
2427
2428 Reduce number of temporary files generated by build system.
2429
2430 * grub-core/gencmdlist.sh: Removed.
2431 * grub-core/genfslist.sh: Removed.
2432 * grub-core/genhandlerlist.sh: Removed.
2433 * grub-core/genmodsrc.sh: Removed.
2434 * grub-core/genpartmaplist.sh: Removed.
2435 * grub-core/genparttoollist.sh: Removed.
2436 * grub-core/gentermiinallist.sh: Removed.
2437 * grub-core/genvideolist.sh: Removed.
2438
2439 * grub-core/genmod.sh.in: New file.
2440 * grub-core/gensyminfo.sh.in: New file.
2441
2442 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
2443 * conf/Makefile.extra-dist: Update with new files.
2444 * gentpl.py: Remove rules related to unnecessary temporary files.
2445 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
2446 and und-* files.
2447 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
2448 genmod.sh scripts.
2449 * grub-core/bus/usb/uhci.c: Remove empty #define.
2450 * grub-core/genmoddep.awk: Updated with new syminfo format.
2451 * util/bash-completion.d/Makefile.am: Add config.log to
2452 CLEANFILES.
2453
c836b030
YB
24542010-09-19 Yves Blusseau <blusseau@zetam.org>
2455
2456 * Makefile.util.def: Add forgotten $(LIBINTL) library.
2457
2f4e8053
BC
24582010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
2459
2460 * util/grub-mkconfig.in: Check the config script for syntax errors
2461 before saving.
2462
75831c34
CW
24632010-09-19 Colin Watson <cjwatson@ubuntu.com>
24642010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2465
2466 * Makefile.util.def (grub-install): Use util/grub-install.in on all
2467 platforms.
2468 * util/grub-install.in: Add EFI and IEEE1275 support.
2469 * util/i386/efi/grub-install.in: Removed.
2470 * util/ieee1275/grub-install.in: Likewise.
2471
eaf41b25
VS
24722010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2473
2474 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
2475 (grub_cmd_cmosclean): Likewise.
2476 (GRUB_MOD_INIT): Register command cmosclean.
2477 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
2478 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
2479
1a9130dd
CPE
24802010-09-18 Carles Pina i Estany <carles@pina.cat>
24812010-09-18 Aleš Nesrsta <starous@volny.cz>
24822010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 Add keyboard layouts support.
2485
2486 * Makefile.util.def (grub-mklayout): New file.
2487 (grub-kbdcomp): New script.
2488 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
2489 Add keyboard_layouts.h.
2490 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
2491 commands/boot.c on yeeloong.
2492 (keylayouts): New module.
2493 * grub-core/bus/usb/ohci.c
2494 * grub-core/bus/usb/uhci.c
2495 * grub-core/bus/usb/usbhub.c (rescan): New variable.
2496 (grub_usb_add_hub): Poll interrupt pipe for device handling.
2497 (attach_root_port): Likewise.
2498 (poll_nonroot_hub): Likewise.
2499 (grub_usb_poll_devices): Likewise.
2500 (detach_device): Close transfer.
2501 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
2502 function.
2503 (grub_usb_bulk_setup_readwrite): Likewise.
2504 (grub_usb_bulk_finish_readwrite): Likewise.
2505 * grub-core/commands/keylayouts.c: New file.
2506 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
2507 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
2508 aliases.
2509 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
2510 support scancode 2.
2511 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
2512 * include/grub/keyboard_layouts.h: New file.
2513 * util/grub-mklayout.c: New file.
2514 * util/grub-kbdcomp.in: Likewise.
2515
a1d84a5e
VS
25162010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2517
2518 Unify memory types.
2519
2520 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
2521 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
2522 types.
2523 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
2524 (grub_upper_mem): Likewise.
2525 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
2526 * include/grub/memory.h (grub_memory_type_t): New enum.
2527 All users updated.
2528
9696382e
VS
25292010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2530
2531 * grub-core/Makefile.core.def (lsapm): New module.
2532 * grub-core/commands/i386/pc/lsapm.c: New file.
2533 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
2534 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
2535 Likewise.
2536 * include/grub/i386/pc/apm.h: New file.
2537 * include/multiboot.h (multiboot_apm_info): New struct.
2538
25392010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2540
2541 GRUB-legacy configuration file support.
2542
2543 * Makefile.util.def (grub-menulst2cfg): New util.
2544 * docs/man/grub-menulst2cfg.h2m: New file.
2545 * grub-core/Makefile.core.def (legacycfg): New module.
2546 * grub-core/commands/legacycfg.c: New file.
2547 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
2548 (grub_normal_add_menu_entry): ... this.
2549 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
2550 (grub_normal_set_password): ...this.
2551 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
2552 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
2553 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
2554 * grub-core/lib/legacy_parse.c: New file.
2555 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
2556 * include/grub/i386/pc/vesa_modes_table.h: New file.
2557 * include/grub/legacy_parse.h: Likewise.
2558 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
2559 * util/grub-menulst2cfg.c: New file.
2560
bf8d1338
CW
25612010-09-17 Colin Watson <cjwatson@ubuntu.com>
2562
2563 * grub-core/kern/emu/hostdisk.c
2564 (convert_system_partition_to_system_disk): Initialise node.
2565
9c0bad2e
CW
25662010-09-17 Colin Watson <cjwatson@ubuntu.com>
2567
2568 * grub-core/kern/emu/hostdisk.c
2569 (convert_system_partition_to_system_disk): Fix devmapper memory pool
2570 leak.
2571 Reported and based on patch by: Modestas Vainius.
2572
a939d135
CW
25732010-09-17 Colin Watson <cjwatson@ubuntu.com>
2574
2575 Fix DM-RAID probing with recent versions of device-mapper udev
2576 rules.
2577
2578 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
2579 canonicalise device paths under /dev/mapper/.
2580 (convert_system_partition_to_system_disk): Compare the
2581 uncanonicalised path to /dev/mapper/ rather than the canonicalised
2582 path, since device nodes under /dev/mapper/ are often symlinks.
2583
0f7ee3c9
YB
25842010-09-17 Yves Blusseau <blusseau@zetam.org>
2585
2586 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
2587
10854d0d
YB
25882010-09-16 Yves Blusseau <blusseau@zetam.org>
2589
2590 * configure.ac: Avoid some annoying error messages if freetype-config
2591 program is not found.
2592
108538d8
CW
25932010-09-16 Colin Watson <cjwatson@ubuntu.com>
2594
2595 Support RAID on virtio devices, and others.
2596
2597 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
2598 Rename to ...
2599 [__MINGW32__] (grub_find_device): ... this.
2600 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
2601 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
2602 reasonable default if dir is NULL.
2603 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
2604 ...
2605 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
2606 (grub_guess_root_device): Update callers.
2607 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
2608
2609 * util/raid.c (grub_util_getdiskname): Remove.
2610 (grub_util_raid_getmembers): Use grub_find_device rather than
2611 grub_util_getdiskname.
2612
e5bfc130
CW
26132010-09-16 Colin Watson <cjwatson@ubuntu.com>
2614
2615 * docs/grub.texi (serial): Remove obsolete comment about GRUB
2616 needing to be compiled with serial support.
2617 (ls): Indicate that multiple files are accepted.
2618 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
2619 indicate that multiple files are accepted.
2620
be458ae2
CW
26212010-09-16 Colin Watson <cjwatson@ubuntu.com>
2622
2623 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
2624 libgrub_a_init.c, and util/bash-completion.d/grub.
2625
cb731b5e
VS
26262010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2627
2628 * util/grub-setup.c (setup): Fix incorrect container semantics.
2629
35139e8a
VS
26302010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2631
2632 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
2633 misusage.
2634 Reported by: J. Nick Terry
2635
e50fca4a
VS
26362010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2637
2638 Move embedding routines to partmap sources files.
2639
2640 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
2641 [GRUB_UTIL]: New variable.
2642 (gpt_partition_map_iterate): Set part.parent.
2643 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
2644 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
2645 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
2646 New function.
2647 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
2648 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
2649 (grub_partition_map) [GRUB_UTIL]: New field embed.
2650 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
2651 (setup): Use ->embed.
2652
f00478b7
VS
26532010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2654
2655 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
2656 function.
2657 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
2658 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
2659
2b94e3ff
YB
26602010-09-15 Yves Blusseau <blusseau@zetam.org>
2661
2662 Add function to get completions from usage.
2663
2664 * util/bash-completion.d/grub-completion.bash.in: Add function to get
2665 completions from usage. Use LC_ALL=C to get options properly.
2666
2e04a006
VS
26672010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 * grub-core/gnulib/basename-lgpl.c: Imported.
2670 * grub-core/gnulib/basename.c: Likewise.
2671 * grub-core/gnulib/dirname-lgpl.c: Likewise.
2672 * grub-core/gnulib/dirname.c: Likewise.
2673 * grub-core/gnulib/dirname.h: Likewise.
2674 * grub-core/gnulib/stripslash.c: Likewise.
2675
5dcdf93a
VS
26762010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2677
2678 * grub-core/gnulib/error.c: Resynced.
2679 * grub-core/gnulib/getopt.c: Likewise.
2680 * grub-core/gnulib/getopt_int.h: Likewise.
2681 * grub-core/gnulib/regex.h: Likewise.
2682 * grub-core/gnulib/regex_internal.c: Likewise.
2683 * grub-core/gnulib/regex_internal.h: Likewise.
2684
014f47b7
SJ
26852010-09-15 Szymon Janc <szymon@janc.net.pl>
2686
2687 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
2688 CRC calculations and validity checks.
2689 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
2690 calculations.
2691
dd521a4a
SJ
26922010-09-15 Szymon Janc <szymon@janc.net.pl>
2693
2694 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
2695
79c4eeb9
VS
26962010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2697
2698 Fix incorrect echo options handling.
2699 Reported by: Yves Blusseau.
2700
2701 * include/grub/command.h (grub_command_flags_t): New flags
2702 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
2703 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
2704 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
2705
ed80f7d5
VS
27062010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2707
2708 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
2709 users updated.
2710 (GRUB_COMMAND_FLAG_MENU): Likewise.
2711 (GRUB_COMMAND_FLAG_BOTH): Likewise.
2712 (GRUB_COMMAND_FLAG_TITLE): Removed.
2713 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
2714 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
2715 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
2716 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
2717 (grub_command_flags_t): New enum. All users updated.
2718
5fe7620a
SG
27192010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
2720
2721 Fix solaris compilation.
2722
2723 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
2724 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
2725 (grub-emu-list): Likewise.
2726
545b752f
VS
27272010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2728
2729 Remove deprecated root command.
2730
2731 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
2732 updated.
2733
6c1a338c
VS
27342010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2735
2736 * util/i386/pc/grub-setup.c: Merge this ...
2737 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
2738 * util/grub-setup.c: ... into this.
2739 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
2740 New struct.
2741
27422010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2743
2744 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
2745 possible.
2746
d2ea4551
VS
27472010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2748
2749 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
2750 allocate p.
2751
3c3b5040
VS
27522010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2753
2754 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
2755 explicit root argument to set to prevent UUID to be interpreted as
2756 argument to set.
2757
b71c3fae
VS
27582010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2759
2760 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
2761
275433e6
VS
27622010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2763
2764 Don't export grub_gate_a20.
2765
2766 * grub-core/kern/i386/pc/init.c: Remove leftovers.
2767 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
2768 to ...
2769 (grub_gate_a20): ... this. All users updated.
2770 * include/grub/i386/pc/init.h: Removed. All users updated.
2771
a5dbb1f1
VS
27722010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2773
2774 Create euro.pf2 which supports most European languages.
2775
2776 * Makefile.am (grubdata_DATA): Add euro.pf2.
2777 (euro.pf2): New target.
2778 (CLEANFILES): Add euro.pf2.
2779
62a747cb
VS
27802010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2781
2782 * configure.ac: Disable emu-usb by default to prevent inadvertent
2783 device takeover.
2784
608e43b1
VS
27852010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2786
2787 Disable usbserial on grub-emu since our libusb code isn't good enough
2788 yet.
2789
2790 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
2791 (usbserial_pl2303): Likewise.
2792 (usbserial_ftdi): Likewise.
2793
94564f81
VS
27942010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2795
2796 * include/grub/disk.h (grub_disk): Remove has_partitions.
2797 All users updated.
2798 * disk/loopback.c (grub_loopback): Remove has_partitions.
2799 All users updated.
2800 (options): Remove partitions. All users updated.
2801 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
2802 * util/i386/pc/grub-setup.c (setup): copy partition table only when
2803 actual partition table is found.
2804
3352800b
VS
28052010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2806
2807 Remove readability checks (too many false negatives).
2808
2809 * util/grub-install.in: Remove readability checks.
2810 * util/grub-mkconfig.in: Likewise.
2811 * util/grub.d/10_hurd.in: Likewise.
2812 * util/grub.d/10_kfreebsd.in: Likewise.
2813 * util/grub.d/10_linux.in: Likewise.
2814 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
2815 way.
2816
2419f17a
VS
28172010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2818
2819 Enable acpi shutdown on all ACPI platforms.
2820
2821 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
2822 on coreboo, multiboot and EFI.
2823 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
2824 (grub_acpi_halt): Likewise.
2825 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
2826 (grub_cmd_halt): Don't call grub_acpi_halt directly.
2827 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
2828 * grub-core/lib/i386/halt.c (grub_halt)
2829 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
2830
0575c7c3
VS
28312010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2832
2833 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
2834 context.
2835
54ac3cd1
VS
28362010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2837
2838 * grub-core/video/efi_gop.c: Fix over-80-chars line.
2839 * grub-core/video/efi_uga.c: Likewise.
2840
b2a30ac5
VS
28412010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 Filter devaliases and never open same device twice.
2844
2845 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
2846 (last_ihandle): Likewise.
2847 (ofdisk_hash_ent): New member shortest.
2848 (ofdisk_hash_add): Add canonical path too.
2849 (scan): New function.
2850 (grub_ofdisk_iterate): Iterate over hashed entries.
2851 (compute_dev_path): Don't add :0.
2852 (grub_ofdisk_open): Don't really open the disk.
2853 (grub_ofdisk_close): Avoid closing unrelated disk.
2854 (grub_ofdisk_read): Implement reopen logic.
2855 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
2856 New function.
2857 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
2858 New proto.
2859
fb53b340
VS
28602010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 Fix sparc64.
2863
2864 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
2865 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
2866 right address. Add sparc64_ieee1275_ldflags.
2867 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
2868 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
2869 to grub_host_to_target_addr
2870 (load_image): Likewise.
2871
f452b040
VS
28722010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2873
2874 * grub-core/normal/completion.c (complete_file): Handle device
2875 containing slash.
2876 Fix based on patch by Doug Nazar.
2877
9b5b2541
VS
28782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2879
2880 grub-mknetdir script.
2881
2882 * Makefile.util.def (grub-mknetdir): New module.
2883 * tests/util/grub-shell.in: Support boot=net
2884 * util/grub-mknetdir.in: New file.
2885
9d2be652
VS
28862010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2887
2888 videoinfo on non-vbe.
2889
2890 * grub-core/Makefile.core.def (vbeinfo): Removed.
2891 (vbetest): Removed.
2892 (videoinfo): New module.
2893 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
2894 * grub-core/commands/i386/pc/vbetest.c: Removed.
2895 * grub-core/commands/videoinfo.c: New file.
2896 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
2897 specification.
2898 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
2899 as vbetest.
2900 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
2901 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
2902 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
2903 mode_number. New parameter mode. All users updated.
2904 (grub_video_gop_iterate): New function.
2905 (grub_video_efi_gop): New member iterate.
2906 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
2907 (grub_vbe_set_video_mode): Remove setting useless fields.
2908 (vbe2videoinfo): New function.
2909 (grub_video_vbe_iterate): Likewise.
2910 (grub_video_vbe_setup): Use vbe2videoinfo.
2911 (grub_video_vbe_print_adapter_specific_info): New function.
2912 (grub_video_vbe_adapter): New fields iterate and
2913 print_adapter_specific_info.
2914 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
2915 All users updated.
2916 (grub_video_mode_info): New field mode_number.
2917 (grub_video_adapter): New fields iterate and
2918 print_adapter_specific_info.
2919
179503f5
TG
29202010-09-13 Tristan Gingold <gingold@free.fr>
29212010-09-13 Robert Millan <rmh.grub@aybabtu.com>
29222010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2923
2924 * grub-core/commands/efi/lsefisystab.c: New file.
2925 * grub-core/commands/efi/lssal.c: Likewise.
2926 * grub-core/Makefile.core.def (lsacpi): New module.
2927 (lsefisystab): Likewise.
2928 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
2929 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
2930 (grub_efi_sal_system_table): New struct.
2931 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
2932 (grub_efi_sal_system_table_memory_descriptor): Likewise.
2933 (grub_efi_sal_system_table_platform_features): Likewise.
2934 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
2935 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
2936 (grub_efi_sal_system_table_ap_wakeup): Likewise.
2937 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
2938
cf9827de
VS
29392010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2940
2941 Support explicit user claim that a device is BIOS-visible.
2942
2943 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
2944 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
2945 * grub-core/kern/emu/hostdisk.c
2946 (convert_system_partition_to_system_disk): Support mdX.
2947 (find_system_device): New parameter add. All users updated.
2948 (grub_util_biosdisk_is_present): New function.
2949 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
2950 proto.
2951
53f0eb1f
VS
29522010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2953
2954 Search hints support.
2955
2956 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
2957 All users updated.
2958
b23ffd70
YB
29592010-09-13 Yves Blusseau <blusseau@zetam.org>
2960
2961 Bash completion script for util commands
2962
2963 * Makefile.am: Add util/bash-completion.d directory
2964 * configure.ac: Likewise.
2965 * util/bash-completion.d/Makefile.am: New file.
2966 * util/bash-completion.d/grub-completion.bash.in: Likewise.
2967
d547dc28
VS
29682010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2969
2970 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
2971 (print_backlog): set backlog_ucs4 and backlog_glyphs.
2972 Reported by: Yves Blusseau.
2973
2fc8ccb9
VS
29742010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2975
2976 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
2977 partition size and offset.
2978
d8a84076
VS
29792010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2980
2981 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
2982
84fb3b3d
VS
29832010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2984
2985 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
2986
768ec2e2
VS
29872010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2988
2989 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
2990 (grub_xvasprintf): Likewise.
2991
4870900f
VS
29922010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2993
2994 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
2995
faca6bec
VS
29962010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2997
2998 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
2999 args ending with NULL.
3000
30012010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
3002
3003 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
3004 pointer.
3005
3c70f225
SJ
30062010-09-11 Szymon Janc <szymon@janc.net.pl>
3007
3008 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
3009
4df7996d
VS
30102010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3011
3012 Shutdown using ACPI.
3013
3014 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
3015 * grub-core/commands/acpihalt.c: New file.
3016 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
3017 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
3018 (grub_acpi_halt): New proto.
3019 (GRUB_ACPI_SLP_EN): New const.
3020 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
3021 (GRUB_ACPI_OPCODE_*): New enum.
3022 (GRUB_ACPI_EXTOPCODE_*): Likewise.
3023
126b4c32
TG
30242010-09-11 Tristan Gingold <gingold@free.fr>
30252010-09-11 Robert Millan <rmh.grub@aybabtu.com>
30262010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3027
3028 * commands/lsacpi.c: New file.
3029 * grub-core/Makefile.core.def (lsacpi): New module.
3030 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
3031 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
3032 (grub_acpi_madt_entry_header): New struct.
3033 (grub_acpi_madt): Likewise.
3034 (grub_acpi_madt_entry_interrupt_override): Likewise.
3035 (grub_acpi_madt_entry_sapic): Likewise.
3036 (grub_acpi_madt_entry_lsapic): Likewise.
3037 (grub_acpi_madt_entry_platform_int_source): Likewise.
3038 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
3039 (PRIuGRUB_UINT32_T): Likewise.
3040 (PRIxGRUB_UINT64_T): Likewise.
3041
1aa4fe88
VS
30422010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 Implement loading palette on ieee1275_fb.
3045
3046 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
3047 (have_setcolors): Likewise.
3048 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
3049 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
3050 (grub_video_ieee1275_set_palette): Implement.
3051
25761e13
VS
30522010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
30532010-09-11 Colin Watson <cjwatson@ubuntu.com>
3054
3055 * util/grub-install.in (grub_partition): New variable.
3056 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
3057 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
3058 Fixes a bug reported by Yves Blusseau.
3059
050abaea
VS
30602010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3061
3062 Fix emu on mipsel.
3063
3064 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
3065 =grub_cpu_flush_cache on all mips and not only yeeloong.
3066 * configure.ac (COND_mips): New conditional.
3067 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
3068 platforms.
3069 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
3070 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
3071 [GRUB_LINKER_HAVE_INIT]: New function.
3072 (grub_emu_post_init): Likewise.
3073 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
3074 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
3075 * include/grub/cache.h (_mips): Include mips/cache.h.
3076 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
3077 LVM and RAID prototypes.
3078 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
3079 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
3080 function.
3081
5ed7d816
CW
30822010-09-10 Colin Watson <cjwatson@ubuntu.com>
3083
3084 * util/grub-install.in: Don't try to verify core.img until after
3085 running grub-mkimage to create it.
3086
90367e04
RM
30872010-09-10 Robert Millan <rmh@gnu.org>
3088
3089 * util/grub.d/10_hurd.in: Add misc readability checks.
3090 * util/grub.d/10_kfreebsd.in: Likewise.
3091 * util/grub.d/10_linux.in: Likewise.
3092
c452fa66
CW
30932010-09-10 Colin Watson <cjwatson@ubuntu.com>
3094
3095 * util/grub-install.in: ${imgext} won't be defined here until the
3096 install branch is merged. For the meantime, only verify core.img on
3097 i386-pc and sparc64-ieee1275 platforms.
3098
c38fe9f4
RM
30992010-09-10 Robert Millan <rmh@gnu.org>
3100
3101 Solaris support in grub_find_zpool_from_dir(). Thanks
3102 Seth Goldberg for referring to getextmntent() facility.
3103
3104 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
3105 `sys/mkdev.h'.
3106 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
3107 `<sys/mnttab.h>'.
3108 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
3109 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
3110 method for finding zpool name.
3111
905f7773
CW
31122010-09-10 Colin Watson <cjwatson@ubuntu.com>
3113
3114 grub-fstest needs the host and hostfs modules while other utilities
3115 actively require those modules to be absent, so grub-fstest needs
3116 its own initialisation and finalisation code.
3117
3118 * Makefile.am (grub_fstest.pp): New target.
3119 (grub_fstest_init.lst): Likewise.
3120 (grub_fstest_init.c): Likewise.
3121 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
3122
fb90b546
RM
31232010-09-10 Robert Millan <rmh@gnu.org>
3124
3125 * configure.ac: Check for `struct statfs.f_fstypename' and
3126 `struct statfs.f_mntfromname'.
3127
3128 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
3129 kFreeBSD-specific code.
3130
66d4bea5
RM
31312010-09-10 Robert Millan <rmh@gnu.org>
3132
3133 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
3134 on ZFS. Now non-main filesystems are supported as / too.
3135
b6a690ee
CW
31362010-09-09 Colin Watson <cjwatson@ubuntu.com>
3137
3138 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
3139 and grub-core/disk/host.c to ...
3140 (grub-fstest): ... here. Having the host disk implementation
3141 present confuses grub-probe and other utility programs.
3142
3143 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
3144 when writing to a file, not when writing to stdout.
3145
8901b00c 31462010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
3147
3148 * tests/partmap_test.in: New test for partitions.
3149 * Makefile.util.def: Rules for new test.
3150
7bf45fdd
RM
31512010-09-09 Robert Millan <rmh@gnu.org>
3152
3153 * util/grub-probe.c (probe): Fix a pair of unhandled error
3154 conditions.
3155
4dfbc574
RM
31562010-09-09 Robert Millan <rmh@gnu.org>
3157
3158 Basic Btrfs support (detection and UUID).
3159
3160 * grub-core/fs/btrfs.c: New file.
3161 * Makefile.util.def (library): Register btrfs.c.
3162 * grub-core/Makefile.core.def: Likewise.
3163
6b8e78ae
RM
31642010-09-08 Robert Millan <rmh@gnu.org>
3165
3166 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
3167 with (optional) parameters to specify device and relative path.
3168 * util/grub-install.in: Use is_path_readable_by_grub() to
3169 verify readability of a few critical files.
3170 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
3171 verify readability of grub.cfg.new.
3172
27f21a8b
VS
31732010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
3174
3175 Split minix.mod into minix.mod and minix2.mod.
3176
3177 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
3178 * grub-core/Makefile.core.def (minix2): New module.
3179 * grub-core/fs/minix.c: Use definitions instead of runtime version
3180 checking.
3181 * grub-core/fs/minix2.c: New file.
3182
c0e53ea5
YB
31832010-09-08 Yves Blusseau <blusseau@zetam.org>
3184
3185 Add new --boot-directory option to replace --root-directory
3186
3187 * util/grub-install.in: Add new --boot-directory option
3188 * util/grub-reboot.in: Likewise.
3189 * util/grub-set-default.in: Likewise.
3190
b9fe6ea2
YB
31912010-09-08 Yves Blusseau <blusseau@zetam.org>
3192
3193 * util/grub-mkconfig.in: Use new variable.
3194
d87aedff
YB
31952010-09-08 Yves Blusseau <blusseau@zetam.org>
3196
3197 * configure.ac: Define some useful variables.
3198
e55e8495
VS
31992010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3202 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
3203 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
3204 Use terminfo and don't use cursor-on/cursor-off unless it's known
3205 to work.
3206 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
3207 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
3208
6fa6d675
CW
32092010-09-08 Colin Watson <cjwatson@ubuntu.com>
3210
3211 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
3212 starts with "(,", fill the drive containing the loaded image in
3213 between those two characters, but expect that a full partition
3214 specification including partition map names will follow.
3215
92f2aef0
RM
32162010-09-08 Robert Millan <rmh@gnu.org>
3217
3218 * configure.ac: Remove `--enable-grub-fstest' option.
3219 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
3220
3221 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
3222 `grub-fstest' instead of `grub-probe' for readability verification.
3223 * util/grub-probe.c (probe): Remove readability verification kludge.
3224
99fd620d
RM
32252010-09-08 Robert Millan <rmh@gnu.org>
3226
3227 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
3228 initializing `GRUB_FS'.
3229
058e30ac 32302010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
3231
3232 Not command (!) support to GRUB script.
3233
3234 * tests/grub_script_not.in: New test.
3235 * Makefile.util.def: Rules for new test.
3236
3237 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
3238 ! command as a special case.
3239 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
3240
b61d05ed 32412010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
3242
058e30ac 3243 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
3244 grub_free.
b61d05ed 3245
4d69c786 32462010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
3247
3248 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
3249
aa3119c4 32502010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
3251
3252 * docs/grub.texi (Shell-like scripting): Documentation for break,
3253 continue, shift and return commands.
3254
db0f7e3d
VS
32552010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
3256
3257 Rename CD-ROM to cd on BIOS.
3258
3259 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
3260 "cd".
3261 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
3262
88b87c93
VS
32632010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
3266 * util/grub-probe.c (main): Likewise.
3267 * util/i386/pc/grub-setup.c (main): Likewise.
3268 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
3269 Reported and debugged by: alexxy
3270
294f324d
VS
32712010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3272
3273 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
3274 diagnostic info.
3275
d7ee3441
JS
32762010-09-05 Jo Shields <directhex@apebox.org>
3277
3278 * util/grub.d/30_os-prober.in: Add missing classes.
3279
d7e06c1f
VS
32802010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3281
3282 * docs/grub.texi (Theme file format): Document new position format.
3283
fc157e53
VS
32842010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3285
3286 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
3287 a table. Use @code instead of @verbatim.
3288
506e9a1c
CB
32892010-09-05 Colin D Bennett <colin@gibibit.com>
3290
3291 Gfxmenu documentation.
3292
3293 * docs/grub.texi (Theme file format): New chapter.
3294
f0aff67c
SJ
32952010-09-05 Szymon Janc <szymon@janc.net.pl>
3296
3297 * grub-core/Makefile.core.def (xzio): New module.
3298 * grub-core/io/xzio.c: New file.
3299 * grub-core/lib/xzembed/xz.h: New file (from xembed).
3300 * grub-core/lib/xzembed/xz_config.h: Likewise.
3301 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
3302 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
3303 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
3304 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
3305 * grub-core/lib/xzembed/xz_private.h: Likewise.
3306 * grub-core/lib/xzembed/xz_stream.h: Likewise.
3307 * include/grub/file.h (grub_file_filter_id): New compression filter
3308 GRUB_FILE_FILTER_XZIO.
3309
82a85062
VS
33102010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3311
3312 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
3313 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
3314 size.
3315
3579415d
VS
33162010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3317
3318 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
3319 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
3320
5124ae6d
VS
33212010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3322
3323 Uncompressed checksum support.
3324
3325 * grub-core/commands/hashsum.c (options): Add option --uncompress.
3326 (check_list): New parameter uncompress.
3327 (grub_cmd_hashsum): Handle --uncompress.
3328
9aadb3d1
VS
33292010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3330
3331 Reintroduce testload.
3332
3333 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
3334 from here ...
3335 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
3336 (GRUB_MOD_INIT): New function.
3337 (GRUB_MOD_FINI): Likewise.
3338 * grub-core/Makefile.core.def (testload): New module.
3339
a17792c3
SJ
33402010-09-05 Szymon Janc <szymon@janc.net.pl>
3341
3342 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
3343 (uint8_t): New type.
3344 (uint16_t): Likewise.
3345 (uint32_t): Likewise.
3346 (uint64_t): Likewise.
3347
b81e40a3
SJ
33482010-09-05 Szymon Janc <szymon@janc.net.pl>
3349
3350 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
3351
fc2ef117
VS
33522010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3353
3354 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
3355 Made static.
3356 (grub_gzfile_open): Removed. All users updated.
3357 (GRUB_MOD_INIT): New function.
3358 (GRUB_MOD_FINI): Likewise.
3359 * grub-core/kern/file.c (grub_file_filters_all): New variable.
3360 (grub_file_filters_enabled): Likewise.
3361 (grub_file_open): Handle filters.
3362 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
3363 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
3364 * include/grub/file.h (grub_file_filter_id_t): New type.
3365 (grub_file_filter_t): Likewise.
3366 (grub_file_filters_all): New extern variable.
3367 (grub_file_filters_enabled): Likewise.
3368 (grub_file_filter_register): New inline function.
3369 (grub_file_filter_unregister): Likewise.
3370 (grub_file_filter_disable): Likewise.
3371 (grub_file_filter_disable_compression): Likewise.
3372 * include/grub/gzio.h: Removed.
3373
35ee15e0
BC
33742010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3375
3376 Filename expansion support for wildcards in GRUB script.
3377
3378 * tests/grub_script_expansion.in: New test.
3379 * Makefile.util.def: Rule for new test.
3380
3381 * grub-core/commands/wildcard.c: New file, implements filename
3382 expansion support for GRUB script.
3383 * grub-core/Makefile.core.def: Rule update for regexp.mod.
3384 * grub-core/script/argv.c: Cosmetic changes.
3385 * grub-core/script/execute.c (grub_script_arglist_to_argv):
3386 Refactored to perform wildcard expansion on arguments.
3387 * include/grub/script_sh.h (grub_script_wildcard_translator): New
3388 struct.
3389
3390 * tests/util/grub-shell.in: Fix quoting for read input.
3391
5f0c4aca
BC
33922010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3393
3394 Support for updating environment variables with matched substrings
3395 of regexp.
3396
3397 * tests/grub_cmd_regexp.in: New test.
3398 * Makefile.util.def: Rule for new test.
3399
3400 * grub-core/commands/regexp.c: New option -s to update environment
3401 variables with regexp matches.
3402
3759a35f
SJ
34032010-09-04 Szymon Janc <szymon@janc.net.pl>
3404
3405 * include/grub/file.h (grub_file): New member not_easly_seekable.
3406 (grub_file_seekable): New inline function.
3407 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
3408 easily seekable.
3409 (grub_gzio_open): Set not_easly_seekable.
3410 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
3411 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
3412
ed8c6dec
BC
34132010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3414
3415 Support for options to appear multiple times on cmdline.
3416
3417 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
3418 * grub-core/commands/extcmd.c: Support for repeatable option.
3419 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
3420 repeatable option support.
3421
3422 Refactor menuentry into a regular command.
3423
3424 * grub-core/commands/menuentry.c: New file, menuentry command
3425 implementation.
3426 * grub-core/Makefile.core.def: Rule update for normal.mod.
3427 * grub-core/normal/main.c: Moved menuentry creation to
3428 grub-core/commands/menuentry.c.
3429 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
3430 (grub_menu_execute_entry_real): Removed.
3431 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
3432 function.
3433 (grub_script_execute_menuentry): Removed.
3434 * grub-core/script/parser.y (menuentry): Removed.
3435 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
3436 * grub-core/script/yylex.l (menuentry): Removed.
3437 * include/grub/menu.h (grub_menu_init): New prototype.
3438 (grub_menu_fini): New prototype.
3439 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
3440 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
3441 (grub_script_execute_sourcecode): New prototype.
3442
dacd0cf0
BC
34432010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3444
3445 "return" command for GRUB script functions.
3446
3447 * tests/grub_script_return.in: New test.
3448 * Makefile.util.def: Rules for new test.
3449
3450 * grub-core/script/execute.c (grub_script_return): New function.
3451 * grub-core/script/main.c: Register/unregister return commaond.
3452 * include/grub/script_sh.h (grub_script_return): New prototype.
3453
52e72f9d
BC
34542010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3455
3456 "setparams" command to update positional parameters.
3457
3458 * tests/grub_script_setparams.in: New test.
3459 * Makefile.util.def: Rules for new test.
3460
3461 * grub-core/script/argv.c (grub_script_argv_make): New function.
3462 * grub-core/script/execute.c (replace_scope): New function.
3463 (grub_script_setparams): New function.
3464 * grub-core/script/lexer.c: Remove unused variables.
3465 * grub-core/script/main.c: Register/unregister setparams command.
3466 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
3467 (grub_script_setparams): New prototype.
3468
25b60c91
BC
34692010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3470
3471 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
3472 grub_free order.
3473
37e7bf68
BC
34742010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3475
3476 Support for passing block of commands as an argument to extcmds.
3477
3478 * Makefile.util.def: Rules for new test.
3479 * tests/grub_script_blockarg.in: New test.
3480 * grub-core/tests/test_blockarg.c: New file, block argument
3481 command used in the test.
3482
3483 * include/grub/extcmd.h (grub_extcmd_context): New struct.
3484 (grub_register_extcmd_prio): New function prototype.
3485 (grub_extcmd_dispatcher): New function prototype.
3486 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
3487 type.
3488 * include/grub/script_sh.h (struct grub_script): New members
3489 `children', `next_siblings' and `refcnt' for block arguments and
3490 reference counting.
3491 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
3492 (grub_script_arg): New member `script' for block argument.
3493 (grub_script_argv): New member `script' for block argument.
3494 (grub_parser_param): New member `scripts' for block argument.
3495 (grub_script_mem_free): New extern function prototype.
3496 (grub_script_ref): New function prototype.
3497 (grub_script_unref): New function prototype.
3498
3499 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
3500 extcmd form to support block arguments.
3501 * grub-core/script/argv.c: Block arguments support.
3502 * grub-core/script/execute.c: Likewise.
3503 * grub-core/script/lexer.c: Likewise.
3504 * grub-core/script/main.c: Likewise.
3505 * grub-core/script/script.c: Likewise.
3506 * grub-core/script/parser.y: Likewise. New `block' and `block0'
3507 non-terminals.
3508
3509 * grub-core/commands/acpi.c: Update extcmd implementations with
3510 grub_extcmd_context_t.
3511 * grub-core/commands/cat.c: Likewise.
3512 * grub-core/commands/echo.c: Likewise.
3513 * grub-core/commands/extcmd.c: Likewise.
3514 * grub-core/commands/hashsum.c: Likewise.
3515 * grub-core/commands/hdparm.c: Likewise.
3516 * grub-core/commands/help.c: Likewise.
3517 * grub-core/commands/hexdump.c: Likewise.
3518 * grub-core/commands/i386/cpuid.c: Likewise.
3519 * grub-core/commands/i386/pc/drivemap.c: Likewise.
3520 * grub-core/commands/i386/pc/halt.c: Likewise.
3521 * grub-core/commands/i386/pc/sendkey.c: Likewise.
3522 * grub-core/commands/iorw.c: Likewise.
3523 * grub-core/commands/keystatus.c: Likewise.
3524 * grub-core/commands/loadenv.c: Likewise.
3525 * grub-core/commands/ls.c: Likewise.
3526 * grub-core/commands/lspci.c: Likewise.
3527 * grub-core/commands/memrw.c: Likewise.
3528 * grub-core/commands/probe.c: Likewise.
3529 * grub-core/commands/search_wrap.c: Likewise.
3530 * grub-core/commands/setpci.c: Likewise.
3531 * grub-core/commands/sleep.c: Likewise.
3532 * grub-core/disk/loopback.c: Likewise.
3533 * grub-core/hello/hello.c: Likewise.
3534 * grub-core/loader/i386/bsd.c: Likewise.
3535 * grub-core/loader/xnu.c: Likewise.
3536 * grub-core/term/gfxterm.c: Likewise.
3537 * grub-core/term/serial.c: Likewise.
3538 * grub-core/tests/lib/functional_test.c: Likewise.
3539
888d1500
BC
35402010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3541
3542 Multi-line quoted strings support.
3543
3544 * grub-core/script/lexer.c (append_newline): Removed.
3545 (grub_script_lexer_yywrap): Refactored.
3546 (grub_script_lexer_init): Refactored.
3547 * grub-core/script/yylex.l (yywrap): New function.
3548 (grub_lexer_resplit): New function.
3549 (grub_lexer_unput): New function.
3550 * include/grub/script_sh.h (grub_lexer_param): New members, unput
3551 and resplit.
3552 * tests/grub_script_echo1.in: Added few more testcases.
3553
dda060dd
VS
35542010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
3555
3556 * grub-core/kern/misc.c: Don't add abort alias in utils.
3557 Reported by: echoline.
3558
6556eba9
BC
35592010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
3560
3561 Add missing files into "make dist" tarball for other platforms.
3562
3563 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
3564 * conf/Makefile.common (dist_noinst_DATA): New variable.
3565 * conf/Makefile.extra-dist: Added missing make dist files.
3566 * grub-core/Makefile.core.def: Likewise.
3567
c8e7bf5f
VS
35682010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
3569
3570 Compress grub_prefix.
3571
3572 * grub-core/boot/i386/pc/lnxboot.S: Use
3573 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
3574 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
3575 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
3576 GRUB_MACHINE_PREFIX_END. All users updated.
3577 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
3578 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
3579 + 0x40.
3580 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
3581 * util/grub-mkimage.c (image_target_desc): Change data_end to
3582 prefix_end. All users updated.
3583
a7c00cdb
VS
35842010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
3585
3586 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
3587 value.
3588 (grub_openbsd_boot): Likewise.
3589 (grub_netbsd_boot): Likewise.
3590 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
3591 (grub_xnu_boot): Likewise.
3592
9f915872
VS
35932010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3594
3595 * configure.ac: Clean LIBS variable after tests.
3596
efa1bee7
CW
35972010-09-02 Colin Watson <cjwatson@ubuntu.com>
3598
3599 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
3600
61d720e5
VS
36012010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
3604 echo if libdevmapper will be used.
3605
ef8e0ec8
IT
36062010-09-02 Ian Turner <Ian.Turner@deshaw.com>
3607
3608 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
3609 constant for the same file.
3610
03e261d8
VS
36112010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3612
3613 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
3614
c2a4eba6
CW
36152010-09-02 Colin Watson <cjwatson@ubuntu.com>
3616
3617 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
3618 grub-core/*.pp.
3619
9056cbf3
CW
36202010-09-02 Colin Watson <cjwatson@ubuntu.com>
3621
3622 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
3623 required by the boot protocol.
3624
3625 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
3626 ebp and edi members.
3627 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
3628 state.ebp and state.edi.
3629 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
3630 %ebp and %edi according to grub_relocator32_ebp and
3631 grub_relocator32_edi respectively.
3632 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
3633 and state.edi.
3634
529cc99a
VS
36352010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3636
3637 Add i386-pc-pxe image target.
3638
3639 * util/grub-mkimage.c (image_target_desc): New enum value
3640 IMAGE_I386_PC_PXE.
3641 (image_targets): New target i386-pc-pxe.
3642 (generate_image): Handle i386-pc-pxe image.
3643
9a093920
VS
36442010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3645
3646 Fix grub_pxe_scan.
3647
3648 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
3649 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
3650 All users updated.
3651 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
3652 (grub_pxe_pxenv): Correct type.
3653
f9cefc4e
CW
36542010-09-01 Colin Watson <cjwatson@ubuntu.com>
3655
3656 * NEWS: Document most of the important changes since 1.98.
3657
4066f57f
CW
36582010-09-01 Colin Watson <cjwatson@ubuntu.com>
3659
3660 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
3661 generated manual page) a little.
3662
da2891f9
CW
36632010-09-01 Colin Watson <cjwatson@ubuntu.com>
3664
3665 * docs/grub.texi: Add myself as an author.
3666
ad717fae
VS
36672010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
3668
3669 * Makefile.util.def (libgrub.a): Add missing sunpc.
3670 Reported by: Seth Goldberg.
3671
eefe8abd
VS
36722010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3673
3674 Interrupt wrapping and code simplifications.
3675
9494ef9a
VS
3676 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
3677 x86_noieee1275 which are functionaly equivalent in this case.
3678 (grub-install): Make source on each platform explicit. Enable on
3679 all noemu.
3680 * gentpl.py (x86_efi_pc): Removed group.
3681 (x86_noefi): Likewise.
3682 (i386_noefi): Likewise.
3683 (x86_noieee1275): Likewise.
3684 (i386_noieee1275): Likewise.
3685 (i386_noefi_noieee1275): Likewise.
3686 (i386_pc_qemu_coreboot): Likewise.
3687 (i386_coreboot_multiboot): Likewise.
3688 (i386_pc_coreboot_multiboot_qemu): Likewise.
3689 (x86_noefi_mips): Likewise.
3690 (noieee1275): Likewise.
3691 (ieee1275_mips): Likewise.
3692 (noemu_noieee1275): Likewise.
3693 (cmos): New group.
3694 (usb): Likewise.
3695 (videoinkernel): Likewise.
3696 (videomodules): Likewise.
eefe8abd 3697 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
3698 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
3699 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
3700 include/grub/loader.h, include/grub/msdos_partition.h,
3701 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
3702 include/grub/machine/console.h, include/grub/machine/vga.h,
3703 include/grub/machine/vbe.h, include/grub/machine/init.h,
3704 include/grub/machine/kernel.h, include/grub/cpu/time.h,
3705 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 3706 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
3707 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
3708 * grub-core/Makefile.core.def (kernel): Explicit the source for
3709 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
3710 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
3711 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
3712 Use videoinkernel tag.
3713 (usb): Enable on all usb.
3714 (usbserial_common): Likewise.
3715 (usbserial_pl2303): Likewise.
3716 (usbserial_ftdi): Likewise.
3717 (uhci): Enable on all x86.
3718 (ohci): Enable on all pci.
3719 (cmostest): Enable on all CMOS.
3720 (acpi): Include commands/acpi.c on all platforms.
3721 (halt): Add relevant lib/*/halt.c.
3722 (hdparm): Enable on all pci.
3723 (lspci): Likewise.
3724 (usbtest): Enable on all usb.
3725 (ata): Enable on all pci.
3726 (ata_pthru): Likewise.
3727 (usbms): Enable on all usb.
3728 (usb_keyboard): Likewise.
3729 (font): Use tag videomodules.
3730 (bufio): Likewise.
3731 (datetime): Use tag cmos. Enable on all noemu.
3732 (mmap): Use tags common and x86.
3733 (gfxterm): Use tag videomodules.
3734 (bitmap): Likewise.
3735 (bitmap_scale): Likewise.
3736 (video_fb): Likewise.
3737 (video): Likewise.
3738 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
3739 adjust padding accordingly. All users updated.
3740 (grub_ohci_transaction): Fix bad format specification.
3741 (GRUB_MOD_INIT): Add asserts for struct size.
3742 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
3743 (grub_alloc_td): Likewise.
3744 (grub_free_queue): Likewise.
3745 (grub_uhci_transfer): Likewise.
3746 (grub_uhci_transaction): Fix bad format specification.
3747 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
3748 (grub_usb_bulk_readwrite): Likewise.
3749 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
3750 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
3751 Made static.
3752 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
3753 Made static.
3754 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
3755 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
3756 Transformed into C.
3757 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
3758 Moved from here ...
3759 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
3760 ... here. Transformed into C. Made static.
3761 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
3762 Moved from here ...
3763 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
3764 ... here. Transformed into C. Made static.
3765 * grub-core/kern/i386/pc/startup.S
3766 (grub_biosdisk_check_int13_extensions): Moved from here ...
3767 * grub-core/disk/i386/pc/biosdisk.c
3768 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
3769 Made static.
3770 * grub-core/kern/i386/pc/startup.S
3771 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
3772 * grub-core/disk/i386/pc/biosdisk.c
3773 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
3774 Transformed into C. Made static.
3775 * grub-core/kern/i386/pc/startup.S
3776 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
3777 * grub-core/disk/i386/pc/biosdisk.c
3778 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
3779 Transformed into C. Made static.
3780 * grub-core/kern/i386/pc/startup.S
3781 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
3782 * grub-core/disk/i386/pc/biosdisk.c
3783 (grub_biosdisk_get_diskinfo_standard): ... here.
3784 Transformed into C. Made static.
3785 * grub-core/kern/i386/pc/startup.S
3786 (grub_biosdisk_get_num_floppies): Moved from here ...
3787 * grub-core/disk/i386/pc/biosdisk.c
3788 (grub_biosdisk_get_num_floppies): ... here.
3789 Transformed into C. Made static.
3790 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
3791 New function.
3792 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
3793 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
3794 Transformed into C. Made static.
3795 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
3796 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
3797 Transformed into C. Made static.
3798 * grub-core/kern/i386/ieee1275/init.c: Removed.
3799 * grub-core/kern/i386/misc.S: Likewise.
3800 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
3801 Splitted from here ...
3802 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
3803 Transformed into C. Made static. All users updated.
3804 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
3805 Transformed into C. Made static. All users updated.
3806 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
3807 Moved from here...
3808 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
3809 Transformed into C. Made static. All users updated.
3810 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
3811 Moved from here...
3812 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
3813 Transformed into C. Made static. All users updated.
3814 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
3815 Removed (replaced by C version).
3816 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
3817 Moved from here...
3818 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
3819 Transformed into C. Made static.
3820 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
3821 Moved from here...
3822 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
3823 ... here. Transformed into C.
3824 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
3825 Moved from here...
3826 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
3827 ... here. Transformed into C.
3828 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
3829 Moved from here...
3830 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
3831 ... here. Transformed into C. Made static.
3832 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
3833 Moved from here...
3834 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
3835 ... here. Transformed into C.
21ed554b
VS
3836 * grub-core/kern/i386/pc/startup.S
3837 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
3838 * grub-core/video/i386/pc/vbe.c
3839 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
3840 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
3841 Moved from here...
3842 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
3843 ... here. Transformed into C.
3844 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
3845 Moved from here...
3846 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
3847 ... here. Transformed into C.
3848 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
3849 Moved from here...
3850 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
3851 ... here. Transformed into C.
3852 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
3853 Moved from here...
3854 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
3855 ... here. Transformed into C.
3856 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
3857 Moved from here...
3858 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
3859 ... here. Transformed into C. Made static.
3860 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
3861 Moved from here...
3862 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
3863 ... here. Transformed into C. Made static.
3864 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
3865 Moved from here...
3866 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
3867 ... here. Transformed into C. Made static.
3868 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
3869 pxe_rm_entry as third argument.
3870 (grub_bios_interrupt): New function.
3871 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
3872 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
3873 of calling grub_stop.
3874 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
3875 * grub-core/lib/efi/halt.c (grub_halt): ...here.
3876 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
3877 * grub-core/lib/emu/halt.c (grub_halt): ... here.
3878 * grub-core/lib/i386/halt.c: Moved from here ...
3879 * grub-core/lib/i386/halt.c: ... here.
3880 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
3881 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
3882 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
3883 grub_stop_floppy.
3884 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
3885 * include/grub/i386/coreboot/init.h: Removed.
3886 * include/grub/i386/multiboot/init.h: Likewise.
3887 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
3888 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
3889 * include/grub/i386/pc/int.h: New file.
3890 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
3891 (grub_pxe_scan): Removed.
3892 (grub_pxe_call): Update prototype.
3893 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
3894 prototypes.
3895 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
3896 * include/grub/i386/qemu/init.h: Removed.
3897 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
3898 noreturn.
3899 (grub_halt): Likewise.
3900 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
3901 (grub_reboot): Likewise.
3902 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
3903 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
3904 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
3905
215dd471
RM
39062010-08-30 Robert Millan <rmh@gnu.org>
3907
3908 * NEWS: Document addition of ZFS support in `grub-install' and
3909 `grub-mkconfig'.
3910
ebd65b82
BC
39112010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
3912
3913 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
3914 dprintf output.
3915
11721d19
VS
39162010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3917
3918 Remove leftover embedding of font objects.
3919
3920 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
3921 * util/grub-install.in (font): Removed.
3922 * util/grub-mkimage.c (generate_image): Remove font support. All users
3923 updated.
3924
37837d4e
VS
39252010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3926
3927 Remove leftover embedding of font objects.
3928
3929 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
3930 * util/grub-install.in (font): Removed.
3931 * util/grub-mkimage.c (generate_image): Remove font support. All users
3932 updated.
3933
b4c1aae0
VS
39342010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3935
3936 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 3937 Reported by: Ian Turner
b4c1aae0 3938
8920a08d
VS
39392010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3940
3941 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
3942 timeout to avoid indefinite boot stalling.
3943
f21db033
VS
39442010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3945
3946 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
3947 (grub_env_write_color_highlight): Likewise.
3948
9a9de209
VS
39492010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3950
3951 * grub-core/normal/term.c (print_more): Return to normal and not
3952 to standard state after printing "---MORE---".
3953
3dca01d7
VS
39542010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3955
3956 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
3957 Mask out the bit 0x80 since it has other meaning that specifiing color.
3958
0b986c40
VS
39592010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3960
3961 New relocator. Allows for more kernel support and more straightforward
3962 loader writing.
3963
3964 * Makefile.am (BOOTTARGET): New variable.
3965 (QEMU32): Likewise.
3966 (linux.init.x86_64): New target.
3967 (linux.init.i386): Likewise.
3968 (multiboot.elf): Likewise.
3969 (kfreebsd.elf): Likewise.
3970 (kfreebsd.aout): Likewise.
3971 (pc-chainloader.elf): Likewise.
3972 (pc-chainloader.bin): Likewise.
3973 (ntldr.elf): Likewise.
3974 (ntldr.bin): Likewise.
3975 (multiboot2.elf): Likewise.
3976 (kfreebsd.init.x86_64): Likewise.
3977 (kfreebsd.init.i386): Likewise.
3978 (knetbsd.init.i386): Likewise.
3979 (kopenbsd.init.i386): Likewise.
3980 (knetbsd.init.x86_64): Likewise.
3981 (kopenbsd.init.x86_64): Likewise.
3982 (linux-initramfs.i386): Likewise.
3983 (linux-initramfs.x86_64): Likewise.
3984 (kfreebsd-mfsroot.i386.img): Likewise.
3985 (knetbsd.image.i386): Likewise.
3986 (kopenbsd.image.i386): Likewise.
3987 (kopenbsd.image.x86_64): Likewise.
3988 (knetbsd.miniroot-image.i386.img): Likewise.
3989 (kfreebsd-mfsroot.x86_64.img): Likewise.
3990 (knetbsd.image.x86_64): Likewise.
3991 (knetbsd.miniroot-image.x86_64.img): Likewise.
3992 (kfreebsd-mfsroot.i386.gz): Likewise.
3993 (bootcheck-kfreebsd-i386): Likewise.
3994 (kfreebsd-mfsroot.x86_64.gz): Likewise.
3995 (bootcheck-kfreebsd-x86_64): Likewise.
3996 (knetbsd.miniroot-image.i386.gz): Likewise.
3997 (bootcheck-knetbsd-i386): Likewise.
3998 (bootcheck-kopenbsd-i386): Likewise.
3999 (bootcheck-kopenbsd-x86_64): Likewise.
4000 (knetbsd.miniroot-image.x86_64.gz): Likewise.
4001 (bootcheck-knetbsd-x86_64): Likewise.
4002 (bootcheck-linux-i386): Likewise.
4003 (bootcheck-linux-x86_64): Likewise.
4004 (bootcheck-linux16-i386): Likewise.
4005 (bootcheck-linux16-x86_64): Likewise.
4006 (bootcheck-multiboot): Likewise.
4007 (bootcheck-multiboot2): Likewise.
4008 (bootcheck-kfreebsd-aout): Likewise.
4009 (bootcheck-pc-chainloader): Likewise.
4010 (bootcheck-ntldr): Likewise.
4011 (CLEANFILES): Add new targets.
4012 (BOOTCHECKS): New variable.
4013 (.PHONY): Add bootchecks.
4014 (SUCCESSFUL_BOOT_STRING): New variable.
4015 (BOOTCHECK_TIMEOUT): Likewise.
4016 (bootcheck): New target
4017 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
4018 * configure.ac: Correct efiemu excuse.
4019 * docs/grub.texi (Supported kernels): New chapter.
4020 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
4021 include/grub/mm_private.h. Simplify inclusion of
4022 include/grub/boot.h, include/grub/loader.h
4023 and include/grub/msdos_partition.h
4024 (KERNEL_HEADER_FILES) [i386_coreboot]:
4025 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
4026 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
4027 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
4028 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
4029 include/grub/machine/loader.h.
4030 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
4031 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
4032 extra_dist.
4033 (pci.mod): Enable on i386-multiboot.
4034 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
4035 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
4036 i386-qemu.
4037 (relocator.mod): Rewritten.
4038 (aout.mod): Enable on all x86.
4039 (bsd.mod): Likewise.
4040 (ntldr.mod): New module.
4041 (linux.mod): Use loader/i386/linux.c on all x86.
4042 (xnu.mod): Enable on all x86.
4043 (vga_text.mod): disable on EFI and QEMU.
4044 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
4045 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
4046 * grub-core/efiemu/loadcore.c: Likewise.
4047 * grub-core/efiemu/main.c: Likewise.
4048 (grub_efiemu_exit_boot_services): Removed.
4049 (grub_efiemu_finish_boot_services): Likewise.
4050 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
4051 function.
4052 * grub-core/efiemu/i386/nocfgtables.c: New file.
4053 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
4054 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
4055 (grub_efi_finish_boot_services): Moved from here ...
4056 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
4057 Fille finish memory map and related data.
4058 (finish_mmap_buf): New variable.
4059 (grub_efi_uintn_t finish_mmap_size): Likewise.
4060 (grub_efi_uintn_t finish_key): Likewise.
4061 (grub_efi_uintn_t finish_desc_size): Likewise.
4062 (grub_efi_uint32_t finish_desc_version): Likewise.
4063 (grub_efi_is_finished): Likewise.
4064 (grub_efi_get_memory_map): Use saved memory map if EFI is already
4065 finished.
4066 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
4067 (grub_elf64_phdr_iterate): Likewise.
4068 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
4069 (grub_os_area_size): Likewise.
4070 (grub_machine_init): Don't reserve os area.
4071 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
4072 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
4073 * grub-core/kern/i386/loader.S: Removed.
4074 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
4075 (grub_os_area_size): Likewise.
4076 (grub_machine_init): Don't reserve os area.
4077 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
4078 Don't call grub_dl_unload_all.
4079 Don't include loader.S.
4080 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
4081 Declare the memory after _end as available.
4082 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 4083 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 4084 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
4085 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
4086 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
4087 * include/grub/mm_private.h (grub_mm_header): ... here.
4088 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
4089 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
4090 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
4091 (grub_mm_region): ..here. Removed addr. Added pre_size.
4092 All users updated.
4093 * grub-core/kern/mm.c (base): Renamed to ...
4094 (grub_mm_base): ... this. Made global.
4095 (grub_real_malloc): Alloc from end of region.
4096 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
4097 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
4098 * grub-core/kern/powerpc/cache_flush.S: ... here.
4099 * grub-core/lib/efi/relocator.c: New file.
4100 * grub-core/lib/i386/relocator.c: Rewritten.
4101 * grub-core/lib/i386/relocator16.S: New file.
4102 * grub-core/lib/i386/relocator32.S: Likewise.
4103 * grub-core/lib/i386/relocator64.S: Likewise.
4104 * grub-core/lib/i386/relocator_asm.S: Rewritten.
4105 * grub-core/lib/i386/relocator_common.S: New file.
4106 * grub-core/lib/ieee1275/relocator.c: Likewise.
4107 * grub-core/lib/mips/relocator.c: Rewritten.
4108 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
4109 stylistic adjustments.
4110 * grub-core/lib/powerpc/relocator.c: New file.
4111 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
4112 * grub-core/lib/relocator.c: Rewritten.
4113 * grub-core/lib/x86_64/relocator_asm.S: New file.
4114 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
4115 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
4116 (bsd_tag): New struct.
4117 (tags): New variable.
4118 (tags_last): Likewise.
4119 (netbsd_module): New struct.
4120 (netbsd_mods): New variable.
4121 (netbsd_mods_last): Likewise.
4122 (openbsd_opts): New parameter "serial".
4123 (OPENBSD_SERIAL_ARG): New definition.
4124 (netbsd_opts): New parameter "serial".
4125 (NETBSD_SERIAL_ARG): New definition.
4126 (grub_freebsd_add_meta): Reorganised into ...
4127 (grub_bsd_add_meta): ...this. All users updated.
4128 (grub_freebsd_add_mmap): Reorganised into ...
4129 (generate_e820_mmap): ...this...
4130 (grub_bsd_add_mmap): ...and this. All users updated.
4131 (grub_freebsd_list_modules): Use tags.
4132 (grub_netbsd_add_meta_module): New function.
4133 (grub_netbsd_list_modules): Likewise.
4134 (grub_freebsd_boot): Use relocator and finish EFI.
4135 (grub_openbsd_boot): Likewise.
4136 (grub_netbsd_setup_video): New function.
4137 (grub_netbsd_add_modules): Likewise.
4138 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
4139 and finish EFI.
4140 (grub_bsd_unload): Unload tags.
4141 (grub_bsd_load_aout): Use relocator.
4142 (grub_bsd_elf32_size_hook): New function.
4143 (grub_bsd_elf32_hook): Use relocator.
4144 (grub_bsd_elf64_size_hook): New function.
4145 (grub_bsd_elf64_hook): Use relocator.
4146 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
4147 (grub_bsd_load): Zero-out openbsd_ramdisk.
4148 (grub_bsd_load): Use relocator.
4149 (grub_cmd_openbsd): Support serial.
4150 (grub_cmd_netbsd): Support modules.
4151 (grub_cmd_freebsd_module): Use relocator.
4152 (grub_netbsd_module_load): New function.
4153 (grub_cmd_netbsd_module): Likewise.
4154 (grub_cmd_openbsd_ramdisk): Likewise.
4155 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
4156 kopenbsd_ramdisk.
4157 (GRUB_MOD_FINI): Unregister new commands.
4158 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
4159 (grub_freebsd_load_elfmodule_obj): Use relocator.
4160 (grub_freebsd_load_elfmodule): Likewise.
4161 (grub_freebsd_load_elf_meta): Likewise.
4162 (grub_netbsd_load_elf_meta): New function.
4163 (grub_openbsd_find_ramdisk): Likewise.
4164 * grub-core/loader/i386/bsd_helper.S: Removed.
4165 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
4166 * grub-core/loader/i386/bsd_trampoline.S: Removed.
4167 * grub-core/loader/i386/efi/linux.c: Likewise.
4168 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
4169 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
4170 (DEFAULT_VIDEO_MODE): Likewise.
4171 (real_mode_target): New variable.
4172 (prot_mode_target): Likewise.
4173 (initrd_mem_target): Likewise.
4174 (relocator): Likewise.
4175 (efi_mmap_buf): Likewise.
4176 (efi_mmap_size): Likewise.
4177 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
4178 (free_pages): Use relocator.
4179 (allocate_pages): Account for efi_mmap and use relocator. Return error.
4180 (grub_linux_setup_video): Return error.
4181 (grub_linux_trampoline_start): Removed.
4182 (grub_linux_trampoline_end): Likewise.
4183 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
4184 andd video parameters depending on firmware.
4185 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
4186 [GRUB_MACHINE_EFI]: Pass EFI parameters.
4187 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
4188 (grub_cmd_initrd): Use relocator.
4189 * grub-core/loader/i386/linux_trampoline.S: Removed.
4190 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
4191 (elf_sec_entsize): Likewise.
4192 (elf_sec_shstrndx): Likewise.
4193 (elf_sections): Likewise.
4194 (grub_multiboot_load): Use relocator.
4195 (grub_multiboot_get_mbi_size): Account for sections.
4196 (grub_multiboot_make_mbi): Use relocator and support sections.
4197 (grub_multiboot_add_elfsyms): New function.
4198 (grub_multiboot_free_mbi): Free sections.
4199 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
4200 (grub_linux_real_target): Likewise.
4201 (grub_linux_real_chunk): Likewise.
4202 (grub_linux16_prot_size): Likewise.
4203 (grub_linux16_boot): Use relocator.
4204 (grub_linux_unload): Unload relocator.
4205 (grub_cmd_linux): Use relocator.
4206 (grub_cmd_initrd): Likewise.
4207 * grub-core/loader/i386/pc/ntldr.c: New file.
4208 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
4209 Don't try to guess CPU frequency.
4210 (grub_xnu_set_video): Stretch bitmap.
4211 (grub_xnu_boot): Use relocator.
4212 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
4213 (grub_linux_unload): Free relocator.
4214 (grub_linux_load32): Use relocator.
4215 (grub_linux_load64): Likewise.
4216 (grub_cmd_initrd): Likewise.
4217 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
4218 (grub_multiboot_unload): Unload relocator.
4219 (grub_cmd_multiboot): Use relocator.
4220 (grub_cmd_module): Likewise.
4221 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
4222 Use relocator and support sections.
4223 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
4224 (elf_sec_entsize): Likewise.
4225 (elf_sec_shstrndx): Likewise.
4226 (elf_sections): Likewise.
4227 (grub_multiboot_load): Use relocator.
4228 (grub_multiboot_get_mbi_size): Account for sections.
4229 (grub_multiboot_make_mbi): Use relocator and support sections.
4230 (grub_multiboot_add_elfsyms): New function.
4231 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
4232 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
4233 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
4234 Prototype changed. All users updated.
4235 (grub_xnu_align_heap): Simplified.
4236 (grub_xnu_writetree_toheap): Likewise.
4237 (grub_xnu_unload): Unload relocator.
4238 (grub_cmd_xnu_kernel): Use relocator.
4239 (grub_cmd_xnu_kernel64): Likewise.
4240 (grub_xnu_register_memory): Simplified.
4241 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
4242 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
4243 EFI is finished.
4244 (grub_console_checkkey): Likewise.
4245 (grub_console_getkey): Likewise.
4246 (grub_console_getwh): Likewise.
4247 (grub_console_getxy): Likewise.
4248 (grub_console_gotoxy): Likewise.
4249 (grub_console_cls): Likewise.
4250 (grub_console_setcolorstate): Likewise.
4251 (grub_console_setcursor): Likewise.
4252 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
4253 * grub-core/tests/boot/kbsd.init-i386.S: New file.
4254 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
4255 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
4256 * grub-core/tests/boot/kernel-8086.S: Likewise.
4257 * grub-core/tests/boot/kernel-i386.S: Likewise.
4258 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
4259 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
4260 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
4261 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
4262 * grub-core/tests/boot/knetbsd.cfg: Likewise.
4263 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
4264 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
4265 * grub-core/tests/boot/linux.cfg: Likewise.
4266 * grub-core/tests/boot/linux.init-i386.S: Likewise.
4267 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
4268 * grub-core/tests/boot/linux16.cfg: Likewise.
4269 * grub-core/tests/boot/multiboot.cfg: Likewise.
4270 * grub-core/tests/boot/multiboot2.cfg: Likewise.
4271 * grub-core/tests/boot/ntldr.cfg: Likewise.
4272 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
4273 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
4274 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
4275 New definition.
4276 * include/grub/dl.h (grub_dl_unload_all): Removed.
4277 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
4278 (grub_efi_finish_boot_services): Change prototype.
4279 (grub_efi_is_finished): New variable.
4280 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
4281 Changed prototype.
4282 (grub_efiemu_finish_boot_services): Removed.
4283 (grub_machine_efiemu_init_tables): New prototype.
4284 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
4285 (grub_elf64_phdr_iterate): Likewise.
4286 * include/grub/i386/bsd.h: Include relocator.h.
4287 (freebsd_tag_header): New struct.
4288 (grub_openbsd_bios_mmap): Removed.
4289 (grub_unix_real_boot): Removed.
4290 (grub_freebsd_load_elfmodule32): Changed prototype.
4291 (grub_freebsd_load_elfmodule_obj64): Likewise.
4292 (grub_freebsd_load_elf_meta32): Likewise.
4293 (grub_freebsd_load_elf_meta64): Likewise.
4294 (grub_freebsd_add_meta): Removed.
4295 (grub_netbsd_load_elf_meta32): New prototype.
4296 (grub_netbsd_load_elf_meta64): Likewise.
4297 (grub_bsd_add_meta): Likewise.
4298 (grub_openbsd_ramdisk_descriptor): New struct.
4299 (grub_openbsd_find_ramdisk32): New prototype.
4300 (grub_openbsd_find_ramdisk64): Likewise.
4301 * include/grub/i386/coreboot/loader.h: Removed.
4302 * include/grub/i386/efi/loader.h: Likewise.
4303 * include/grub/i386/ieee1275/loader.h: Likewise.
4304 * include/grub/i386/linux.h (linux_kernel_header): Change void *
4305 to grub_uint32_t.
4306 * include/grub/i386/loader.h: Removed.
4307 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
4308 value.
4309 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
4310 (grub_phys_addr_t): New type.
4311 (grub_vtop): New inline function.
4312 (grub_map_memory): Likewise.
4313 (grub_unmap_memory): Likewise.
4314 * include/grub/i386/multiboot/loader.h: Removed.
4315 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
4316 (NETBSD_BTINFO_CONSOLE): New definition.
4317 (NETBSD_BTINFO_SYMTAB): Likewise.
4318 (NETBSD_BTINFO_MODULES): Likewise.
4319 (NETBSD_BTINFO_FRAMEBUF): Likewise.
4320 (grub_netbsd_bootinfo): New struct.
4321 (grub_netbsd_btinfo_common): Use explicit bitsize.
4322 (grub_netbsd_btinfo_mmap_entry): Removed.
4323 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
4324 (grub_netbsd_btinfo_bootdisk): New struct.
4325 (grub_netbsd_btinfo_symtab): Likewise.
4326 (grub_netbsd_btinfo_serial): Likewise.
4327 (grub_netbsd_btinfo_modules): Likewise.
4328 (grub_netbsd_btinfo_framebuf): Likewise.
4329 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
4330 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
4331 Likewise.
4332 (grub_openbsd_bootargs): Use explicit bitsize.
4333 (grub_openbsd_bootarg_console): New struct.
4334 (GRUB_OPENBSD_COM_MAJOR): New definition.
4335 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
4336 * include/grub/i386/pc/efiemu.h: Removed.
4337 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
4338 * include/grub/i386/qemu/loader.h: Removed.
4339 * include/grub/i386/relocator.h: Rewritten.
4340 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
4341 * include/grub/mips/memory.h: New file.
4342 * include/grub/mips/multiboot.h: Rewritten.
4343 * include/grub/mips/relocator.h: Rewritten.
4344 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
4345 (grub_vtop): New function.
4346 (grub_map_memory): Likewise.
4347 (grub_unmap_memory): Likewise.
4348 * include/grub/misc.h (ALIGN_DOWN): New definition.
4349 * include/grub/mm.h (grub_mm_check_real): New proto.
4350 (GRUB_MM_CHECK): New definition.
4351 * include/grub/mm_private.h: New file.
4352 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
4353 (grub_multiboot_get_mbi_size): Removed.
4354 (grub_multiboot_make_mbi): Change prottype.
4355 (grub_multiboot_set_accepts_video): New proto.
4356 (grub_multiboot_add_elfsyms): Likewise.
4357 (grub_multiboot_payload_eip): New variable.
4358 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
4359 New prototype.
4360 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
4361 New definition.
4362 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
4363 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
4364 * include/grub/powerpc/ieee1275/loader.h: Removed.
4365 * include/grub/powerpc/memory.h: New file.
4366 * include/grub/powerpc/relocator.h: Likewise.
4367 * include/grub/relocator.h: Likewise.
4368 * include/grub/relocator_private.h: Likewise.
4369 * include/grub/sparc64/ieee1275/loader.h: Removed.
4370 * include/grub/x86_64/memory.h: New file.
4371 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
4372 (grub_xnu_heap_malloc): Likewise.
4373 (grub_xnu_heap_real_start): Removed.
4374 (grub_xnu_heap_start): Likewise.
4375 (grub_xnu_relocator): New variable.
4376 (grub_xnu_heap_target_start): Likewise.
4377 * tests/util/grub-shell.in: Support non-pc.
4378 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 4379
5303b85d
VS
43802010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4381
4382 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
4383 on malloc error.
4384 (grub_bidi_logical_to_visual): Check that malloc succeded.
4385 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
4386 puts.
4387 (grub_xputs_normal): Likewise.
4388
d768d159
VS
43892010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4390
4391 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
4392 extra_dist.
4393
43942010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4395
4396 * grub-core/efiemu/runtime/efiemu.sh: Removed.
4397
5bf84df4
VS
43982010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
4401
3626810e
VS
44022010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4403
4404 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
4405 dprintf.
4406
a7363f53
BC
44072010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
4408
4409 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
4410
902f75f6
VS
44112010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4412
4413 * grub-core/normal/term.c (print_more): Fix a memory leak.
4414 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
4415 (grub_xputs_normal): Likewise.
4416
3c707967
VS
44172010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4418
4419 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
4420 the begining of the string
4421
2053cc07
VS
44222010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4423
4424 * grub-core/script/script.c (grub_script_parse): Free parsed on
4425 failure.
4426
46422ebf
VS
44272010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4428
4429 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
4430 on failure.
4431
9e0fa3f6
VS
44322010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4433
4434 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
4435 return.
4436
3393cf16
VS
44372010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4438
4439 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
4440 (scroll_up): Fix a memory leak.
4441
b17540cb
VS
44422010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4443
4444 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
4445 errors.
4446
67140446
VS
44472010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
4448
4449 Handle USB pendrives exposed as floppies.
4450
4451 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
4452 floppy.
4453 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
4454 Check for partitions on all devices.
4455
e35e46fc
VS
44562010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
4457
4458 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
4459 (readkey): Likewise.
4460
d24c6190
BC
44612010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
4462
4463 Multiple variable names support to "export" command.
4464
4465 * normal/context.c (grub_cmd_export): "export" command supports
4466 multiple variable names.
4467
04ddcc6a
ST
44682010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
4469
4470 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
4471 --target=drive output to Mach device name.
4472
0c8b61d8
BC
44732010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
4474
4475 New Automake based build system for GRUB.
4476
4477 * ABOUT-NLS: New file.
4478 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
4479 in Makefile.util.def file.
4480 * Makefile.util.def: New file. Autogen build definitions file for
4481 GRUB host utils.
4482 * conf/Makefile.common: New file. Common variables for GRUB host
4483 utils and target modules.
4484 * conf/Makefile.extra-dist: New file. Extra files for make dist.
4485 * docs/Makefile.am: New file. Automake file for docs.
4486 * gentpl.py: New file. Python script to generate Autogen
4487 template.
4488 * grub-core/Makefile.am: New file. GRUB target modules' rules
4489 that doesn't fit in Makefile.core.def file.
4490 * grub-core/Makefile.core.def: New file. Autogen build
4491 definitions file for GRUB target modules.
4492 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
4493 specific setjmp.S file.
4494 * po/Makefile.am: New file.
4495
4496 * .bzrignore: New ignores.
4497 * INSTALL: New requirements, without Ruby.
4498 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
4499 * autogen.sh: Updated to invoke autogen as necessary.
4500 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
4501 and defines for Automake conditionals.
4502 * geninit.sh: Refactoring.
4503
4504 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
4505 necessary.
4506 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
4507 New prototype.
4508
4509 * include/grub/test.h: Fix functional test modules' naming.
4510 * grub-core/tests/example_functional_test.c: Fix test module name.
4511
4512 * util/misc.c: Hosted versions' of grub functions for libgrub.a
4513 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
4514 * util/grub-editenv.c: Likewise.
4515 * util/grub-fstest.c: Likewise.
4516 * util/grub-mkdevicemap.c: Likewise.
4517 * util/grub-mkfont.c: Likewise.
4518 * util/grub-mkimage.c: Likewise.
4519 * util/grub-mkpasswd-pbkdf2.c: Likewise.
4520 * util/grub-probe.c: Likewise.
4521 * util/grub-script-check.c: Likewise.
4522 * util/i386/pc/grub-setup.c: Likewise.
4523 * util/sparc64/ieee1275/grub-setup.c: Likewise.
4524
4525 * tests/util/grub-shell.in: Fix override directory path.
4526 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
4527 * util/import_gcry.py: Create Makefile.gcry.def file instead.
4528
4529 * util/lvm.c: Update #includes.
4530 * util/raid.c: Likewise.
4531 * util/resolve.c: Likewise.
4532 * grub-core/bus/emu/pci.c: Likewise.
4533 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
4534 * grub-core/lib/posix_wrap/string.h: Likewise.
4535 * grub-core/kern/emu/main.c: Likewise.
4536
4537 * grub-core/gensymlist.sh: New file. Script for generating kernel
4538 symbols file.
4539 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
4540
4541 * grub-core/gentrigtables.c: Fix unused variable warnings.
4542
4543 * Makefile.in: Removed.
4544 * conf/any-emu.rmk: Removed.
4545 * conf/common.rmk: Removed.
4546 * conf/i386-coreboot.rmk: Removed.
4547 * conf/i386-efi.rmk: Removed.
4548 * conf/i386-ieee1275.rmk: Removed.
4549 * conf/i386-multiboot.rmk: Removed.
4550 * conf/i386-pc.rmk: Removed.
4551 * conf/i386-qemu.rmk: Removed.
4552 * conf/i386.rmk: Removed.
4553 * conf/mips-yeeloong.rmk: Removed.
4554 * conf/mips.rmk: Removed.
4555 * conf/powerpc-ieee1275.rmk: Removed.
4556 * conf/sparc64-ieee1275.rmk: Removed.
4557 * conf/tests.rmk: Removed.
4558 * conf/x86-efi.rmk: Removed.
4559 * conf/x86_64-efi.rmk: Removed.
4560 * gendistlist.sh: Removed.
4561 * geninitheader.sh: Removed.
4562 * genkernsyms.sh.in: Removed.
4563 * genmk.rb: Removed.
4564 * gensymlist.sh.in: Removed.
4565 * mkinstalldirs: Removed.
4566 * boot: Moved ...
4567 * grub-core/boot: ... to here.
4568 * bus: Moved ...
4569 * grub-core/bus: ... to here.
4570 * commands: Moved ...
4571 * grub-core/commands: ... to here.
4572 * disk: Moved ...
4573 * grub-core/disk: ... to here.
4574 * efiemu: Moved ...
4575 * grub-core/efiemu: ... to here.
4576 * font: Moved ...
4577 * grub-core/font: ... to here.
4578 * fs: Moved ...
4579 * grub-core/fs: ... to here.
4580 * gencmdlist.sh: Moved ...
4581 * grub-core/gencmdlist.sh: ... to here.
4582 * genemuinit.sh: Moved ...
4583 * grub-core/genemuinit.sh: ... to here.
4584 * genemuinitheader.sh: Moved ...
4585 * grub-core/genemuinitheader.sh: ... to here.
4586 * genfslist.sh: Moved ...
4587 * grub-core/genfslist.sh: ... to here.
4588 * genhandlerlist.sh: Moved ...
4589 * grub-core/genhandlerlist.sh: ... to here.
4590 * genmoddep.awk: Moved ...
4591 * grub-core/genmoddep.awk: ... to here.
4592 * genmodsrc.sh: Moved ...
4593 * grub-core/genmodsrc.sh: ... to here.
4594 * genpartmaplist.sh: Moved ...
4595 * grub-core/genpartmaplist.sh: ... to here.
4596 * genparttoollist.sh: Moved ...
4597 * grub-core/genparttoollist.sh: ... to here.
4598 * genterminallist.sh: Moved ...
4599 * grub-core/genterminallist.sh: ... to here.
4600 * gentrigtables.c: Moved ...
4601 * grub-core/gentrigtables.c: ... to here.
4602 * genvideolist.sh: Moved ...
4603 * grub-core/genvideolist.sh: ... to here.
4604 * gettext: Moved ...
4605 * grub-core/gettext: ... to here.
4606 * gfxmenu: Moved ...
4607 * grub-core/gfxmenu: ... to here.
4608 * gnulib: Moved ...
4609 * grub-core/gnulib: ... to here.
4610 * hello: Moved ...
4611 * grub-core/hello: ... to here.
4612 * hook: Moved ...
4613 * grub-core/hook: ... to here.
4614 * io: Moved ...
4615 * grub-core/io: ... to here.
4616 * kern: Moved ...
4617 * grub-core/kern: ... to here.
4618 * lib: Moved ...
4619 * grub-core/lib: ... to here.
4620 * loader: Moved ...
4621 * grub-core/loader: ... to here.
4622 * mmap: Moved ...
4623 * grub-core/mmap: ... to here.
4624 * normal: Moved ...
4625 * grub-core/normal: ... to here.
4626 * partmap: Moved ...
4627 * grub-core/partmap: ... to here.
4628 * parttool: Moved ...
4629 * grub-core/parttool: ... to here.
4630 * script: Moved ...
4631 * grub-core/script: ... to here.
4632 * term: Moved ...
4633 * grub-core/term: ... to here
4634 * tests/example_functional_test.c: Moved ...
4635 * grub-core/tests/example_functional_test.c: ... to here.
4636 * tests/lib/functional_test.c: Moved ...
4637 * grub-core/tests/lib/functional_test.c: ... to here.
4638 * tests/lib/test.c: Moved ...
4639 * grub-core/tests/lib/test.c: ... to here.
4640 * video: Moved ...
4641 * grub-core/video: ... to here.
4642
645586e6
BC
46432010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
4644
4645 Replace --enable-grub-emu-modules with grub-emu-lite.
4646
4647 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
4648 cache.S.
4649
4650 * include/grub/emu/misc.h (grub_emu_init): New prototype.
4651 * kern/emu/full.c: New file. For grub-emu specific initialization.
4652 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
4653 * kern/emu/main.c: Call initialization function grub_emu_init.
4654
4655 * Makefile.in: Include grub-emu-lite in install.
4656 * commands/parttool.c: Use grub_no_autoload to differentiate
4657 between grub-emu and grub-emu-lite.
4658 * include/grub/misc.h: New variable grub_no_autoload.
4659
4660 * conf/any-emu.rmk: New rules for grub-emu-lite.
4661 * configure.ac: Remove --enable-grub-emu-modules.
4662 * genmk.rb: Cleanup unnecessary rules.
4663 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
4664
4665 * normal/main.c: Don't load list files on grub-emu-lite.
4666 * util/misc.c (grub_arch_sync_caches): Removed.
4667
f86a4030
CW
46682010-08-23 Colin Watson <cjwatson@ubuntu.com>
4669
4670 * kern/mips/startup.S (grub_prefix): Update comment to refer to
4671 grub-mkimage rather than grub-mkelfimage.
4672 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
4673
06776944
VS
46742010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4675
4676 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
4677 a key after CapsLock or NumLock. It's just a qemu bug.
4678
df262419
VS
46792010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4680
4681 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
4682 needed by libusb wrapper.
4683
b40ea81b
ST
46842010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
4685
4686 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
4687
dee50575
VS
46882010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4689
4690 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
4691 --nounzip is passed.
4692
fb1d7b79
VS
46932010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 USB hotunplugging and USB serial support.
4696
4697 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
4698 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
4699 (grub_uhci_transfer): Respect timeout and set *actual.
4700 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
4701 non-standard length.
4702 (grub_usb_device_attach): Autoload modules.
4703 (GRUB_MOD_INIT): Set grub_term_poll_usb.
4704 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
4705 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
4706 users updated.
4707 (grub_usb_add_hub): Fill nports and children.
4708 (attach_root_port): Receive hub instead of controller.
4709 All users updated. Fill hub->devices.
4710 (grub_usb_root_hub): Allocate hub->devices.
4711 (detach_device): New function.
4712 (poll_nonroot_hub): Fill children and detach devices.
4713 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
4714 actual arguments. All users updated.
4715 (grub_usb_bulk_read_extended): New function.
4716 * bus/usb/serial/common.c: New file.
4717 * bus/usb/serial/ftdi.c: Likewise.
4718 * bus/usb/serial/pl2303.c: Likewise.
4719 * commands/terminal.c (handle_command): Support wildcard.
4720 * commands/usbtest.c: Output "Unknown" instead of empty string.
4721 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
4722 (usbserial_common_mod_SOURCES): New variable.
4723 (usbserial_common_mod_CFLAGS): Likewise.
4724 (usbserial_common_mod_LDFLAGS): Likewise.
4725 (pkglib_MODULES): Add usbserial_pl2303.mod.
4726 (usbserial_pl2303_mod_SOURCES): New variable.
4727 (usbserial_pl2303_mod_CFLAGS): Likewise.
4728 (usbserial_pl2303_mod_LDFLAGS): Likewise.
4729 (pkglib_MODULES): Add usbserial_ftdi.mod.
4730 (usbserial_ftdi_mod_SOURCES): New variable.
4731 (usbserial_ftdi_mod_CFLAGS): Likewise.
4732 (usbserial_ftdi_mod_LDFLAGS): Likewise.
4733 (pkglib_MODULES): Add serial.mod.
4734 (serial_mod_SOURCES): New variable.
4735 (serial_mod_CFLAGS): Likewise.
4736 (serial_mod_LDFLAGS): Likewise.
4737 * conf/i386-pc.rmk: Likewise.
4738 * conf/mips-yeeloong.rmk: Likewise.
4739 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
4740 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
4741 * disk/usbms.c (first_available_slot): New variable.
4742 (grub_usbms_attach): Don't reuse free slots due to potential cache
4743 problems.
4744 * include/grub/serial.h: Moved to ..
4745 * include/grub/ns8250.h: ...this.
4746 * include/grub/serial.h: New file.
4747 * include/grub/term.h (grub_term_poll_usb): New variable.
4748 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
4749 readkey. All users updated.
4750 (grub_terminfo_output_state): Pass term to put.
4751 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
4752 (grub_usb_controller_dev): Add timeout and actual arguments to
4753 transfer. All users updated.
4754 (grub_usb_interface): New field detach_data.
4755 (grub_usb_device): New fields children and nports.
4756 (grub_usb_ep_type_t): New type.
4757 (grub_usb_get_ep_type): New function.
4758 (grub_usb_bulk_read_extended): Likewise.
4759 * include/grub/usbdesc.h (grub_usb_desc): New type.
4760 * include/grub/usbserial.h: New file.
4761 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
4762 * kern/term.c (grub_term_poll_usb): New variable.
4763 (grub_getkey): Call grub_term_poll_usb if set.
4764 (grub_checkkey): Likewise.
4765 (grub_getkeystatus): Likewise.
4766 * term/serial.c: Moved controller-specific parts to ...
4767 * term/ns8250.c: ... here.
4768 * term/serial.c: Mostly rewritten.
4769 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
4770 according to spec.
4771
21a313de
RM
47722010-08-20 Robert Millan <rmh@gnu.org>
4773
4774 Make kFreeBSD code more generic to support ext2fs as root, ufs as
4775 a separate module and maybe other interesting combinations.
4776
4777 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
4778 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
4779 (kfreebsd_entry): Add generic filesystem module load routine.
4780 Map GRUB `ext2' to kFreeBSD `ext2fs'.
4781
63c734a6
CW
47822010-08-20 Colin Watson <cjwatson@ubuntu.com>
4783
4784 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
4785 "numcenter" (I misunderstood the purpose of this entry).
4786 * docs/grub.texi (sendkey): Likewise.
4787
c4d16542
CW
47882010-08-20 Colin Watson <cjwatson@ubuntu.com>
4789
4790 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
4791 status flag options; simply omitting the option is equivalent and
4792 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
4793 (keysym_table): Rename "num5numlock" to "numlock".
4794 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
4795 can uniformly say that only the last of multiple `sendkey'
4796 invocations has any effect.
4797 * docs/grub.texi (sendkey): New section.
4798
93541d66
CW
47992010-08-19 Colin Watson <cjwatson@ubuntu.com>
4800
4801 * commands/i386/pc/sendkey.c (options): Fix three typos.
4802
b4ece5e1
VS
48032010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4804
4805 Implement sendkey support.
4806
4807 * commands/i386/pc/sendkey.c: New file.
4808 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
4809 (sendkey_mod_SOURCES): New variable.
4810 (sendkey_mod_CFLAGS): Likewise.
4811 (sendkey_mod_LDFLAGS): Likewise.
4812
51f1f5af
CW
48132010-08-18 Colin Watson <cjwatson@ubuntu.com>
4814
4815 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
4816 fix warnings from Autoconf.
4817
9da94e05
CW
48182010-08-18 Colin Watson <cjwatson@ubuntu.com>
4819
4820 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
4821 to avoid false positives with some assemblers that output things
4822 like "someprefix_func" as part of their output.
4823
729a0f2e
RM
48242010-08-15 Robert Millan <rmh@gnu.org>
4825
4826 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
4827 errors.
4828 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
4829 grub_get_libzfs_handle() errors.
4830
f3710e08
RM
48312010-08-14 Robert Millan <rmh@gnu.org>
4832
4833 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
4834 filesystem is not ZFS.
4835
7a3c13de
BC
48362010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4837
4838 Fix for misspelled color names defaulting to black/black (bug
4839 reported by Doug Nazar)
4840
4841 * include/grub/normal.h (grub_parse_color_name_pair): Add return
4842 status to prototype.
4843 * normal/color.c (grub_parse_color_name_pair): Return failure
4844 status.
4845 (grub_env_write_color_normal): Ignore bad color names.
4846 (grub_env_write_color_highlight): Likewise.
4847 * normal/main.c (GRUB_MOD_INIT): Set default color names.
4848
ab8ba50d
BC
48492010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4850
4851 "shift" command support to GRUB script.
4852
4853 * include/grub/script_sh.h (grub_script_shift): New prototype.
4854 * script/execute.c (grub_script_shift): New function.
4855 * script/main.c (grub_script_init): Register shift command.
4856 (grub_script_fini): Unregister shift command.
4857 * util/grub-script-check.c (grub_script_cmd_shift): New function.
4858
4859 * tests/grub_script_shift.in: New testcase.
4860 * conf/tests.rmk: Rules for new testcase.
4861
4d61999e
BC
48622010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4863
4864 "continue" command support to GRUB script.
4865
4866 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
4867 (grub_script_break): Continue support.
4868 * script/main.c (grub_script_init): Register continue command.
4869 (grub_script_fini): Unregister continue command.
4870
4871 * tests/grub_script_continue.in: New testcase.
4872 * conf/tests.rmk: Rules for new testcase.
4873
4df51e00
BC
48742010-08-12 BVK Chaitanya <bvk@dbook>
4875
4876 "break" command support to GRUB script.
4877
4878 * conf/common.rmk: Rule updates to grub-script-check.
4879 * include/grub/misc.h (grub_min): New function.
4880 * include/grub/script_sh.h (grub_script_init): New prototype.
4881 (grub_script_fini): New prototype.
4882 (grub_script_break): New prototype.
4883 * script/main.c (grub_script_init): New function.
4884 (grub_script_fini): New function.
4885 * script/execute.c (grub_script_break): New function.
4886 * normal/main.c: Calls to grub_script_{init,fini}.
4887 * util/grub-script-check.c (grub_script_break): New function.
4888
4889 * tests/grub_script_break.in: New testcase.
4890 * conf/tests.rmk: Rules for new test case.
4891
f12c8420
BC
48922010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4893
4894 Function parameters support to GRUB script.
4895
4896 * script/yylex.l (VARIABLE): Regular expression update.
4897 * script/function.c (grub_script_function_call): Moved ...
4898 * script/execute.c (grub_script_function_call): ... to here.
4899 (grub_script_execute_arglist_to_argv): Removed.
4900 (grub_script_arglist_to_argv): New function.
4901 * script/argv.c: New file.
4902 (grub_script_argv_free): New function.
4903 (grub_script_argv_next): Likewise.
4904 (grub_script_argv_append): Likewise.
4905 (grub_script_argv_split_append): Likewise.
4906 * include/grub/script_sh.h (grub_script_argv): New struct.
4907 (grub_script_argv_free): New function.
4908 (grub_script_argv_next): Likewise.
4909 (grub_script_argv_append): Likewise.
4910 (grub_script_argv_split_append): Likewise.
4911
4912 * conf/common.rmk (normal.mod): New source script/argv.c.
4913
4914 * tests/grub_script_echo1.in: More tests.
4915 * tests/grub_script_vars1.in: Likewise.
4916 * tests/grub_script_functions.in: New test case.
4917 * conf/tests.rmk: Rules for new testcase.
4918
8022b748
BC
49192010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4920
4921 Remove grub_script_cmdblock struct.
4922
4923 * include/grub/script_sh.h: Remove grub_script_cmdblock.
4924 * script/parser.y: Likewise.
4925 * script/execute.c: Rename cmdblock suffix to cmdlist.
4926 * script/script.c: Likewise.
4927 * util/grub-script-check.c: Likewise.
4928
79a6ba61
YB
49292010-08-11 Yves Blusseau <blusseau@zetam.org>
4930
4931 * .bzrignore: add grub-macho2img
4932
d04b9414
VS
49332010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
4934
4935 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
4936
f947ab49
VS
49372010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
4938
4939 Remove the dump of sm712 initialisation sequence.
4940
4941 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
4942 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
4943 (GRUB_VGA_IO_MISC_WRITE): Likewise.
4944 (GRUB_VGA_CR_*): Added many registers.
4945 (GRUB_VGA_SR_*): Likewise.
4946 (GRUB_VGA_GR_*): Likewise.
4947 (grub_vga_write_arx): New function.
4948 (grub_video_hw_config): New struct.
4949 (grub_vga_set_geometry): New function.
4950 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
4951 GRUB_PCI_CLASS_SUBCLASS_VGA.
4952 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
4953 * video/sm712.c (grub_sm712_write_reg): New function
4954 (grub_sm712_read_reg): Likewise.
4955 (grub_sm712_sr_write): Likewise.
4956 (grub_sm712_gr_write): Likewise.
4957 (grub_sm712_cr_write): Likewise.
4958 (grub_sm712_write_arx): Likewise.
4959 (grub_sm712_cr_shadow_write): Likewise.
4960 (grub_sm712_write_dda_lookup): Likewise.
4961 (grub_video_sm712_setup): Initialise the video rather then
4962 blindly replay the dump.
4963 (main) [TEST]: Add a routine to be able to compile as standalone for
4964 tests.
4965 * video/sm712_init.c (sm712_init): Removed.
4966 (sm712_sr_seq1): New array.
4967 (sm712_sr_seq2): Likewise.
4968
f0206638
VS
49692010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
4970
4971 * include/grub/vga.h: Add missing grub/pci.h include.
4972
2764da3b
YB
49732010-08-10 Yves Blusseau <blusseau@zetam.org>
4974
4975 * util/grub-macho2img.c (main): fix typo
4976
cf0c775e
VS
49772010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
4978
4979 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
4980 (grub_vga_gr_read): Likewise.
4981 (grub_vga_cr_write): Likewise.
4982 (grub_vga_cr_read): Likewise.
4983 (grub_vga_sr_write): Likewise.
4984 (grub_vga_sr_read): Likewise.
4985 (grub_vga_palette_read): Likewise.
4986 (grub_vga_palette_write): Likewise.
4987 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
4988 (grub_sm712_sr_read): New function.
4989 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
4990 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
4991
07f360e9
RM
49922010-08-09 Robert Millan <rmh@gnu.org>
4993
4994 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
4995 out unused variables on non-ZFS build.
4996
346c2072
RM
49972010-08-08 Robert Millan <rmh@gnu.org>
4998
4999 Fix path generation for sub-filesystems in ZFS.
5000
5001 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
5002 missing slash.
5003
71175420
RM
50042010-08-08 Robert Millan <rmh@gnu.org>
5005
5006 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
5007
0d8286f3
RM
50082010-08-08 Robert Millan <rmh@gnu.org>
5009
5010 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
5011 exist, issue a proper error message (rely on `ls' for translated
5012 strings).
5013
55dd2924
RM
50142010-08-08 Robert Millan <rmh@gnu.org>
5015
5016 Fix grub-probe invocation.
5017
5018 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
5019
d3dd9e80
RM
50202010-08-04 Robert Millan <rmh@gnu.org>
5021
5022 * configure.ac: Remove checks for getfsstat() and getmntany().
5023 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
5024 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
5025 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
5026 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
5027 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
5028 function.
5029 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
5030 via find_mount_point_from_dir() and getfsstat() / getmntany().
5031
0de22aa9
RM
50322010-08-04 Robert Millan <rmh@gnu.org>
5033
5034 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
5035 (grub_find_zpool_from_mount_point): Merge into ...
5036 (grub_find_zpool_from_dir): ... this.
5037 * kern/emu/misc.c: Likewise.
5038
5039 * kern/emu/misc.c
5040 (grub_make_system_path_relative_to_its_root): Replace
5041 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
5042 with grub_find_zpool_from_dir().
5043 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
5044
62858144
RM
50452010-08-04 Robert Millan <rmh@gnu.org>
5046
5047 Support OpenSolaris in ZFS device resolution.
5048
5049 * configure.ac: Check for getmntany().
5050 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
5051 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
5052 support.
5053
9dd6fd50
RM
50542010-08-03 Robert Millan <rmh@gnu.org>
5055
5056 Fix grub-emu build.
5057
5058 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
5059 * include/grub/emu/misc.h: ... here.
5060
5061 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
5062 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
5063
5064 * util/misc.c: Remove `<grub/util/libzfs.h>'.
5065 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
5066 (grub_get_libzfs_handle): Move to ...
5067 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
5068 (grub_get_libzfs_handle): ... here.
5069
c9f7ff97
BC
50702010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
5071
5072 * script/execute.c (grub_script_execute_cmdline): Check for NULL
5073 as command name case.
5074
a870a783
CW
50752010-08-02 Colin Watson <cjwatson@ubuntu.com>
5076
5077 * disk/raid.c (insert_array): Select unique numbers for named arrays
5078 as well, for use as keys in the disk cache.
5079
c7db243b
RM
50802010-08-01 Robert Millan <rmh@gnu.org>
5081
5082 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
5083 kFreeBSD device name, except on ZFS where the filesystem label is
5084 used.
5085 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
5086 `/boot/zfs/zpool.cache'.
5087 Set mountfrom kernel variable using ${kfreebsd_device}.
5088
f7abdefb
RM
50892010-08-01 Robert Millan <rmh@gnu.org>
5090
5091 Make it even harder to use uninitialized `libzfs_handle' (and
5092 make the interface a bit simpler).
5093
5094 * include/grub/util/misc.h (grub_util_init_libzfs)
5095 (libzfs_handle): Remove.
5096 (grub_get_libzfs_handle): New prototype.
5097
5098 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
5099 attribute.
5100 (grub_util_init_libzfs): Remove.
5101 (grub_get_libzfs_handle): New function.
5102
5103 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
5104 grub_get_libzfs_handle() to obtain a libzfs handle instead of
5105 accessing `libzfs_handle' directly.
5106
c882acc0
RM
51072010-08-01 Robert Millan <rmh@gnu.org>
5108
5109 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
5110 (grub_find_zpool_from_mount_point): New function prototypes.
5111
5112 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
5113 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
5114
5115 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
5116 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
5117 `static' attribute.
5118
5119 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
5120 finding zpool from mount point into ...
5121 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
5122
5123 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
5124 requested path is part of a ZFS pool, use
5125 grub_find_zpool_from_mount_point() to detect its filesystem name,
5126 and generate a path with `/fsname@path' syntax.
5127
8bfe31d8
CW
51282010-08-01 Colin Watson <cjwatson@ubuntu.com>
5129
5130 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
5131 (void) rather than () so that this is a proper prototype.
5132
553df63d
VS
51332010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
5134
5135 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
5136
8687cf07
VS
51372010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
5138
5139 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
5140 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
5141
ea9be8ea
CW
51422010-08-01 Colin Watson <cjwatson@ubuntu.com>
5143
5144 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
5145
6eea041a
CW
51462010-08-01 Colin Watson <cjwatson@ubuntu.com>
5147
5148 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
5149
2cfb45df
CW
51502010-08-01 Colin Watson <cjwatson@ubuntu.com>
5151
5152 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
5153 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
5154 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
5155 disable gfxpayload.
5156 (Shell-like scripting): Add real content.
5157 (Serial terminal): Suggest `terminal_input serial; terminal_output
5158 serial' rather than putting the two commands on separate lines,
5159 since console input will be inoperative after the first command.
5160 (menuentry): Document --class, --users, and --hotkey options.
5161 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
5162 Vladimir Serbinenko).
5163
7decd202
VS
51642010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
51652010-08-01 Colin Watson <cjwatson@ubuntu.com>
5166
5167 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
5168
c882acc0
RM
51692010-08-01 Robert Millan <rmh@gnu.org>
5170
5171 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
5172 (grub_find_zpool_from_mount_point): New function prototypes.
5173
5174 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
5175 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
5176
5177 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
5178 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
5179 `static' attribute.
5180
5181 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
5182 finding zpool from mount point into ...
5183 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
5184
5185 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
5186 requested path is part of a ZFS pool, use
5187 grub_find_zpool_from_mount_point() to detect its filesystem name,
5188 and generate a path with `/fsname@path' syntax.
5189
deb0caa3
RM
51902010-08-01 Robert Millan <rmh@gnu.org>
5191
5192 Prevent accidental use of uninitialized libzfs_handle.
5193
5194 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
5195 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
5196 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
5197
ce04ef47
CW
51982010-08-01 Colin Watson <cjwatson@ubuntu.com>
5199
5200 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
5201 util/grub.d/10_linux.in). Fixes Debian bug #591093.
5202
ebf53056
RM
52032010-08-01 Robert Millan <rmh@gnu.org>
5204
5205 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 5206
3710bb6b
RM
52072010-07-31 Robert Millan <rmh@gnu.org>
5208
5209 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
5210
8072efeb
RM
52112010-07-31 Robert Millan <rmh@gnu.org>
5212
5213 * kern/emu/misc.c: Add missing license header.
5214
3169f4c7
RM
52152010-07-31 Robert Millan <rmh@gnu.org>
5216
5217 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
5218
5219 * include/grub/util/libnvpair.h: Include `<config.h>'.
5220 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
5221 declaring libnvpair prototypes ourselves.
5222 * include/grub/util/libzfs.h: Include `<config.h>'.
5223 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
5224 declaring libzfs prototypes ourselves.
5225
5226 (libzfs_handle): Moved to ...
5227 * include/grub/util/misc.h (libzfs_handle): ... here.
5228 Include `<grub/util/libzfs.h>'.
5229
c9a00aee
RM
52302010-07-30 Robert Millan <rmh@gnu.org>
5231
5232 * include/grub/emu/misc.h: Add missing license header.
5233
a184f9c8
RM
52342010-07-30 Robert Millan <rmh@gnu.org>
5235
5236 Enable `grub-probe -t device' resolution on ZFS.
5237
5238 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
5239 * include/grub/util/libnvpair.h: New file.
5240 * include/grub/util/libzfs.h: New file.
5241
5242 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
5243 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
5244 `<grub/util/libnvpair.h>'.
5245 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
5246
5247 (find_mount_point_from_dir): New static function.
5248 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
5249 function.
5250 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
5251 find_root_device_from_libzfs() before ressorting to find_root_device().
5252
5253 * include/grub/util/misc.h (grub_util_init_libzfs): New function
5254 prototype.
5255 * util/misc.c: Include `<grub/util/libzfs.h>'.
5256 (grub_util_init_libzfs): New function.
5257 [HAVE_LIBZFS] (libzfs_handle): New global variable.
5258 [HAVE_LIBZFS] (fini_libzfs): New static function.
5259 (grub_util_init_libzfs): New function.
5260 * util/grub-probe.c (main): Call grub_util_init_libzfs().
5261
f7790cdd
RM
52622010-07-30 Robert Millan <rmh@gnu.org>
5263
5264 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
5265 (xmalloc, xrealloc, xstrdup, xasprintf): Add
5266 `warn_unused_result' attribute.
5267 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
5268 (grub_xasprintf, grub_xvasprintf): Likewise.
5269 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
5270
0806b63c
RM
52712010-07-29 Robert Millan <rmh@gnu.org>
5272
5273 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
5274 (probe): Handle `PRINT_FS_LABEL'.
5275 (main): Handle `-t fs_label'.
5276
9f841f5c
RM
52772010-07-29 Robert Millan <rmh@gnu.org>
5278
5279 * configure.ac: Remove grub-mkisofs checks.
5280
46371121
VS
52812010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
5282
5283 * util/ieee1275/grub-install.in: Don't use empty grub_device.
5284 Reported by: Lennart Sorensen.
5285
52862010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5287
5288 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
5289 prior to terminal_input/terminal_output separation. It's been over 1.5
5290 years and those versions weren't widely deployed.
5291
a9600892
CW
52922010-07-22 Colin Watson <cjwatson@ubuntu.com>
5293
5294 * disk/raid.c (insert_array): Don't count named arrays when looking
5295 for unused array numbers.
697e053c 5296 Reported and tested by: Michael Guntsche.
a9600892 5297
c03507df
CW
52982010-07-20 Colin Watson <cjwatson@ubuntu.com>
5299
5300 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
5301 implementation of this so that grub-emu links again, with a note
5302 that this should support hotplugging in the future.
5303
b26f1c11
CW
53042010-07-20 Colin Watson <cjwatson@ubuntu.com>
5305
5306 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
5307
efc9d7f1
CW
53082010-07-20 Colin Watson <cjwatson@ubuntu.com>
5309
5310 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
5311 handle on failure.
5312 (grub_loopback_close): Remove empty function.
5313 (grub_loopback_dev): Remove close method.
5314
dd8ff5c9
CW
53152010-07-20 Colin Watson <cjwatson@ubuntu.com>
5316
5317 Disable EFI cursor when the EFI console becomes inactive.
5318
5319 * term/efi/console.c (grub_efi_console_init): New function.
5320 (grub_efi_console_fini): New function.
5321 (grub_console_term_output): Register init and fini methods.
5322
5e3bec67
VS
53232010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5324
5325 * tests/util/grub-shell-tester.in: Remove bashism and declare as
5326 sh script.
5327
afaec079
VS
53282010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5329
5330 * disk/loopback.c (grub_loopback): Replace filename with file.
5331 (delete_loopback): Handle new semantics.
5332 (grub_cmd_loopback): Likewise.
5333 (grub_loopback_iterate): Likewise.
5334 (grub_loopback_close): Likewise.
5335
a6a11f3c
VS
53362010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5337
5338 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
5339 with -p "".
5340 Reported by: Tito Keitel.
5341
64a638b0
VS
53422010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 * docs/grub.texi (Naming convention): Document new naming convention.
5345
ab8ba957
VS
53462010-07-20 Vadim Solomin <vadic052@gmail.com>
53472010-07-20 Colin Watson <cjwatson@ubuntu.com>
5348
5349 Generate device.map in something closer to the old ordering.
5350
5351 * util/deviceiter.c (struct device): New declaration.
5352 (compare_file_names): Rename to ...
5353 (compare_devices): ... this. Sort by kernel name in preference to
5354 the stable by-id name, but keep the latter as a fallback comparison.
5355 Update header comment.
5356 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
5357 of `struct device' rather than of plain file names.
5358
a29d6a4b
TF
53592010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
5360
5361 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
5362 on i386.
5363
39d824e8
VS
53642010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 * commands/acpi.c (setup_common_tables): Use sizeof instead of
5367 hardcoding size.
5368 (setv1table): Likewise.
5369
f058276b
FZ
53702010-07-20 Colin Watson <cjwatson@ubuntu.com>
5371
5372 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
5373 removing the homehost if present.
5374 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
5375 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
5376 removing the homehost if present.
5377 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
5378 if possible.
5379 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
5380
5381 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
5382 parameter. Set its pointer target to 0.
5383 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
5384 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
5385 `data_offset' value from the superblock for 1.x metadata.
5386 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
5387 data on the device.
5388 (insert_array): Record the start sector of data on the device.
5389 (grub_raid_register): Pass start_sector parameters to
5390 grub_raid_list->detect and insert_array.
5391 * include/grub/raid.h (struct grub_raid_array): Add start_sector
5392 member.
5393 (struct grub_raid): Add start_sector parameter to `detect'.
5394
5395 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
5396 __attribute__ ((packed)), leaving a comment.
5397 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
5398 (grub_mdraid_detect_09): ... here and ...
5399 (grub_mdraid_detect_1x): ... here.
5400
54012010-07-20 Peter Henn <peter.henn@web.de>
5402
5403 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
5404 chunk size and disk size, which are already given as sector counts
5405 as distinct from the 0.90 units. Fetch the correct device number
5406 from the role table instead of using the table index.
5407
54082010-07-20 Felix Zielcke <fzielcke@z-51.de>
5409
5410 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
5411 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
5412 (WriteMostly1): New macro.
5413 Set array->name to NULL for metadata format 0.90. Add support for
5414 metadata 1.x. Fix some comments.
5415 * disk/raid.c (): Add support for name based RAID arrays. Fix a
5416 few comments.
5417 * util/getroot.c (grub_util_get_grub_dev): Add support for
5418 /dev/md/name style devices.
5419
4b761da9
CW
54202010-07-20 Colin Watson <cjwatson@ubuntu.com>
5421
5422 * .bzrignore: Ignore 20_linux_xen.
5423
5771289a
CW
54242010-07-17 Colin Watson <cjwatson@ubuntu.com>
5425
5426 * util/import_unicode.py: Remove unnecessary imports.
5427
5dab68df
AN
54282010-07-17 Aleš Nesrsta <starous@volny.cz>
5429
5430 Hotplugging and USB hub support.
5431
5432 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
5433 (grub_ohci): Likewise.
5434 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
5435 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
5436 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
5437 (GRUB_OHCI_CTRL_EDS): Likewise.
5438 (GRUB_OHCI_BULK_EDS): Likewise.
5439 (GRUB_OHCI_TDS): Likewise.
5440 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
5441 (grub_ohci_ed_phys2virt): New function.
5442 (grub_ohci_virt_to_phys): Likewise.
5443 (grub_ohci_td_phys2virt): Likewise.
5444 (grub_ohci_td_virt2phys): Likewise.
5445 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
5446 attachment.
5447 (grub_ohci_find_ed): New function.
5448 (grub_ohci_alloc_td): Likewise.
5449 (grub_ohci_free_td): Likewise.
5450 (grub_ohci_free_tds): Likewise.
5451 (grub_ohci_transfer): Use previously allocated memory.
5452 (grub_ohci_portstatus): Reset status changed bit.
5453 (grub_ohci_detect_dev): Supply status changed.
5454 (grub_ohci_fini_hw): Free memory.
5455 (grub_ohci_restore_hw): Reallocate memory.
5456 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
5457 Reset status change.
5458 (grub_uhci_detect_dev): Supply status_change.
5459 * bus/usb/usb.c (attach_hooks): New var.
5460 (grub_usb_device_attach): New function.
5461 (grub_usb_register_attach_hook_class): Likewise.
5462 (grub_usb_unregister_attach_hook_class): Likewise.
5463 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
5464 (grub_usb_add_hub): Reset connection changed bit.
5465 (attach_root_port): New function.
5466 (grub_usb_root_hub): Likewise.
5467 (poll_nonroot_hub): Likewise.
5468 (grub_usb_poll_devices): Likewise.
5469 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
5470 * disk/usbms.c (grub_usbms_open): Use device hooks.
5471 (grub_usbms_iterate) :Poll devices.
5472 (grub_usbms_finddevs): Split into ...
5473 (grub_usbms_attach): ... this ...
5474 (grub_usbms_attach): ... and this.
5475 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
5476 in detect_dev.
5477 (grub_usb_interface): New fields attached and detach_hook.
5478 (grub_usb_attach_hook_class): New type.
5479 (grub_usb_attach_desc): New struct.
5480 (grub_usb_register_attach_hook_class): New function.
5481 (grub_usb_unregister_attach_hook_class): Likewise.
5482 (grub_usb_poll_devices): Likewise.
5483 (grub_usb_device_attach): Likewise.
5484 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
5485 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
5486
3222efaf
VS
54872010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
5488
5489 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
5490 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
5491 delta determination style. Works with most NetBSD partitions too.
5492
139b714a
VS
54932010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
5494
5495 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
5496 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
5497
986aad56
VS
54982010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
5499
5500 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
5501
99be513c
AB
55022010-07-14 Anton Blanchard <anton@samba.org>
5503
5504 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
5505 ET_DYN files.
5506
18075f62
GS
55072010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
5508
5509 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
5510
8d9a5b15
GS
55112010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
5512
5513 * kern/partition.c (grub_partition_check_containment): New function to
5514 check that a partition is physically contained in a parent. Since
5515 offsets are relative (and non-negative), this reduces to checking that
5516 the partition ends before its parent.
5517 (grub_partition_map_probe): Discard out-of-range sub-partitions.
5518 (grub_partition_iterate): Likewise.
5519 * include/grub/partition.h (grub_partition_map): Slightly more detailed
5520 comments.
5521 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
5522 partitions that start before their parent, and add debug printfs.
5523
19563c25
CW
55242010-07-13 Colin Watson <cjwatson@ubuntu.com>
5525
5526 * Makefile.in (.SUFFIX): Spell correctly, as ...
5527 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
5528 bare module name without `.mod', e.g. `test') tried to invoke a
5529 Modula-2 compiler.
5530
1a1f1e67
CW
55312010-07-13 Colin Watson <cjwatson@ubuntu.com>
5532
5533 * README: Point to the Info manual.
5534
811b0dca
JS
55352010-07-13 Jiro SEKIBA <jir@unicus.jp>
5536
5537 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
5538 2nd superblock position from partition size.
5539
e4f4eafc
CW
55402010-07-10 Colin Watson <cjwatson@ubuntu.com>
5541
5542 * Makefile.in (MAINTAINER_CLEANFILES): Remove
5543 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
5544 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
5545 outputs.
5546
4274c30f
VS
55472010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5548
5549 Restructure SCSI .id handling.
5550 Reported and tested by: Aleš Nesrsta.
5551
5552 * disk/ata.c (grub_atapi_close): Removed. All users updated.
5553 (grub_atapi_dev): Changed .name to "ata". New field .id.
5554 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
5555 (grub_usbms_dev): New field .id.
5556 * disk/scsi.c (grub_scsi_iterate): Generate name.
5557 (grub_scsi_open): Parse name.
5558 * include/grub/scsi.h (grub_make_scsi_id): New function.
5559 (grub_scsi_dev): Change iterate and open to number instead of naming
5560 busses. All users updated.
5561 (grub_scsi): Remove name. Add .bus.
5562
5bc24388
VS
55632010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5564
5565 * commands/help.c (grub_cmd_help): Fix a typo.
5566
249975ba
VS
55672010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5568
5569 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
5570 Reported and tested by: Colin Watson.
5571
3eaac1a1
VS
55722010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
5575 in this context.
5576
becce1b1
VS
55772010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5578
5579 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
5580
f7bf0918
CW
55812010-07-07 Colin Watson <cjwatson@ubuntu.com>
5582
5583 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
5584 indentation.
5585
0b0f9620
CW
55862010-07-06 Colin Watson <cjwatson@ubuntu.com>
5587
5588 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
5589 and disk/raid6_recover.c.
5590 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
5591 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
5592
1e545469
CW
55932010-07-06 Colin Watson <cjwatson@ubuntu.com>
5594
5595 * term/gfxterm.c (repaint_schedulded): Rename to ...
5596 (repaint_scheduled): ... this. Update all callers.
5597 (repaint_was_schedulded): Rename to ...
5598 (repaint_was_scheduled): ... this. Update all callers.
5599
5357687a
CW
56002010-07-06 Colin Watson <cjwatson@ubuntu.com>
5601
5602 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
5603 which we expect to be handled by upper layers.
5604
29d7e783
BC
56052010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
5606
5607 * bus/usb/usbhub.c: #include time.h header.
5608
37582066
CW
56092010-07-06 Colin Watson <cjwatson@ubuntu.com>
5610
5611 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
5612 entry_name also for entries without stat blocks (e.g. ".."); fixes
5613 corruption of the first entry in a directory.
5614
c8c06953
CW
56152010-07-06 Colin Watson <cjwatson@ubuntu.com>
5616
5617 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
5618 after setting gfxterm as the active terminal. GRUB_BACKGROUND
5619 doesn't work otherwise.
5620
e75056f1
CW
56212010-07-05 Colin Watson <cjwatson@ubuntu.com>
5622
5623 * docs/grub.texi (Features): Update list of supported file systems.
5624 (GNU/Linux): Update for GRUB 2.
5625 (Serial terminal): Remove mention of --disable-serial, which was a
5626 GRUB Legacy configure option. Update instructions to use
5627 `terminal_input' and `terminal_output' rather than `terminal'.
5628 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
5629 configuration' and `Installing GRUB using grub-install'.
5630 (Menu entry editor): Update for GRUB 2.
5631 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
5632 Document new -a, -u, and -v options.
5633 (initrd): New section.
5634 (initrd16): New section.
5635 (linux): New section.
5636 (linux16): New section.
5637 (search): The `var' argument to `--set' is optional.
5638 (GRUB only offers a rescue shell): Go into a little more detail on
5639 drive ordering.
5640
5cf69151
CW
56412010-07-05 Colin Watson <cjwatson@ubuntu.com>
5642
5643 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
5644
e3f90044
CW
56452010-07-05 Colin Watson <cjwatson@ubuntu.com>
5646
5647 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
5648 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
5649
38d8f4f3
CW
56502010-07-05 Colin Watson <cjwatson@ubuntu.com>
5651
5652 * util/i386/pc/grub-setup.c (setup): Rename prefix to
5653 install_prefix, in line with install_dos_part and install_bsd_part.
5654 Add new prefix variable, which is copied to install_prefix after
5655 comparing core.img in memory with the one read from disk in the
5656 no-embedding case, and use that rather than overwriting
5657 install_prefix immediately when installing to a partition.
5658 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
5659 Bicakci.
5660
57ebd41e
GS
56612010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
5662
5663 * configure.ac: Avoid == in test command, it's not portable.
5664 * util/grub.d/30_os-prober.in: Likewise.
5665
cb7f64b2
CW
56662010-07-04 Colin Watson <cjwatson@ubuntu.com>
5667
5668 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
5669
6b654bb0
GS
56702010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
5671
5672 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
5673 multiple (top-level) partmaps.
5674
72a2026d
VS
56752010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5676
5677 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 5678 Reported by: Tino Keitel.
72a2026d 5679
df3eb88f
VS
56802010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5681
5682 Bidi and diacritics support.
5683
5684 * Makefile.in (widthspec.bin): New target.
5685 (widthspec.h): Likewise.
5686 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
5687 * autogen.sh: Generate unidata.c.
5688 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
5689 * commands/ls.c (grub_ls_list_devices): Likewise.
5690 (grub_ls_list_files): Likewise.
5691 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
5692 (grub_mini_cmd_lsmod): Likewise.
5693 * commands/read.c: Likewise.
5694 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
5695 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
5696 * lib/arg.c (grub_arg_show_help): Likewise.
5697 * lib/crypto.c (grub_password_get): Likewise.
5698 * normal/auth.c (grub_username_get): Likewise.
5699 * normal/misc.c (grub_normal_print_device_info): Likewise.
5700 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
5701 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
5702 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
5703 (normal/charset.c_DEPENDENCIES): New variable.
5704 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
5705 (pkglib_MODULES): Remove charset.mod.
5706 (charset_mod_SOURCES): Removed.
5707 (charset_mod_CFLAGS): Likewise.
5708 (charset_mod_LDFLAGS): Likewise.
5709 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
5710 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
5711 and term/tparm.c.
5712 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5713 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5714 (kernel_img_HEADERS): Add terminfo.h.
5715 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
5716 Fill ->font. Reverse ascii bitmaps.
5717 (grub_font_get_xheight): New function.
5718 * font/font.c (grub_font_get_string_width): Moved from here ...
5719 * gfxmenu/font.c (grub_font_get_string_width): ... here.
5720 * font/font.c (grub_font_draw_string): Moved from here ...
5721 * gfxmenu/font.c (grub_font_draw_string): ... here.
5722 * font/font.c (grub_font_dup_glyph): New function.
5723 (grub_font_blit_glyph): Likewise.
5724 (grub_font_blit_glyph_mirror): Likewise.
5725 (blit_comb): Likewise.
5726 (grub_font_construct_dry_run): Likewise.
5727 (grub_font_get_constructed_device_width): Likewise.
5728 (grub_font_construct_glyph): Likewise.
5729 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
5730 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
5731 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
5732 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
5733 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
5734 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
5735 (grub_font_get_xheight): New proto.
5736 (grub_font_get_constructed_device_width): Likewise.
5737 (grub_font_construct_glyph): Likewise.
5738 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
5739 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
5740 * include/grub/font.h (grub_font_draw_string): Moved from here ...
5741 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
5742 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
5743 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
5744 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
5745 (grub_console_getcharwidth): Likewise.
5746 * include/grub/misc.h (grub_xputs): New proto.
5747 (grub_puts): Inlined.
5748 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
5749 (grub_normal_get_line_counter): Removed.
5750 (grub_install_newline_hook): Likewise.
5751 (grub_normal_get_char_counter): New proto.
5752 (grub_normal_reset_more): Likewise.
5753 (grub_xputs_normal): Likewise.
5754 * include/grub/powerpc/ieee1275/console.h: Removed.
5755 * include/grub/sparc64/ieee1275/console.h: Likewise.
5756 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
5757 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
5758 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
5759 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
5760 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
5761 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
5762 (grub_term_input): Pass reference to self. All users updated.
5763 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
5764 Pass reference to self. New fields normal_color, highlight_color and
5765 data. All users updated.
5766 (grub_putchar): Removed.
5767 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
5768 (grub_unicode_estimate_width): New function.
5769 (grub_term_getcharwidth): Add defaults.
5770 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
5771 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
5772 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
5773 (grub_cls): Remove EXPORT_FUNC.
5774 (grub_setcolorstate): Inline.
5775 (grub_newline_hook): Removed.
5776 * include/grub/terminfo.h: Rewritten. All users updated.
5777 * include/grub/unicode.h: New file.
5778 * include/grub/video.h (grub_video_signed_rect): New type.
5779 * kern/emu/console.c (grub_console_highlight_color): Removed.
5780 (grub_console_normal_color): Likewise.
5781 (grub_console_standard_color): Made static.
5782 (grub_ncurses_putchar): Remove mapping.
5783 (grub_ncurses_getcharwidth): Removed.
5784 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
5785 (grub_ncurses_setcolor): Removed.
5786 (grub_ncurses_getcolor): Likewise.
5787 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
5788 (grub_console_putchar): ... this.
5789 (grub_console_putchar): Handle argument difference.
5790 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
5791 console_init_early and console_init_lately.
5792 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
5793 * kern/misc.c (grub_puts): Removed.
5794 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
5795 (grub_vsnprintf_real): Remove str = NULL support.
5796 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
5797 * normal/charset.c (grub_utf8_to_ucs4): ... here.
5798 * kern/term.c (grub_putcode): Renamed to ...
5799 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
5800 (grub_putchar): Removed.
5801 (grub_xputs_dumb): New function.
5802 (grub_xputs): New variable.
5803 * lib/charset.c: Move from here ...
5804 * normal/charset.c: ... to here.
5805 (grub_ucs4_to_utf8): New function.
5806 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
5807 (join_types): New variable.
5808 (unpack_join): New function.
5809 (bidi_types): New variable.
5810 (unpack_bidi): New function.
5811 (get_bidi_type): Likewise.
5812 (get_join_type): Likewise.
5813 (is_mirrored): Likewise.
5814 (grub_unicode_get_comb_type): Likewise.
5815 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
5816 (is_type_after): Likewise.
5817 (grub_unicode_aglomerate_comb): Likewise.
5818 (bidi_line_wrap): Likewise.
5819 (grub_bidi_line_logical_to_visual): Likewise.
5820 (grub_bidi_logical_to_visual): Likewise.
5821 (grub_unicode_mirror_code): Likewise.
5822 (grub_unicode_shape_code): Likewise.
5823 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
5824 Don't use grub_putchar.
5825 * normal/main.c (grub_normal_init_page): Use grub_putcode.
5826 (grub_normal_reader_init): Likewise.
5827 (grub_xputs_saved): New variable.
5828 (GRUB_MOD_INIT): Set grub_xputs.
5829 (GRUB_MOD_FINI): Restore grub_xputs.
5830 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
5831 (menu_init): Avoid printing gfxmenu error.
5832 (show_menu): Use grub_normal_get_char_counter.
5833 * normal/menu_entry.c (update_screen): Fix out-of-array.
5834 (complete): Avoid NULL dereferencing.
5835 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
5836 * normal/menu_text.c (print_spaces): Removed.
5837 (grub_print_ucs4): Likewise.
5838 (grub_print_message_indented): Use grub_print_ucs4.
5839 (print_message): Use grub_putcode.
5840 (print_entry): Hanlde diacritics.
5841 * normal/term.c (term_state): New type.
5842 (grub_more_lines): Removed.
5843 (term_states): New variable.
5844 (grub_normal_line_counter): Renamed to ..
5845 (grub_normal_char_counter): ...this. All users updated.
5846 (grub_normal_get_line_counter): Renamed to ...
5847 (grub_normal_get_char_counter): ... this.
5848 (grub_normal_reset_more): New function.
5849 (process_newline): Removed.
5850 (print_more): New function.
5851 (grub_install_newline_hook): Removed.
5852 (map_code): New function.
5853 (grub_puts_terminal): Use grub_print_ucs4.
5854 (putglyph): New function.
5855 (putcode_real): Likewise.
5856 (grub_putcode): Use putcode_real.
5857 (get_maxwidth): New function.
5858 (get_startwidth): Likewise.
5859 (print_ucs4_terminal): Likewise.
5860 (find_term_state): Likewise.
5861 (put_glyphs_terminal): Likewise.
5862 (print_backlog): Likewise.
5863 (print_ucs4_real): Likewise.
5864 (grub_print_ucs4): Likewise.
5865 (grub_xputs_normal): Likewise.
5866 * term/efi/console.c (grub_console_putchar): Output diacritics.
5867 (grub_console_getcharwidth): Removed.
5868 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
5869 * term/gfxterm.c (clear_char): Free chars.
5870 (scroll_up): Avoid leaking memory.
5871 (grub_gfxterm_putchar): Support diacritics.
5872 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
5873 * term/i386/pc/console.c (grub_console_term_output): Declare as
5874 GRUB_TERM_CODE_TYPE_VGA.
5875 * term/i386/pc/vga.c (grub_vga_term): Declare as
5876 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
5877 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
5878 GRUB_TERM_CODE_TYPE_VGA.
5879 * term/i386/vga_common.c (map_char): Removed.
5880 (grub_console_putchar): Likewise.
5881 (grub_console_getcharwidth): Likewise.
5882 * term/ieee1275/ofconsole.c: Simplify using terminfo.
5883 (colors): Reordered to match terminfo.
5884 (grub_ofconsole_normal_color): Removed.
5885 (grub_ofconsole_writeesc): Likewise.
5886 (grub_ofconsole_highlight_color): Likewise.
5887 (grub_ofconsole_getcharwidth): Likewise.
5888 (grub_ofconsole_setcolorstate): Likewise.
5889 (grub_ofconsole_setcolor): Likewise.
5890 (grub_ofconsole_getcolor): Likewise.
5891 (grub_ofconsole_readkey): Renamed to ...
5892 (readkey): ... this. Remove escape sequence handling. Return -1 on no
5893 key.
5894 (grub_ofconsole_checkkey): Removed.
5895 (grub_ofconsole_getkey): Likewise.
5896 (grub_ofconsole_getxy): Likewise.
5897 (grub_ofconsole_gotoxy): Likewise.
5898 (grub_ofconsole_cls): Likewise.
5899 (grub_ofconsole_refresh): Likewise.
5900 (grub_ofconsole_terminfo_input): New struct.
5901 (grub_ofconsole_terminfo_output): Likewise.
5902 (grub_ofconsole_term_input): Use terminfo.
5903 (grub_ofconsole_term_output): Likewise.
5904 (grub_console_init): Split into ...
5905 (grub_console_init_early): ...this and ...
5906 (grub_console_init_lately): ...this. Use terminfo.
5907 (grub_ofconsole_putchar): Renamed to ...
5908 (put): ... this. Remove mapping.
5909 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
5910 * term/serial.c: Simplify using terminfo.
5911 (xpos): Removed.
5912 (ypos): Likewise.
5913 (keep_track): Likewise.
5914 (registered): Likewise.
5915 (input_buf): Likewise.
5916 (npending): Likewise.
5917 (serial_translate_key_sequence): Likewise.
5918 (fill_input_buf): Likewise.
5919 (grub_serial_checkkey): Likewise.
5920 (grub_serial_getkey): Likewise.
5921 (grub_serial_getxy): Likewise.
5922 (grub_serial_gotoxy): Likewise.
5923 (grub_serial_putchar): Likewise.
5924 (grub_serial_cls): Likewise.
5925 (grub_serial_setcolorstate): Likewise.
5926 (grub_serial_setcursor): Likewise.
5927 (serial_hw_init): Use serial_hw_fetch.
5928 (grub_serial_terminfo_input): New variable.
5929 (grub_serial_terminfo_output): Likewise.
5930 (grub_serial_term_input): Use terminfo.
5931 (grub_serial_term_output): Likewise.
5932 * term/terminfo.c (putstr): Use put.
5933 (grub_terminfo_all_free): New function
5934 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
5935 (grub_terminfo_output_register): New function.
5936 (grub_terminfo_output_unregister): Likewise.
5937 (grub_terminfo_getxy): Likewise.
5938 (grub_terminfo_readkey): Likewise.
5939 (grub_terminfo_checkkey): Likewise.
5940 (grub_terminfo_getkey): Likewise.
5941 (grub_terminfo_input_init): Likewise.
5942 (print_terminfo): Likewise.
5943 (grub_cmd_terminfo): Handle encoding.
5944 (grub_terminfo_gotoxy): Track position.
5945 (grub_terminfo_cls): Likewise.
5946 (grub_terminfo_putchar): Likewise.
5947 (grub_terminfo_setcolorstate): Handle colors
5948 (grub_terminfo_cursor_on): This ...
5949 (grub_terminfo_cursor_off): ... and this merged into ...
5950 (grub_terminfo_setcursor): ... this.
5951 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
5952 * unicode/ArabicShaping.txt: New file (imported from Unicode).
5953 * unicode/BidiMirroring.txt: Likewise.
5954 * unicode/UnicodeData.txt: Likewise.
5955 * unicode/COPYING: Likewise.
5956 * util/grub-editenv.c (grub_putchar): Removed.
5957 (grub_xputs_real): New function.
5958 (grub_xputs): New variable.
5959 * util/grub-fstest.c (grub_putchar): Removed.
5960 (grub_xputs_real): New function.
5961 (grub_xputs): New variable.
5962 * util/grub-mkdevicemap.c (grub_putchar): Removed.
5963 (grub_xputs_real): New function.
5964 (grub_xputs): New variable.
5965 * util/grub-probe.c (grub_putchar): Removed.
5966 (grub_xputs_real): New function.
5967 (grub_xputs): New variable.
5968 * util/grub-script-check.c (grub_putchar): Removed.
5969 (grub_xputs_real): New function.
5970 (grub_xputs): New variable.
5971 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
5972 (grub_xputs_real): New function.
5973 (grub_xputs): New variable.
5974 * util/import_unicode.py: New file.
5975 * util/grub-mkfont.c (ft_errmsgs): New array.
5976 (grub_glyph_info): Make bitmap a pointer.
5977 (file_formats): New type WIDTH_SPEC.
5978 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
5979 (options): Add width-spec.
5980 (help): Likewise.
5981 (add_char): Renamed to ...
5982 (add_glyph): ... this.
5983 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
5984 (glyph_replace): New type.
5985 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
5986 (add_char): New function.
5987 (add_subst): Likewise.
5988 (process_cursive): Likewise.
5989 (add_font): Handle GSUB.
5990 (write_font_width_spec): New function.
5991 (main): Sort glyphs.
5992 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
5993 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
5994 * kern/term.c (grub_cls): Moved from here...
5995 * normal/term.c (grub_cls): ... here.
5996
50f0bcda
CW
59972010-07-02 Colin Watson <cjwatson@ubuntu.com>
5998
5999 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
6000 suitable for using within the format argument of printf when
6001 converting grub_size_t.
6002 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
6003 "x" to convert grub_size_t arguments.
6004
40372103
VS
60052010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6006
6007 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
6008 too long captions.
6009 (list_get_minimal_size): Take selection box into account.
6010
942a10c7
VS
60112010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6012
6013 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
6014 NULL font.
6015
2bdb2892
CW
60162010-07-02 Colin Watson <cjwatson@ubuntu.com>
6017
6018 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
6019 devices when iterating over /dev/disk/by-id; they will be handled
6020 later if appropriate, which they aren't always (e.g. LVM).
6021
e03ed6c1
CW
60222010-07-02 Colin Watson <cjwatson@ubuntu.com>
6023
6024 * include/grub/misc.h (grub_reboot): Declare as noreturn.
6025 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
6026 fails.
6027 (grub_halt): Likewise.
6028 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
6029 reset-all fails.
6030 (grub_halt): Don't return, even if all of shut-down, power-off, and
6031 poweroff fail.
6032
47695765
CW
60332010-07-02 Colin Watson <cjwatson@ubuntu.com>
6034
6035 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
6036 arguments, not three.
6037
507736c8
CW
60382010-07-02 Colin Watson <cjwatson@ubuntu.com>
6039
6040 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
6041 * util/grub.d/10_linux.in: Use it to check for LVM, so that
6042 LVM-on-RAID is handled correctly.
6043
e3c8cd37
CW
60442010-07-02 Colin Watson <cjwatson@ubuntu.com>
6045
6046 * docs/grub.texi (Changes from GRUB Legacy): New section.
6047 (Future): Fix typo.
6048
8d4a2fec
CW
60492010-07-02 Colin Watson <cjwatson@ubuntu.com>
6050
6051 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
6052 grub.d/README accidentally ends up executable for one reason or
6053 another. Ignore it.
6054
1c4827be
VS
60552010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6056
6057 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
6058 (gpt_partition_map_iterate): Support non-512B sectors.
6059
d9a0c941
VS
60602010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6061
6062 * kern/efi/init.c (grub_efi_init): Disable watchdog.
6063 Tested by: Seth Goldberg.
6064
48f27e87
VS
60652010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6066
6067 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
6068 Properly align mbi.
6069 Reported by: Seth Goldberg.
6070
b0c4f956
VS
60712010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
6072
6073 * util/grub-mkrescue.in: Avoid module duplication.
6074
105a2e8c
SF
60752010-07-01 Sean Finney <seanius@seanius.net>
6076
6077 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
6078
5944958c
SF
60792010-07-01 Sean Finney <seanius@seanius.net>
6080
6081 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
6082
60832010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
6084
6085 * disk/lvm.c (grub_lvm_checkvalue): New function.
6086 (grub_lvm_check_flag): Likewise.
6087
b79889ba
RM
60882010-07-01 Robert Millan <rmh@gnu.org>
6089
6090 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
6091 Support 'p' as partition separator on kernel of FreeBSD (used
6092 with GPT labels).
6093 (grub_util_biosdisk_get_grub_dev): Likewise.
6094
ec1d04f1
VS
60952010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
6096
6097 Yeeloong firmware port.
6098
6099 * boot/mips/yeeloong/fwstart.S: New file.
6100 * bus/cs5536.c (gpiodump): New const.
6101 (set_io_space): New function.
6102 (set_iod): Likewise.
6103 (set_p2d): Likewise.
6104 (grub_cs5536_init_geode): Likewise.
6105 * commands/mips/yeeloong/lsspd.c: New file.
6106 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
6107 (serial_mod_SOURCES): New variable.
6108 (serial_mod_CFLAGS): Likewise.
6109 (serial_mod_LDFLAGS): Likewise.
6110 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
6111 term/terminfo.c and term/tparm.c.
6112 (pkglib_IMAGES): Add fwstart.img.
6113 (fwstart_img_SOURCES): New variable.
6114 (fwstart_img_CFLAGS): Likewise.
6115 (fwstart_img_ASFLAGS): Likewise.
6116 (fwstart_img_LDFLAGS): Likewise.
6117 (fwstart_img_FORMAT): Likewise.
6118 (pkglib_MODULES): Add lsspd.mod.
6119 (lsspd_mod_SOURCES): New variable.
6120 (lsspd_mod_CFLAGS): Likewise.
6121 (lsspd_mod_LDFLAGS): Likewise.
6122 (pkglib_MODULES): Add halt.mod.
6123 (halt_mod_SOURCES): New variable.
6124 (halt_mod_CFLAGS): Likewise.
6125 (halt_mod_LDFLAGS): Likewise.
6126 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
6127 (serial_mod_SOURCES): Removed.
6128 (serial_mod_CFLAGS): Likewise.
6129 (serial_mod_LDFLAGS): Likewise.
6130 * disk/ata.c (check_device): New function.
6131 (grub_ata_device_initialize): Use check_device.
6132 (grub_ata_iterate): Recheck devices.
6133 (grub_ata_open): Likewise.
6134 (grub_atapi_iterate): Likewise.
6135 (grub_atapi_open): Likewise.
6136 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
6137 (GRUB_ATA_CH1_PORT1): Likewise.
6138 (GRUB_ATA_CH0_PORT2): Likewise.
6139 (GRUB_ATA_CH1_PORT2): Likewise.
6140 * include/grub/mips/loongson.h: New file.
6141 * include/grub/mips/yeeloong/ec.h: Likewise.
6142 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
6143 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
6144 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
6145 * include/grub/misc.h (grub_halt): Declare as noreturn.
6146 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
6147 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
6148 (UART_ENABLE_FIFO_TRIGGER1): New definition.
6149 (UART_ENABLE_DTRRTS): Likewise.
6150 (UART_ENABLE_MODEM): Removed.
6151 (UART_ENABLE_OUT2): New const.
6152 * include/grub/term.h (grub_term_register_input_active): New function.
6153 (grub_term_register_output_active): Likewise.
6154 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
6155 argument.
6156 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
6157 (init_pci): New function.
6158 (grub_machine_init): Execute platform init when firmware. Init serial.
6159 (grub_halt): Implement.
6160 (grub_exit): Likewise.
6161 (grub_reboot): Likewise.
6162 * term/serial.c (serial_hw_init): Update macros.
6163 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
6164 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
6165 (image_targets): New target mipsel-yeeloong-flash.
6166 (generate_image): Support IMAGE_YEELOONG_FLASH.
6167 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
6168 (grub_video_sm712_setup): Init card.
6169 (grub_video_sm712_set_palette): Removed.
6170 * video/sm712_init.c: New file.
6171
ff4a70d2
CW
61722010-06-30 Colin Watson <cjwatson@ubuntu.com>
6173
6174 * Makefile.in (install-local): Temporarily prepend $(builddir) to
6175 PATH when running help2man and then run it on the unadorned
6176 executable names, rather than passing $(builddir)/* paths to
6177 help2man. This avoids the build directory ending up in generated
6178 manual pages.
6179
1246efeb
CW
61802010-06-29 Colin Watson <cjwatson@ubuntu.com>
6181
6182 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
6183 to avoid accidents when debugging with 'sh -x'.
6184 * util/grub-mkrescue.in: Likewise.
6185 * util/grub.d/00_header.in: Likewise.
6186 * util/grub.d/10_hurd.in: Likewise.
6187 * util/grub.d/10_kfreebsd.in: Likewise.
6188 * util/grub.d/10_linux.in: Likewise.
6189 * util/grub.d/10_netbsd.in: Likewise.
6190 * util/grub.d/10_windows.in: Likewise.
6191 * util/grub.d/20_linux_xen.in: Likewise.
6192 * util/grub.d/30_os-prober.in: Likewise.
6193 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6194
1ba9b889
CW
61952010-06-29 Colin Watson <cjwatson@ubuntu.com>
6196
6197 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
6198 last character in the buffer.
6199 Reported by: Vladimir Serbinenko.
6200
dccaf99d
RM
62012010-06-29 Robert Millan <rmh@gnu.org>
6202
6203 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
6204 (Command-line and menu entry commands): Document `badram' command.
6205
d500ed12
RM
62062010-06-28 Robert Millan <rmh@gnu.org>
6207
6208 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
6209 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
6210 command using ${GRUB_BADRAM} as parameter.
6211
20bc84a6
CW
62122010-06-28 Colin Watson <cjwatson@ubuntu.com>
6213
6214 * docs/grub.texi (Device map): New section.
6215 (Themes): New section (stub).
6216 * Makefile.in (docs/grub.info): The info documentation now builds
6217 without errors. Make sure it stays that way.
6218
4045dee1
VS
62192010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6220
6221 Use normal parser for menu entries.
6222 Reported by: Thomas Frauendorfer
6223
6224 * include/grub/parser.h (grub_parser_execute): Don't export.
6225 * normal/menu.c (grub_menu_execute_entry_real): New function.
6226 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
6227
bca58c7b
CW
62282010-06-28 Colin Watson <cjwatson@ubuntu.com>
6229
6230 * docs/grub.texi (Embedded configuration): New section (replacing
6231 old "Preset Menu" stub).
6232 (Images): New section.
6233 (configfile): Note that any menu entries defined in `file' are shown
6234 immediately.
6235
dec53e63
JT
62362010-06-28 Josh Triplett <josh@joshtriplett.org>
6237
6238 * mmap/i386/pc/mmap_helper.S: Set CF on return.
6239
c06e40f7
CW
62402010-06-28 Colin Watson <cjwatson@ubuntu.com>
6241
6242 * util/grub-install.in: Add --debug-image= option.
6243
cb88052b
CW
62442010-06-28 Colin Watson <cjwatson@ubuntu.com>
6245
6246 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
6247 possible on Linux.
6248
6249 * util/deviceiter.c (check_device): Rename to ...
6250 (check_device_readable_unique): ... this. Update all callers.
6251 Maintain and check a list of which devices (by canonicalized name)
6252 have already been seen.
6253 (clear_seen_devices): New function.
6254 (compare_file_names) [__linux__]: New function.
6255 (grub_util_iterate_devices): Clear the list of seen devices on exit
6256 and (just in case) on entry.
6257 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
6258 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
6259 seen-devices list, superseded by general code in check_device.
6260
bbe34652
CW
62612010-06-28 Colin Watson <cjwatson@ubuntu.com>
6262
6263 * commands/cat.c (options): New variable.
6264 (grub_cmd_cat): Parse options. If the --dos option is given, print
6265 DOS-style "\r\n" line endings as simple newlines (Debian bug
6266 #586358).
6267 (GRUB_MOD_INIT): Use extcmd.
6268 (GRUB_MOD_FINI): Likewise.
6269 * docs/grub.texi (cat): Document --dos.
6270
412e09f3
VS
62712010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 XEN with Linux grub-mkconfig support.
6274
6275 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
6276 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
6277 GRUB_CMDLINE_XEN_DEFAULT.
6278 * util/grub.d/20_linux_xen.in: New file.
6279
53f3ef38 62802010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
6281
6282 Initialise VGA video on qemu ourselves.
6283
6284 * boot/i386/qemu/boot.S: Don't call 0xc000.
6285 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
6286 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
6287 (kernel_img_HEADERS): Add pci.h.
6288 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
6289 * configure.ac: Force unifont on qemu and yeeloong.
6290 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
6291 (grub_vga_palette_write): Use correct register.
6292 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
6293 Call grub_qemu_init_cirrus.
6294 * kern/i386/qemu/init.c: New file.
6295 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
6296
6297 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
6298
c75be4fb
PR
62992010-06-26 Pavel Roskin <proski@gnu.org>
6300
6301 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
6302 13.
6303
d8034603
CW
63042010-06-26 Colin Watson <cjwatson@ubuntu.com>
6305
6306 * docs/grub.texi (Simple configuration): Explain that
6307 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
6308 set to `true' to disable their respective recovery entries, not
6309 merely set.
6310
3fa06487
CW
63112010-06-26 Colin Watson <cjwatson@ubuntu.com>
6312
6313 Make the `source' command slightly faster.
6314
6315 * normal/main.c (grub_normal_execute): Don't re-read list files when
6316 nested.
6317
e9b29642
CW
63182010-06-23 Colin Watson <cjwatson@ubuntu.com>
6319
6320 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
6321 field position and mask size to red fields from mode_info, not
6322 green.
6323 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
6324 Remove redundant tag->common.framebuffer_type assignment.
6325 Reported by: Seth Goldberg.
6326
e726542f
CW
63272010-06-23 Colin Watson <cjwatson@ubuntu.com>
6328
6329 Sync up other versions of the Linux loader with Robert Millan's
6330 change of 2010-01-09, "Make loader output a bit more user-friendly".
6331
6332 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
6333 grub_dprintf().
6334 (grub_cmd_linux): Likewise.
6335 (grub_cmd_initrd): Likewise.
6336 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
6337 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6338
d6e98a17
CW
63392010-06-21 Colin Watson <cjwatson@ubuntu.com>
6340
6341 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
6342 larger than MEMORY_MAP_SIZE.
6343
14d3f08e
BC
63442010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
6345
6346 Fix parallel build.
6347
6348 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
6349 dependency.
6350 * script/parser.y: #include grub_script.tab.h header.
6351
4f9613a3
VS
63522010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6353
6354 Support >3GiB and <16MiB RAM in i386-qemu.
6355
6356 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
6357 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
6358 (grub_lower_mem): Removed.
6359 (grub_upper_mem): Likewise.
6360 (mem_size): Made static.
6361 (above_4g): New variable.
6362 (grub_machine_mmap_init): Detect small mem_size and above_4g.
6363 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
6364 support.
6365
05e51879
VS
63662010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6367
6368 Cirrus 5446 and Bochs video cards support.
6369
6370 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
6371 video_bochs.mod
6372 (video_cirrus_mod_SOURCES): New variable.
6373 (video_cirrus_mod_CFLAGS): Likewise.
6374 (video_cirrus_mod_LDFLAGS): Likewise.
6375 (video_bochs_mod_SOURCES): Likewise.
6376 (video_bochs_mod_CFLAGS): Likewise.
6377 (video_bochs_mod_LDFLAGS): Likewise.
6378 * include/grub/vga.h: New file.
6379 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
6380 (grub_video_fb_set_page_t): New type.
6381 (grub_video_fb_setup): New prototype.
6382 (grub_video_fb_swap_buffers): Likewise.
6383 (grub_video_fb_get_info_and_fini): Likewise.
6384 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
6385 (CRTC_DATA_PORT): Likewise.
6386 (CRTC_CURSOR): Likewise.
6387 (CRTC_CURSOR_ADDR_HIGH): Likewise.
6388 (CRTC_CURSOR_ADDR_LOW): Likewise.
6389 (CRTC_CURSOR_DISABLE): Likewise.
6390 (update_cursor): Use grub_vga_cr_write.
6391 (grub_vga_text_setcursor): Likewise.
6392 * video/bochs.c: New file.
6393 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
6394 (palette): Likewise.
6395 (palette_size): Likewise.
6396 (framebuffer): New variable.
6397 (grub_video_fb_init): Use 'framebuffer'.
6398 (grub_video_fb_fini): Likewise.
6399 (grub_video_fb_get_info): Likewise.
6400 (grub_video_fb_get_palette): Likewise.
6401 (grub_video_fb_set_palette): Likewise.
6402 (grub_video_fb_set_viewport): Likewise.
6403 (grub_video_fb_get_viewport): Likewise.
6404 (grub_video_fb_map_color): Likewise.
6405 (grub_video_fb_map_rgb): Likewise.
6406 (grub_video_fb_map_rgba): Likewise.
6407 (grub_video_fb_unmap_color): Likewise.
6408 (grub_video_fb_unmap_color_int): Likewise.
6409 (grub_video_fb_fill_rect): Likewise.
6410 (grub_video_fb_blit_bitmap): Likewise.
6411 (grub_video_fb_blit_render_target): Likewise.
6412 (grub_video_fb_scroll): Likewise.
6413 (grub_video_fb_create_render_target): Likewise.
6414 (grub_video_fb_doublebuf_blit_init): Likewise.
6415 (grub_video_fb_set_active_render_target): Handle doublebuffering.
6416 (doublebuf_pageflipping_update_screen): New function.
6417 (doublebuf_pageflipping_init): Likewise.
6418 (grub_video_fb_setup): Likewise.
6419 (grub_video_fb_swap_buffers): Likewise.
6420 (grub_video_fb_get_info_and_fini): Likewise.
6421 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
6422 All users updated.
6423 (doublebuf_pageflipping_commit): Restructured into ...
6424 (doublebuf_pageflipping_set_page): ... this.
6425 (doublebuf_pageflipping_update_screen): Removed.
6426 (doublebuf_pageflipping_init): Likewise.
6427 (double_buffering_init): Likewise.
6428 (grub_video_vbe_setup): Use grub_video_fb_setup.
6429 (grub_video_vbe_swap_buffers): Removed.
6430 (grub_video_vbe_set_active_render_target): Likewise.
6431 (grub_video_vbe_get_active_render_target): Likewise.
6432 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
6433 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
6434 grub_video_fb_set_active_render_target and
6435 grub_video_fb_get_active_render_target.
6436 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
6437 (SEQUENCER_DATA_PORT): Likewise.
6438 (MAP_MASK_REGISTER): Likewise.
6439 (CRTC_ADDR_PORT): Likewise.
6440 (CRTC_DATA_PORT): Likewise.
6441 (START_ADDR_HIGH_REGISTER): Likewise.
6442 (START_ADDR_LOW_REGISTER): Likewise.
6443 (GRAPHICS_ADDR_PORT): Likewise.
6444 (GRAPHICS_DATA_PORT): Likewise.
6445 (READ_MAP_REGISTER): Likewise.
6446 (INPUT_STATUS1_REGISTER): Likewise.
6447 (INPUT_STATUS1_VERTR_BIT): Likewise.
6448 (get_map_mask): Use grub_vga_sr_read.
6449 (set_map_mask): Use grub_vga_sr_write.
6450 (set_read_map): Use grub_vga_gr_write.
6451 (set_start_address): Use grub_vga_cr_write.
6452 * video/sm712.c (framebuffer): Remove leftover fields.
6453
4321c64a
CW
64542010-06-20 Colin Watson <cjwatson@ubuntu.com>
6455
6456 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
6457 setting GRUB_VIDEO_BACKEND. Make it available as a user override
6458 instead. Replace the gfxterm backend check with a check that
6459 ${GRUB_PREFIX}/video.lst is non-empty.
6460 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
6461 again.
6462 (load_video): New generated function. Call it before loading
6463 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
6464 * util/grub.d/10_linux.in (linux_entry): Call load_video.
6465 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
6466 * docs/grub.texi (Simple configuration): Document
6467 GRUB_VIDEO_BACKEND.
6468
64692010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 Use video functions in linux and xnu loaders.
6472
6473 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
6474 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
6475 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
6476 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
6477 loader/i386/pc/linux.c.
6478 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
6479 (find_line_len): Removed.
6480 (find_framebuf): Likewise.
6481 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
6482 * loader/i386/efi/xnu.c: Removed.
6483 * loader/i386/pc/xnu.c: Moved from here...
6484 * loader/i386/xnu.c: ...here.
6485
6486 Enable priorities in video drivers.
6487
6488 * include/grub/video.h (grub_video_adapter_prio_t): New type.
6489 (grub_video_adapter): New field prio.
6490 (grub_video_register): Respect prio when inserting.
6491 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
6492 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
6493 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
6494 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
6495 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
6496 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
6497 * video/sm712.c (grub_video_sm712_adapter): Likewise.
6498
6499 Fix SDL driver ID.
6500
6501 * include/grub/video.h (grub_video_driver_id_t): New value
6502 GRUB_VIDEO_DRIVER_SDL.
6503 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
6504
7d24e434
CW
65052010-06-17 Colin Watson <cjwatson@ubuntu.com>
6506
6507 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
6508 argument to printf.
6509 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
6510
c88a83f6
CW
65112010-06-17 Colin Watson <cjwatson@ubuntu.com>
6512
6513 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
6514 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
6515
094dfb69
CW
65162010-06-17 Colin Watson <cjwatson@ubuntu.com>
6517
6518 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
6519 directly, and recommend grub-install instead.
6520 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
6521
2164da6b
CW
65222010-06-17 Colin Watson <cjwatson@ubuntu.com>
6523
6524 Fix i386-pc prefix handling with nested partitions (Debian bug
6525 #585068). Note that the case where the core image is booted using
6526 multiboot and relocated from its original location still requires
6527 more work.
6528
6529 * kern/i386/pc/init.c (make_install_device): If the prefix starts
6530 with "(,", fill the boot drive in between those two characters, but
6531 expect that a full partition specification including partition map
6532 names will follow.
6533 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
6534 specified, write a prefix without the drive name but including a
6535 full partition specification.
6536
044e2e60
CW
65372010-06-16 Colin Watson <cjwatson@ubuntu.com>
6538
6539 * util/grub-mkconfig.in: Ignore non-option arguments, for
6540 compatibility with older versions (before 2010-06-12) which did the
6541 same. In particular, this makes it easier to ship an update-grub
6542 wrapper which is compatible with that used with GRUB Legacy (Debian
6543 bug #586056).
6544
5591324f
GS
65452010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6546
6547 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
6548 for manual page generation.
6549
662e24d5
GS
65502010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6551
6552 * po/POTFILES: Remove leftover commands/handler.c.
6553
8d70754e
CW
65542010-06-14 Colin Watson <cjwatson@ubuntu.com>
6555
6556 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
6557 left this script non-functional.
6558
41160e2e
CW
65592010-06-14 Colin Watson <cjwatson@ubuntu.com>
6560
6561 * docs/man/grub-emu.h2m: New file.
6562
b5309cc1
CW
65632010-06-13 Colin Watson <cjwatson@ubuntu.com>
6564
6565 * docs/grub.texi (Commands): Document reduced command set in rescue
6566 mode.
6567 (cpuid): New section.
6568
fcb2d090
GS
65692010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
6570
6571 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
6572 new partition naming style.
6573 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
6574
96e5c556
BC
65752010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
6576
6577 Add "-o grub.iso" like cmdline options support.
6578
6579 * util/grub-install.in: Improve cmdline option parsing.
6580 * util/grub-mkconfig.in: Likewise.
6581 * util/grub-mkrescue.in: Likewise.
6582 * util/grub-reboot.in: Likewise.
6583 * util/grub-set-default.in: Likewise.
6584 * util/i386/efi/grub-install.in: Likewise.
6585 * util/ieee1275/grub-install.in: Likewise.
6586 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6587
c16be99b
CW
65882010-06-12 Colin Watson <cjwatson@ubuntu.com>
6589
6590 * .bzrignore: Ignore 41_custom.
6591
ce08a9fb
TS
65922010-06-12 Thomas Schmitt <scdbackup@gmx.net>
6593
6594 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
6595
7beac90c
CW
65962010-06-12 Colin Watson <cjwatson@ubuntu.com>
6597
6598 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
6599 prototype declarations.
6600
6601 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
6602 generating fs, partmap, and video lists.
6603 * include/grub/fs.h (grub_fs_register): Omit prototype if
6604 GRUB_LST_GENERATOR is defined.
6605 * include/grub/partition.h (grub_partition_map_register): Likewise.
6606 * include/grub/video.h (grub_video_register): Likewise.
6607
1c8f0f8d
JM
66082010-06-12 Javier Martín <lordhabbit@gmail.com>
6609
6610 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
6611
a6085973
TS
66122010-06-12 Thomas Schmitt <scdbackup@gmx.net>
6613
6614 * util/grub-mkrescue.in: Support --xorriso argument.
6615
25c56d29
VS
66162010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
6617
6618 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
6619 Suggested by: Thomas Schmitt.
6620
e03e4b24
VS
66212010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
6622
6623 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
6624 Suggested by: Thomas Schmitt.
6625
57711df6
VS
66262010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
6627
6628 custom.cfg support.
6629
6630 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
6631 * util/grub.d/41_custom.in: New file.
6632
ee62c427
CW
66332010-06-12 Colin Watson <cjwatson@ubuntu.com>
6634
6635 * util/grub-mkrescue.in (make_image): Remove sh module, which has
6636 been merged back into normal.
6637
283af07a
CW
66382010-06-11 Colin Watson <cjwatson@ubuntu.com>
6639
6640 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
6641 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
6642
56a0d956
CW
66432010-06-11 Colin Watson <cjwatson@ubuntu.com>
6644
6645 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
6646 when generating manual pages.
6647 * docs/man/grub-bin2h.h2m: New file.
6648 * docs/man/grub-editenv.h2m: New file.
6649 * docs/man/grub-fstest.h2m: New file.
6650 * docs/man/grub-install.h2m: New file.
6651 * docs/man/grub-macho2img.h2m: New file.
6652 * docs/man/grub-mkconfig.h2m: New file.
6653 * docs/man/grub-mkdevicemap.h2m: New file.
6654 * docs/man/grub-mkfont.h2m: New file.
6655 * docs/man/grub-mkimage.h2m: New file.
6656 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
6657 * docs/man/grub-mkrelpath.h2m: New file.
6658 * docs/man/grub-mkrescue.h2m: New file.
6659 * docs/man/grub-ofpathname.h2m: New file.
6660 * docs/man/grub-pe2elf.h2m: New file.
6661 * docs/man/grub-probe.h2m: New file.
6662 * docs/man/grub-reboot.h2m: New file.
6663 * docs/man/grub-script-check.h2m: New file.
6664 * docs/man/grub-set-default.h2m: New file.
6665 * docs/man/grub-setup.h2m: New file.
6666
3a37e322
VS
66672010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
6668
6669 Use FOR_* macros instead of *_iterate whenever possible.
6670
6671 * commands/handler.c: Removed.
6672 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
6673 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
6674 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
6675 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
6676 (grub_probe_SOURCES): Remove kern/parser.c.
6677 (util/grub-script-check.c_DEPENDENCIES): Removed.
6678 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
6679 and grub_script_check_init.c.
6680 (grub_script_check_init.lst): Removed.
6681 (grub_script_check_init.h): Likewise.
6682 (grub_script_check_init.c): Likewise.
6683 (pkglib_MODULES): Remove handler.mod and sh.mod.
6684 (handler_mod_SOURCES): Removed.
6685 (handler_mod_CFLAGS): Likewise.
6686 (handler_mod_LDFLAGS): Likewise.
6687 (normal_mod_SOURCES): Remove normal/handler.c.
6688 Add script/main.c, script/script.c, script/execute.c,
6689 script/function.c, script/lexer.c, grub_script.tab.c
6690 and grub_script.yy.c.
6691 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
6692 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6693 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
6694 (grub_setup_SOURCES): Remove kern/parser.c.
6695 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
6696 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
6697 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
6698 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6699 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6700 (grub_setup_SOURCES): Remove kern/parser.c.
6701 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
6702 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
6703 * include/grub/command.h (grub_command_iterate): Removed.
6704 (FOR_COMMANDS): New macro.
6705 * include/grub/dl.h (grub_dl): New member next.
6706 (grub_dl_iterate): Removed.
6707 (grub_dl_head): New variable declaration.
6708 (FOR_DL_MODULES): New macro.
6709 * include/grub/fs.h: Include list.h.
6710 (grub_fs): Make next first element.
6711 (grub_fs_list): New variable declaration.
6712 (grub_fs_register): Make inline.
6713 (grub_fs_unregister): Likewise.
6714 (grub_fs_iterate): Removed.
6715 (FOR_FILESYSTEMS): New macro.
6716 * include/grub/handler.h: Removed.
6717 * include/grub/list.h (grub_list_hook_t): Removed.
6718 (grub_list_test_t): Likewise.
6719 (grub_list_pop): Likewise.
6720 (grub_list_iterate): Likewise.
6721 (grub_list_insert): Likewise.
6722 (FOR_LIST_ELEMENTS): New macro.
6723 * include/grub/parser.h (grub_parser_class): Removed.
6724 (grub_parser_register): Likewise.
6725 (grub_parser_unregister): Likewise.
6726 (grub_parser_get_current): Likewise.
6727 (grub_parser_set_current): Likewise.
6728 (grub_register_rescue_parser): Likewise.
6729 (grub_rescue_parse_line): New function.
6730 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
6731 * include/grub/script_sh.h (grub_script_function_list): New variable
6732 declaration.
6733 (FOR_SCRIPT_FUNCTIONS): New macro.
6734 (grub_script_function_iterate): Removed.
6735 (grub_normal_parse_line): New prototype.
6736 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
6737 (FOR_DISABLED_TERM_INPUTS): Likewise.
6738 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
6739 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
6740 * include/grub/video.h (grub_video_adapter): Move 'next' to first
6741 element.
6742 (grub_video_register): Inline.
6743 (grub_video_unregister): Likewise.
6744 (grub_video_adapter_list): New variable declaration.
6745 (grub_video_iterate): Removed.
6746 (FOR_VIDEO_ADAPTERS): New macro.
6747 * kern/dl.c (grub_dl_list): Removed. All users updated.
6748 (grub_dl_iterate): Removed.
6749 * kern/fs.c (grub_fs_list): Make global.
6750 (grub_fs_register): Removed.
6751 (grub_fs_unregister): Likewise.
6752 (grub_fs_iterate): Likewise.
6753 * kern/handler.c: Removed.
6754 * kern/list.c (grub_list_pop): Removed.
6755 (grub_list_iterate): Likewise.
6756 (grub_list_insert): Likewise.
6757 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
6758 (grub_prio_list_insert): Don't use grub_list_insert.
6759 * kern/main.c (grub_register_rescue_parser): Don't call
6760 grub_register_rescue_parser.
6761 * kern/parser.c (grub_parser_class): Removed.
6762 (grub_parser_execute): Use grub_rescue_parse_line.
6763 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
6764 (grub_rescue_parser): Removed.
6765 (grub_register_rescue_parser): Likewise.
6766 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
6767 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
6768 (grub_auth_check_authentication): Likewise.
6769 * normal/completion.c (iterate_command): Removed.
6770 (grub_normal_do_completion): Use FOR_COMMANDS.
6771 * normal/handler.c: Removed.
6772 * normal/main.c (read_config_file): Remove parser changing.
6773 (grub_normal_execute): Don't call read_handler_list.
6774 (grub_normal_read_line_real): Statically allocate prompt.
6775 (grub_cmdline_run): Use grub_normal_parse_line.
6776 (GRUB_MOD_FINI): Don't call free_handler_list.
6777 * normal/menu_entry.c (run): Likewise.
6778 * script/function.c (grub_script_function_list): Make global.
6779 (grub_script_function_iterate): Removed.
6780 * script/main.c (grub_normal_parse_line): Make global.
6781 (grub_sh_parser): Removed.
6782 (GRUB_MOD_INIT): Likewise.
6783 (GRUB_MOD_FINI): Likewise.
6784 * tests/lib/functional_test.c (grub_functional_test): Use
6785 FOR_LIST_ELEMENTS.
6786 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
6787 (grub_test_run): Use FOR_LIST_ELEMENTS.
6788 * tests/lib/unit_test.c (main): Likewise.
6789 * util/deviceiter.c (grub_util_iterate_devices): Don't use
6790 grub_list_pop.
6791 * util/grub-fstest.c (grub_term_input_class): Removed.
6792 (grub_term_output_class): Likewise.
6793 * util/grub-probe.c: Likewise.
6794 * util/i386/pc/grub-setup.c: Likewise.
6795 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6796 * util/grub-script-check.c (main): Don't call grub_init_all and
6797 grub_fini_all.
6798 * video/video.c (grub_video_adapter_list): Make global.
6799 (grub_video_register): Removed.
6800 (grub_video_unregister): Likewise.
6801 (grub_video_iterate): Likewise.
6802
6289c3a7
VS
68032010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6804
6805 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
6806 reported by Henrique Ferreiro.
6807
91460247
RM
68082010-06-09 Robert Millan <rmh@gnu.org>
6809
6810 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
6811 ones, when both are available.
6812
0ea7c4f9
GS
68132010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
6814
6815 Make --version uniform and avoid hard-coded program name.
6816
6817 * util/grub-mkimage.c (main): Use `program_name' instead of
6818 hard-coded string.
6819 * util/i386/pc/grub-setup.c (main): Likewise.
6820 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
6821 * util/grub-install.in: Save the basename of $0 in $self, and use the
6822 latter in informational messages. Use the same format for --version
6823 as the binary programs.
6824 * util/grub-mkconfig.in: Likewise.
6825 * util/grub-mkrescue.in: Likewise.
6826 * util/grub-reboot.in: Likewise.
6827 * util/grub-set-default.in: Likewise.
6828 * util/i386/efi/grub-install.in: Likewise.
6829 * util/ieee1275/grub-install.in: Likewise.
6830 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6831
e8a6f3b6
GS
68322010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
6833
6834 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
6835 embedding area. Use <= instead of == when checking for non-emptiness.
6836
f4d095d7
GS
68372010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
6838
6839 * configure.ac: Add `.' to the directories searched for unifont.
6840
50e532ca
CW
68412010-06-08 Colin Watson <cjwatson@ubuntu.com>
6842
6843 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
6844 grub_script.yy.h.
6845
d39f3dec
CW
68462010-06-08 Colin Watson <cjwatson@ubuntu.com>
6847
6848 * docs/grub.texi (History): Expand to cover GRUB 2.
6849 (Serial terminal): Refer to `terminal_input' and `terminal_output'
6850 commands, not `terminal'.
6851 (serial): Likewise.
6852 (terminal_input): New section.
6853 (terminal_output): New section.
6854 (uppermem): New section (stub).
6855 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
6856
6ef0ddb4
CW
68572010-06-08 Colin Watson <cjwatson@ubuntu.com>
6858
6859 * docs/grub.texi (Security): Menu entries are unrestricted by
6860 default, not restricted to superusers as I had previously thought.
6861 Reword to account for this.
6862
e0f4c438
CW
68632010-06-07 Colin Watson <cjwatson@ubuntu.com>
6864
6865 * kern/emu/misc.c (device_mapper_null_log): New function.
6866 (grub_device_mapper_supported): New function.
6867 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
6868 prototype.
6869 * kern/emu/hostdisk.c (find_partition_start): Check whether
6870 device-mapper is supported before trying to use it.
6871 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
6872
da908200
CW
68732010-06-07 Colin Watson <cjwatson@ubuntu.com>
6874
6875 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
6876 (File name syntax): Likewise.
6877 (help): --all is no longer supported in GRUB 2. Be more precise
6878 about pattern matching.
6879
fb55c3ac
CW
68802010-06-07 Colin Watson <cjwatson@ubuntu.com>
6881
6882 * normal/completion.c (grub_normal_do_completion): When completing
6883 arguments to "set" and the current word contains an equals sign,
6884 skip to after the equals sign before starting completion.
6885
258c2573
CW
68862010-06-07 Colin Watson <cjwatson@ubuntu.com>
6887
6888 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
6889
ee75515e
CW
68902010-06-07 Colin Watson <cjwatson@ubuntu.com>
6891
6892 * docs/grub.texi (Network): New section.
6893 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
6894 `(nd)' as in GRUB Legacy.
6895 (pxe_unload): New section.
6896
a6a700aa
CW
68972010-06-07 Colin Watson <cjwatson@ubuntu.com>
6898
6899 * docs/grub.texi (Troubleshooting): `echo' is not usually available
6900 in the rescue shell, so recommend using `set' instead. Thanks,
6901 Jordan Uggla.
6902
4003dd38
CW
69032010-06-07 Colin Watson <cjwatson@ubuntu.com>
6904
6905 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
6906 (password): New section.
6907 (password_pbkdf2): New section.
6908 (search): New section.
6909 (Security): New section.
6910 (Troubleshooting): New section, currently very incomplete.
6911 (Invoking grub-mkpasswd-pbkdf2): New section.
6912 (Internals): New section, currently very incomplete.
6913
e1cbcc40
CW
69142010-06-07 Colin Watson <cjwatson@ubuntu.com>
6915
6916 * util/grub.d/00_header.in: Add some more quoting (of
6917 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
6918 work again.
6919 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
6920
db8fa1ad
CW
69212010-06-07 Colin Watson <cjwatson@ubuntu.com>
6922
6923 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
6924 to `count', fixing variable shadowing that broke the -c option.
6925
69262010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
6927
6928 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
6929 in case they contain spaces.
6930
f28a9212
CW
69312010-06-04 Colin Watson <cjwatson@ubuntu.com>
6932
6933 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
6934 "part_" to partmap module names, in line with grub-install.
6935 Reported by: Jindřich Makovička (Debian bug #584426).
6936
9cdfe32f
CW
69372010-06-04 Colin Watson <cjwatson@ubuntu.com>
6938
6939 * util/grub-mkimage.c: Make target-related error messages slightly
6940 more helpful; -O talks about "format". Explicitly point to the use
6941 of -O if no target is specified.
6942 Reported by: Didier Raboud (Debian bug #584415).
6943
795b593a
CW
69442010-06-03 Colin Watson <cjwatson@ubuntu.com>
6945
6946 * INSTALL: Document several build requirements for optional features
6947 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
6948
9d9b5833
GS
69492010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
6950
6951 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
6952 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
6953 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
6954
0819fec8
CW
69552010-06-02 Colin Watson <cjwatson@ubuntu.com>
6956
6957 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
6958 Thanks to Jordan Uggla for spotting this.
6959
49396b4f
VS
69602010-06-02 Aleš Nesrsta <starous@volny.cz>
6961
6962 Finally make USB usable.
6963
6964 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
6965 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
6966 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
6967 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
6968 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
6969 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
6970 (GRUB_OHCI_FSMPS): Likewise.
6971 (GRUB_OHCI_PERIODIC_START): Likewise.
6972 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
6973 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
6974 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
6975 (GRUB_OHCI_SET_PORT_RESET): Likewise.
6976 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
6977 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
6978 (grub_ohci_transaction): Likewise.
6979 (grub_ohci_transfer): Improve condition detection algorithms.
6980 Handle toggle property. Program the transactions correctly.
6981 Improve error handling. Various important fixups.
6982 (grub_ohci_portstatus): Put register writes in right order.
6983 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
6984 (grub_uhci_transfer): Don't show "failed" message on success.
6985 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
6986 array.
6987 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
6988 determine its size.
6989 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
6990 before initialization is completed. Use IN direction for empty
6991 transfers. Use last_trans and compute toggle.
6992 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
6993 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
6994 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
6995 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
6996 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
6997 (grub_usb_device): Increase toggle to 256.
6998 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
6999 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
7000 GRUB_USBMS_SUBCLASS_SFF8070.
7001 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
7002 (grub_scsi_inquiry): New member page and alloc_length.
7003 (grub_scsi_request_sense): New structure.
7004 (grub_scsi_request_sense_data): Likewise.
7005 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
7006 control.
7007 * disk/scsi.c (grub_scsi_request_sense): New function.
7008 (grub_scsi_test_unit_ready): Likewise.
7009 (grub_scsi_inquiry): Fill new fields.
7010 (grub_scsi_read_capacity): Likewise.
7011 (grub_scsi_read10): Add request sense at the end.
7012 (grub_scsi_read12): Likewise.
7013 (grub_scsi_write10): Likewise.
7014 (grub_scsi_write12): Likewise.
7015 (grub_scsi_open): Add Test Unit Ready.
7016 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
7017 Support additional subclasses. Con't clear halt yet. Activate the
7018 proper config. Calculate LUNs correctly.
7019 (grub_usbms_transfer): Various important fixups.
7020
70212010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7022
7023 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
7024 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
7025 (grub_ohci_fini_hw): New function.
7026 (grub_ohci_restore_hw): Likewise.
7027 (GRUB_MOD_INIT(ohci)): Register preboot hook.
7028 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
7029 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
7030
70312010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7032
7033 Dedicated DMA allocations.
7034
7035 * bus/pci.c (grub_memalign_dma32): New function
7036 (grub_dma_free): Likewise.
7037 (grub_dma_get_virt): Likewise.
7038 (grub_dma_get_phys): Likewise.
7039 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
7040 (grub_ohci_pci_iter): Use dma32_alloc.
7041 (grub_ohci_transfer): Likewise.
7042 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
7043 (grub_usb_bulk_readwrite): Likewise.
7044 * include/grub/pci.h: Add declarations.
7045
70462010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7047
7048 CS5536 support.
7049
7050 * bus/cs5536.c: New file.
7051 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
7052 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
7053 (cs5536_mod_SOURCES): New variable.
7054 (cs5536_mod_CFLAGS): Likewise.
7055 (cs5536_mod_LDFLAGS): Likewise.
7056 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
7057 machine/pci.h.
7058 (kernel_img_SOURCES): Add bus/cs5536.c.
7059 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
7060 usb_keyboard.mod.
7061 (usb_mod_SOURCES): New variable.
7062 (usb_mod_CFLAGS): New variable.
7063 (usb_mod_LDFLAGS): New variable.
7064 (usbtest_mod_SOURCES): New variable.
7065 (usbtest_mod_CFLAGS): New variable.
7066 (usbtest_mod_LDFLAGS): New variable.
7067 (ohci_mod_SOURCES): New variable.
7068 (ohci_mod_CFLAGS): New variable.
7069 (ohci_mod_LDFLAGS): New variable.
7070 (usbms_mod_SOURCES): New variable.
7071 (usbms_mod_CFLAGS): New variable.
7072 (usbms_mod_LDFLAGS): New variable.
7073 (usb_keyboard_mod_SOURCES): New variable.
7074 (usb_keyboard_mod_CFLAGS): New variable.
7075 (usb_keyboard_mod_LDFLAGS): New variable.
7076 * include/grub/smbus.h: New file.
7077 * include/grub/cs5536.h: New file.
7078
0b35b2a9
CW
70792010-06-02 Colin Watson <cjwatson@ubuntu.com>
7080
7081 * util/grub.d/00_header.in: Add safety check to make sure that
7082 ${locale_dir} exists before trying to probe it.
7083
ca0afd5b
CW
70842010-06-02 Colin Watson <cjwatson@ubuntu.com>
7085
7086 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
7087 per the GNU Coding Standards; this is now too obscure to be worth
7088 documenting.
7089 (QNX): Likewise.
7090 (chainloader): Remove cross-reference to `SCO UnixWare'.
7091
1c41aa78
CW
70922010-06-02 Colin Watson <cjwatson@ubuntu.com>
7093
7094 * docs/grub.texi (Chain-loading): New section.
7095 (DOS/Windows): New section, borrowed from GRUB Legacy with details
7096 adjusted for GRUB 2.
7097 (SCO UnixWare): Likewise.
7098 (QNX): Likewise.
7099 (chainloader): Add reference to `Block list syntax'.
7100 (drivemap): New section.
7101 (parttool): New section.
7102
bb8ea0f5
CW
71032010-06-02 Colin Watson <cjwatson@ubuntu.com>
7104
7105 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
7106 the grub shell'.
7107 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
7108 (Installing GRUB using grub-install): Remove reference to the grub
7109 shell; mention `grub-mkimage' and `grub-setup' instead.
7110 (Invoking grub-install): Likewise.
7111 (Interface): Add reference to `Menu entry editor'.
7112 (serial): Remove `--device' option.
7113
288dd6ed
CW
71142010-06-02 Colin Watson <cjwatson@ubuntu.com>
7115
7116 * docs/grub.texi (Configuration): New section, documenting
7117 configuration file generation using grub-mkconfig. I've left a slot
7118 for documenting the full shell scripting format but have not yet
7119 started on writing that up.
7120 (Invoking grub-mkconfig): New section.
7121
34c9f0e9
CW
71222010-06-02 Colin Watson <cjwatson@ubuntu.com>
7123
7124 * docs/grub.texi (direntry): Remove grub-terminfo reference.
7125 (GNU GRUB manual): Likewise.
7126 (General commands): Update description of `terminfo' for GRUB 2.
7127
9121567e
CW
71282010-06-02 Colin Watson <cjwatson@ubuntu.com>
7129
7130 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
7131 (GRUB_MOD_INIT): Fix capitalisation.
7132 * docs/grub.texi (Command-line and menu entry commands): Document
7133 gettext and gptsync commands.
7134
ab631611
CW
71352010-06-02 Colin Watson <cjwatson@ubuntu.com>
7136
7137 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
7138 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
7139
bde4a9ac
CW
71402010-06-01 Colin Watson <cjwatson@ubuntu.com>
7141
7142 Add btrfs probing support, currently only in the single-device case.
7143
7144 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
7145 function.
7146 (grub_guess_root_device): Call find_root_device_from_mountinfo
7147 before looking in /dev.
7148
b1d17e10
VS
71492010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7150
7151 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
7152 GRUB_DISK_SIZE_UNKNOWN.
7153 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
7154
dfbfe004
JS
71552010-05-31 Jiro SEKIBA <jir@unicus.jp>
7156
7157 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
7158 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
7159 corrupted or not synced properly.
7160
c2ffc8e9
VS
71612010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7162
7163 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
7164 Reported by: Seth Goldberg.
7165
56293166
VS
71662010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7167
7168 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
7169 addition of dest.
7170 Reported by: Seth Goldberg.
7171
7620e7de
VS
71722010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7173
7174 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
7175 Reported by: Seth Goldberg.
7176
c837af3f
VS
71772010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7178
7179 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
7180 64-bit address as signed on MIPS.
7181
c7c75cf4
CW
71822010-05-28 Colin Watson <cjwatson@ubuntu.com>
7183
7184 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
7185 to the empty string.
7186
fa4b8490
BC
71872010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
7188
7189 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
7190
7191 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
7192 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
7193 * kern/misc.c (__enable_execute_stack): Disable on
7194 GRUB_MACHINE_EMU.
7195
a33075b9
CW
71962010-05-28 Colin Watson <cjwatson@ubuntu.com>
7197
7198 Make grub-probe work with symbolic links under /dev/mapper as well
7199 as with real block devices. The Linux world seems to be (at best)
7200 in transition here, and GRUB shouldn't get caught in the middle.
7201
7202 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
7203 /dev/mapper.
7204
d8708134
CW
72052010-05-27 Colin Watson <cjwatson@ubuntu.com>
7206
7207 * util/grub-script-check.c (main): Ensure defined behaviour on empty
7208 input files (in which case exit zero).
7209
db2102a0
CW
72102010-05-27 Colin Watson <cjwatson@ubuntu.com>
7211
7212 * kern/emu/misc.c (canonicalize_file_name): realpath can still
7213 return NULL for various reasons even if it has a maximum-length
7214 buffer: for example, there might be a symlink loop, or the path
7215 might exceed PATH_MAX. If this happens, return NULL.
7216
5fdba519
RM
72172010-05-27 Robert Millan <rmh@gnu.org>
7218
7219 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
7220 partmap module to handle cross-partmap setups.
7221 Reported by Orestes Mas. Gràcies!
7222
d1d368e4
CW
72232010-05-27 Colin Watson <cjwatson@ubuntu.com>
7224
7225 * util/grub-mkrescue.in: Initialise override_dir rather than
7226 assuming that it's unset or empty in the environment.
7227
95ac3c73
GS
72282010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
7229
7230 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
7231 variable index into p_index to suppress a warning with -Wshadow.
7232
7d8c0213
BC
72332010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
7234
7235 * INSTALL: Added flex >= 2.5.35 requirement.
7236
db4d5813
VS
72372010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7238
7239 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
7240
f24f4300
VS
72412010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7242
7243 cmostest support.
7244
7245 * commands/i386/cmostest.c: New file.
7246 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
7247 (cmostest_mod_SOURCES): New variable.
7248 (cmostest_mod_CFLAGS): Likewise.
7249 (cmostest_mod_LDFLAGS): Likewise.
7250 * conf/i386-pc.rmk: Likewise.
7251 * docs/grub.texi (Vendor power-on keys): New section.
7252 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
7253 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
7254 and GRUB_BUTTON_CMOS_ADDRESS.
7255 * util/grub.d/00_header.in: Handle powering-on by separate button.
7256
ad603f61
VS
72572010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7258
7259 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
7260 Removed drawing_scrollbar argument. All users updated
7261 Fixes #29792.
7262 Reported by Jo Shields
7263
3ecb080a
VS
72642010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7265
7266 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
7267 buffer since gfxterm handles double repaint.
7268
5f2316c1
VS
72692010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7270
7271 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
7272 * term/gfxterm.c (real_scroll): Likewise.
7273
9a25f885
VS
72742010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7275
7276 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
7277 before calling BIOS.
7278
39fbb79a
VS
72792010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7280
7281 * include/grub/i18n.h: Always enable grub_gettext.
7282
228cfa97
VS
72832010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7284
7285 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
7286 partition naming style.
7287
21717c8f
CW
72882010-05-21 Colin Watson <cjwatson@ubuntu.com>
7289
7290 * util/grub-mkconfig.in: Fix handling of -o so that it works when
7291 not the first option.
7292
c0f48e65
CW
72932010-05-20 Colin Watson <cjwatson@ubuntu.com>
7294
7295 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
7296
96779aec
CW
72972010-05-20 Colin Watson <cjwatson@ubuntu.com>
7298
7299 * util/misc.c: Move inclusion of <limits.h> to ...
7300 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
7301
fa9d256e
GS
73022010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
7303
7304 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
7305 Fix merge error in NetBSD code.
7306 (find_partition_start) [__NetBSD__]: Likewise.
7307
123b7a85
BC
73082010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
7309
7310 Fix grub-mkrescue usage unit testing.
7311
7312 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
7313
74276c0d
CF
73142010-05-18 Christian Franke <franke@computer.org>
7315
7316 * util/grub.d/10_windows.in: Use path names instead of
7317 drive letters to prevent warning from Cygwin 1.7.
7318 Add drivemap command to menuentry if needed.
7319
c4f7b523
ST
73202010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
7321
7322 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
7323 gnumach and gnumach.gz.
7324
95b97950
VS
73252010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7326
7327 * include/grub/i18n.h (gettext): Inline instead of using #define.
7328 (grub_gettext): Likewise.
7329 (_): Likewise.
7330
01b8d2d7
VS
73312010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7332
7333 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
7334 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
7335 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
7336 (main): Add a slash after pkglibdirroot.
7337
654e1d1e
VS
73382010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7339
7340 * util/grub-install.in: Add missing "in" keyword.
7341
26966aeb
VS
73422010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7343
7344 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
7345 Reported by: Seth Goldberg.
7346
75006747
VS
73472010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7348
7349 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
7350
74cbf5bd
CW
73512010-05-18 Colin Watson <cjwatson@ubuntu.com>
7352
7353 * configure.ac: Check for Linux device-mapper support.
7354
7355 * util/hostdisk.c (device_is_mapped): New function.
7356 (find_partition_start): New function, partly broken out from
7357 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
7358 device-mapper support added.
7359 (linux_find_partition): Use find_partition_start.
7360 (convert_system_partition_to_system_disk): Add `st' argument.
7361 Support Linux /dev/mapper/* devices if device-mapper support is
7362 available; only DM-RAID devices are understood at present.
7363 (find_system_device): Add `st' argument. Pass it to
7364 convert_system_partition_to_system_disk.
7365 (grub_util_biosdisk_get_grub_dev): Pass stat result to
7366 find_system_device and convert_system_partition_to_system_disk. Use
7367 find_partition_start.
7368
7369 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
7370 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
7371 * util/deviceiter.c [__linux__]: Define MINOR.
7372 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
7373 * util/mkdevicemap.c (grub_putchar): New function.
7374 (grub_getkey): New function.
7375 (grub_refresh): New function.
7376 (main): Set debug=all if -v -v is used.
7377
355b51e9
CW
73782010-05-18 Colin Watson <cjwatson@ubuntu.com>
7379
7380 Fix build with non-GNU libcs.
7381
7382 * util/misc.c (canonicalize_file_name): Move to ...
7383 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
7384 grub_make_system_path_relative_to_its_root.
7385
7fb5c25f
CW
73862010-05-18 Colin Watson <cjwatson@ubuntu.com>
7387
7388 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
7389 we handle finding grub-mkimage. Default to finding grub-mkimage in
7390 ${bindir} with program_transform_name applied, and provide a
7391 --grub-mkimage option to override this.
7392
1d3293d6
VS
73932010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7394
7395 Remove grub-mkisofs.
7396
7397 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
7398 (grub_mkisofs_SOURCES): Removed.
7399 (grub_mkisofs_CFLAGS): Removed.
7400 * util/mkisofs/defaults.h: Removed.
7401 * util/mkisofs/eltorito.c: Likewise.
7402 * util/mkisofs/exclude.h: Likewise.
7403 * util/mkisofs/hash.c: Likewise.
7404 * util/mkisofs/include/: Likewise.
7405 * util/mkisofs/include/fctldefs.h: Likewise.
7406 * util/mkisofs/include/mconfig.h: Likewise.
7407 * util/mkisofs/include/prototyp.h: Likewise.
7408 * util/mkisofs/include/statdefs.h: Likewise.
7409 * util/mkisofs/iso9660.h: Likewise.
7410 * util/mkisofs/joliet.c: Likewise.
7411 * util/mkisofs/match.c: Likewise.
7412 * util/mkisofs/match.h: Likewise.
7413 * util/mkisofs/mkisofs.c: Likewise.
7414 * util/mkisofs/mkisofs.h: Likewise.
7415 * util/mkisofs/msdos_partition.h: Likewise.
7416 * util/mkisofs/multi.c: Likewise.
7417 * util/mkisofs/name.c: Likewise.
7418 * util/mkisofs/rock.c: Likewise.
7419 * util/mkisofs/tree.c: Likewise.
7420 * util/mkisofs/write.c: Likewise.
7421
5dde9afe
VS
74222010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7423
7424 Unify grub-mkimage accross platforms.
7425
7426 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
7427 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
7428 (grub_mkelfimage_SOURCES): Removed.
7429 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
7430 (util/grub-mkimage.c_DEPENDENCIES): .. this.
7431 (bin_UTILITIES): Add grub-mkimage.
7432 (grub_mkimage_SOURCES): New variable.
7433 (kernel_img_HEADERS): Remove machine/kernel.h.
7434 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
7435 (pkglib_PROGRAMS): Add kernel.img.
7436 (kernel_img_HEADERS): Add machine/kernel.h.
7437 (kernel_img_FORMAT): Removed.
7438 (bin_UTILITIES): Remove grub-mkimage.
7439 (grub_mkimage_SOURCES): Removed.
7440 (grub_mkimage_CFLAGS): Likewise.
7441 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7442 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
7443 (pkglib_PROGRAMS): Add kernel.img.
7444 (bin_UTILITIES): Remove grub-mkimage.
7445 (grub_mkimage_SOURCES): Removed.
7446 (grub_mkimage_CFLAGS): Likewise.
7447 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7448 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
7449 (pkglib_PROGRAMS): Add kernel.img.
7450 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
7451 (pkglib_PROGRAMS): Add kernel.img.
7452 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
7453 (grub_mkimage_SOURCES): Removed.
7454 (grub_mkimage_CFLAGS): Likewise.
7455 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7456 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
7457 (pkglib_PROGRAMS): Add kernel.img.
7458 (bin_UTILITIES): Remove grub-mkimage.
7459 (grub_mkimage_SOURCES): Removed.
7460 (grub_mkimage_CFLAGS): Likewise.
7461 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7462 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
7463 (grub_mkimage_SOURCES): Removed.
7464 (grub_mkimage_CFLAGS): Likewise.
7465 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7466 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
7467 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
7468 (grub_pe32_optional_header): ... this.
7469 (grub_pe64_optional_header): ... and this. All users updated.
7470 (GRUB_PE32_PE32_MAGIC): Split into ..
7471 (GRUB_PE32_PE32_MAGIC): .. this.
7472 (GRUB_PE32_PE64_MAGIC): .. and this.
7473 (GRUB_PE32_SIGNATURE_SIZE): New definition.
7474 * include/grub/elf.h (PT_GNU_STACK): New definition.
7475 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
7476 * include/grub/i386/efi/kernel.h: Likewise.
7477 * include/grub/i386/kernel.h: Likewise.
7478 * include/grub/i386/pc/kernel.h: Likewise.
7479 * include/grub/i386/qemu/boot.h: Likewise.
7480 * include/grub/mips/kernel.h: Likewise.
7481 * include/grub/mips/qemu-mips/kernel.h: Likewise.
7482 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
7483 * include/grub/powerpc/kernel.h: Likewise.
7484 * include/grub/sparc64/ieee1275/boot.h: Likewise.
7485 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
7486 * include/grub/sparc64/kernel.h: Likewise.
7487 * include/grub/x86_64/efi/kernel.h: Likewise.
7488 * include/grub/x86_64/kernel.h: Likewise.
7489 * include/grub/offsets.h: New file.
7490 * include/grub/kernel.h (grub_module_info): Split into ...
7491 (grub_module_info32): ... this.
7492 (grub_module_info64): ... and this.
7493 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
7494 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
7495 (grub_boot_blocklist): Moved from here ...
7496 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
7497 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
7498 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
7499 * include/grub/types.h (grub_target_to_host16): Removed.
7500 (grub_target_to_host32): Likewise.
7501 (grub_target_to_host64): Likewise.
7502 (grub_host_to_target16): Likewise.
7503 (grub_host_to_target32): Likewise.
7504 (grub_host_to_target64): Likewise.
7505 (grub_host_to_target_addr): Likewise.
7506
7507 Support grub-mkrescue for efi, coreboot and qemu.
7508
7509 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
7510 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
7511 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
7512 * util/grub-mkrawimage.c: Moved from here ...
7513 * util/grub-mkimage.c: ... here. All users updated.
7514 (ALIGN_ADDR): Use image_target.
7515 (TARGET_NO_FIELD): New const.
7516 (image_target_desc): New type.
7517 (image_targets): New array.
7518 (grub_target_to_host64): Use image_target.
7519 (grub_target_to_host32): Likewise.
7520 (grub_target_to_host16): Likewise.
7521 (grub_host_to_target64): Likewise.
7522 (grub_host_to_target32): Likewise.
7523 (grub_host_to_target16): Likewise.
7524 (grub_host_to_target_addr): Likewise.
7525 (generate_image): Handle multiimage.
7526 (main): Require -O parameter. All users updated.
7527 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
7528 util/efi/grub-mkimage.c
7529 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
7530 New option --rom-directory.
7531 Use xorriso.
7532 * util/i386/efi/grub-mkimage.c: Removed.
7533 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
7534 (grub_target_to_host32): Likewise.
7535 (grub_target_to_host64): Likewise.
7536 (grub_host_to_target16): Likewise.
7537 (grub_host_to_target32): Likewise.
7538 (grub_host_to_target64): Likewise.
7539 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
7540 (grub_target_to_host32): Likewise.
7541 (grub_target_to_host64): Likewise.
7542 (grub_host_to_target16): Likewise.
7543 (grub_host_to_target32): Likewise.
7544 (grub_host_to_target64): Likewise.
7545
f4fc97d0
BC
75462010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
7547
7548 Source tree is reorganized for emu build.
7549
7550 * include/grub/util/console.h: Move from here...
7551 * include/grub/emu/console.h: ...to here.
7552 * include/grub/util/getroot.h: Move from here...
7553 * include/grub/emu/getroot.h: ...to here.
7554 * include/grub/util/hostdisk.h: Move from here...
7555 * include/grub/emu/hostdisk.h: ...to here.
7556 * util/console.c: Move from here...
7557 * kern/emu/console.c: ...to here.
7558 * util/getroot.c: Move from here...
7559 * kern/emu/getroot.c: ...to here.
7560 * util/grub-emu.c: Move from here...
7561 * kern/emu/main.c: ...to here.
7562 * util/hostdisk.c: Move from here...
7563 * kern/emu/hostdisk.c: ...to here.
7564 * util/hostfs.c: Move from here...
7565 * kern/emu/hostfs.c: ...to here.
7566 * util/mm.c: Move from here...
7567 * kern/emu/mm.c: ...to here.
7568 * util/pci.c: Move from here...
7569 * bus/emu/pci.c: ...to here.
7570 * util/sdl.c: Move from here...
7571 * video/emu/sdl.c: ...to here.
7572 * util/time.c: Move from here...
7573 * kern/emu/time.c: ...to here.
7574 * util/usb.c: Move from here...
7575 * bus/usb/emu/usb.c: ...to here.
7576
7577 * include/grub/emu/misc.h: New header for grub-emu functions.
7578 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
7579
7580 * conf/any-emu.rmk: Rule updates for above renames.
7581 * conf/common.rmk: Likewise.
7582 * conf/i386-pc.rmk: Likewise.
7583 * conf/i386-qemu.rmk: Likewise.
7584 * conf/mips.rmk: Likewise.
7585 * conf/sparc64-ieee1275.rmk: Likewise.
7586 * conf/x86-efi.rmk: Likewise.
7587
7588 * disk/lvm.h: #include updates for above renames.
7589 * util/grub-mkrelpath.c: Likewise.
7590 * util/grub-probe.c: Likewise.
7591 * util/i386/pc/grub-setup.c: Likewise.
7592 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7593 * kern/emu/console.c: Likewise.
7594 * kern/emu/getroot.c: Likewise.
7595 * kern/emu/hostdisk.c: Likewise.
7596 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
7597
7598 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
7599 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
7600 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
7601 * util/misc.c: Remove grub-emu functions.
7602
cced9145
VS
76032010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7604
7605 Fix gfxmenu crash.
7606 Reported by: Thorsten Grützmacher.
7607
7608 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
7609 timeout hook.
7610 (circprog_set_property): Register and unregister timeout hook.
7611 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
7612 (label_destroy): Free template. and unregister hook.
7613 (label_set_state): New function.
7614 (label_set_property): Handle templates and hooks.
7615 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
7616 timeout hook.
7617 (progress_bar_set_property): Register and unregister timeout hook.
7618 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
7619 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
7620 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
7621 (update_timeout_visit): Removed.
7622 (update_timeouts): New function.
7623 (redraw_timeouts): Likewise.
7624 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
7625 (grub_gfxmenu_clear_timeout): Likewise.
7626 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
7627 (grub_gfxmenu_timeout_notify): Likewise.
7628 (grub_gfxmenu_timeout_notifications): New external variable.
7629 (grub_gfxmenu_timeout_register): New function.
7630 (grub_gfxmenu_timeout_unregister): Likewise.
7631
c6e5caab
VS
76322010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7633
7634 Transform (broken) vga terminal into (working) vga video driver.
7635
7636 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
7637 video/i386/pc/vga.c.
7638 * include/grub/video.h (grub_video_driver_id):
7639 Add GRUB_VIDEO_DRIVER_VGA.
7640 * term/i386/pc/vga.c: Renamed to ...
7641 * video/i386/pc/vga.c: ...this
7642 (DEBUG_VGA): Removed.
7643 (CHAR_WIDTH): Likewise.
7644 (CHAR_HEIGHT): Likewise.
7645 (TEXT_WIDTH): Likewise.
7646 (TEXT_HEIGHT): Likewise.
7647 (DEFAULT_FG_COLOR): Likewise.
7648 (DEFAULT_BG_COLOR): Likewise.
7649 (colored_char): Likewise.
7650 (xpos): Likewise.
7651 (ypos): Likewise.
7652 (cursor_state): Likewise.
7653 (fg_color): Likewise.
7654 (bg_color): Likewise.
7655 (text_buf): Likewise.
7656 (page): Likewise.
7657 (font): Likewise.
7658 (framebuffer): New variable.
7659 (set_read_map): Disabled.
7660 (setup): New variable.
7661 (is_target): Likewise.
7662 (grub_vga_mod_init): Likewise.
7663 (grub_vga_mod_fini): Likewise.
7664 (check_vga_mem): Likewise.
7665 (write_char): Likewise.
7666 (write_cursor): Likewise.
7667 (scroll_up): Likewise.
7668 (grub_vga_putchar): Likewise.
7669 (grub_vga_getcharwidth): Likewise.
7670 (grub_vga_getwh): Likewise.
7671 (grub_vga_getxy): Likewise.
7672 (grub_vga_gotoxy): Likewise.
7673 (grub_vga_cls): Likewise.
7674 (grub_vga_setcolorstate): Likewise.
7675 (grub_vga_setcursor): Likewise.
7676 (grub_video_vga_init): New function.
7677 (grub_video_vga_setup): Likewise.
7678 (grub_video_vga_fini): Likewise.
7679 (update_target): Likewise.
7680 (grub_video_vga_blit_bitmap): Likewise.
7681 (grub_video_vga_blit_render_target): Likewise.
7682 (grub_video_vga_set_active_render_target): Likewise.
7683 (grub_video_vga_get_active_render_target): Likewise.
7684 (grub_video_vga_swap_buffers): Likewise.
7685 (grub_video_vga_set_palette): Likewise.
7686 (grub_video_vga_get_info_and_fini): Likewise.
7687 (grub_vga_term): Removed.
7688 (grub_video_vga_adapter): New variable.
7689 (GRUB_MOD_INIT): Register a video driver instead of terminal.
7690 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
7691
2bf61a98
VS
76922010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7693
7694 * video/readers/jpeg.c: Indented.
7695
09ddcd11
VS
76962010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7697
7698 Various jpeg cleanups.
7699
7700 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
7701 (grub_jpeg_decode_quan_table): Use sizeof.
7702 (grub_jpeg_decode_du): Use ARRAY_SIZE.
7703
e5507505
PH
77042010-05-05 Peter Hurley <No e-mail available> (tiny change)
7705
7706 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
7707 tables. Ignore non-last ac bit.
7708 (grub_jpeg_decode_quan_table): Likewise.
7709
7e720a9b
VS
77102010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7711
7712 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
7713 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
7714 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7715 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
7716 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
7717 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
7718
a7fc080b
VS
77192010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7720
7721 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
7722 error.
7723
2bf6012d
VS
77242010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7725
7726 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
7727
265d68cd
VS
77282010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7729
7730 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
7731 condition.
7732
77332010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
7734
7735 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
7736 part.
7737
265d68cd 77382010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
7739
7740 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
7741 pointers.
7742
265d68cd 77432010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
7744
7745 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
7746
d1b61374
CF
77472010-05-01 Christian Franke <franke@computer.org>
7748
7749 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
7750 Remove broken Cygwin path conversion.
7751 * util/misc.c: [__CYGWIN__] Add include and define.
7752 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
7753 for Cygwin 1.7.
7754 (make_system_path_relative_to_its_root): Simplify loop, replace early
7755 return by break.
7756 [__CYGWIN__] Add conversion to win32 path.
7757 Include "/" case in trailing slash removal.
7758
3558c6e9
VS
77592010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7760
7761 * kern/main.c (grub_load_config): Fix copy-pasted comment.
7762 Reported by: Seth Goldberg
7763
f5f3ff93
VS
77642010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7765
7766 * commands/help.c (grub_cmd_help): Fix a typo.
7767 Reported by: Seth Goldberg
7768
d8b5cd40
VS
77692010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7770
7771 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
7772 name and add N_.
7773 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
7774 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
7775 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
7776 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
7777 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
7778 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
7779 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
7780 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
7781 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
7782 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
7783 * normal/context.c (GRUB_MOD_INIT): Likewise.
7784 * normal/main.c (GRUB_MOD_INIT): Likewise.
7785 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
7786 * term/serial.c (GRUB_MOD_INIT): Likewise.
7787 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
7788
88c14915
VS
77892010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7790
7791 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
7792 extra == 0.
7793
165134bc
VS
77942010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7795
7796 * commands/iorw.c: New file.
7797 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
7798 (iorw_mod_SOURCES): New variable.
7799 (iorw_mod_CFLAGS): Likewise.
7800 (iorw_mod_LDFLAGS): Likewise.
7801
c5ac9b32
VS
78022010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7803
7804 Hotkey support
7805
7806 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
7807 * normal/main.c (hotkey_aliases): New variable.
7808 (grub_normal_add_menu_entry): Parse "--hotkey".
7809 * normal/menu_text.c (run_menu): Handle hotkeys.
7810
ce60689c
VS
78112010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7812
7813 * kern/i386/coreboot/init.c (grub_machine_init): Call
7814 grub_machine_mmap_init on qemu.
7815
0359d006
VS
78162010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7817
7818 * boot/i386/qemu/boot.S: Add a missing .code16.
7819
7819a456
VS
78202010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7821
7822 Use LBIO on coreboot.
7823
7824 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
7825 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
7826 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
7827 New declaration.
7828 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
7829 grub_machine_mmap_init on coreboot.
7830 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
7831 GRUB_LINUXBIOS_MEMBER_LINK.
7832 (grub_machine_mmap_iterate): Fix declaration.
7833 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
7834
7210dca9
VS
78352010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7836
7837 Split coreboot and multiboot ports.
7838
7839 * conf/i386-multiboot.rmk: New file.
7840 * configure.ac: Add multiboot port.
7841 * include/grub/i386/multiboot/boot.h: New file.
7842 * include/grub/i386/multiboot/console.h: Likewise.
7843 * include/grub/i386/multiboot/init.h: Likewise.
7844 * include/grub/i386/multiboot/kernel.h: Likewise.
7845 * include/grub/i386/multiboot/loader.h: Likewise.
7846 * include/grub/i386/multiboot/memory.h: Likewise.
7847 * include/grub/i386/multiboot/serial.h: Likewise.
7848 * include/grub/i386/multiboot/time.h: Likewise.
7849 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
7850 * loader/multiboot.c: Likewise.
7851 * loader/multiboot_mbi2.c: Likewise.
7852 * util/grub-mkrescue.in: Generate multiboot rescue.
7853
6f8aaf68
VS
78542010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7855
3080f7a7
VS
7856 * kern/parser.c (grub_parser_execute): Cope with read-only config.
7857
78582010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7859
7860 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
7861
7862 * commands/terminal.c (abstract_terminal): New struct.
7863 (handle_command): New function. Based on grub_cmd_terminal_input.
7864 (grub_cmd_terminal_input): Use handle_command.
7865 (grub_cmd_terminal_output): Use handle_command.
7866
a8ebb841
BC
78672010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
7868
7869 Fix comment handling.
7870
7871 * tests/grub_script_comments.in: New testcase.
7872 * conf/tests.rmk: Rules for new testcase.
7873 * script/yylex.l: Updated flex rules.
7874
bb06ba08
ST
78752010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
7876
7877 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
7878 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
7879 if argc is 1.
bb06ba08 7880
cc9d2425
VS
78812010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
7882
7883 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
7884 autogen issues.
7885
460d8402
CF
78862010-04-26 Christian Franke <franke@computer.org>
7887
7888 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
7889 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
7890 (grub_get_prefix): Remove function.
7891 * util/grub-emu.c (main): Replace grub_get_prefix () call by
7892 make_system_path_relative_to_its_root ().
7893 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
7894
553c01f9
CF
78952010-04-24 Christian Franke <franke@computer.org>
7896
7897 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
7898 (kernel_img_LDFLAGS): Remove -static-libgcc.
7899
2aec1692
CF
79002010-04-24 Christian Franke <franke@computer.org>
7901
7902 * configure.ac: Do not CHECK_BSS_START_SYMBOL
7903 and CHECK_END_SYMBOL if grub-emu is built.
7904 Unset TARGET_OBJ2ELF if grub-emu is built
7905 without module support.
7906
f67dc308
JS
79072010-04-24 Jiro SEKIBA <jir@unicus.jp>
7908
7909 Nilfs2 support.
7910
7911 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
7912 (grub_fstest_SOURCES): Likewise.
7913 (pkglib_MODULES): Add nilfs2.mod.
7914 (nilfs2_mod_SOURCES): New variable.
7915 (nilfs2_mod_CFLAGS): Likewise.
7916 (nilfs2_mod_LDFLAGS): Likewise.
7917 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
7918 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
7919 * fs/nilfs2.c: New file.
7920
4ba8d354
VS
79212010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
7922
7923 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
7924 is not supported.
7925
0d2c20c6
GS
79262010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
7927
7928 Add grub-mkconfig support for NetBSD.
7929
7930 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
7931 * util/grub-mkconfig.in: export new NetBSD specific variables.
7932 * po/POTFILES-shell: added 10_netbsd.in.
7933 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
7934
bc4a2d83
BC
79352010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
7936
7937 Fix emu build with grub-emu-pci and grub-emu-modules.
7938
7939 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
7940 functions.
7941 * include/grub/libpciaccess.h: New file.
7942 * conf/any-emu.rmk: Update kernel headers for emu build.
7943
f48c87aa
VS
79442010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7945
7946 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
7947
18959385
VS
79482010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7949
7950 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
7951
0037de3f
VS
79522010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7953
7954 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
7955 Retrieve chosen/bootpath if bootpath isn't hardcoded.
7956 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
7957 util/ieee1275/ofpath.c.
7958 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
7959 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
7960 * include/grub/sparc64/ieee1275/boot.h
7961 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
7962 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
7963 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
7964 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
7965 const char *.
7966 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
7967 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
7968 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
7969 install.
7970
38e55e90
GS
79712010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
7972
7973 * util/grub-mkconfig.in: Corrected two == equality tests.
7974 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
7975 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
7976 expect a number appended to it.
7977 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
7978 expects a number appended to it.
7979
a9e6ff28
VS
79802010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7981
7982 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
7983
0b830b8f
VS
79842010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7985
7986 * util/hostdisk.c (make_device_name): Change to new partition naming.
7987
0973daeb
VS
79882010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7989
7990 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
7991
460d8402 79922010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
7993
7994 * Makefile.in: Add missing localedir setting.
7995
0b456309
CW
79962010-04-14 Colin Watson <cjwatson@ubuntu.com>
7997
7998 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
7999 mistake in r2156. Noticed by Anthony Fok.
8000
8001 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
8002 @localedir@.
8003 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
8004
08f46d62
BC
80052010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
8006
8007 Fix a spurious, uninitialized variable warning.
8008
8009 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
8010 Initialize variable, shdr.
8011 (grub_freebsd_load_elfmodule): Likewise.
8012 (grub_freebsd_load_elf_meta): Likewise.
8013
8c4a72d4
BC
80142010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
8015
8016 Fix for escaped dollar in double quoted strings.
8017
8018 * script/yylex.l: Updated flex rules.
8019 * conf/tests.rmk: Rule for new testcase.
8020 * tests/grub_script_dollar.in: New testcase.
8021
ce44826e
CPE
80222010-04-13 Carles Pina i Estany <carles@pina.cat>
80232010-04-13 Colin Watson <cjwatson@ubuntu.com>
8024
8025 Enclose all translated strings in grub.cfg in single quotes, and
8026 escape them appropriately (Ubuntu bug #552921).
8027
8028 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
8029 * util/grub.d/10_hurd.in: Use it.
8030 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
8031 * util/grub.d/10_linux.in (linux_entry): Likewise.
8032
4b0cd8f8
VS
80332010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8034
8035 Fix cygwin compilation.
8036
8037 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
8038 * include/grub/misc.h (__register_frame_info)
8039 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
8040 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
8041 * kern/misc.c (__register_frame_info)
8042 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
8043 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
8044
01fcf061
VS
80452010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8046
8047 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
8048
5d04b11e
VS
80492010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8050
8051 Unify libgcc processing.
8052
8053 * Makefile.in (kernel_img_LDFLAGS): New variable.
8054 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
8055 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
8056 overwriting.
8057 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
8058 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
8059 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
8060 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
8061 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
8062 overwriting. Remove -lgcc and -static-libgcc
8063 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
8064 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
8065 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
8066 (kernel_img_LDFLAGS): Append instead of overwriting.
8067 Remove -lgcc and -static-libgcc
8068 * conf/sparc64-ieee1275.rmk: Likewise.
8069 * include/grub/powerpc/libgcc.h: Move to ...
8070 * include/grub/libgcc.h: .. this.
8071 * include/grub/libgcc.h: Don't export most of the function on x86.
8072 (__bswapsi2): New export.
8073 (__bswapdi2): Likewise.
8074 * include/grub/mips/libgcc.h: Removed.
8075 * include/grub/sparc64/libgcc.h: Likewise.
8076
b7f3ac29
VS
80772010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8078
8079 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
8080 disk_info_msg (conflicts with gettexting into languages with cases).
8081
2c7031b1
GS
80822010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
8083
8084 Add grub-probe support for NetBSD.
8085
8086 * util/getroot.c (find_root_device): Convert block device to
8087 character device on NetBSD.
8088 * util/probe.c (probe): Require character device on NetBSD.
8089 * util/hostdisk.c: NetBSD specific headers.
8090 (configure_device_driver): new function to tune device driver
8091 parameters (currently only for NetBSD floppy driver).
8092 (grub_util_biosdisk_open): NetBSD specific code (get disk size
8093 via disklabel ioctl).
8094 (open_device): call configure_device_driver on NetBSD.
8095 (convert_system_partition_to_system_disk): NetBSD specific code.
8096 (device_is_wholedisk): Likewise.
8097 (grub_util_biosdisk_get_grub_dev): Likewise.
8098 (make_device_name): Fixed a typo in bsd_part_str.
8099 * configure.ac: check for opendisk() and getrawpartition() on
8100 NetBSD and set LIBUTIL.
8101 * Makefile.in: add LIBUTIL to LIBS.
8102
f516290c
BC
81032010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
8104
8105 Documentation fix.
8106
8107 * util/grub-script-check.c: Better help message.
8108
d8dcc0df
BC
81092010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
8110
8111 Fix FreeBSD build.
8112
8113 * configure.ac: Flex version check.
8114 * conf/common.rmk: Add -Wno-error to sh.mod.
8115 * script/yylex.l: Remove all #pragma.
8116
6734334a
VS
81172010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8118
8119 * include/grub/util/misc.h (canonicalise_file_name): Add missing
8120 prototype.
8121 Reported by: Seth Goldberg.
8122
daea6abd
VS
81232010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8124
8125 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
8126 Rename "module" to "module2".
8127 Reported by: Seth Goldberg.
8128
f2fd9d2b
VS
81292010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8130
8131 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
8132 EXPORT_FUNC.
8133 Reported by: Seth Goldberg.
8134
be124579
VS
81352010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8136
8137 * lib/posix_wrap/locale.h: Add missing file.
8138 Reported by: Seth Goldberg.
8139
ef5da797
VS
81402010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8141
8142 grub-emu module load support.
8143
8144 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
8145 NO_DYNAMIC_MODULES switched to this.
8146 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
8147 (CFLAGS): Likewise.
8148 * conf/any-emu.rmk: Generate symlist.
8149 (kernel_img_HEADERS): Add util/datetime.h.
8150 (kernel_img_HEADERS) [sdl]: Add sdl.h.
8151 (kernel_img_HEADERS) [libusb]: Add libusb.h.
8152 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
8153 kern/$(target_cpu)/cache.S.
8154 * configure.ac (grub-emu-modules): New option.
8155 * genmk.rb: Handle multiple source lists.
8156 * include/grub/sdl.h: New file.
8157 * include/grub/libusb.h: Likewise.
8158 * util/grub-emu.c (main): Hanle (host) root.
8159 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
8160 GRUB_ERR_UNKNOWN_DEVICE.
8161 * util/misc.c: Move mm functions to ...
8162 * util/mm.c: ... here. All users updated.
8163
47822096
VS
81642010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8165
8166 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
8167 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
8168 missing files.
8169 (maintainer-clean): Remove libgcrypt-grub.
8170
5d7e7445
VS
81712010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8172
8173 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
8174
25f4e252
EC
81752010-04-09 EFI Coder <eficoder@hotmail.com>
8176
8177 * normal/menu_text.c (print_message): Clean up the message and show
8178 the Fn information when on EFI
8179 * term/efi/console.c (grub_console_checkkey): Add F4 support.
8180
027de555
VS
81812010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8182
8183 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
8184 All users updated.
8185 * normal/crypto.c (read_crypto_list): Likewise.
8186 * normal/dyncmd.c (read_command_list): Likewise.
8187 * normal/term.c (read_terminal_list): Likewise.
8188 * normal/main.c (read_lists): Use explicit prefix.
8189 (read_lists_hook): Use read_lists.
8190 (grub_normal_execute): Likewise.
8191
47779711
VS
81922010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8193
8194 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
8195 Reported by: Thomas Schmitt.
8196 Add -no-emul-boot to grub-mkisofs parameters.
8197
1118c32e
VS
81982010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8199
8200 * font/font.c: Indented.
8201
7d652447
BC
82022010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
8203
8204 Elif support to GRUB script (by Deepak Vankadaru).
8205
8206 * tests/grub_script_if.in: New testcase.
8207 * conf/tests.rmk: Rule for new testcase.
8208 * script/parser.y: Grammar rules for elif.
8209
34bb22df
BC
82102010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
8211
8212 While and until loops support to GRUB script.
8213
8214 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
8215 (grub_script_create_cmdwhile): New function prototype.
8216 (grub_script_execute_cmdwhile): New function prototype.
8217 * script/execute.c (grub_script_execute_cmdwhile): New function.
8218 * script/parser.y (command): New commands.
8219 (whilecmd): New grammar rule.
8220 (untilcmd): New grammar rule.
8221 * script/script.c (grub_script_create_cmdwhile): New function.
8222 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
8223 function.
8224
8225 * tests/grub_script_while1.in: New testcase.
8226 * conf/tests.rmk: Rule for new testcase.
8227
e215d8e0
VS
82282010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8229
8230 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
8231 as *.jpg.
8232
d7c43ba1
MV
82332010-04-09 Mario Vazquez <mariovazq@gmail.com>
8234
8235 GRUB_BACKGROUND support.
8236
8237 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
8238 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
8239
d64795c0
VS
82402010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8241
8242 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 8243 Idea by: Mario Vazquez
d64795c0
VS
8244
8245 * util/grub.d/00_header.in: Load pf2 and image modules.
8246
f267f83a
VS
82472010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8248
8249 grub-mkconfig multiple terminal support.
8250
8251 * util/grub-mkconfig.in: Handle multiple terminals correctly.
8252 * util/grub.d/00_header.in: Likewise.
8253
b7841ceb
VS
82542010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8255
8256 * Makefile.in: Specify files explicitly instead of using $< and $@ since
8257 we use cd $(srcdir).
8258
df60998c
CW
82592010-04-08 Colin Watson <cjwatson@ubuntu.com>
8260
8261 * util/grub.d/10_linux.in: Only use the first word of
8262 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
8263 spaces in GRUB_DISTRIBUTOR.
8264 * util/grub.d/10_kfreebsd.in: Likewise.
8265 * util/grub.d/10_hurd.in: Likewise.
8266
fa09c82e
BC
82672010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
8268
14e18ae3 8269 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
8270
8271 * tests/util/grub-shell.in: Remove -serial stdio option.
8272
daf892b3
BC
82732010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8274
8275 POSIX header file wrappers.
8276
8277 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
8278 equivalents.
8279 * lib/posix_wrap/ctype.h: Likewise.
8280 * lib/posix_wrap/errno.h: Likewise.
8281 * lib/posix_wrap/langinfo.h: Likewise.
8282 * lib/posix_wrap/limits.h: Likewise.
8283 * lib/posix_wrap/localcharset.h: Likewise.
8284 * lib/posix_wrap/stdint.h: Likewise.
8285 * lib/posix_wrap/stdio.h: Likewise.
8286 * lib/posix_wrap/stdlib.h: Likewise.
8287 * lib/posix_wrap/string.h: Likewise.
8288 * lib/posix_wrap/sys/types.h: Likewise.
8289 * lib/posix_wrap/unistd.h: Likewise.
8290 * lib/posix_wrap/wchar.h: Likewise.
8291 * lib/posix_wrap/wctype.h: Likewise.
8292 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
8293 (grub_script.yy.h): Likewise.
8294 * script/yylex.l: Remove POSIX emulation #defines.
8295 * Makefile.in (POSIX_CFLAGS): New variable.
8296 (GNULIB_UTIL_CFLAGS): Likewise.
8297
8298 Regexp support.
8299
8300 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
8301 (regexp_mod_SOURCES): New variable.
8302 (regexp_mod_CFLAGS): Likewise.
8303 (regexp_mod_LDFLAGS): Likewise.
8304 * commands/regexp.c: New file.
8305 * gnulib/regcomp.c: New file. Imported from gnulib.
8306 * gnulib/regex.c: Likewise.
8307 * gnulib/regex_internal.c: Likewise.
8308 * gnulib/regex_internal.h: Likewise.
8309 * gnulib/regexec.c: Likewise.
8310 * gnulib/regex.h: Likewise.
8311
974ac4f7
VS
83122010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
8313
8314 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
8315 unsupported video mode types.
8316
2622c3ff
VS
83172010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
8318
8319 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
8320
064cb524
VS
83212010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
8322
8323 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
8324 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
8325
a8c3b552
VS
83262010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8327
8328 Remove unused grub_vga_get_font.
8329
8330 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
8331 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
8332
187bbe3d
GS
83332010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8334
8335 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
8336 * include/grub/misc.h: Likewise.
8337
b9396631
GS
83382010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8339
8340 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
8341 for which failure is fatal.
8342
50479feb
GS
83432010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8344
8345 * util/grub-install.in: Use mkdir -p to create grub directory.
8346 * util/i386/efi/grub-install.in: Likewise.
8347 * util/ieee1275/grub-install.in: Likewise.
8348
b1654fdf
GS
83492010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8350
8351 * Makefile.in (LEX): new variable.
8352
bd5a6415
GS
83532010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8354
8355 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
8356 `=' and added double quotes on operands of this equality test.
8357
3db3a82b
VS
83582010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
8359
8360 * Makefile.in (uninstall): Remove a leftover debug echo.
8361 Reported by: Grégoire Sutre
8362
38023412
VS
83632010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
8364
8365 MIPS multiboot2 support.
8366
8367 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
8368 (multiboot2_mod_SOURCES): New variable.
8369 (multiboot2_mod_CFLAGS): Likewise.
8370 (multiboot2_mod_LDFLAGS): Likewise.
8371 (multiboot2_mod_ASFLAGS): Likewise.
8372 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
8373 definition.
8374 (MULTIBOOT_ENTRY_REGISTER): Likewise.
8375 (MULTIBOOT_MBI_REGISTER): Likewise.
8376 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
8377 (MULTIBOOT_ELF32_MACHINE): Likewise.
8378 (MULTIBOOT_ELF64_MACHINE): Likewise.
8379 * include/grub/mips/multiboot.h: New file.
8380 * include/grub/video.h (grub_video_driver_id): New type
8381 GRUB_VIDEO_DRIVER_SM712.
8382 (grub_video_get_info_and_fini): Export.
8383 (grub_video_get_palette): Likewise.
8384 (grub_video_get_driver_id): Likewise.
8385 * include/multiboot2.h: Resynced with spec.
8386 * loader/i386/multiboot.c: Moved from here ...
8387 * loader/multiboot.c: ... here. All users updated.
8388 (grub_multiboot_boot): Use platform-specific macros.
8389 * loader/i386/multiboot_elfxx.c: Moved from here ...
8390 * loader/multiboot_elfxx.c: ... here. All users updated.
8391 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
8392 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
8393 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
8394
47674667
VS
83952010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8396
8397 Import gnulib argp module.
8398
8399 * gnulib/argp-ba.c: New file.
8400 * gnulib/argp-eexst.c: Likewise.
8401 * gnulib/argp-fmtstream.c: Likewise.
8402 * gnulib/argp-fmtstream.h: Likewise.
8403 * gnulib/argp-fs-xinl.c: Likewise.
8404 * gnulib/argp-help.c: Likewise.
8405 * gnulib/argp-namefrob.h: Likewise.
8406 * gnulib/argp-parse.c: Likewise.
8407 * gnulib/argp-pin.c: Likewise.
8408 * gnulib/argp-pv.c: Likewise.
8409 * gnulib/argp-pvh.c: Likewise.
8410 * gnulib/argp-version-etc.c: Likewise.
8411 * gnulib/argp-version-etc.h: Likewise.
8412 * gnulib/argp-xinl.c: Likewise.
8413 * gnulib/argp.h: Likewise.
8414
495442ed
VS
84152010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8416
8417 * kern/device.c (grub_device_iterate): Clear errors after failed
8418 opening device.
8419
f9fd65df
VS
84202010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8421
8422 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
8423 returned by firmware.
8424
af09641e
VS
84252010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8426
8427 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
8428 compilation on coreboot and qemu
8429
016883a5
VS
84302010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8431
8432 * include/multiboot2.h: Resync with spec.
8433
f97e1f7d
VS
84342010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8435
8436 Multiboot2 tag support
8437
8438 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
8439 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
8440 Remove loader/multiboot_loader.c.
8441 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
8442 (grub_multiboot2_real_boot): Likewise.
8443 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
8444 (grub_get_multiboot_mmap_count): New proto.
8445 (grub_fill_multiboot_mmap): Likewise.
8446 (grub_multiboot_set_video_mode): Likewise.
8447 (grub_multiboot_set_console): Likewise.
8448 (grub_multiboot_load): Likewise.
8449 (grub_multiboot_load_elf): Likewise.
8450 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
8451 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
8452 * include/multiboot.h: Resynced with specification.
8453 * include/multiboot2.h: Resynced with specification.
8454 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
8455 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
8456 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
8457 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
8458 users updated.
8459 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
8460 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
8461 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
8462 Removed.
8463 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
8464 Moved from here...
8465 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
8466 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
8467 Moved from here...
8468 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
8469 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
8470 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
8471 All users updated.
8472 * loader/i386/multiboot_mbi2.c: New file.
8473
3506b90b
VS
84742010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
8475
8476 Resync with gnulib.
8477
8478 * Makefile.in (GNULIB_CFLAGS): New variable.
8479 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
8480 (grub_script_check_CFLAGS): New variable.
8481 * gnulib/alloca.h: Resync with gnulib.
8482 * gnulib/error.c: Likewise.
8483 * gnulib/error.h: Likewise.
8484 * gnulib/fnmatch.c: Likewise.
8485 * gnulib/fnmatch_loop.c: Likewise.
8486 * gnulib/getdelim.c: Likewise.
8487 * gnulib/getline.c: Likewise.
8488 * gnulib/getopt.c: Likewise.
8489 * gnulib/getopt1.c: Likewise.
8490 * gnulib/getopt_int.h: Likewise.
8491 * gnulib/gettext.h: Likewise.
8492 * gnulib/progname.c: Likewise.
8493 * gnulib/progname.h: Likewise.
8494
394a3120
GS
84952010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
8496
8497 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
8498 which is the case with --disabled-nls.
8499
8500 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
8501 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
8502 * util/misc.c: Likewise.
8503 * util/mkisofs/mkisofs.c: Likewise.
8504 * util/mkisofs/mkisofs.h: Likewise.
8505
969d1c78
VS
85062010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
8507
8508 Simplify Apple CC support.
8509
8510 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
8511 Add 0 byte at the end not to have a symbol with empty target.
8512 * mmap/i386/pc/mmap_helper.S: Likewise.
8513 * genmk.rb: Ignore errors 2030 and 2050.
8514 * kern/i386/pc/startup.S: Use LOCAL when possible.
8515
8d2977bb
BC
85162010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
8517
8518 Testcase and the fix for final semicolon on cmdline.
8519
8520 * tests/grub_script_final_semicolon.in: New testcase.
8521 * conf/tests.rmk: Rules for the new testcase.
8522 * script/parser.y: Grammar fix.
8523
a7bd6915
BC
85242010-03-26 BVK Chaitanya <bvk@localhost>
8525
8526 Blank lines testcase for GRUB script.
8527
8528 * tests/grub_script_blanklines.in: New testcase.
8529 * conf/tests.rmk: Rules for the new testcase.
8530
e4ff6628
VS
85312010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8532
8533 Don't use __FILE__.
8534
8535 * genmk.rb: Add -DGRUB_FILE to all C targets.
8536 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
8537 * include/grub/list.h: Likewise.
8538 * include/grub/misc.h: Likewise.
8539 * include/grub/mm.h: Likewise.
8540 * include/grub/test.h: Likewise.
8541 * kern/mm.c: Likewise.
8542 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
8543
6a5cf6b6
VS
85442010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8545
8546 Sunpc partitions support.
8547
8548 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
8549 (grub_fstest_SOURCES): Likewise.
8550 (pkglib_MODULES): Add part_sunpc.mod.
8551 (part_sunpc_mod_SOURCES): New variable.
8552 (part_sunpc_mod_CFLAGS): Likewise.
8553 (part_sunpc_mod_LDFLAGS): Likewise.
8554 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
8555 * partmap/sunpc.c: New file.
8556
746d9045
BC
85572010-03-26 BVK Chaitanya <bvk@localhost>
8558
8559 For loop support to GRUB script.
8560
8561 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
8562 (grub_script_create_cmdfor): New function prototype.
8563 (grub_script_execute_cmdfor): New function prototype.
8564 * script/execute.c (grub_script_execute_cmdfor): New function.
8565 * script/parser.y (command): New for command.
8566 (forcmd): New grammar rule.
8567 * script/script.c (grub_script_create_cmdfor): New function.
8568 * util/grub-script-check.c (grub_script_execute_cmdfor): New
8569 function.
8570 * tests/grub_script_for1.in: New testcase.
8571 * conf/tests.rmk: Rules for new testcase.
8572
18486b18
VS
85732010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8574
8575 Nested partitions
8576
8577 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
8578 'partition' is NULL, grub_partition_get_start already does that.
8579 * commands/loadenv.c (check_blocklists): Likewise.
8580 (write_blocklists): Likewise.
8581 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
8582 (grub_fstest_SOURCES): Likewise.
8583 (pkglib_MODULES): Add part_bsd.mod.
8584 (part_bsd_mod_SOURCES): New variable.
8585 (part_bsd_mod_CFLAGS): Likewise.
8586 (part_bsd_mod_LDFLAGS): Likewise.
8587 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
8588 (grub_emu_SOURCES): Likewise.
8589 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8590 * include/grub/bsdlabel.h: New file.
8591 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
8592 'get_name'.
8593 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
8594 (grub_partition_map_list): New variable.
8595 (grub_partition_map_register): Inline.
8596 (grub_partition_map_unregister): Likewise.
8597 (FOR_PARTITION_MAPS): New macro.
8598 (grub_partition_map_iterate): Removed.
8599 (grub_partition_get_start): Handle nested partitions.
8600 * include/grub/msdos_partition.h: Remove bsd-related entries.
8601 (grub_pc_partition): Remove.
8602 * kern/disk.c (grub_disk_close): Free partition data.
8603 (grub_disk_adjust_range): Handle nested partitions.
8604 * kern/partition.c (grub_partition_map_probe): New function.
8605 (grub_partition_probe): Parse name to number, handle subpartitions.
8606 (get_partmap): New function.
8607 (grub_partition_iterate): Handle subpartitions.
8608 (grub_partition_get_name): Likewise.
8609 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
8610 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
8611 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
8612 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
8613 Set 'number'.
8614 (acorn_partition_map_probe): Remove.
8615 (acorn_partition_map_get_name): Likewise.
8616 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
8617 Set 'number'.
8618 Set 'index' to 0 since there can be only one partition entry per sector.
8619 (amiga_partition_map_probe): Remove.
8620 (amiga_partition_map_get_name): Likewise.
8621 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
8622 Set 'number'.
8623 Set 'offset' and 'index' to real positions of partitions.
8624 (apple_partition_map_probe): Remove.
8625 (apple_partition_map_get_name): Likewise.
8626 * partmap/bsdlabel.c: New file.
8627 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
8628 Set 'number'.
8629 Allocate 'data' so it can be correctly freed.
8630 Set 'index' to offset inside sector.
8631 (gpt_partition_map_probe): Remove.
8632 (gpt_partition_map_get_name): Likewise.
8633 * partmap/msdos.c (grub_partition_parse): Remove.
8634 (pc_partition_map_iterate): Don't force raw access.
8635 Set 'number'.
8636 Make 'ext_offset' a local variable.
8637 (pc_partition_map_probe): Remove.
8638 (pc_partition_map_get_name): Remove.
8639 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
8640 Set 'number'.
8641 (sun_partition_map_probe): Remove.
8642 (sun_partition_map_get_name): Likewise.
8643 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
8644 (grub_pcpart_type): Likewise.
8645 * util/hostdisk.c (open_device): Handle new numbering scheme.
8646 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
8647 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
8648 * util/grub-probe.c (probe_partmap): Handle nested paritions.
8649 * util/grub-install.in: Insert all subpartition modules.
8650 * util/ieee1275/grub-install.in: Likewise.
8651
a3940f88
AG
86522010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
8653
8654 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
8655 grammar.
8656
21b99926 86572010-03-24 Colin Watson <cjwatson@ubuntu.com>
8658
8659 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
8660
bed1d352
CW
86612010-03-21 Colin Watson <cjwatson@ubuntu.com>
8662
8663 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
8664 match where 'make install' puts them.
8665 * util/i386/efi/grub-install.in: Likewise.
8666
c9f58427
CW
86672010-03-19 Colin Watson <cjwatson@ubuntu.com>
8668
8669 * .bzrignore: Add gentrigtables, grub-script-check,
8670 grub_script_check_init.c, grub_script_check_init.h, and
8671 trigtables.c.
8672
f84afb27
VS
86732010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
8674
8675 * kern/parser.c: Indented.
8676
ed0e3d30
VS
86772010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
8678
8679 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
8680
0ea81d98
VS
86812010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
8682
8683 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
8684 alpha_mask_size == 0 case.
8685
0cdc2a09
BC
86862010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
8687
8688 GRUB shell lexer and parser improvements.
8689
8690 * conf/any-emu.rmk: Build rule updates.
8691 * conf/common.rmk: Likewise.
8692 * conf/i386-coreboot.rmk: Likewise.
8693 * conf/i386-efi.rmk: Likewise.
8694 * conf/i386-ieee1275.rmk: Likewise.
8695 * conf/i386-pc.rmk: Likewise.
8696 * conf/powerpc-ieee1275.rmk: Likewise.
8697 * conf/x86_64-efi.rmk: Likewise.
8698
8699 * configure.ac: Configure check for flex.
8700
8701 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
8702 types.
8703 (grub_lexer_param): Struct member updates.
8704 (grub_parser_param): Likewise.
8705 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
8706 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
8707 (grub_script_lexer_init): Prototype update.
8708 (grub_script_lexer_record_start): Likewise.
8709 (grub_script_lexer_record_stop): Likewise.
8710 (grub_script_lexer_yywrap): New function prototype.
8711 (grub_script_lexer_fini): Likewise.
8712 (grub_script_execute_argument_to_string): Removed by...
8713 (grub_script_execute_argument_to_argv): ...better version.
8714
8715 * script/execute.c (ROUND_UPTO): New macro.
8716 (grub_script_execute_cmdline): Out of memory fixes.
8717 (grub_script_execute_menuentry): Likewise.
8718 (grub_script_execute_argument_to_string): Removed. Update all
8719 users by...
8720 (grub_script_execute_argument_to_argv): ...better version.
8721 * script/function.c (grub_script_function_create): Use
8722 grub_script_execute_argument_to_argv instead of
8723 grub_script_execute_argument_to_string.
8724
8725 * script/lexer.c (check_varstate): Removed.
8726 (check_textstate): Removed.
8727 (grub_script_lexer_record_start): Likewise.
8728 (grub_script_lexer_record_stop): Likewise.
8729 (recordchar): Replaced with...
8730 (grub_script_lexer_record): ...new function.
8731 (nextchar): Removed.
8732 (grub_script_lexer_init): Rewritten.
8733 (grub_script_yylex): Rewritten.
8734 (append_newline): New function.
8735 (grub_script_lexer_yywrap): New function.
8736 (grub_script_lexer_fini): New function.
8737 (grub_script_yyerror): Sets error flag.
8738
8739 * script/yylex.l: New file.
8740 (grub_lexer_yyfree): Wrapper for flex yyffre.
8741 (grub_lexer_yyalloc): Likewise.
8742 (grub_lexer_yyrealloc): Likewise.
8743 * script/parser.y: Refactored.
8744
8745 * script/script.c (grub_script_arg_add): Out of memory fixes.
8746 (grub_script_add_arglist): Likewise.
8747 (grub_script_create_cmdline): Likewise.
8748 (grub_script_create_cmdmenu): Likewise.
8749 (grub_script_add_cmd): Likewise.
8750 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
8751 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
8752 unnecessary code.
8753
8754 * tests/grub_script_echo1.in: New testcase.
8755 * tests/grub_script_vars1.in: New testcase.
8756 * tests/grub_script_echo_keywords.in: New testcase.
8757
1d63a066
VS
87582010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8759
8760 Remove some redundancy in build system.
8761
8762 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
8763 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
8764 (TARGET_LDFLAGS): Add -nostdlib.
8765 (TARGET_IMG_LDFLAGS): Likewise.
8766 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
8767 anything since mmap isn't available.
8768 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
8769 Add util/time.c.
8770 (pkglib_MODULES): Remove reboot.mod.
8771 (reboot_mod_SOURCES): Removed.
8772 (reboot_mod_CFLAGS): Likewise.
8773 (reboot_mod_LDFLAGS): Likewise.
8774 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
8775 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
8776 (DEFSYMFILES): Add kernel_syms.lst.
8777 (kernel_img_HEADERS): Add common headers.
8778 (symlist.c): New target.
8779 (kernel_syms.lst): Likewise.
8780 (pkglib_MODULES): Add memdisk.mod.
8781 (memdisk_mod_SOURCES): New variable.
8782 (memdisk_mod_CFLAGS): Likewise.
8783 (memdisk_mod_LDFLAGS): Likewise.
8784 (pkglib_MODULES): Add reboot.mod.
8785 (reboot_mod_SOURCES): New variable.
8786 (reboot_mod_CFLAGS): Likewise.
8787 (reboot_mod_LDFLAGS): Likewise.
8788 (pkglib_MODULES): Add date.mod.
8789 (date_mod_SOURCES): New variable.
8790 (date_mod_CFLAGS): Likewise.
8791 (date_mod_LDFLAGS): Likewise.
8792 (pkglib_MODULES): Add datehook.mod.
8793 (datehook_mod_SOURCES): New variable.
8794 (datehook_mod_CFLAGS): Likewise.
8795 (datehook_mod_LDFLAGS): Likewise.
8796 (pkglib_MODULES): Add lsmmap.mod.
8797 (lsmmap_mod_SOURCES): New variable.
8798 (lsmmap_mod_CFLAGS): Likewise.
8799 (lsmmap_mod_LDFLAGS): Likewise.
8800 (pkglib_MODULES): Add boot.mod.
8801 (boot_mod_SOURCES): New variable.
8802 (boot_mod_CFLAGS): Likewise.
8803 (boot_mod_LDFLAGS): Likewise.
8804 * conf/i386-coreboot.rmk: Removed redundant parts.
8805 * conf/i386-ieee1275.rmk: Likewise.
8806 * conf/i386-pc.rmk: Likewise.
8807 * conf/mips-yeeloong.rmk: Likewise.
8808 * conf/mips.rmk: Likewise.
8809 * conf/powerpc-ieee1275.rmk: Likewise.
8810 * conf/sparc64-ieee1275.rmk: Likewise.
8811 * conf/x86_64-efi.rmk: Likewise.
8812 * conf/i386-coreboot.rmk: Moved qemu parts ..
8813 * conf/i386-qemu.rmk: ... here
8814 * conf/i386-efi.rmk: Moved common parts to...
8815 * conf/x86-efi.rmk: ... here.
8816 * conf/i386.rmk: Added modules common to all x86 variants.
8817 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
8818 * disk/memdisk.c: Remove grub/machine/kernel.h.
8819 * gensymlist.sh.in: Include symbol.h.
8820 * hook/datehook.c: Correct module name.
8821 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
8822 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
8823 * include/grub/i386/efi/serial.h: New file.
8824 * include/grub/x86_64/efi/serial.h: Likewise.
8825 * util/time.c: Likewise.
8826 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
8827
463ac55f
CK
88282010-03-14 Colin King <colin.king@ubuntu.com>
88292010-03-14 Colin Watson <cjwatson@ubuntu.com>
8830
8831 Shrink the pre-partition-table part of boot.img by eight bytes.
8832
8833 * boot/i386/pc/boot.S (ERR): New macro.
8834 (chs_mode): Use ERR.
8835 (geometry_error): Likewise.
8836 (hd_probe_error): Remove. This is only used once, so we wrwite
8837 it inline instead.
8838 (read_error): Instead of printing read_error_string, just set up
8839 %si and fall through to ...
8840 (error_message): ... this new function, also used by ERR.
8841
08e46ede
CW
88422010-03-14 Colin Watson <cjwatson@ubuntu.com>
8843
8844 Speed up consecutive hostdisk operations on the same device.
8845
8846 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
8847 (grub_util_biosdisk_open): Initialise disk->data.
8848 (struct linux_partition_cache): New structure.
8849 (linux_find_partition): Cache partition start positions; these are
8850 expensive to compute on every read and write.
8851 (open_device): Cache open file descriptor in disk->data, so that we
8852 don't have to reopen it and flush the buffer cache for consecutive
8853 operations on the same device.
8854 (grub_util_biosdisk_close): New function.
8855 (grub_util_biosdisk_dev): Set `close' member.
8856
8857 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
8858 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
8859 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
8860 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
8861 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
8862
4a6d2d06
VS
88632010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8864
8865 Compile parts of grub-emu as modules.
8866
8867 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
8868 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
8869 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
8870 (all-local): Add $(GRUB_EMU).
8871 (install-local): Install $(GRUB_EMU).
8872 (uninstall): Uninstall $(GRUB_EMU).
8873 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
8874 * kern/dl.c: Likewise.
8875 * commands/sleep.c: Not include machine/time.h.
8876 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
8877 (COMMON_CFLAGS): Likewise.
8878 (sbin_UTILITIES): Remove grub-emu.
8879 (grub_emu_SOURCES): Removed.
8880 (kernel_img_RELOCATABLE): New variable.
8881 (pkglib_PROGRAMS): Add kernel.img.
8882 (kernel_img_SOURCES): New variable
8883 (kernel_img_CFLAGS): Likewise.
8884 (kernel_img_LDFLAGS): Likewise.
8885 (TARGET_NO_STRIP): Likewise.
8886 (TARGET_NO_DYNAMIC_MODULES): Likewise.
8887 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
8888 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
8889 (grub-emu): New target.
8890 (GRUB_EMU): New variable.
8891 * configure.ac: Whitelist -emu as possible x86_64 architecture.
8892 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
8893 * loader/xnu.c: Likewise.
8894 * include/grub/pci.h: Likewise.
8895 * genemuinit.sh: New file.
8896 * genemuinitheader.sh: Likewise.
8897 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
8898 Support TARGET_NO_DYNAMIC_MODULES.
8899 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
8900 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
8901 * disk/loopback.c: Likewise.
8902 * font/font_cmd.c: Likewise.
8903 * partmap/acorn.c: Likewise.
8904 * partmap/amiga.c: Likewise.
8905 * partmap/apple.c: Likewise.
8906 * partmap/gpt.c: Likewise.
8907 * partmap/msdos.c: Likewise.
8908 * partmap/sun.c: Likewise.
8909 * parttool/msdospart.c: Likewise.
8910 * term/gfxterm.c: Likewise.
8911 * video/bitmap.c: Likewise.
8912 * video/readers/jpeg.c: Likewise.
8913 * video/readers/png.c: Likewise.
8914 * video/readers/tga.c: Likewise.
8915 * video/video.c: Likewise.
8916 * util/grub-emu.c (read_command_list): Removed.
8917 (main): Don't call util_init_nls.
8918 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
8919 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
8920
91fdd2ed
VS
89212010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8922
8923 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
8924 date.mod, datehook.mod.
8925 (datetime_mod_SOURCES): New variable.
8926 (datetime_mod_CFLAGS): Likewise.
8927 (datetime_mod_LDFLAGS): Likewise.
8928 (date_mod_SOURCES): Likewise.
8929 (date_mod_CFLAGS): Likewise.
8930 (date_mod_LDFLAGS): Likewise.
8931 (datehook_mod_SOURCES): Likewise.
8932 (datehook_mod_CFLAGS): Likewise.
8933 (datehook_mod_LDFLAGS): Likewise.
8934 * conf/sparc64-ieee1275.rmk: Likewise.
8935 * lib/ieee1275/datetime.c: New file.
8936
873ccae6
VS
89372010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8938
8939 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
8940 (ieee1275_fb_mod_SOURCES): New variable.
8941 (ieee1275_fb_mod_CFLAGS): Likewise.
8942 (ieee1275_fb_mod_LDFLAGS): Likewise.
8943 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
8944 New proto.
8945 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
8946 (HEAP_MAX_ADDR): Likewise.
8947 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
8948 type.
8949 Correct stop condition.
8950 (grub_ieee1275_devices_iterate): New function.
8951 * video/ieee1275.c: New file.
8952
601c97c0
VS
89532010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8954
8955 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
8956
8957 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
8958 as scratch.
8959 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
8960 SCRATCH_PAD_DISKBOOT as scratch.
8961 (bootit): Pass Openfirmware pointer in %o4.
8962 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
8963 of 0x200000.
8964 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
8965 with util/grub-mkrawimage.c.
8966 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
8967 * include/grub/aout.h (AOUT_MID_SUN): New definition.
8968 (grub_aout_get_type) [GRUB_UTIL]: Removed.
8969 (grub_aout_load) [GRUB_UTIL]: Likewise.
8970 * include/grub/kernel.h (grub_modules_get_end): New proto.
8971 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
8972 (SCRATCH_PAD_BOOT): New definition.
8973 (SCRATCH_PAD_DISKBOOT): Likewise.
8974 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
8975 * include/grub/sparc64/ieee1275/ieee1275.h
8976 (grub_ieee1275_original_stack): New variable
8977 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
8978 New definition
8979 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
8980 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
8981 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
8982 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
8983 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
8984 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
8985 (grub_platform_image_format_t): New type.
8986 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
8987 * kern/main.c (grub_modules_get_end)
8988 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
8989 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
8990 (codestart): Switch stacks.
8991 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
8992 variable.
8993 (grub_heap_init): Use grub_modules_get_end.
8994 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
8995 stack.
8996 * util/grub-mkrawimage.c (generate_image): Support sparc64.
8997 (main): Likewise.
8998 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
8999
d68b491e
TG
90002010-03-14 Thorsten Glaser <tg@mirbsd.org>
9001
9002 * util/grub-mkrescue.in: Base ISO UUID on UTC.
9003
4e02ed50
MK
90042010-03-08 Matt Kraai <kraai@ftbfs.org>
9005
9006 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
9007 bug #559005).
9008
1f15fc1e
VS
90092010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
9010
9011 * genmoddep.awk: Output all missing symbols and not only first.
9012
fce5d8ff
VS
90132010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9014
9015 * NEWS: Put the date of 1.98 release.
9016
d1e8a02f
VS
90172010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9018
9019 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
9020 ft2build.h.
9021
696fd607
VS
90222010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9023
9024 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
9025 completition in the middle of string.
9026
33e2e6f3
VS
90272010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9028
9029 * util/grub-mkrescue.in: Use mktemp with explicit template.
9030
b1f6d291
VS
90312010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9032
9033 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
9034
2ac227c7
VS
90352010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9036
9037 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
9038 right pointer.
9039
8f9a632b
VS
90402010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9041
9042 Fix FreeBSD compilation.
9043
9044 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
9045 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
9046
60b03859
VS
90472010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9048
9049 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
9050
48a5a769
VS
90512010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9052
9053 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
9054
3ab4bd77
VS
90552010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9056
9057 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
9058
d116e0d8
RM
90592010-03-04 Robert Millan <rmh.grub@aybabtu.com>
9060
9061 Support relative image path in theme file.
9062
9063 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
9064 (image_set_property): Handle theme_dir and relative path.
9065
c7ef54aa
VS
90662010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9067
9068 * configure.ac: Alias amd64 to x86_64.
9069
fcee14ed
VS
90702010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9071
9072 * NEWS: mention multiboot on EFI.
9073
d0780363
VS
90742010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9075
9076 * kern/main.c (grub_load_modules): Handle errors from init functions of
9077 embeded modules.
9078
41168ea4
VS
90792010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9080
9081 * normal/autofs.c (autoload_fs_module): Handle errors.
9082
b54d93ac
VS
90832010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9084
9085 Disable linux.mod on qemu-mips since it's not functional and leads
9086 to compilation failure.
9087
9088 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
9089 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
9090 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
9091 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
9092 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
9093 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
9094 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
9095 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
9096 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
9097 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
9098 Reported by: BVK Chaitanya
9099
fc8345da
JU
91002010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
9101
9102 * INSTALL: Add gettext as a dependency and add qemu to a new section
9103 "Prerequisites for make-check".
9104
4760f979
CF
91052010-03-04 Christian Franke <franke@computer.org>
9106
9107 * util/grub-pe2elf.c: Add missing include "progname.h".
9108
f209b5b2
VS
91092010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9110
9111 * normal/crypto.c (read_crypto_list): Fix a typo.
9112 Reported by: Seth Goldberg.
9113
b4b7be98
VS
91142010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9115
9116 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 9117 Reported by: Seth Goldberg.
b4b7be98 9118
c0ee0385
VS
91192010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9120
9121 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
9122 ascii.bitmaps.
9123
a8efbf64
VS
91242010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9125
9126 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 9127 Reported by: Seth Goldberg.
a8efbf64 9128
08dcd913
VS
91292010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9130
9131 * util/i386/efi/grub-install.in: Copy gettext files.
9132
c4d0b332
VS
91332010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9134
9135 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
9136
c6f2fe52
VS
91372010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9138
9139 Wait for user entry basing on presence of output rather than on errors.
9140
9141 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
9142 (grub_install_newline_hook): Likewise.
9143 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
9144 * normal/menu.c (show_menu): Check line_counter to determine presence
9145 of output.
9146 * normal/term.c (grub_normal_line_counter): New variable.
9147 (grub_normal_get_line_counter): New function.
9148 (grub_install_newline_hook): Likewise.
9149
5382b1e4
VS
91502010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9151
9152 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
9153
5519963b
VS
91542010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9155
9156 * configure.ac: Update version to 1.98.
9157
72b28631
VS
91582010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9159
9160 * util/grub.d/10_linux.in (linux_entry): Don't default to
9161 gfxpayload=keep if Linux doesn't support video handover.
9162
c140a180
VS
91632010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
9164
9165 Don't compile video modules on yeeloong since video subsystem is part
9166 of kernel.
9167
9168 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
9169 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
9170 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
9171 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
9172 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
9173 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
9174 * include/grub/bitmap_scale.h: Likewise.
9175 * include/grub/bufio.h: Likewise.
9176 * include/grub/font.h: Likewise.
9177 * include/grub/gfxterm.h: Likewise.
9178 * include/grub/video.h: Likewise.
9179 * include/grub/vbe.h: Don't include video_fb.h.
9180 * video/i386/pc/vbe.c: Include video_fb.h.
9181 * commands/i386/pc/vbetest.c: Include video.h.
9182
a0ca21c2
CW
91832010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
9184
9185 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
9186 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
9187 default entry if GRUB_SAVEDEFAULT=true. This allows using
9188 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
9189 saving a new default on every boot.
9190
4a8a763c
VS
91912010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9192
9193 * normal/crypto.c (read_crypto_list): Fix a memory leak.
9194 * normal/term.c (read_terminal_list): Likewise.
9195 * normal/main.c (grub_normal_init_page): Likewise.
9196 (grub_normal_read_line_real): Likewise.
9197
607ffde2
VS
91982010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9199
9200 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
9201 memory leak.
9202 Reported by: Seth Goldberg.
9203
2b8fa975
CW
92042010-02-24 Joey Korkames <joey+lists@kidfixit.com>
9205
9206 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
9207 duplicate declaration of `start'.
9208
618307dd
VS
92092010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
9210
9211 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
9212 filename.
9213 Reported by: Georgy Buranov
9214
7dd05b96 92152010-02-20 Carles Pina i Estany <carles@pina.cat>
9216
9217 * util/grub-mkrawimage.c (usage): Change string formatting to
9218 improve gettext.
9219
d1484a42
MRA
92202010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
9221
9222 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
9223 backspace keys.
9224
42b1d186
VS
92252010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
9226
9227 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
9228 Reported by: Michael Suchanek.
9229
92302010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
9231
9232 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
9233 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
9234
d9f31a41
VS
92352010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
9236
9237 Remove any reference to non-free fonts.
9238
9239 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
9240 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
9241 uses non-free components.
9242 * font/font.c (grub_font_get_name): Remove example name.
9243 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
9244 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
9245 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
9246 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
9247
2793c71e
GB
92482010-02-16 Georgy Buranov <gburanov@gmail.com>
9249
9250 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
9251
402e3779
VS
92522010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
9253
9254 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
9255 Double divisor.
9256 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
9257 features.
9258 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
9259
0dd1e0dd
VS
92602010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
9261
9262 * gensymlist.sh.in: Use TARGET_CC instead of CC.
9263
6fa7cfce
ST
92642010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
9265
9266 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
9267 * docs/grub.texi (Command-line and menu entry commands): Document play
9268 command.
9269
37c8483b
ST
92702010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
9271
9272 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
9273 parse arguments as inline tempo and notes. Move code for playing notes
9274 to...
9275 (play): ... new function.
9276
14da0fb7
ST
92772010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
9278
9279 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
9280 grub_uint16_t instead of short.
9281 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
9282 disk from little endian to cpu endianness.
9283
04459e70
ST
92842010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
9285
9286 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
9287 GRUB_TICKS_PER_SECOND instead of 120.
9288
a0876943
VS
92892010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9290
9291 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
9292 escape sequence after \e.
9293
e29f95dc
VS
92942010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9295
9296 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
9297 non-ASCII characters.
9298
d27859b2
VS
92992010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9300
9301 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
9302 set root in single quotes to prevent \, from being unescaped.
9303
bc028f2f
VS
93042010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9305
9306 Prevent unknown commands from stopping menuentry execution.
9307
9308 * script/execute.c (grub_script_execute_cmdline): Print error after
9309 unknown command.
9310
095f5f82
VS
93112010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9312
9313 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
9314 Reported by: Pavel Pisa.
9315
8c717950
VS
93162010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9317
9318 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
9319
904935c3
VS
93202010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9321
9322 Merge grub_ieee1275_map_physical into grub_map and rename to
9323 grub_ieee1275_map
9324
9325 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
9326 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
9327 Remove.
9328 * kern/ieee1275/openfw.c (grub_map): Rename to ...
9329 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
9330 necessary.
9331 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
9332
5b59a4e3
VS
93332010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9334
9335 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
9336 opening and not after.
9337
69e137e8
VS
93382010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9339
9340 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
9341 constants.
9342
2c0fcc36
VS
93432010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9344
9345 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
9346 (alloc_phys): Use ALIGN_UP instead of align_addr.
9347
8c6052ce
VS
93482010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9349
9350 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
9351
17cec782
VS
93522010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9353
9354 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
9355
e0128bbd
VS
93562010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9357
9358 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
9359 verbose dprintf.
9360
ca62070b
VS
93612010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9362
9363 Fix over-4GiB seek on sparc64.
9364
9365 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
9366 Replace pos_i and pos_lo with pos. All users updated.
9367 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
9368 New constant.
9369 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
9370 Likewise.
9371 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
9372 and pos_lo.
9373
bdca2607
VS
93742010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9375
9376 * util/grub-mkrawimage.c (main): Call set_program_name.
9377
da278c4d
VS
93782010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9379
9380 Properly align 64-bit targets.
9381
9382 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
9383 (generate_image): Use ALIGN_ADDR.
9384
b274d734
VS
93852010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9386
9387 Properly create cross-endian images.
9388
9389 * include/grub/types.h (grub_host_to_target_addr): New macro
9390 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
9391
82da2062
VS
93922010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9393
9394 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
9395
7cae4377
VS
93962010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9397
9398 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
9399
9400 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
9401 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
9402 (grub_linux_boot): Divide by 64K when on VESA.
9403
65a533e7
VS
94042010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9405
9406 Support GRUB_GFXPAYLOAD_LINUX.
9407
9408 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
9409 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
9410
dd01d397
VS
94112010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9412
9413 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
9414 to show messages instead of discarding them.
9415 Process errors after executing command and not before. Keep old method
9416 too as precaution.
9417
660960d6
VS
94182010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9419
9420 * configure.ac: Check for ft2build.h.
9421
62509f04
VS
94222010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9423
9424 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
9425
473df63d
VS
94262010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9427
9428 * genkernsyms.sh.in: Use TARGET_CC.
9429
c98d2a13
CW
94302010-02-07 Colin Watson <cjwatson@ubuntu.com>
9431
9432 * NEWS: Update.
9433
6e14234c
VS
94342010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9435
9436 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
9437 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
9438 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 9439
b255e9cf
YB
94402010-02-07 Yves Blusseau <blusseau@zetam.org>
9441
6e14234c 9442 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 9443
98e6959d
VS
94442010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9445
9446 Fix warnings in grub-emu when compiling with maximum warning options.
9447
9448 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
9449 (grub_arch_modules_addr): Return 0 and not NULL.
9450 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 9451 (xstrdup): Use newstr instead of dup.
f88d801b
VS
9452 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
9453 of disk to dsk to avoid shadowing.
74e4934e
VS
9454 (find_free_slot): Fix prototype.
9455 * util/getroot.c (grub_util_is_dmraid): Make static.
9456 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
9457 Add missing prototype.
9458 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 9459
74e31b5c
VS
94602010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9461
9462 * loader/i386/linux.c (grub_linux_setup_video): Handle error
9463 appropriately.
9464
6b2ad14b
VS
94652010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9466
9467 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
9468 code out.
9469
8f891adc
VS
94702010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9471
9472 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
9473 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
9474 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
9475 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
9476 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
9477 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
9478
74b45184
VS
94792010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9480
9481 * include/grub/err.h (grub_err_printf): Don't export.
9482
a4bced77
VS
94832010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9484
9485 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
9486
007d0695
VS
94872010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9488
9489 * include/grub/i18n.h (grub_gettext_dummy): Removed.
9490 * kern/misc.c (grub_gettext_dummy): Make static.
9491
b6c0d9c2
VS
94922010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9493
9494 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
9495 by non-valid ones.
9496 * kern/term.c (grub_putchar): Likewise.
9497
f51a90d0
VS
94982010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9499
9500 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
9501 buggy hook call and memory leak.
9502
6846cec5
VS
95032010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9504
9505 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
9506
468d69fe
VS
95072010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9508
9509 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
9510
51906b8c
VS
95112010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9512
9513 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
9514 modevar.
9515 Return grub_errno on allocation error.
9516
09706ce5
VS
95172010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9518
9519 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
9520
911df80c
YB
95212010-02-06 Yves Blusseau <blusseau@zetam.org>
9522
9523 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
9524 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
9525
3746a6bc
VS
95262010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9527
9528 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
9529 non-pxe disk.
9530 (grub_pxefs_open): Likewise.
9531
09706ce5
VS
95322010-02-06 Robert Millan <rmh.grub@aybabtu.com>
9533
9534 * util/grub.d/10_hurd.in: Add --class information to menuentries.
9535 * util/grub.d/10_kfreebsd.in: Likewise.
9536 * util/grub.d/10_linux.in: Likewise.
9537
7cc192d9
VS
95382010-02-06 Colin D Bennett <colin@gibibit.com>
9539
9540 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
9541 (gfxmenu_mod_SOURCES): New variable.
9542 (gfxmenu_mod_CFLAGS): Likewise.
9543 (gfxmenu_mod_LDFLAGS): Likewise.
9544 * include/grub/term.h (grub_term_set_current_output): Declare
9545 argument as const.
9546 * docs/gfxmenu-theme-example.txt: New file.
9547 * gfxmenu/gfxmenu.c: Likewise.
9548 * gfxmenu/gui_box.c: Likewise.
9549 * gfxmenu/gui_canvas.c: Likewise.
9550 * gfxmenu/gui_circular_progress.c: Likewise.
9551 * gfxmenu/gui_image.c: Likewise.
9552 * gfxmenu/gui_label.c: Likewise.
9553 * gfxmenu/gui_list.c: Likewise.
9554 * gfxmenu/gui_progress_bar.c: Likewise.
9555 * gfxmenu/gui_string_util.c: Likewise.
9556 * gfxmenu/gui_util.c: Likewise.
9557 * gfxmenu/icon_manager.c: Likewise.
9558 * gfxmenu/model.c: Likewise.
9559 * gfxmenu/named_colors.c: Likewise.
9560 * gfxmenu/theme_loader.c: Likewise.
9561 * gfxmenu/view.c: Likewise.
9562 * gfxmenu/widget-box.c: Likewise.
9563 * include/grub/gfxmenu_model.h: Likewise.
9564 * include/grub/gfxmenu_view.h: Likewise.
9565 * include/grub/gfxwidgets.h: Likewise.
9566 * include/grub/gui.h: Likewise.
9567 * include/grub/gui_string_util.h: Likewise.
9568 * include/grub/icon_manager.h: Likewise.
9569
95702010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9571
9572 Agglomerate scrolling in gfxterm.
9573
9574 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
9575 (grub_virtual_screen_setup): Initialise 'total_screen'.
9576 (write_char): Split to ...
9577 (paint_char): ... this ...
9578 (write_char): ... and this.
9579 (paint_char): Handle delayed scrolling.
9580 (draw_cursor): Likewise.
9581 (scroll_up): Split to ...
9582 (real_scroll): ... this ...
9583 (scroll_up): ... and this.
9584 (real_scroll): Handle multi-line scroll and draw below-the-bottom
9585 characters.
9586 (grub_gfxterm_refresh): Call real_scroll.
9587
95882010-02-06 Colin D Bennett <colin@gibibit.com>
9589
9590 * include/grub/misc.h (grub_iscntrl): New inline function.
9591 (grub_isalnum): Likewise.
9592 (grub_strtol): Likewise.
9593
95942010-02-06 Colin D Bennett <colin@gibibit.com>
9595
9596 * normal/menu_text.c (get_entry_number): Move from here ...
9597 * normal/menu.c (get_entry_number): ... moved here.
9598 * include/grub/menu.h (grub_menu_get_default_entry_index):
9599 New prototype.
9600 * normal/menu.c (grub_menu_get_default_entry_index): New function.
9601 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
9602 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
9603 (grub_menu_viewer_should_return): Likewise.
9604 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
9605 * normal/menu_text.c (run_menu): Enable menu switching.
9606 * normal/menu_viewer.c (should_return): New variable.
9607 (menu_viewer_changed): Likewise.
9608 (grub_menu_viewer_show_menu): Handle menu viewer changes.
9609 (grub_menu_viewer_should_return): New function.
9610 (menuviewer_write_hook): Likewise.
9611 (grub_menu_viewer_init): Likewise.
9612
96132010-02-06 Colin D Bennet <colin@gibibit.com>
96142010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9615
9616 Support for gfxterm in a window.
9617
9618 * include/grub/gfxterm.h: New file.
9619 * include/grub/video.h (struct grub_video_rect): New declaration.
9620 (grub_video_rect_t): Likewise.
9621 * term/gfxterm.c (struct grub_gfxterm_window): New type.
9622 (refcount): New variable.
9623 (render_target): Likewise.
9624 (window): Likewise.
9625 (repaint_callback): Likewise.
9626 (grub_virtual_screen_setup): Use 'render_target'.
9627 (init_window): New function.
9628 (grub_gfxterm_init_window): Likewise.
9629 (grub_gfxterm_init): Check reference counter.
9630 Use init_window.
9631 (destroy_window): New function.
9632 (grub_gfxterm_destroy_window): Likewise.
9633 (grub_gfxterm_fini): Check reference counter.
9634 Use destroy_window.
9635 (redraw_screen_rect): Restore viewport.
9636 Use 'render_target' and 'window'.
9637 Call 'repaint_callback'.
9638 (write_char): Use 'render_target'.
9639 (draw_cursor): Likewise.
9640 (scroll_up): Restore viewport.
9641 Use 'render_target' and 'window'.
9642 Call 'repaint_callback'.
9643 (grub_gfxterm_cls): Likewise.
9644 (grub_gfxterm_refresh): Use 'window'.
9645 (grub_gfxterm_set_repaint_callback): New function.
9646 (grub_gfxterm_background_image_cmd): Use 'window'.
9647 (grub_gfxterm_get_term): New function.
9648 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
9649
96502010-02-06 Colin D Bennett <colin@gibibit.com>
9651
9652 Bitmap scaling support.
9653
9654 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
9655 (bitmap_scale_mod_SOURCES): New variable.
9656 (bitmap_scale_mod_CFLAGS): Likewise.
9657 (bitmap_scale_mod_LDFLAGS): Likewise.
9658 * include/grub/bitmap_scale.h: New file.
9659 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
9660 (background_image_cmd_options): New variable.
9661 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
9662 (cmd): Rename and change type to ...
9663 (background_image_cmd_handle): ... this. All users updated.
9664 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
9665 * video/bitmap_scale.c: New file.
9666
96672010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9668
9669 SDL support.
9670
9671 * Makefile.in (LIBSDL): New variable.
9672 (enable_grub_emu_sdl): Likewise.
9673 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
9674 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
9675 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
9676 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
9677 * util/sdl.c: New file.
9678
96792010-02-06 Colin D Bennett <colin@gibibit.com>
96802010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9681
9682 Double buffering support.
9683
9684 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
9685 * include/grub/video.h: Update comment.
9686 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
9687 New type.
9688 (grub_video_fb_doublebuf_blit_init): New prototype.
9689 * term/gfxterm.c (scroll_up): Support double buffering.
9690 (grub_gfxterm_refresh): Likewise.
9691 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
9692 (grub_video_fb_doublebuf_blit_init): Likewise.
9693 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
9694 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
9695 'displayed_page', 'render_page' and 'update_screen'.
9696 (grub_video_vbe_fini): Free offscreen buffer.
9697 (doublebuf_pageflipping_commit): New function.
9698 (doublebuf_pageflipping_update_screen): Likewise.
9699 (doublebuf_pageflipping_init): Likewise.
9700 (double_buffering_init): Likewise.
9701 (grub_video_vbe_setup): Enable doublebuffering.
9702 (grub_video_vbe_swap_buffers): Implement.
9703 (grub_video_vbe_set_active_render_target): Handle double buffering.
9704 (grub_video_vbe_get_active_render_target): Likewise.
9705 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
9706 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
9707 (grub_video_vbe_enable_double_buffering): Likewise.
9708 (grub_video_vbe_swap_buffers): Use update_screen.
9709 (grub_video_set_mode): Use double buffering.
9710
97112010-02-06 Robert Millan <rmh.grub@aybabtu.com>
9712
9713 * maintainance/gentrigtables.py: Remove.
9714 * lib/trig.c: Likewise.
9715
9716 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
9717
9718 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
9719 `trigtables.c'.
9720 (trigtables.c): New rule.
9721 (gentrigtables): Likewise.
9722 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
9723
97242010-02-06 Robert Millan <rmh.grub@aybabtu.com>
9725
9726 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
9727 integer constants.
9728
97292010-02-06 Colin D Bennet <colin@gibibit.com>
9730
9731 Trigonometry support.
9732
9733 * include/grub/trig.h: New file.
9734 * lib/trig.c: Likewise.
9735 * maintainance/gentrigtables.py: Likewise.
9736 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
9737 (trig_mod_SOURCES): New variable.
9738 (trig_mod_CFLAGS): Likewise.
9739 (trig_mod_LDFLAGS): Likewise.
9740
5562834e
VS
97412010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9742
9743 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
9744 disk devices.
9745
4f8528fc
VS
97462010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9747
9748 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
9749 error.
9750
2b4068e9
VS
97512010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9752
9753 * util/hostdisk.c (open_device): Don't use partition device when reading
9754 before the partition.
9755 (grub_util_biosdisk_read): Don't read from partition and before the
9756 partition in single operation.
9757 (grub_util_biosdisk_write): Don't write to partition and before the
9758 partition in single operation.
9759
399f6e4d
TL
97602010-02-03 Torsten Landschoff <torsten@debian.org>
9761
9762 * kern/disk.c (grub_disk_read): Fix offset computation when reading
9763 last sectors.
9764
996649b0
VS
97652010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9766
9767 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
9768 CDROM reads.
9769 (grub_biosdisk_write): Refuse to write to CDROM.
9770
3b205d4d
VS
97712010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9772
9773 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
9774
61e89d9d
VS
97752010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9776
9777 * font/font.c (find_glyph): Check that bmp_idx is available before
9778 using it.
9779 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
9780 with (font == NULL).
9781
bf7fcba2
CS
97822010-01-28 Christian Schmitt <chris@ilovelinux.de>
9783
9784 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
9785
f45d2663
BC
97862010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
9787
9788 * include/grub/script_sh.h (sourcecode): Add const qualifier.
9789 * util/grub-script-check.c (getline): Fix empty lines case.
9790
ec1444e6
RM
97912010-01-28 Robert Millan <rmh.grub@aybabtu.com>
9792
9793 * Makefile.in (check): Exit with fail status when one of the tests
9794 fails.
9795 * tests/example_functional_test.c (example_test): Fix reversed assert.
9796 * tests/example_unit_test.c (example_test): Likewise.
9797
2e1cb9bb
CW
97982010-01-28 Colin Watson <cjwatson@ubuntu.com>
9799
9800 * util/grub.d/10_linux.in: This script does not use any of the
9801 contents of gettext.sh, only the external command `gettext', so stop
9802 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
9803 the same prefix as GRUB.)
9804 * util/grub.d/10_kfreebsd.in: Likewise.
9805
63533ab0
VS
98062010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9807
9808 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
9809 of the line.
9810
989e1f93
VS
98112010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9812
9813 * kern/disk.c (grub_disk_read): Fix offset computation when reading
9814 last sectors.
9815
e709ebe2
VS
98162010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9817
9818 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
9819 having a 4KiB and not 32KiB buffer size.
9820
27dea7ed
RM
98212010-01-27 Robert Millan <rmh.grub@aybabtu.com>
9822
9823 * util/hostfs.c: Include `<errno.h>'.
9824 (grub_hostfs_read): Handle errors from fseeko() and fread().
9825
67667b9c
RM
98262010-01-27 Robert Millan <rmh.grub@aybabtu.com>
9827
9828 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
9829 loop when using read hooks on files whose size isn't sector-aligned.
9830
c294d9d8
RM
98312010-01-27 Robert Millan <rmh.grub@aybabtu.com>
9832
9833 Remove unused parameter.
9834
9835 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
9836 (grub_iso9660_open): Remove initialization of `data->length'.
9837
af75a9f1
RM
98382010-01-27 Robert Millan <rmh.grub@aybabtu.com>
9839
9840 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
9841 memleak conditions.
9842
254e2ce5 98432010-01-27 Carles Pina i Estany <carles@pina.cat>
9844
9845 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
9846 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
9847
b510928c 98482010-01-26 Carles Pina i Estany <carles@pina.cat>
9849
9850 * util/bin2h.c (usage): Fix warning (space after backslash).
9851
aa2f9dd2 98522010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 9853
9854 * font/font.c: Include `grub/fontformat.h.
9855 Remove font file format constants.
9856 (grub_font_load): Use the new macros.
9857 * include/grub/fontformat.h: New file.
9858 * util/grub-mkfont.c: Include `grub/fontformat.c'.
9859 (write_font_pf2): Use the new macros.
9860
94e7e712
RM
98612010-01-26 Robert Millan <rmh.grub@aybabtu.com>
9862
9863 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
9864 does.
9865
3973a59a
RM
98662010-01-26 Robert Millan <rmh.grub@aybabtu.com>
9867
9868 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
9869
9870 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
9871 (_start): Macroify `0x7F'.
9872
9873 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
9874 (make_install_device): Use "(pxe)" as fallback prefix when booting
9875 via PXE.
9876
42e0cba3
GS
98772010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
9878
9879 * configure.ac: Reset LIBS after check for libgcc symbols.
9880
847effd8
CW
98812010-01-25 Colin Watson <cjwatson@ubuntu.com>
9882
9883 * util/hostdisk.c (open_device): Add trailing newline to debug
9884 message.
9885
ea4a7e35
GS
98862010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
9887
9888 * configure.ac: Check for `limits.h'.
9889 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
9890
67951a53
RM
98912010-01-24 Robert Millan <rmh.grub@aybabtu.com>
9892
9893 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
9894 capitalize error strings.
9895
c273d4ce
ST
98962010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
9897
9898 * util/grub.d/10_hurd.in: Add a recovery mode.
9899
69be5b74
VS
99002010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
9901
9902 * configure.ac: Check for libgcc symbols with -nostdlib.
9903
fc9e5810
BC
99042010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
9905
9906 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
9907
4b358c0a
VS
99082010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9909
9910 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
9911 stack since heap may be unavailable at that point.
9912 (grub_ofconsole_gotoxy): Likewise.
9913
454fcd1c
VS
99142010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9915
9916 * configure.ac: Check for _restgpr_14_x.
9917 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
9918 and _savegpr_* prototypes.
9919
566863ca
RM
99202010-01-22 Robert Millan <rmh.grub@aybabtu.com>
9921
9922 Use generic grub_reboot() for i386-efi.
9923
9924 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
9925 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
9926 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
9927
bf86e59a
VS
99282010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9929
9930 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
9931 presence of "prefix" variable as it breaks when normal.mod is
9932 embedded.
9933
d645e0f8
VS
99342010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
9935
9936 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
9937 stack since heap is unavailable at that point.
9938
f9ab2e25
VS
99392010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
9940
9941 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
9942 (grub_freebsd_bootinfo): Rewritten.
9943 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
9944
01fc7054
VS
99452010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
9946
9947 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
9948
caab4fd6
RM
99492010-01-21 Robert Millan <rmh.grub@aybabtu.com>
9950
9951 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
9952 domain now.
9953
67eb1427
FZ
99542010-01-20 Felix Zielcke <fzielcke@z-51.de>
9955
9956 * util/misc.c (make_system_path_relative_to_its_root): Change the work
9957 around for handling "/" to the correct fix. Fix a memory leak. Use
9958 xstrdup instead of strdup.
9959
a9ed4ff3
VS
99602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9961
9962 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
9963
99642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
9965
9966 Optimise glyph lookup by Basic Multilingual Plane lookup array.
9967
9968 * font/font.c (struct grub_font): New member 'bmp_idx'.
9969 (font_init): Initialise 'bmp_idx'.
9970 (load_font_index): Fill 'bmp_idx'.
9971 (find_glyph): Make inline. Use bmp_idx for BMP characters.
9972
48209f4f
VS
99732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9974
9975 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
9976 unnecessary calls.
9977
9f0a4bb7
VS
99782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9979
9980 Move context handling out of the kernel.
9981
9982 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
9983 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
9984 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
9985 * conf/i386-efi.rmk: Likewise.
9986 * conf/i386-ieee1275.rmk: Likewise.
9987 * conf/i386-pc.rmk: Likewise.
9988 * conf/powerpc-ieee1275.rmk: Likewise.
9989 * conf/sparc64-ieee1275.rmk: Likewise.
9990 * conf/x86_64-efi.rmk: Likewise.
9991 * include/grub/env.h: Include grub/menu.h.
9992 (grub_env_var_type): Removed.
9993 (grub_env_var): Replaced field 'type' with 'global'.
9994 (grub_env_find): New prototype.
9995 (grub_env_context_open): Remove EXPORT_FUNC.
9996 (grub_env_context_close): Likewise.
9997 (grub_env_export): Likewise.
9998 (grub_env_set_data_slot): Removed.
9999 (grub_env_get_data_slot): Likewise.
10000 (grub_env_unset_data_slot): Likewise.
10001 (grub_env_unset_menu): New prototype.
10002 (grub_env_set_menu): Likewise.
10003 (grub_env_get_menu): Likewise.
10004 * include/grub/env_private.h: New file.
10005 * include/grub/normal.h (grub_context_init): New prototype.
10006 (grub_context_fini): Likewise.
10007 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
10008 * normal/context.c (grub_cmd_export): ... to here.
10009 * kern/env.c: Include env_private.h.
10010 (HASHSZ): Moved to include/grub/env_private.h.
10011 (grub_env_context): Likewise.
10012 (grub_env_sorted_var): Likewise.
10013 (current_context): Renamed from this ...
10014 (grub_current_context): ...to this. 'static' removed. All users updated.
10015 (grub_env_find): Removed 'static'.
10016 (grub_env_context_open): Moved to normal/context.c.
10017 (grub_env_context_close): Likewise.
10018 (grub_env_export): Likewise.
10019 (mangle_data_slot_name): Removed.
10020 (grub_env_set_data_slot): Likewise.
10021 (grub_env_get_data_slot): Likewise.
10022 (grub_env_unset_data_slot): Likewise.
10023 * kern/main.c (grub_set_root_dev): Don't export root.
10024 It will be done later.
10025 (grub_main): Don't export prefix.
10026 It will be done later.
10027 * normal/context.c: New file.
10028 * normal/main.c (free_menu): Use grub_env_unset_menu.
10029 (grub_normal_add_menu_entry): Use grub_env_get_menu.
10030 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
10031 (GRUB_MOD_INIT(normal)): Call grub_context_init.
10032 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
10033
8dd35b8c
VS
100342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10035
10036 setpci support.
10037
10038 * commands/setpci.c: New file.
10039 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
10040 (setpci_mod_SOURCES): New variable.
10041 (setpci_mod_CFLAGS): Likewise.
10042 (setpci_mod_LDFLAGS): Likewise.
10043
449193d5
VS
100442010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10045
10046 Byte-addressable PCI configuration space.
10047
10048 * bus/pci.c (grub_pci_make_address): Use byte address instead of
10049 dword address.
10050 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
10051 GRUB_PCI_REG_CACHELINE.
10052 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
10053 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
10054 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
10055 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
10056 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
10057 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
10058 grub_pci_make_address.
10059 (lock_rom_area): Likewise.
10060 * commands/lspci.c (grub_lspci_iter): Use macroses
10061 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
10062 of grub_pci_make_address.
10063 * disk/ata.c (grub_ata_pciinit): Likewise.
10064 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
10065 (GRUB_PCI_REG_VENDOR): Likewise.
10066 (GRUB_PCI_REG_DEVICE): Likewise.
10067 (GRUB_PCI_REG_COMMAND): Likewise.
10068 (GRUB_PCI_REG_STATUS): Likewise.
10069 (GRUB_PCI_REG_REVISION): Likewise.
10070 (GRUB_PCI_REG_CLASS): Likewise.
10071 (GRUB_PCI_REG_CACHELINE): Likewise.
10072 (GRUB_PCI_REG_LAT_TIMER): Likewise.
10073 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
10074 (GRUB_PCI_REG_BIST): Likewise.
10075 (GRUB_PCI_REG_ADDRESSES): Likewise.
10076 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10077 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10078 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10079 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10080 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10081 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10082 (GRUB_PCI_REG_CIS_POINTER): Likewise.
10083 (GRUB_PCI_REG_SUBVENDOR): Likewise.
10084 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
10085 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
10086 (GRUB_PCI_REG_CAP_POINTER): Likewise.
10087 (GRUB_PCI_REG_IRQ_LINE): Likewise.
10088 (GRUB_PCI_REG_IRQ_PIN): Likewise.
10089 (GRUB_PCI_REG_MIN_GNT): Likewise.
10090 (GRUB_PCI_REG_MAX_LAT): Likewise.
10091 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
10092 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
10093 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 10094 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
10095 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
10096 space.
10097
96d73208
RM
100982010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10099
10100 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
10101 can be reliably determined to be supported.
10102
d4484482
RM
101032010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10104
10105 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
10106 that VESA is supported.
10107 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
10108 supported.
10109
00308ecf
VS
101102010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10111
10112 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
10113
f66924a4
RM
101142010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10115
10116 * util/misc.c (make_system_path_relative_to_its_root): Work around
10117 special-casing of "/", as previous incarnation of this routine did.
10118
cbca0ada
VS
101192010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10120
10121 Fix any-emu compilation.
10122
10123 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
10124 * grub_bin2h_SOURCES: New variable.
10125
34a66d99
RM
101262010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10127
10128 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
10129
94fabf58
RM
101302010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10131
10132 * util/grub.d/00_header.in: Fix handling of locale_dir.
10133
02cf98ca
VS
101342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10135
10136 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
10137 as possible unifont location (Gentoo).
10138 Reported by: Alexander Brüning
10139
327dbcd7
VS
101402010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10141
10142 Don't try to generate lists for kernel.img.
10143
10144 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
10145 (pkglib_MODULES): Remove kernel.img.
10146 (kernel_img_EXPORTS): Removed.
10147 (kernel_img_RELOCATABLE): New variable.
10148 * conf/x86_64-efi.rmk: Likewise.
10149 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
10150
ca467290
VS
101512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10152
10153 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
10154 grub_xasprintf or grub_snprintf.
10155 (grub_vsprintf): Likewise.
10156 (grub_snprintf): New proto.
10157 (grub_vsnprintf): Likewise.
10158 (grub_xasprintf): Likewise.
10159 (grub_xvasprintf): Likewise.
10160 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
10161 (grub_sprintf): Removed.
10162 (grub_vsnprintf): New function.
10163 (grub_snprintf): Likewise.
10164 (grub_xvasprintf): Likewise.
10165 (grub_xasprintf): Likewise.
10166 (grub_vsprintf): Renamed to ...
10167 (grub_vsnprintf_real): ...this. New argument max_len.
10168
aca655fd
BC
101692010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
10170
10171 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
10172 fix grub-script-check warning.
10173
7ee92c32
VS
101742010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10175
10176 * include/grub/font.h (grub_font_load): Fix prototype.
10177
f80927ca
VS
101782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10179
10180 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
10181
119c50ea
VS
101822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10183
10184 * include/grub/x86_64/at_keyboard.h: New file.
10185
47d5f3c1
VS
101862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10187
10188 * loader/mips/linux.c: Include missing grub/i18n.h.
10189
55ff5266
RM
101902009-12-20 Robert Millan <rmh.grub@aybabtu.com>
10191
10192 * normal/menu.c (notify_execution_failure): Clarify error message.
10193
c893cc87
RM
101942009-12-20 Robert Millan <rmh.grub@aybabtu.com>
10195
10196 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
10197 return value (and revert all return statements). Update users.
10198
917dd370
CW
101992010-01-20 Dan Merillat <debian@dan.merillat.org>
10200
10201 * kern/device.c (grub_device_iterate): Allocate new part_ent
10202 structure based on sizeof (*p) rather than sizeof (p->next), to
10203 account for structure padding.
10204
10205 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
10206 disk is NULL, which might happen for LVM physical volumes with no
10207 LVM signature.
10208
d4a4ee57
RM
102092009-12-20 Robert Millan <rmh.grub@aybabtu.com>
10210
10211 * loader/mips/linux.c (grub_cmd_initrd)
10212 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
10213
102142009-12-20 Robert Millan <rmh.grub@aybabtu.com>
10215
10216 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
10217 (grub_video_video_init, grub_video_bitmap_init)
10218 (grub_font_manager_init, grub_term_gfxterm_init)
10219 (grub_at_keyboard_init): New extern declarations.
10220 (grub_machine_init): Initialize gfxterm and at_keyboard.
10221
10222 * kern/main.c (grub_main): Revert grub_printf delay kludge.
10223
10224 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
10225 `gfxterm.mod' into core image.
10226
10227 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
10228 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
10229 (kernel_img_FORMAT): Copy to ...
10230
10231 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
10232 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
10233 (kernel_img_FORMAT): ... here, and ...
10234
10235 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
10236 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
10237 (kernel_img_FORMAT): ... here.
10238
10239 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
10240 and input (at_keyboard) terminals in kernel.
10241 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
10242
10243 (pkglib_MODULES): Remove `pci.mod'.
10244 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
10245 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
10246 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
10247 (at_keyboard_mod_LDFLAGS): Remove variables.
10248
102492010-01-11 Felix Zielcke <fzielcke@z-51.de>
10250
10251 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
10252
102532009-12-10 Robert Millan <rmh.grub@aybabtu.com>
10254
10255 * include/grub/mips/libgcc.h: Only export symbols for functions
10256 that libgcc provides.
10257
102582009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
10259
10260 MIPS support.
10261
10262 * bus/bonito.c: New file.
10263 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
10264 GRUB_PCI_NUM_DEVICES.
10265 * term/i386/pc/serial.c: Move to ...
10266 * term/serial.c: ... here. All users updated.
10267 * util/i386/pc/grub-mkimage.c: Move to ...
10268 * util/grub-mkrawimage.c: ... here. All users updated.
10269 * term/i386/pc/at_keyboard.c: Move to ...
10270 * term/at_keyboard.c: ... here. All users updated.
10271 * conf/mips-qemu-mips.rmk: New file.
10272 * conf/mips-yeeloong.rmk: Likewise.
10273 * conf/mips.rmk: Likewise.
10274 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
10275 mipsel-qemu-mips.
10276 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
10277 to port addresses.
10278 (grub_ata_pciinit): Support CS5536.
10279 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
10280 * font/font_cmd.c (loadfont_command): Open file before passing it to
10281 grub_font_load.
10282 (pseudo_file_read): New function.
10283 (pseudo_file_close): Likewise.
10284 (pseudo_fs): New structure.
10285 (load_font_module): New function.
10286 (GRUB_MOD_INIT(font_manager)): Load embedded font.
10287 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
10288 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
10289 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
10290 * include/grub/i386/at_keyboard.h: Split into ...
10291 * include/grub/at_keyboard.h: ... this ...
10292 * include/grub/i386/at_keyboard.h: ... and this.
10293 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
10294 New prototype.
10295 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
10296 updated.
10297 (grub_elf64_size): Likewise.
10298 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
10299 filename.
10300 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
10301 * include/grub/i386/coreboot/serial.h: Rewritten.
10302 * include/grub/i386/ieee1275/serial.h: Include
10303 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
10304 * include/grub/i386/pc/serial.h: Moved from here ...
10305 * include/grub/serial.h: ... to here. All users updated.
10306 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
10307 (GRUB_PCI_NUM_BUS): Likewise.
10308 (GRUB_PCI_NUM_DEVICES): Likewise.
10309 (grub_pci_device_map_range): Add missing volatile keyword.
10310 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
10311 * include/grub/mips/at_keyboard.h: New file.
10312 * include/grub/mips/cache.h: Likewise.
10313 * include/grub/mips/io.h: Likewise.
10314 * include/grub/mips/kernel.h: Likewise.
10315 * include/grub/mips/libgcc.h: Likewise.
10316 * include/grub/mips/pci.h: Likewise.
10317 * include/grub/mips/qemu-mips/boot.h: Likewise.
10318 * include/grub/mips/qemu-mips/kernel.h: Likewise.
10319 * include/grub/mips/qemu-mips/loader.h: Likewise.
10320 * include/grub/mips/qemu-mips/memory.h: Likewise.
10321 * include/grub/mips/qemu-mips/serial.h: Likewise.
10322 * include/grub/mips/qemu-mips/time.h: Likewise.
10323 * include/grub/mips/relocator.h: Likewise.
10324 * include/grub/mips/time.h: Likewise.
10325 * include/grub/mips/types.h: Likewise.
10326 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
10327 * include/grub/mips/yeeloong/boot.h: Likewise.
10328 * include/grub/mips/yeeloong/kernel.h: Likewise.
10329 * include/grub/mips/yeeloong/loader.h: Likewise.
10330 * include/grub/mips/yeeloong/memory.h: Likewise.
10331 * include/grub/mips/yeeloong/pci.h: Likewise.
10332 * include/grub/mips/yeeloong/serial.h: Likewise.
10333 * include/grub/mips/yeeloong/time.h: Likewise.
10334 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
10335 * kern/elf.c (grub_elf32_size): New parameter. All users
10336 updated.
10337 (grub_elf64_size): Likewise.
10338 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
10339 Load modules before saying "Welcome to GRUB!".
10340 Call grub_refresh after saying "Welcome to GRUB!".
10341 * kern/mips/cache.S: New file.
10342 * kern/mips/cache_flush.S: Likewise.
10343 * kern/mips/dl.c: Likewise.
10344 * kern/mips/init.c: Likewise.
10345 * kern/mips/qemu-mips/init.c: Likewise.
10346 * kern/mips/startup.S: Likewise.
10347 * kern/mips/yeeloong/init.c: Likewise.
10348 * kern/term.c (grub_putcode): Handle NULL terminal.
10349 (grub_getcharwidth): Likewise.
10350 (grub_getkey): Likewise.
10351 (grub_checkkey): Likewise.
10352 (grub_getkeystatus): Likewise.
10353 (grub_getxy): Likewise.
10354 (grub_getwh): Likewise.
10355 (grub_gotoxy): Likewise.
10356 (grub_cls): Likewise.
10357 (grub_setcolorstate): Likewise.
10358 (grub_setcolor): Likewise.
10359 (grub_getcolor): Likewise.
10360 (grub_refresh): Likewise.
10361 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
10362 (write_jump): Add hatch nop.
10363 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
10364 * lib/mips/setjmp.S: New file.
10365 * loader/mips/linux.c: Likewise.
10366 * term/i386/pc/at_keyboard.c: Move from here ...
10367 * term/at_keyboard.c: ... to here.
10368 * term/i386/pc/serial.c: Moved from here ...
10369 * term/serial.c: ... to here. All users updated.
10370 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
10371 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
10372 (serial_translate_key_sequence): Avoid deadlock.
10373 (grub_serial_getkey): Handle backspace.
10374 (grub_serial_putchar): Fix newline handling.
10375 * util/i386/pc/grub-mkimage.c: Move from here ...
10376 * util/grub-mkrawimage.c: ... to here. All users updated.
10377 (generate_image): New parameters 'font_path' and 'format'.
10378 Support embedding font.
10379 Use grub_host_to_target* instead of grub_cpu_to_le*.
10380 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
10381 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
10382 (options): New option "--font".
10383 (usage): Likewise.
10384 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
10385 (main): Handle "--font".
10386 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
10387 (grub_virtual_screen_setup): Set bg_color_display.
10388 (redraw_screen_rect): Use bg_color_display instead of incorrect
10389 bg_color.
10390 (grub_gfxterm_cls): Likewise.
10391 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
10392 Support embedding config file.
10393 (add_segments): Likewise.
10394 (options): New option "--config".
10395 (main): Handle "--config".
10396 * video/sm712.c: New file.
10397
25c2b5b3
RM
103982010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10399
10400 Fix parallel builds.
10401
10402 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
10403 font.c depend on ascii.h).
10404
104052010-01-12 Carles Pina i Estany <carles@pina.cat>
10406
10407 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
10408
104092010-01-11 Carles Pina i Estany <carles@pina.cat>
10410
10411 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
10412 By default: disabled.
10413 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
10414 parameter.
10415
104162010-01-10 Carles Pina i Estany <carles@pina.cat>
10417
10418 * font/font.c: Update copyright years.
10419 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
10420
104212010-01-10 Carles Pina i Estany <carles@pina.cat>
10422
10423 * font/font.c: Include `ascii.h'.
10424 (ASCII_BITMAP_SIZE): New macro.
10425 (ascii_font_glyph): Define.
10426 (ascii_glyph_lookup): New function.
10427 (grub_font_get_string_width): Change comment. If glyph not found, use
10428 ascii_glyph_lookup.
10429 (grub_font_get_glyph_with_fallback): If glyph not available returns
10430 ascii_glyph_lookup.
10431 * util/grub-mkfont.c (file_formats): New enum.
10432 (options): Add `ascii-bitmaps' new option.
10433 (usage): Add `asii-bitmaps' new option.
10434 (write_font_ascii_bitmap): New function.
10435 (write_font): Rename to ...
10436 (write_font_p2): ... this. Remove print_glyphs call.
10437 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
10438 used. Call print_glyphs.
10439 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
10440
104412010-01-14 Robert Millan <rmh.grub@aybabtu.com>
10442
10443 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
10444 (grub_bin2h_SOURCES): New variable.
10445 * util/bin2h.c: New file.
10446
915fc1b8
VS
104472010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10448
10449 * include/multiboot.h: Resynced with spec.
10450 * include/multiboot2.h: Likewise.
10451 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
10452 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
10453
9444b678
RM
104542010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10455
10456 * include/grub/term.h (grub_term_register_input,
10457 grub_term_register_output): Check return of terminal init()
10458 routines, and abort if errors are raised.
10459
10460 * commands/terminal.c: Update copyright year.
10461
cba98e8d
RM
104622010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10463
10464 * commands/terminal.c (grub_cmd_terminal_input)
10465 (grub_cmd_terminal_output): Check return of terminal init()
10466 routines, and abort if errors are raised.
10467
6f7db5d6
VS
104682010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10469
10470 * include/grub/i386/bsd.h: Fix include pathes.
10471
262bff8d
VS
104722010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10473
10474 Add missing *BSD copyright headers.
10475
10476 * include/grub/aout.h: Add BSD licence.
10477 * include/grub/i386/bsd.h: Parts under different licences moved to ...
10478 * include/grub/i386/freebsd_linker.h: ... here,
10479 * include/grub/i386/freebsd_reboot.h: ... here,
10480 * include/grub/i386/netbsd_bootinfo.h: ... here,
10481 * include/grub/i386/netbsd_reboot.h: ... here,
10482 * include/grub/i386/openbsd_bootarg.h: ... here,
10483 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
10484 licence to each file.
10485
b2cab848
RM
104862010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10487
10488 * acinclude.m4: Remove `nop' assembly instruction; it's not
10489 implemented by all architectures.
10490
2cb6be4b
RM
104912010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10492
10493 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
10494 ELILO. This is no longer necessary.
10495
a2eaee15
BC
104962010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
10497
10498 Added new tool, grub-scrit-check to verify grub.cfg syntax.
10499
10500 * util/grub-script-check.c: grub-script-check tool.
10501 * conf/common.rmk: Make rules for grub-script-check.
10502
88d17012
RM
105032010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10504
10505 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
10506 spotting it back in 2008. Shame on me for forgetting he did.
10507
10508 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
10509
8040619d
RM
105102010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10511
10512 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
10513 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
10514 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
10515 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
10516 (GRUB_VIDEO_TYPE_EFI): Rename to ...
10517 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
10518
a0c2a0f6
RM
105192010-01-17 Robert Millan <rmh.grub@aybabtu.com>
10520
10521 * include/grub/test.h: Add license header.
10522 * tests/example_functional_test.c: Likewise.
10523 * tests/example_unit_test.c: Likewise.
10524 * tests/lib/functional_test.c: Likewise.
10525 * tests/lib/test.c: Likewise.
10526 * tests/lib/unit_test.c: Likewise.
10527
b0b13907
VS
105282010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
10529
10530 Use flag-based instead of hook-based video mode selection and "auto"
10531 keyword.
10532
10533 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
10534 (grub_video_set_mode): Changed prototype. All users updated.
10535 (grub_video_check_mode_flag): New inline function.
10536 * video/video.c (parse_modespec): New function.
10537 (grub_video_set_mode): Parse flags and keywords.
10538
ea379330 105392010-01-17 Carles Pina i Estany <carles@pina.cat>
10540
10541 * util/misc.c (grub_util_info): Fix the order of the parameters in a
10542 fprintf call.
10543
e15c215e
FZ
105442010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
10545
10546 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
10547
409ae1c9 105482010-01-16 Carles Pina i Estany <carles@pina.cat>
10549
10550 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
10551 string.
10552 * util/grub-emu.c (usage): Likewise.
10553 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
10554 * util/i386/efi/grub-mkimage.c (usage): Likewise.
10555 * util/i386/pc/grub-mkimage.c (usage): Likewise.
10556 * util/i386/pc/grub-setup.c (usage): Likewise.
10557
70a14d3d 105582010-01-16 Carles Pina i Estany <carles@pina.cat>
10559
10560 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
10561 the message.
10562 (grub_util_info): Likewise.
10563 (grub_util_error): Likewise.
10564 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
10565 and/or new lines in `grub_util_warna', `grub_util_info',
10566 `grub_util_error' calls.
10567 * util/getroot.c: Likewise.
10568 * util/grub-editenv.c: Likewise.
10569 * util/grub-emu.c: Likewise.
10570 * util/grub-fstest.c: Likewise.
10571 * util/grub-mkdevicemap.c: Likewise.
10572 * util/grub-mkfont.c: Likewise.
10573 * util/grub-mkpasswd-pbkdf2.c: Likewise.
10574 * util/grub-mkrelpath.c: Likewise.
10575 * util/grub-pe2elf.c: Likewise.
10576 * util/grub-probe.c: Likewise.
10577 * util/hostdisk.c: Likewise.
10578 * util/i386/efi/grub-mkimage.c: Likewise.
10579 * util/i386/pc/grub-mkimage.c: Likewise.
10580 * util/i386/pc/grub-setup.c: Likewise.
10581 * util/ieee1275/ofpath.c: Likewise.
10582 * util/mkisofs/eltorito.c: Likewise.
10583 * util/mkisofs/rock.c: Likewise.
10584 * util/mkisofs/write.c: Likewise.
10585 * util/raid.c: Likewise.
10586 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
10587 * util/sparc64/ieee1275/grub-setup.c: Likewise.
10588
a0b766fc
VS
105892010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
10590
10591 Enable multiboot on non-pc.
10592
10593 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
10594 multiboot.mod and multiboot2.mod to ...
10595 * conf/i386.rmk (pkglib_MODULES): ... here.
10596 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
10597 Moved to ...
10598 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
10599 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
10600 Moved to ...
10601 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
10602 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
10603 Moved to ...
10604 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
10605 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
10606 Moved to ...
10607 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
10608 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
10609 relocator.mod.
10610 (ata_mod_SOURCES): Removed.
10611 (ata_mod_CFLAGS): Likewise.
10612 (ata_mod_LDFLAGS): Likewise.
10613 (relocator_mod_SOURCES): Removed.
10614 (relocator_mod_CFLAGS): Likewise.
10615 (relocator_mod_ASFLAGS): Likewise.
10616 (relocator_mod_LDFLAGS): Likewise.
10617 Include i386.mk.
10618 * include/grub/x86_64/multiboot.h: New file.
10619 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
10620 Terminate EFI.
10621
884ade56
VS
106222010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
10623
10624 Video multiboot support.
10625
10626 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
10627 New prototype.
10628 * include/multiboot.h: Resynced with multiboot specification.
10629 * include/multiboot2.h: Likewise.
10630 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
10631 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
10632 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
10633 (HAS_VGA_TEXT): Likewise.
10634 (accepts_video): New variable.
10635 (grub_multiboot_set_accepts_video): New function.
10636 (grub_multiboot_get_mbi_size): Account for video structures.
10637 (set_video_mode): New function.
10638 (retrieve_video_parameters): Likewise.
10639 (grub_multiboot_make_mbi): Fill video fields.
10640
0d90e8a6
VS
106412010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
10642
10643 Video driver ids.
10644
10645 * include/grub/video.h (grub_video_driver_id): New type.
10646 (grub_video_adapter): New member 'id'. All users updated.
10647 (grub_video_get_driver_id): New proto.
10648 * video/video.c (grub_video_get_driver_id): New function.
10649
5c71db1b 106502010-01-14 Carles Pina i Estany <carles@pina.cat>
10651
10652 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
10653 `var=val'.
10654
cca15b52 106552010-01-14 Carles Pina i Estany <carles@pina.cat>
10656
10657 * normal/cmdline.c (print_completion): Gettextizze.
10658
c586fbb2 106592001-01-14 Carles Pina i Estany <carles@pina.cat>
10660
10661 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
10662
ba2f6848 106632010-01-14 Carles Pina i Estany <carles@pina.cat>
10664
10665 * gettext/gettext.c (grub_gettext_translate): Push and pop
10666 grub_errno.
10667 (grub_gettext_delete_list): Change comment style.
10668 * kern/err.c (grub_error): Gettextizze.
10669 (grub_fatal): Gettextizze.
10670
0a46429a
RM
106712010-01-14 Robert Millan <rmh.grub@aybabtu.com>
10672
10673 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
10674 (grub_linux16_real_boot): ... this.
10675 * kern/i386/loader.S: Likewise.
10676 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
10677 (grub_linux16_boot): New function. Switches to text mode and calls
10678 grub_linux16_real_boot().
10679
10680 * loader/i386/bsd.c: Include `<grub/video.h>'.
10681 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
10682 text mode before calling grub_unix_real_boot().
10683
10684 * loader/i386/multiboot.c: Include `<grub/video.h>'.
10685 (grub_multiboot_boot): Switch to text mode before calling
10686 grub_relocator32_boot().
10687
10688 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
10689 (grub_chainloader_boot): Switch to text mode before calling
10690 grub_chainloader_real_boot().
10691
d6f93a66
RM
106922010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
106932010-01-05 Colin Watson <cjwatson@ubuntu.com>
10694
10695 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
10696 non-empty value.
10697
106982010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
106992010-01-05 Colin Watson <cjwatson@ubuntu.com>
10700
10701 * util/grub.d/00_header.in: Define a "savedefault" function for use
10702 in menu entries.
10703 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
10704
107052010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
107062010-01-05 Colin Watson <cjwatson@ubuntu.com>
10707
10708 * util/grub-mkconfig_lib.in (save_default_entry): Only set
10709 saved_entry if boot_once is unset.
10710 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
10711 previous saved entry (i.e. grub-reboot).
10712
107132009-12-08 Colin Watson <cjwatson@ubuntu.com>
10714
10715 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
10716
107172009-12-08 Colin Watson <cjwatson@ubuntu.com>
10718
10719 * util/grub.d/00_header.in: Use `set var=val' rather than plain
10720 `var=val'.
10721 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
10722
107232009-12-08 Colin Watson <cjwatson@ubuntu.com>
10724
10725 * util/grub-reboot.in: Fix --version output.
10726 * util/grub-set-default.in: Likewise.
10727
107282009-12-08 Colin Watson <cjwatson@ubuntu.com>
10729
10730 * util/grub.d/00_header.in: Silently ignore zero-sized environment
10731 blocks.
10732
107332009-12-08 Colin Watson <cjwatson@ubuntu.com>
10734
10735 * util/grub.d/00_header.in: Quote the value assigned to `default',
10736 in case it contains spaces.
10737
107382009-12-08 Colin Watson <cjwatson@ubuntu.com>
10739
10740 * util/grub.d/30_os-prober.in: Fix merge error that moved a
10741 `save_default_entry' call from the macosx case to the linux case.
10742
107432009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
107442009-10-25 Colin Watson <cjwatson@ubuntu.com>
10745
10746 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
10747 in `chosen' environment variable.
10748 * normal/menu_text.c (get_entry_number): Check if the variable
10749 matches the title of a menu entry.
10750 (run_menu): Pass menu to get_entry_number.
10751
10752 * util/grub-reboot.in: New file.
10753 * util/grub-set-default.in: New file.
10754 * conf/common.rmk (grub-reboot): New utility.
10755 (grub-set-default): New utility.
10756
10757 * util/grub-mkconfig_lib.in (save_default_entry): New function.
10758 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
10759 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
10760 move it to `saved_entry' for the next boot. Load environment on
10761 initialisation.
10762 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
10763 * util/grub.d/10_hurd.in: Likewise.
10764 * util/grub.d/10_linux.in (linux_entry): Likewise.
10765 * util/grub.d/10_windows.in: Likewise.
10766 * util/grub.d/30_os-prober.in: Likewise.
10767
10768 * util/grub-install.in: Create environment block.
10769 * util/i386/efi/grub-install.in: Likewise.
10770 * util/ieee1275/grub-install.in: Likewise.
10771 * util/sparc64/ieee1275/grub-install.in: Likewise.
10772
0934d184
BC
107732010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
10774
10775 Unit testing framework for GRUB.
10776
10777 * Makefile.in: Test framework build rules for 'make check'.
10778 * conf/tests.rmk: Build rules for individual tests and framework.
10779
10780 * include/grub/test.h: Header file for whitebox tests.
10781 * tests/lib/functional_test.c: Framework support for whitebox
10782 functional tests.
10783 * tests/lib/test.c: Common whitebox testing code for unit and
10784 functional tests.
10785 * tests/lib/unit_test.c: Framework support for whitebox unit
10786 tests.
10787
10788 * tests/util/grub-shell-tester.in: Support utility for grub-script
10789 tests.
10790 * tests/util/grub-shell.in: Utility to execute grub-script
10791 commands in a Qemu instance.
10792
10793 * tests/example_functional_test.c: Example whitebox functional
10794 test.
10795 * tests/example_grub_script_test.in: Example grub-script test.
10796 * tests/example_scripted_test.in: Example scripted test.
10797 * tests/example_unit_test.c: Example whitebox unit test.
10798
9c4ffeeb
VS
107992010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10800
10801 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
10802 Add loader/i386/multiboot_mbi.c.
10803 (multiboot2_mod_SOURCES): Likewise.
10804 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
10805 (multiboot2_mod_SOURCES): Likewise.
10806 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
10807 (grub_multiboot_make_mbi): Likewise.
10808 (grub_multiboot_free_mbi): Likewise.
10809 (grub_multiboot_init_mbi): Likewise.
10810 (grub_multiboot_add_module): Likewise.
10811 (grub_multiboot_set_bootdev): Likewise.
10812 * loader/i386/multiboot.c (mbi): Removed.
10813 (mbi_dest): Likewise.
10814 (alloc_mbi): New variable.
10815 (grub_multiboot_payload_size): Removed. All users updated.
10816 (grub_multiboot_pure_size): New variable.
10817 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
10818 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
10819 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
10820 (grub_fill_multiboot_mmap): Likewise.
10821 (grub_multiboot_get_bootdev): Likewise.
10822 (grub_multiboot): Use multiboot_mbi functions.
10823 * loader/i386/multiboot_mbi.c: New file.
10824
17383dfe
VS
108252010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10826
10827 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
10828 it would result in module crash.
10829
c1f28820
VS
108302010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10831
10832 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
10833 (grub_ofconsole_getwh): Split to ...
10834 (grub_ofconsole_getwh): ... this.
10835 (grub_ofconsole_dimensions): ...and this.
10836 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
10837
58655a16
RM
108382010-01-13 Robert Millan <rmh.grub@aybabtu.com>
10839
10840 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
10841
10891398
VS
108422010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10843
10844 * loader/i386/pc/multiboot2.c: Removed stalled file.
10845
0b8a223c
VS
108462010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10847
10848 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
10849 Reported by: Grégoire Sutre
10850
92ab12b0
RM
108512010-01-11 Robert Millan <rmh.grub@aybabtu.com>
10852
10853 * util/misc.c (canonicalize_file_name): New function.
10854 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
10855 instead of realpath().
10856
a788afb6
CW
108572010-01-11 Colin Watson <cjwatson@ubuntu.com>
10858
10859 * util/grub-install.in (usage): Clarify meaning of --root-directory,
10860 and make it clearer that it's optional. Based on confusion
10861 witnessed on IRC.
10862
ffa8e3d2
VS
108632010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10864
10865 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
10866 in premature implicit newline.
10867
e9060a9d
VS
108682010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10869
10870 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
10871 which resulted in garbled command line at the end of screen.
10872
f0d0c0b7
RM
108732010-01-10 Robert Millan <rmh.grub@aybabtu.com>
10874
10875 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
10876 initialization with similar approach as with other Linux loaders.
10877
0e60bae7
RM
108782010-01-10 Robert Millan <rmh.grub@aybabtu.com>
10879
10880 Fix i386-ieee1275 build.
10881
10882 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
10883 and grub_term_height() for video_{width,height} initialization.
10884
108852010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
10886
10887 Fix grub-emu build.
10888
10889 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
10890
cdb3f378
RM
108912010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
108922010-01-09 Robert Millan <rmh.grub@aybabtu.com>
10893
10894 Support for multiple terminals.
10895
10896 * Makefile.in (pkglib_DATA): terminal.lst.
10897 (terminal.lst): New target.
10898 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
10899 (GRUB_MOD_INIT(handler)): Likewise.
10900 (GRUB_MOD_FINI(handler)): Likewise.
10901 * commands/help.c (grub_cmd_help): Handle multiple terminals.
10902 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
10903 * commands/sleep.c (do_print): Use grub_term_restore_pos.
10904 (grub_cmd_sleep): Use grub_term_save_pos.
10905 * commands/terminal.c: New file.
10906 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
10907 commands/terminal.c and lib/charset.c.
10908 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
10909 (pkglib_MODULES): Add terminal.mod.
10910 (terminal_mod_SOURCES): New variable.
10911 (terminal_mod_CFLAGS): Likewise.
10912 (terminal_mod_LDFLAGS): Likewise.
10913 * genhandlerlist.sh: Don't handle terminals.
10914 * genmk.rb: Generate terminal-*.lst.
10915 * genterminallist.sh: New file.
10916 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
10917 (grub_is_valid_utf8): Likewise.
10918 (grub_utf8_to_ucs4_alloc): Likewise.
10919 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
10920 (grub_menu_register_viewer): Changed argument.
10921 (grub_menu_try_text): New proto.
10922 (grub_gfxmenu_try_hook): New declaration.
10923 * include/grub/normal.h (grub_normal_exit_level): New declaration.
10924 (grub_menu_init_page): Additional argument term.
10925 (grub_normal_init_page): Likewise.
10926 (grub_cmdline_get): Arguments simplified.
10927 (grub_utf8_to_ucs4_alloc): Removed.
10928 (grub_print_ucs4): Additional argument term.
10929 (grub_getstringwidth): Likewise.
10930 (grub_print_message_indented): Likewise.
10931 (grub_menu_text_register_instances): New proto.
10932 (grub_show_menu): Likewise.
10933 (read_terminal_list): Likewise.
10934 (grub_set_more): Likewise.
10935 * include/grub/parser.h: Include handler.h.
10936 * include/grub/reader.h: Rewritten.
10937 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
10938 (GRUB_TERM_WIDTH): Changed to function.
10939 (GRUB_TERM_HEIGHT): Likewise.
10940 (GRUB_TERM_BORDER_WIDTH): Likewise.
10941 (GRUB_TERM_BORDER_HEIGHT): Likewise.
10942 (GRUB_TERM_NUM_ENTRIES): Likewise.
10943 (GRUB_TERM_ENTRY_WIDTH): Likewise.
10944 (GRUB_TERM_CURSOR_X): Likewise.
10945 (grub_term_input_class): Likewise.
10946 (grub_term_output_class): Likewise.
10947 (grub_term_outputs_disabled): New declaration.
10948 (grub_term_inputs_disabled): Likewise.
10949 (grub_term_outputs): Likewise.
10950 (grub_term_inputs): Likewise.
10951 (grub_term_register_input): Rewritten.
10952 (grub_term_register_output): Likewise.
10953 (grub_term_unregister_input): Likewise.
10954 (grub_term_unregister_output): Likewise.
10955 (FOR_ACTIVE_TERM_INPUTS): New macro.
10956 (FOR_DISABLED_TERM_INPUTS): Likewise.
10957 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
10958 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
10959 * include/grub/terminfo.h: Add oterm argument to all protypes.
10960 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
10961 Use grub_rescue_run.
10962 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
10963 All users updated.
10964 * kern/reader.c: Removed. All users updated.
10965 * kern/rescue_reader.c (grub_rescue_init): Removed.
10966 (grub_rescue_reader): Likewise.
10967 (grub_register_rescue_reader): Likewise.
10968 (grub_rescue_run): New function based on kern/reader.c.
10969 * kern/term.c: Adapted for multiterm.
10970 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
10971 (grub_is_valid_utf8): Likewise.
10972 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
10973 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
10974 right terminal.
10975 * loader/i386/linux.c (grub_linux_boot): Likewise.
10976 * normal/auth.c (grub_username_get): New function.
10977 (grub_auth_check_authentication): Use grub_username_get.
10978 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
10979 * normal/color.c: Adapt for multiterm.
10980 * normal/main.c (read_config_file): Don't use grub_reader_loop.
10981 (grub_normal_init_page): Additional argument term.
10982 (read_lists): Call read_terminal_lists.
10983 (grub_enter_normal_mode): Call grub_cmdline_run.
10984 Handle grub_normal_exit_level.
10985 (grub_cmd_normal): Make reentrant.
10986 (grub_cmd_normal_exit): New function.
10987 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
10988 * normal/menu.c: Adapt for multiterm.
10989 * normal/menu_entry.c: Likewise.
10990 * normal/menu_text.c: Likewise.
10991 * normal/menu_viewer.c: Removed. All users updated.
10992 * normal/term.c: New file.
10993 * util/console.c: Change order of includes to workaround a bug in
10994 ncurses headers.
10995 * term/terminfo.c: New argument oterm on all exported functions.
10996 All users updated.
10997 * util/grub-editenv.c (grub_term_input_class): Removed.
10998 (grub_term_output_class): Likewise.
10999
1a064917
RM
110002010-01-09 Robert Millan <rmh.grub@aybabtu.com>
11001
11002 Make loader output a bit more user-friendly.
11003
11004 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
11005 is being loaded. Likewise for the Hurd.
11006
11007 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
11008 that kernel of FreeBSD ${version} is being loaded.
11009
11010 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
11011 grub_dprintf().
11012 (grub_cmd_initrd): Likewise.
11013 * util/grub.d/10_linux.in (linux_entry): Print message indicating
11014 that Linux ${version} is being loaded. Likewise for initrd.
11015
5ce0a83a 110162010-01-09 Carles Pina i Estany <carles@pina.cat>
11017
11018 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
11019
809bbfeb 110202010-01-08 Carles Pina i Estany <carles@pina.cat>
11021
11022 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
11023 (GRUB_MOD_INIT): Gettextizze.
11024 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
11025 (GRUB_MOD_INIT): Gettextizze.
11026 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
11027 (grub_cmd_linux): Capitalise Linux.
11028 (GRUB_MOD_INIT): Gettextizze.
11029 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
11030 (grub_cmd_linux): Capitalise Linux.
11031 (GRUB_MOD_INIT): Gettextizze.
11032 * loader/i386/linux.c: Include `<grub/i18n.h>'.
11033 (grub_cmd_linux): Capitalise Linux.
11034 (GRUB_MOD_INIT): Gettextizze.
11035 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
11036 (GRUB_MOD_INIT): Gettextizze.
11037 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
11038 (grub_cmd_linux): Capitalise Linux.
11039 (GRUB_MOD_INIT): Gettextizze.
11040 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
11041 (grub_cpu_xnu_init): Gettextizze.
11042 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
11043 (GRUB_MOD_INIT): Gettextizze.
11044 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
11045 (GRUB_MOD_INIT): Gettextizze.
11046 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
11047 (grub_linux_load64): Capitalise Linux.
11048 (GRUB_MOD_INIT): Gettextizze.
11049 * loader/xnu.c: Include `<grub/i18n.h>'.
11050 (GRUB_MOD_INIT): Gettextizze.
11051 * po/POTFILES: Add `loader/efi/appleloader.c',
11052 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
11053 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
11054 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
11055 `loader/i386/xnu.c', `loader/multiboot_loader.c',
11056 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
11057 and `loader/xnu.c'.
11058
b394b2ca
RM
110592010-01-08 Robert Millan <rmh.grub@aybabtu.com>
11060
11061 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
11062
110632010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
11064
11065 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
11066 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
11067 * util/mkisofs/mkisofs.c (main): Readjust --version output.
11068
bc8b32b3
RM
110692010-01-07 Robert Millan <rmh.grub@aybabtu.com>
11070
11071 Reset Multiboot 2 support. New loader implements the draft in
11072 /branches/multiboot2 and shares as much code as possible with the
11073 production Multiboot 1 implementation.
11074
11075 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
11076 * loader/multiboot2.c: Likewise.
11077 * loader/i386/multiboot_helper.S: Likewise.
11078 * include/multiboot2.h: Replace with latest version from the draft
11079 in /branches/multiboot2.
11080
11081 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
11082 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
11083 and `loader/multiboot2.c'.
11084 (pkglib_MODULES): Add `multiboot2.mod'.
11085 (multiboot2_mod_SOURCES): New variable.
11086 (multiboot2_mod_LDFLAGS): Likewise.
11087 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
11088
11089 * conf/i386-pc.rmk: Likewise.
11090
11091 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
11092 (multiboot_mod_SOURCES): Remove variable.
11093 (multiboot_mod_LDFLAGS): Likewise.
11094 (multiboot_mod_CFLAGS): Likewise.
11095
11096 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
11097 `<multiboot2.h>' instead of `<multiboot.h>'.
11098 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
11099 (MULTIBOOT_HEADER_MAGIC): New macros.
11100
11101 * loader/multiboot_loader.c (module_version_status): Remove variable.
11102 (find_multi_boot2_header): Remove function.
11103 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
11104 logic. Always check for the Multiboot version we're compiling for.
11105 (grub_cmd_module_loader): Likewise.
11106 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
11107 command instead of `multiboot'.
11108
5d2c52b8
RM
111092010-01-07 Robert Millan <rmh.grub@aybabtu.com>
11110
11111 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
11112 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
11113 all users.
11114
53108d92
RM
111152010-01-07 Robert Millan <rmh.grub@aybabtu.com>
111162010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11117
11118 Fix breakage introduced with previous commit.
11119
11120 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
11121 commands.
11122 * normal/handler.c (read_handler_list): Revert part of previous commit
11123 affecting this file.
11124 * normal/main.c (read_lists): Move read_handler_list() call back to ...
11125 (grub_normal_execute): ... here.
11126
e2e936b2
RM
111272010-01-07 Robert Millan <rmh.grub@aybabtu.com>
11128
11129 Merge prefix-redefinition-fix branch.
11130
11131 * normal/autofs.c (read_fs_list): Make function capable of being
11132 run multiple times, gracefuly replacing the previous data
11133 structures.
11134 * normal/dyncmd.c (read_command_list): Likewise.
11135 * normal/handler.c (read_handler_list): Likewise.
11136 * normal/main.c (read_lists): New function. Calls all the
11137 list reading functions.
11138 (grub_normal_execute): Use read_lists() instead of calling all
11139 list reading functions explicitly. Register read_lists() as a
11140 variable hook attached to ${prefix}.
11141
607a3701
VS
111422010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11143
11144 Merge crypto branch.
11145
11146 * Makefile.in (pkglib_DATA): Add crypto.lst.
11147 (crypto.lst): New target.
11148 * commands/hashsum.c: New file.
11149 * commands/password.c (check_password): Use grub_crypto_memcmp.
11150 * commands/password_pbkdf2.c: New file.
11151 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
11152 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
11153 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
11154 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
11155 -I$(srcdir)/lib/libgcrypt_wrap.
11156 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
11157 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
11158 password_pbkdf2.mod.
11159 (crypto_mod_SOURCES): New variable.
11160 (crypto_mod_CFLAGS): Likewise.
11161 (crypto_mod_LDFLAGS): Likewise.
11162 (hashsum_mod_SOURCES): New variable.
11163 (hashsum_mod_CFLAGS): Likewise.
11164 (hashsum_mod_LDFLAGS): Likewise.
11165 (pbkdf2_mod_SOURCES): New variable.
11166 (pbkdf2_mod_CFLAGS): Likewise.
11167 (pbkdf2_mod_LDFLAGS): Likewise.
11168 (password_pbkdf2_mod_SOURCES): New variable.
11169 (password_pbkdf2_mod_CFLAGS): Likewise.
11170 (password_pbkdf2_mod_LDFLAGS): Likewise.
11171 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
11172 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
11173 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
11174 Include conf/gcry.rmk.
11175 * include/grub/auth.h: Rewritten.
11176 * include/grub/crypto.h: New file.
11177 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
11178 * include/grub/normal.h (read_crypto_list): New prototype.
11179 * lib/crypto.c: New file.
11180 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
11181 * lib/pbkdf2.c: Likewise.
11182 * normal/auth.c (grub_auth_strcmp): Removed.
11183 (grub_iswordseparator): Likewise.
11184 (grub_auth_strword): Likewise.
11185 (is_authenticated): Use grub_strword.
11186 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
11187 and grub_strword. Pass entered password to authentication callback.
11188 * normal/crypto.c: New file.
11189 * normal/main.c: Call read_crypto_list.
11190 * util/grub-mkpasswd-pbkdf2.c: New file.
11191 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
11192
42841caa
VS
111932010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
11194
11195 Fix descent and ascent calculation.
11196
11197 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
11198 (options): New option "asce".
11199 (usage): Likewise.
11200 (add_char): Ignore invalid glyphs for descent calculation.
11201 Calculate ascent from actual content.
11202 (print_glyphs): Use 'asce'.
11203 (write_font): Likewise. Allow ascent override.
11204 (main): Handle "asce" option.
11205
e7730de7 112062010-01-06 Carles Pina i Estany <carles@pina.cat>
11207
11208 * kern/err.c: Include `<grub/i18n.h>'.
11209 (grub_print_error): Add full stop. Gettextizze.
11210 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
11211 (grub_bsd_load_elf): Capitalise ELF.
11212 (grub_cmd_freebsd_loadenv): Add `s' in error string.
11213 (grub_cmd_freebsd_module): Likewise.
11214 (grub_cmd_freebsd_module_elf): Likewise.
11215 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
11216
40e3a41f 112172010-01-06 Carles Pina i Estany <carles@pina.cat>
11218
11219 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
11220 * commands/search_file.c (HELP_MESSAGE): New macro.
11221 * commands/search_label.c (HELP_MESSAGE): Likewise.
11222 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
11223 * po/POTFILES: Add `commands/search_file.c',
11224 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
11225 `commands/search.c'.
11226
83507e68
RM
112272010-01-05 Robert Millan <rmh.grub@aybabtu.com>
11228
11229 * config.rpath: Update from Gnulib.
11230
465c787b
YB
112312010-01-05 Yves Blusseau <blusseau@zetam.org>
11232
11233 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
11234
6581dd3a
YB
112352010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
11236
11237 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
11238
3bff18c5
CW
112392010-01-05 Colin Watson <cjwatson@ubuntu.com>
11240
11241 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
11242 arguments to fread so that we get a return value in bytes, rather
11243 than something that will normally be rounded down to 0.
11244 Adjust error handling to avoid producing garbage when size_t is not
11245 the same size as long long.
11246
a1368118
CW
112472010-01-05 Colin Watson <cjwatson@ubuntu.com>
11248
11249 * util/mkisofs/write.c (padblock_write): Check return value of
11250 fread.
11251
7c302978
RM
112522010-01-05 Robert Millan <rmh.grub@aybabtu.com>
11253
11254 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
11255 floppy images now.
11256
11257 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
11258
e33ace06
RM
112592010-01-04 Robert Millan <rmh.grub@aybabtu.com>
11260
11261 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
11262 instead of manual alignment.
11263 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
11264 verbose). Avoid attempts to read past end of the device
11265 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
11266 but GRUB_DISK_CACHE_SIZE may exceed that).
11267
4b856776
RM
112682010-01-04 Robert Millan <rmh.grub@aybabtu.com>
11269
11270 * commands/crc.c (grub_cmd_crc): Abort on read errors.
11271 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
11272 it to upper layer.
11273
52c2d97f
VS
112742010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11275
11276 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
11277 New constant.
11278 (grub_efi_piwg_device_path): New structure
11279 (grub_efi_piwg_device_path_t): New type.
11280 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
11281 (devpath_1): Transform to a structure. All users updated.
11282 (devpath_2): Likewise.
11283 (devpath_3): Likewise.
11284 (devpath_4): Likewise.
11285 (devpath_5): Likewise.
11286
98ff6a54
VS
112872010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11288
11289 * loader/efi/appleloader.c: Restored. Update all users.
11290
3a73dcb6
RM
112912010-01-03 Robert Millan <rmh.grub@aybabtu.com>
11292
11293 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
11294
11295 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
11296 (struct boot_blocklist): Move from here ...
11297 * include/grub/i386/pc/boot.h [ASM_FILE]
11298 (struct grub_boot_blocklist): ... to here. Update all users.
11299 (setup): Only initialize `start' member of `first_block'
11300 structure. Add assert() calls to verify the other members.
11301
11302 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
11303 (generate_image): Fix broken blocklist length initialization.
11304 Add assert() call to verify blocklist `segment' field.
11305
ab0eeb0c
RM
113062010-01-03 Robert Millan <rmh.grub@aybabtu.com>
11307
11308 * loader/efi/appleloader.c: Remove. Update all users.
11309
58bc8bd5
RM
113102010-01-03 Robert Millan <rmh.grub@aybabtu.com>
11311
11312 * boot/i386/pc/boot.S: Update copyright year.
11313 * boot/i386/pc/cdboot.S: Likewise.
11314 * boot/i386/pc/diskboot.S: Likewise.
11315 * boot/i386/pc/lnxboot.S: Likewise.
11316 * boot/i386/pc/pxeboot.S: Likewise.
11317 * bus/pci.c: Likewise.
11318 * commands/cmp.c: Likewise.
11319 * commands/help.c: Likewise.
11320 * commands/hexdump.c: Likewise.
11321 * commands/i386/pc/halt.c: Likewise.
11322 * commands/i386/pc/play.c: Likewise.
11323 * commands/i386/pc/vbeinfo.c: Likewise.
11324 * commands/ls.c: Likewise.
11325 * commands/test.c: Likewise.
11326 * disk/dmraid_nvidia.c: Likewise.
11327 * disk/i386/pc/biosdisk.c: Likewise.
11328 * disk/ieee1275/nand.c: Likewise.
11329 * disk/ieee1275/ofdisk.c: Likewise.
11330 * disk/lvm.c: Likewise.
11331 * disk/raid.c: Likewise.
11332 * disk/raid6_recover.c: Likewise.
11333 * disk/scsi.c: Likewise.
11334 * fs/affs.c: Likewise.
11335 * fs/cpio.c: Likewise.
11336 * fs/ext2.c: Likewise.
11337 * fs/hfs.c: Likewise.
11338 * fs/iso9660.c: Likewise.
11339 * fs/ntfs.c: Likewise.
11340 * fs/sfs.c: Likewise.
11341 * fs/udf.c: Likewise.
11342 * fs/ufs.c: Likewise.
11343 * fs/xfs.c: Likewise.
11344 * gencmdlist.sh: Likewise.
11345 * genmk.rb: Likewise.
11346 * include/grub/disk.h: Likewise.
11347 * include/grub/efi/api.h: Likewise.
11348 * include/grub/efi/efi.h: Likewise.
11349 * include/grub/efi/pe32.h: Likewise.
11350 * include/grub/elf.h: Likewise.
11351 * include/grub/fs.h: Likewise.
11352 * include/grub/i386/at_keyboard.h: Likewise.
11353 * include/grub/i386/pc/memory.h: Likewise.
11354 * include/grub/i386/pc/vbe.h: Likewise.
11355 * include/grub/i386/pci.h: Likewise.
11356 * include/grub/i386/tsc.h: Likewise.
11357 * include/grub/ieee1275/ieee1275.h: Likewise.
11358 * include/grub/ntfs.h: Likewise.
11359 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
11360 * include/grub/sparc64/libgcc.h: Likewise.
11361 * include/grub/symbol.h: Likewise.
11362 * include/grub/types.h: Likewise.
11363 * include/multiboot2.h: Likewise.
11364 * io/gzio.c: Likewise.
11365 * kern/device.c: Likewise.
11366 * kern/disk.c: Likewise.
11367 * kern/efi/efi.c: Likewise.
11368 * kern/efi/mm.c: Likewise.
11369 * kern/elf.c: Likewise.
11370 * kern/file.c: Likewise.
11371 * kern/i386/dl.c: Likewise.
11372 * kern/i386/pc/init.c: Likewise.
11373 * kern/i386/pc/startup.S: Likewise.
11374 * kern/ieee1275/ieee1275.c: Likewise.
11375 * kern/ieee1275/init.c: Likewise.
11376 * kern/main.c: Likewise.
11377 * kern/mm.c: Likewise.
11378 * kern/powerpc/dl.c: Likewise.
11379 * kern/sparc64/dl.c: Likewise.
11380 * kern/x86_64/dl.c: Likewise.
11381 * lib/hexdump.c: Likewise.
11382 * loader/efi/appleloader.c: Likewise.
11383 * loader/i386/ieee1275/linux.c: Likewise.
11384 * loader/i386/pc/chainloader.c: Likewise.
11385 * loader/i386/pc/linux.c: Likewise.
11386 * loader/i386/pc/multiboot2.c: Likewise.
11387 * loader/ieee1275/multiboot2.c: Likewise.
11388 * loader/multiboot2.c: Likewise.
11389 * loader/multiboot_loader.c: Likewise.
11390 * loader/powerpc/ieee1275/linux.c: Likewise.
11391 * normal/completion.c: Likewise.
11392 * normal/menu_entry.c: Likewise.
11393 * partmap/apple.c: Likewise.
11394 * util/grub.d/10_hurd.in: Likewise.
11395 * util/hostfs.c: Likewise.
11396 * video/readers/png.c: Likewise.
11397
e2d70b5c
CW
113982010-01-03 Colin Watson <cjwatson@ubuntu.com>
11399
11400 * include/grub/misc.h (GNUC_PREREQ): New macro.
11401 (ATTRIBUTE_ERROR): New macro.
11402 * include/grub/list.h (grub_bad_type_cast_real): Use
11403 ATTRIBUTE_ERROR.
11404
a173283f 114052010-01-03 Carles Pina i Estany <carles@pina.cat>
11406
11407 * normal/menu_text.c (print_message): Change messages.
11408
7fa7ff74 114092010-01-03 Carles Pina i Estany <carles@pina.cat>
11410
11411 * normal/menu_entry.c (store_completion): Gettextizze.
11412
136d24f6 114132010-01-03 Carles Pina i Estany <carles@pina.cat>
11414
11415 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
11416
f936862e 114172010-01-03 Carles Pina i Estany <carles@pina.cat>
11418
11419 * po/POTFILES: Sort correctly.
11420
29c44ad1 114212010-01-03 Carles Pina i Estany <carles@pina.cat>
11422
11423 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
11424 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
11425 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
11426 full stop.
11427 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
11428 summary. Gettextizze the strings.
11429 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
11430 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
11431 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
11432 full stop.
11433 (GRUB_MOD_INIT): Remove command name from summary.
11434 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
11435 summary.
11436 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
11437 * term/i386/pc/serial.c (options): Add full stops.
11438 (GRUB_MOD_INIT): Remove command name from the summary.
11439
77a79592 114402010-01-03 Carles Pina i Estany <carles@pina.cat>
11441
11442 * commands/acpi.c: Gettextizze help strings and/or options. Include
11443 `grub/i18n.h' if needed.
11444 * commands/blocklist.c: Likewise.
11445 * commands/boot.c: Likewise.
11446 * commands/cat.c: Likewise.
11447 * commands/cmp.c: Likewise.
11448 * commands/configfile.c: Likewise.
11449 * commands/crc.c: Likewise.
11450 * commands/date.c: Likewise.
11451 * commands/echo.c: Likewise.
11452 * commands/efi/fixvideo.c: Likewise.
11453 * commands/efi/loadbios.c: Likewise.
11454 * commands/gptsync.c: Likewise.
11455 * commands/halt.c: Likewise.
11456 * commands/handler.c: Likewise.
11457 * commands/hdparm.c: Likewise.
11458 * commands/hexdump.c: Likewise.
11459 * commands/i386/cpuid.c: Likewise.
11460 * commands/i386/pc/drivemap.c: Likewise.
11461 * commands/i386/pc/halt.c: Likewise.
11462 * commands/i386/pc/pxecmd.c: Likewise.
11463 * commands/i386/pc/vbeinfo.c: Likewise.
11464 * commands/i386/pc/vbetest.c: Likewise.
11465 * commands/ieee1275/suspend.c: Likewise.
11466 * commands/keystatus.c: Likewise.
11467 * commands/loadenv.c: Likewise.
11468 * commands/ls.c: Likewise.
11469 * commands/lsmmap.c: Likewise.
11470 * commands/lspci.c: Likewise.
11471 * commands/memrw.c: Likewise.
11472 * commands/minicmd.c: Likewise.
11473 * commands/parttool.c: Likewise.
11474 * commands/password.c: Likewise.
11475 * commands/probe.c: Likewise.
11476 * commands/read.c: Likewise.
11477 * commands/reboot.c: Likewise.
11478 * commands/search.c: Likewise.
11479 * commands/sleep.c: Likewise.
11480 * commands/test.c: Likewise.
11481 * commands/true.c: Likewise.
11482 * commands/usbtest.c: Likewise.
11483 * commands/videotest.c: Likewise.
11484 * commands/xnu_uuid.c: Likewise.
11485 * disk/loopback.c: Likewise.
11486 * hello/hello.c: Likewise.
11487 * loader/i386/bsd.c: Likewise.
11488 * term/i386/pc/serial.c: Likewise.
11489 * po/POTFILES: Add new files.
11490
da8d5c53
CW
114912010-01-02 Colin Watson <cjwatson@ubuntu.com>
11492
11493 * term/i386/pc/at_keyboard.c
11494 (keyboard_controller_wait_untill_ready): Rename to ...
11495 (keyboard_controller_wait_until_ready): ... this. Update all users.
11496
33937904 114972010-01-01 Carles Pina i Estany <carles@pina.cat>
11498
11499 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
11500 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
11501 string using string width.
11502 * normal/menu_text.c (grub_print_message_indented): Use
11503 grub_print_spaces and not print_spaces.
11504 (print_timeout): Likewise.
11505 (print_spaces): Move to...
11506 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
11507
3fd3b8d8
RM
115082010-01-01 Robert Millan <rmh.grub@aybabtu.com>
11509
11510 Import from Gnulib.
11511
11512 * gnulib/getdelim.c: New file.
11513 * gnulib/getline.c: Likewise.
11514
33433555
VS
115152009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
11516
11517 * include/grub/list.h (grub_assert_fail): Removed.
11518 (grub_bad_type_cast_real): New function.
11519 (grub_bad_type_cast): New macro.
11520 (GRUB_AS_LIST): Use grub_bad_type_cast.
11521 (GRUB_AS_LIST_P): Likewise.
e44721e8 11522 (GRUB_AS_NAMED_LIST): Likewise.
33433555 11523 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 11524 (GRUB_AS_PRIO_LIST): Likewise.
33433555 11525 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 11526 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 11527
f5a51306
VS
115282009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
11529
11530 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
11531 Fix syntax error.
11532
90d1e879
RM
115332009-12-29 Robert Millan <rmh.grub@aybabtu.com>
11534
11535 * configure.ac: Check for TARGET_CFLAGS initialization before we
11536 initialize it ourselves (sigh).
11537 Move a few modifications to TARGET_CFLAGS to be unconditional
11538 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
11539 eh_frame)
11540
11541 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
11542 * term/i386/pc/at_keyboard.c
11543 (keyboard_controller_wait_untill_ready): Likewise.
11544 (keyboard_controller_led): Rename `led_status' paramter to avoid
11545 name conflict.
11546
465b5a81 115472009-12-28 Carles Pina i Estany <carles@pina.cat>
11548
11549 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
11550 quotes.
11551
c181849b
VS
115522009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11553
11554 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
11555
9c8739a4
VS
115562009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11557
11558 * normal/menu_text.c (grub_print_message_indented): Prevent
11559 past-the-end-of-array dereference.
11560
3e74249c
VS
115612009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11562
11563 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
11564 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
11565
64fd18ed 115662009-12-27 Carles Pina i Estany <carles@pina.cat>
11567
11568 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
11569 * normal/main.c (grub_normal_read_line): Remove a space from the
11570 default prompt.
11571
714af9b9 115722009-12-27 Carles Pina i Estany <carles@pina.cat>
11573
11574 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
11575 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11576 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
11577 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
11578 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11579 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11580 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
11581
82f3e412 115822009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 11583
11584 * video/readers/jpeg.c (cmd): Declare.
11585 (grub_cmd_jpegtest): Use `grub_command_t' type.
11586 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
11587 Assign to `cmd'.
11588 (GRUB_MOD_FINI): Use `cmd' to unregister.
11589 * video/readers/png.c (cmd): Declare.
11590 (grub_cmd_pngtest): Use `grub_command_t' type.
11591 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
11592 Assign to `cmd'.
11593 (GRUB_MOD_FINI): Use `cmd' to unregister.
11594 * video/readers/tga.c (cmd): Declare.
11595 (grub_cmd_tgatest): Use `grub_command_t' type.
11596 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
11597 Assign to `cmd'.
11598 (GRUB_MOD_FINI): Use `cmd' to unregister.
11599
82f3e412 116002009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 11601
11602 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
11603 stops.
11604 * kern/corecmd.c (grub_register_core_commands): Likewise.
11605 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
11606 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
11607 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
11608 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11609 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
11610 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
11611 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
11612 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
11613 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11614 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11615 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
11616 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
11617 * normal/handler.c (insert_handler): Likewise.
11618 * normal/main.c (GRUB_MOD_INIT): Likewise.
11619 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
11620
fdcdbb66 116212009-12-26 Carles Pina i Estany <carles@pina.cat>
11622
11623 * commands/help.c (grub_cmd_help): Print the command name before the
11624 summary.
11625 (GRUB_MOD_INIT): Remove command name from the summary.
11626 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 11627 string as summary.
fdcdbb66 11628 * lib/arg.c (find_long): Print the command name before the summary.
11629 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
11630 summary.
11631 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
11632 * commands/cat.c (GRUB_MOD_INIT): Likewise.
11633 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
11634 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
11635 * commands/crc.c (GRUB_MOD_INIT): Likewise.
11636 * commands/date.c (GRUB_MOD_INIT): Likewise.
11637 * commands/echo.c (GRUB_MOD_INIT): Likewise.
11638 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
11639 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
11640 * commands/handler.c (GRUB_MOD_INIT): Likewise.
11641 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
11642 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
11643 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
11644 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
11645 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
11646 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
11647 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
11648 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
11649 * commands/ls.c (GRUB_MOD_INIT): Likewise.
11650 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
11651 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
11652 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
11653 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
11654 * commands/password.c (GRUB_MOD_INIT): Likewise.
11655 * commands/probe.c (GRUB_MOD_INIT): Likewise.
11656 * commands/read.c (GRUB_MOD_INIT): Likewise.
11657 * commands/search.c (GRUB_MOD_INIT): Likewise.
11658 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
11659 * commands/test.c (GRUB_MOD_INIT): Likewise.
11660 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
11661 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
11662 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
11663 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
11664 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
11665 * lib/arg.c (GRUB_MOD_INIT): Likewise.
11666 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
11667 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
11668 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
11669 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
11670 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
11671 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
11672 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
11673 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
11674
9c288be2
VS
116752009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11676
11677 Use search command for preliminar UUID search.
11678
11679 * commands/search.c: Split into ...
11680 * commands/search_wrap.c: ...this
11681 * commands/search.c: ...and this.
11682 * commands/search_file.c: New file.
11683 * commands/search_label.c: New file.
11684 * commands/search_uuid.c: New file.
11685 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
11686 Add commands/search_wrap.c, commands/search_file.c,
11687 commands/search_label.c and commands/search_uuid.c.
11688 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
11689 (search_mod_SOURCES): Set to commands/search_wrap.c.
11690 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
11691 search_label.mod.
11692 (search_fs_file_mod_SOURCES): New variable.
11693 (search_fs_file_mod_CFLAGS): Likewise.
11694 (search_fs_file_mod_LDFLAGS): Likewise.
11695 (search_label_mod_SOURCES): Likewise.
11696 (search_label_mod_CFLAGS): Likewise.
11697 (search_label_mod_LDFLAGS): Likewise.
11698 (search_fs_uuid_mod_SOURCES): New variable.
11699 (search_fs_uuid_mod_CFLAGS): Likewise.
11700 (search_fs_uuid_mod_LDFLAGS): Likewise.
11701 (fs_file_mod_SOURCES): Removed.
11702 (fs_file_mod_CFLAGS): Likewise.
11703 (fs_file_mod_LDFLAGS): Likewise.
11704 (fs_uuid_mod_SOURCES): Removed.
11705 (fs_uuid_mod_CFLAGS): Likewise.
11706 (fs_uuid_mod_LDFLAGS): Likewise.
11707 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
11708 Set to util/grub-install.in.
11709 * disk/fs_file.c: Removed.
11710 * disk/fs_uuid.c: Likewise.
11711 * include/grub/search.h: New file.
11712 * util/grub-install.in: Handle sparc64.
11713 Create and use load.cfg.
11714 * util/sparc64/ieee1275/grub-install.in: Removed.
11715
db943399
VS
117162009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11717
11718 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
11719 Ignore return status if CF is cleared.
11720 (grub_biosdisk_get_diskinfo_standard): Likewise.
11721
3fdae612
RM
117222009-12-25 Robert Millan <rmh.grub@aybabtu.com>
11723
11724 * term/i386/pc/at_keyboard.c
11725 (keyboard_controller_wait_untill_ready): New function.
11726 (grub_keyboard_controller_write, grub_keyboard_controller_read)
11727 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
11728 for keyboard polling, rather than duplicate the same loop. This
11729 saves a few bytes in code size.
11730
7ebaa2b4
VS
117312009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11732
11733 Support for (pxe[:server[:gateway]]) syntax and
11734 use environment variable for PXE.
11735
11736 * commands/i386/pc/pxecmd.c (options): Removed.
11737 (print_ip): Removed.
11738 (grub_cmd_pxe): Removed
11739 (grub_cmd_pxe_unload): New function.
11740 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
11741 (grub_pxe_your_ip): Made static.
11742 (grub_pxe_default_server_ip): Likewise.
11743 (grub_pxe_default_gateway_ip): Likewise.
11744 (grub_pxe_blksize): Likewise.
11745 (parse_ip): New function.
11746 (grub_pxe_open): Support server and gateway specification.
11747 (grub_pxe_close): Free disk->data.
11748 (grub_pxefs_open): Use disk->data.
11749 (grub_pxefs_read): Likewise.
11750 (grub_env_write_readonly): New function.
11751 (set_mac_env): Likewise.
11752 (set_env_limn_ro): Likewise.
11753 (parse_dhcp_vendor): Likewise.
11754 (grub_pxe_detect): Set the environment variables.
11755 (set_ip_env): New function.
11756 (write_ip_env): Likewise.
11757 (grub_env_write_pxe_default_server): Likewise.
11758 (grub_env_write_pxe_default_gateway): Likewise.
11759 (grub_env_write_pxe_blocksize): Likewise.
11760 (GRUB_MOD_INIT(pxe)): Set environment variables.
11761 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
11762 (grub_pxe_mac_addr_t): ... this. All users updated.
11763 (grub_pxe_your_ip): Removed.
11764 (grub_pxe_server_ip): Likewise.
11765 (grub_pxe_gateway_ip): Likewise.
11766 (grub_pxe_blksize): Likewise.
11767
ec5f98ab 117682009-12-25 Carles Pina i Estany <carles@pina.cat>
11769
11770 * commands/help.c: Include `<grub/i18n.h>'.
11771 (grub_cmd_help): Gettextizze.
11772 (GRUB_MOD_INIT): Likewise.
11773 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
11774 (GRUB_MOD_INIT): Gettextizze.
11775 * commands/search.c: Include `<grub/i18n.h>'.
11776 (options): Gettextizze.
11777 (GRUB_MOD_INIT): Gettextizze.
11778 * lib/arg.c: Include `<grub/i18n.h>'.
11779 (help_options): Gettextizze.
11780 (find_long): Likewise.
11781 (grub_arg_show_help): Likewise.
11782 * normal/dyncmd.c: Include `<grub/i18n.h>'.
11783 (read_command_list): Gettextizze.
11784 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 11785 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 11786
22815526
RM
117872009-12-25 Robert Millan <rmh.grub@aybabtu.com>
11788
11789 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
11790 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
11791 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
11792 (led_status): New variable.
11793 (keyboard_controller_led): New function.
11794 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
11795 update led status for caps lock, num lock and scroll lock.
11796
0ad46fd7
FZ
117972009-12-25 Felix Zielcke <fzielcke@z-51.de>
11798
11799 * util/hostdisk.c (open_device): Fix a comment.
11800
d0e158c2
RM
118012009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11802
11803 * util/grub-install.in (host_os): New variable.
11804 * util/i386/efi/grub-install.in (host_os): Likewise.
11805
401c0ad6
RM
118062009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11807
11808 * util/mkisofs/write.c (padblock_write): Abort when given an
11809 excedingly large embed image, instead of silently truncating it.
11810
d14d3370
RM
118112009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11812
11813 * include/multiboot.h: Indentation fixes.
11814
eeed10b4
RM
118152009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11816
11817 * include/multiboot.h (struct multiboot_aout_symbol_table)
11818 (struct multiboot_elf_section_header_table): New structure
11819 declarations (stolen from GRUB Legacy).
11820 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
11821 table information.
11822
11823 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
11824 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
11825 type aliases.
11826
681c70ab
RM
118272009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11828
11829 * include/multiboot.h: Make comments src2texi-friendly.
11830
e4d47d8d
RM
118312009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11832
11833 For consistency with [multiboot]/docs/boot.S.
11834
11835 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
11836 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
11837 (MULTIBOOT_MAGIC2): Rename from this ...
11838 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
11839
a0b70bda
RM
118402009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11841
11842 * include/multiboot.h: Remove `<grub/types.h>'.
11843 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
11844 types. Update all users.
11845
61ba42be 118462009-12-25 Carles Pina i Estany <carles@pina.cat>
11847
11848 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
11849 `couldn't' and `can not' by `cannot'.
11850 * commands/i386/pc/drivemap.c: Likewise.
11851 * disk/ata.c: Likewise.
11852 * disk/ieee1275/nand.c: Likewise.
11853 * fs/affs.c: Likewise.
11854 * fs/fat.c: Likewise.
11855 * fs/hfs.c: Likewise.
11856 * fs/hfsplus.c: Likewise.
11857 * fs/iso9660.c: Likewise.
11858 * fs/jfs.c: Likewise.
11859 * fs/minix.c: Likewise.
11860 * fs/reiserfs.c: Likewise.
11861 * fs/sfs.c: Likewise.
11862 * fs/udf.c: Likewise.
11863 * fs/ufs.c: Likewise.
11864 * fs/xfs.c: Likewise.
11865 * loader/powerpc/ieee1275/linux.c: Likewise.
11866 * loader/sparc64/ieee1275/linux.c: Likewise.
11867 * util/grub-probe.c: Likewise.
11868 * util/misc.c: Likewise.
11869
7fd0baee 118702009-12-24 Carles Pina i Estany <carles@pina.cat>
11871
11872 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
11873 grub_errno calls.
11874 * commands/acpi.c: Likewise.
11875 * commands/blocklist.c: Likewise.
11876 * commands/efi/loadbios.c: Likewise.
11877 * commands/i386/pc/drivemap.c: Likewise.
11878 * commands/loadenv.c: Likewise.
11879 * commands/memrw.c: Likewise.
11880 * commands/password.c: Likewise.
11881 * commands/videotest.c: Likewise.
11882 * disk/ata.c: Likewise.
11883 * disk/ata_pthru.c: Likewise.
11884 * disk/dmraid_nvidia.c: Likewise.
11885 * disk/ieee1275/nand.c: Likewise.
11886 * disk/ieee1275/ofdisk.c: Likewise.
11887 * disk/loopback.c: Likewise.
11888 * disk/lvm.c: Likewise.
11889 * disk/mdraid_linux.c: Likewise.
11890 * disk/raid.c: Likewise.
11891 * disk/raid6_recover.c: Likewise.
11892 * disk/scsi.c: Likewise.
11893 * efiemu/main.c: Likewise.
11894 * efiemu/mm.c: Likewise.
11895 * efiemu/pnvram.c: Likewise.
11896 * efiemu/symbols.c: Likewise.
11897 * font/font.c: Likewise.
11898 * fs/cpio.c: Likewise.
11899 * fs/hfsplus.c: Likewise.
11900 * fs/iso9660.c: Likewise.
11901 * fs/jfs.c: Likewise.
11902 * fs/minix.c: Likewise.
11903 * fs/ntfs.c: Likewise.
11904 * fs/ntfscomp.c: Likewise.
11905 * fs/reiserfs.c: Likewise.
11906 * fs/ufs.c: Likewise.
11907 * fs/xfs.c: Likewise.
11908 * gettext/gettext.c: Likewise.
11909 * include/grub/auth.h: Likewise.
11910 * kern/elf.c: Likewise.
11911 * kern/file.c: Likewise.
11912 * kern/ieee1275/init.c: Likewise.
11913 * kern/ieee1275/mmap.c: Likewise.
11914 * kern/ieee1275/openfw.c: Likewise.
11915 * kern/powerpc/dl.c: Likewise.
11916 * kern/sparc64/dl.c: Likewise.
11917 * lib/arg.c: Likewise.
11918 * loader/i386/bsd.c: Likewise.
11919 * loader/i386/bsdXX.c: Likewise.
11920 * loader/i386/efi/linux.c: Likewise.
11921 * loader/i386/efi/xnu.c: Likewise.
11922 * loader/i386/ieee1275/linux.c: Likewise.
11923 * loader/i386/linux.c: Likewise.
11924 * loader/i386/multiboot.c: Likewise.
11925 * loader/i386/pc/linux.c: Likewise.
11926 * loader/i386/pc/multiboot2.c: Likewise.
11927 * loader/i386/xnu.c: Likewise.
11928 * loader/ieee1275/multiboot2.c: Likewise.
11929 * loader/macho.c: Likewise.
11930 * loader/machoXX.c: Likewise.
11931 * loader/multiboot2.c: Likewise.
11932 * loader/multiboot_loader.c: Likewise.
11933 * loader/powerpc/ieee1275/linux.c: Likewise.
11934 * loader/sparc64/ieee1275/linux.c: Likewise.
11935 * loader/xnu.c: Likewise.
11936 * loader/xnu_resume.c: Likewise.
11937 * mmap/i386/pc/mmap.c: Likewise.
11938 * normal/menu_viewer.c: Likewise.
11939 * partmap/acorn.c: Likewise.
11940 * partmap/amiga.c: Likewise.
11941 * partmap/apple.c: Likewise.
11942 * script/lexer.c: Likewise.
11943 * term/gfxterm.c: Likewise.
11944 * term/i386/pc/serial.c: Likewise.
11945 * term/i386/pc/vga.c: Likewise.
11946 * term/ieee1275/ofconsole.c: Likewise.
11947 * term/terminfo.c: Likewise.
11948 * video/bitmap.c: Likewise.
11949 * video/efi_gop.c: Likewise.
11950 * video/efi_uga.c: Likewise.
11951 * video/fb/video_fb.c: Likewise.
11952 * video/i386/pc/vbe.c: Likewise.
11953 * video/readers/tga.c: Likewise.
11954 * video/video.c: Likewise.
11955
0ad46fd7 119562009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
11957
11958 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
11959 * commands/lspci.c: Likewise.
11960 * commands/probe.c: Likewise.
11961 * commands/xnu_uuid.c: Likewise.
11962 * conf/i386-coreboot.rmk: Likewise.
11963 * conf/i386-efi.rmk: Likewise.
11964 * conf/i386-ieee1275.rmk: Likewise.
11965 * conf/i386-pc.rmk: Likewise.
11966 * conf/powerpc-ieee1275.rmk: Likewise.
11967 * conf/sparc64-ieee1275.rmk: Likewise.
11968 * conf/x86_64-efi.rmk: Likewise.
11969 * fs/i386/pc/pxe.c: Likewise.
11970 * gettext/gettext.c: Likewise.
11971 * include/grub/efi/graphics_output.h: Likewise.
11972 * include/grub/i386/pc/memory.h: Likewise.
11973 * kern/env.c: Likewise.
11974 * kern/i386/qemu/startup.S: Likewise.
11975 * lib/i386/pc/biosnum.c: Likewise.
11976 * lib/i386/relocator.c: Likewise.
11977 * lib/i386/relocator_asm.S: Likewise.
11978 * lib/relocator.c: Likewise.
11979 * loader/i386/bsd.c: Likewise.
11980 * loader/i386/multiboot.c: Likewise.
11981 * loader/i386/pc/chainloader.c: Likewise.
11982 * loader/i386/xnu.c: Likewise.
11983 * loader/xnu.c: Likewise.
11984 * normal/main.c: Likewise.
11985 * normal/menu_text.c: Likewise.
11986 * util/getroot.c: Likewise.
11987 * util/grub-mkconfig_lib.in: Likewise.
11988 * util/grub.d/00_header.in: Likewise.
11989 * util/i386/pc/grub-mkimage.c: Likewise.
11990 * util/mkisofs/eltorito.c: Likewise.
11991 * util/mkisofs/exclude.h: Likewise.
11992 * util/mkisofs/hash.c: Likewise.
11993 * util/mkisofs/iso9660.h: Likewise.
11994 * util/mkisofs/joliet.c: Likewise.
11995 * util/mkisofs/mkisofs.c: Likewise.
11996 * util/mkisofs/mkisofs.h: Likewise.
11997 * util/mkisofs/multi.c: Likewise.
11998 * util/mkisofs/name.c: Likewise.
11999 * util/mkisofs/rock.c: Likewise.
12000 * util/mkisofs/tree.c: Likewise.
12001 * util/mkisofs/write.c: Likewise.
12002 * video/efi_gop.c: Likewise.
12003
009ec743
VS
120042009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12005
12006 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
12007 size counting.
12008
0ad46fd7 120092009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
12010
12011 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
12012 * genmk.rb (class SCRIPT): Modify the target file instead of source.
12013
d3d30ea0
VS
120142009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12015
12016 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
12017 (GRUB_MOD_INIT(memrw)): Update help line.
12018
a34f5c70
VS
120192009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12020
12021 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
12022 Use grub_extcmd_t. All users updated.
12023 (options): New variable.
12024 (grub_cmd_read): Restructure for readability. Support "-v" option.
12025 (grub_cmd_write): Restructure for readability.
12026
0ad46fd7 120272009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
12028
12029 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
12030
0ad46fd7 120312009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
12032
12033 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
12034 with the actual contents of the correspondending make variable.
12035 * util/grub-mkrescue.in (pkglib_DATA): New variable.
12036 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
12037 specifying `*.lst' and `efiemu??.o'
12038
0ad46fd7 120392009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
12040
12041 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
12042 after function name.
12043 Noticed by Rene Engelhard <rene@debian.org>.
12044
dc77a799
VS
120452009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12046
12047 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
12048 (options): New variable.
12049 (iospace): Likewise.
12050 (grub_lspci_iter): List IO spaces if "-i" was given.
12051 (grub_cmd_lspci): Parse options.
12052 (GRUB_MOD_INIT(lspci)): Use extcmd.
12053 (GRUB_MOD_FINI(lspci)): Likewise.
12054
0ad46fd7 120552009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
12056
12057 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
12058 `function' keyword.
12059 Patch by Tony Mancill <tmancill@debian.org>.
12060
b5d5993b
VS
120612009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12062
12063 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
12064 (grub_uhci_portstatus): Likewise.
12065 (grub_uhci_portstatus): Add necessary delay.
11d18281 12066 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 12067
941903f2 120682009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 12069
941903f2 12070 * commands/acpi.c (options): Fix capitalizations and/or full stops.
12071 (GRUB_MOD_INIT): Likewise.
12072 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 12073 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
12074 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 12075 * commands/efi/loadbios.c (enable_rom_area): Likewise.
12076 (enable_rom_area): Likewise.
12077 (GRUB_MOD_INIT): Likewise.
12078 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
12079 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
12080 * commands/handler.c (GRUB_MOD_INIT): Likewise.
12081 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
12082 * commands/hexdump.c (options): Likewise.
12083 * commands/i386/cpuid.c (options): Likewise.
12084 (GRUB_MOD_INIT): Likewise.
12085 * commands/i386/pc/drivemap.c (options): Likewise.
12086 (GRUB_MOD_INIT): Likewise.
12087 * commands/i386/pc/halt (options): Likewise.
12088 (GRUB_MOD_INIT): Likewise.
12089 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
12090 * commands/i386/pc/pxecmd.c (options): Likewise.
12091 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
12092 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
12093 * commands/keystatus.c (options): Likewise.
12094 (GRUB_MOD_INIT): Likewise.
12095 * commands/loadenv.c (options): Likewise.
12096 * commands/ls.c (options): Likewise.
12097 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
12098 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
12099 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
12100 * commands/parttool.c (helpmsg): Likewise.
12101 * commands/probe.c (options): Likewise.
12102 * commands/read.c (GRUB_MOD_INIT): Likewise.
12103 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
12104 * commands/search.c (options): Likewise.
12105 * commands/sleep.c (options): Likewise.
12106 * commands/test.c (GRUB_MOD_INIT): Likewise.
12107 * commands/true.c (GRUB_MOD_INIT): Likewise.
12108 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
12109 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
12110 * lib/arg.c (help_options): Likewise.
e9bbb4e7 12111 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
12112 `$(XGETTEXT)'.
98a50553 12113 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 12114
0ad46fd7 121152009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 12116
ef3c2c3a 12117 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
12118 instead of specifying them explicit.
12119
7922f68b
RM
121202009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12121
12122 * NEWS: Add grub-probe support for GNU/Hurd.
12123
537ce47f
RM
121242009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12125
12126 * NEWS: gettext was added after 1.97.
12127
9b214e3a
RM
121282009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12129
12130 * util/mkisofs/msdos_partition.h: New file (based on
12131 include/grub/msdos_partition.h).
12132 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
12133 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
12134 (ld_options, main): Recognize --protective-msdos-label.
12135 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
12136 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
12137 (padblock_write): If `use_protective_msdos_label' is set, patch a
12138 protective DOS-style label in the output image.
12139
12140 * util/grub-mkrescue.in: Use --protective-msdos-label.
12141
e9309813
RM
121422009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12143
12144 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
12145 boot.
12146
0ae56929
RM
121472009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12148
12149 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
12150 variables.
12151 (ld_options, main): Recognize `--embedded-boot'.
12152 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
12153 declarations.
12154 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
12155 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
12156 (padblock_write): Likewise. Rewrite to support embedded boot image.
12157
12158 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
12159 for BIOS-based disk boot instead of only ElTorito.
12160
b15937b1
RM
121612009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12162
12163 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
12164 build (not needed for bootstrap).
12165
52cc3ce0
RM
121662009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12167
12168 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
12169 from i386-pc build (not needed for bootstrap).
12170 Rewrite a pair of strings.
12171
36f5ff04
RM
121722009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12173
12174 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
12175
973c6c85 121762009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
12177
12178 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
12179
05d21547
AB
121802009-12-21 Andreas Born <futur.andy@googlemail.com>
12181
12182 * kern/env.c (grub_env_context_open): Mark exported variable for
12183 reexport.
12184
0175d51f
AB
121852009-12-21 Andreas Born <futur.andy@googlemail.com>
12186
12187 * kern/env.c (grub_env_export): Create nonexistent variables before
12188 exporting.
12189
7f39d92f 121902009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 12191
7f39d92f 12192 * include/grub/auth.h: Include `<grub/i18n.h>'.
12193 (GRUB_GET_PASSWORD): Gettextizze string.
12194 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
12195 menu_text.c.
12196 (grub_utf8_to_ucs4_alloc): Fix indentation.
12197 (grub_print_ucs4): Likewise.
12198 (grub_getstringwidth): Likewise.
12199 (print_message_indented): New declaration.
12200 * normal/auth.c: Include `<grub/i18n.h>'.
12201 (grub_auth_check_authentication): Gettexttize string.
12202 * normal/cmdline.c: Include `<grub/i18n.h>'.
12203 (grub_cmdline_get): Gettextizze.
12204 * normal/color.c: Include `<grub/i18n.h>'.
12205 (grub_parse_color_name_pair): Gettexttize strings.
12206 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
12207 string (use `print_message_indented').
12208 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
12209 `include/grub/normal.h'.
12210 (print_message_indented): Renamed to ...
12211 (grub_print_message_indented): ... this. Remove `static' qualifer (now
12212 used in normal/main.c).
12213 (print_message): Use `grub_print_message_indented' instead of
12214 `print_message_indented'.
12215 (print_timeout): Likewise.
12216 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
12217 (grub_normal_print_device_info): Gettexttize strings.
12218 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
12219
3041d898
VS
122202009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
12221
12222 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
12223 of arguments. Return number of tokens and not arguments. All users
12224 updated.
12225
de15bf8e
VS
122262009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
12227
12228 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
12229 non-MSDOS paritions.
12230
e0a6ca52
VS
122312009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12232
12233 * include/grub/types.h (UNUSED): Removed since it conflicts with
12234 NetBSD headers. All users changed to direct __attribute__ ((unused)).
12235 Reported by Grégoire Sutre.
12236
b99518d1 122372009-12-19 Carles Pina i Estany <carles@pina.cat>
12238
12239 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
12240 (grub_print_ucs4_alloc): Likewise.
12241 (grub_getstringwidth): Likewise.
12242 * normal/main.c (grub_normal_init_page): Gettextize version string.
12243 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
12244 (getstringwidth): Renamed to ...
12245 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
12246 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
12247 (grub_print_ucs4): Remove `static' qualifer (now used in
12248 normal/main.c).
12249 * po/POTFILES: Add normal/main.c.
12250
bfd5e52b 122512009-12-19 Carles Pina i Estany <carles@pina.cat>
12252
12253 * normal/menu_text.c (STANDARD_MARGIN): New macro.
12254 (print_message_indented): Add `margin_left' and `margin_right'
12255 parameters.
12256 (print_message): Update `print_message_indented' calls. Adds '\n' to the
12257 strings.
12258 (print_timeout): Use `print_message_indented' to print the message.
12259 Deletes `second_stage' parameter.
12260 (run_menu): Update `print_timeout' calls.
12261
5a1ad2b9
VS
122622009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12263
12264 Fix console palette on OpenFirmware.
12265
12266 * term/ieee1275/ofconsole.c (MAX): Removed.
12267 (colors): Redone based on VGA palette.
12268 (grub_ofconsole_setcolor): Discard brightness bit since only 8
12269 colors are supported.
12270 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
12271
b045f00a
VS
122722009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12273
12274 Fix potential EfiEmu double prepare.
12275
12276 * efiemu/main.c (prepared): New variable
12277 (grub_efiemu_unload): Set prepare to '0'.
12278 (grub_efiemu_prepare): Return if already prepared. Set prepared.
12279
12280 set_virtual_address_map support.
12281
12282 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
12283 prototype.
12284 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
12285 prototype.
12286 (grub_efiemu_crc32): Likewise.
12287 (grub_efiemu_crc64): Likewise.
12288 (grub_efiemu_set_virtual_address_map): Likewise.
12289 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
12290 New definition.
12291 (grub_autoefi_set_virtual_address_map): Likewise.
12292 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
12293 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
12294 Restructure flow to accomodate it.
12295 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
12296 (grub_efiemu_crc): Recompute CRC32.
12297 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
12298 (efiemu_ptv_relocated): ... this. Made global. All users updated.
12299 * efiemu/symbols.c (relocated_handle): New variable.
12300 (grub_efiemu_free_syms): Free relocated_handle.
12301 (grub_efiemu_alloc_syms): Allocate relocated_handle.
12302 (grub_efiemu_write_sym_markers): New function.
12303 (grub_efiemu_set_virtual_address_map): Likewise.
12304
12305 Newer XNU parameters.
12306
12307 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
12308 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
12309 (grub_xnu_fill_devicetree): New prototype.
12310 (grub_xnu_heap_real_start): New variable.
12311 * loader/xnu.c (get_name_ptr): New function.
12312 (grub_xnu_load_driver): Fill namelen and name.
12313
12314 64-bit xnu support.
12315
12316 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
12317 and 'loader/macho64.c'.
12318 * conf/i386-pc.rmk: Likewise.
12319 * conf/x86_64-efi.rmk: Likewise.
12320 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
12321 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
12322 * include/grub/macho.h (grub_macho_segment64): New structure.
12323 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
12324 (grub_macho_size32): ... to this.
12325 (grub_macho32_get_entry_point): Renamed from ...
12326 (grub_macho_get_entry_point32): ... to this.
12327 (grub_macho_contains_macho64): New prototype.
12328 (grub_macho_size64): Likewise.
12329 (grub_macho_get_entry_point64): Likewise.
12330 (grub_macho32_load): Renamed from ...
12331 (grub_macho_load32): ... to this.
12332 (grub_macho32_filesize): Renamed from ...
12333 (grub_macho_filesize32): ... to this.
12334 (grub_macho32_readfile): Renamed from ...
12335 (grub_macho_readfile32): ... to this.
12336 (grub_macho_filesize64): New prototype.
12337 (grub_macho_readfile64): Likewise.
12338 (grub_macho_parse32): Likewise.
12339 (grub_macho_parse64): Likewise.
12340 * loader/macho.c: Split into ...
12341 * loader/machoXX.c: ... and this. Replace 32 with XX.
12342 * loader/macho32.c: New file.
12343 * loader/macho64.c: Likewise.
12344 * loader/xnu.c (grub_xnu_is_64bit): New variable.
12345 (grub_cmd_xnu_kernel): Make 32-bit only.
12346 (grub_cmd_xnu_kernel64): New function.
12347 (grub_xnu_load_driver): Support Mach-O 64.
12348 (grub_cmd_xnu_mkext): Likewise.
12349 * util/grub.d/30_os-prober.in (osx_entry): New function.
12350 Generate entries for 64-bit boot too.
12351
12352 Eliminate ad-hoc tree format in XNU and EfiEmu.
12353
12354 * efiemu/main.c (grub_efiemu_prepare): Update comment.
12355 * efiemu/pnvram.c: Rewritten to use environment variables.
12356 All users updated.
12357
12358 Inline utf16_to_utf8.
12359
12360 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
12361 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
12362 All users updated.
12363 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
12364
12365 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
12366 * commands/usbtest.c (grub_usb_get_string): ... move here.
12367 (usb_print_str): Fix error handling.
12368 * include/grub/usb.h (grub_usb_get_string): Remove.
12369
12370 UTF-8 to UTF-16 transformation.
12371
12372 * conf/common.rmk (pkglib_MODULES): Add charset.mod
12373 (charset_mod_SOURCES): New variable.
12374 (charset_mod_CFLAGS): Likewise.
12375 (charset_mod_LDFLAGS): Likewise.
12376 * include/grub/utf.h: New file.
12377 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
12378
12379 Support for device properties.
12380
12381 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
12382 (grub_xnu_devprop_device_header): Likewise.
12383 (grub_xnu_devprop_device_descriptor): Likewise.
12384 (grub_xnu_devprop_add_device): New prototype.
12385 (grub_xnu_devprop_remove_device): Likewise.
12386 (grub_xnu_devprop_remove_property): Likewise.
12387 (grub_xnu_devprop_add_property_utf8): Likewise.
12388 (grub_xnu_devprop_add_property_utf16): Likewise.
12389 (grub_cpu_xnu_init): Likewise.
12390 (grub_cpu_xnu_fini): Likewise.
12391 (grub_cpu_xnu_unload): Likewise.
12392 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
12393 (property_descriptor): Likewise.
12394 (devices): New variable.
12395 (grub_xnu_devprop_remove_property): New function.
12396 (grub_xnu_devprop_add_device): Likewise.
12397 (grub_xnu_devprop_remove_device): Likewise.
12398 (grub_xnu_devprop_add_property): Likewise.
12399 (grub_xnu_devprop_add_property_utf8): Likewise.
12400 (grub_xnu_devprop_add_property_utf16): Likewise.
12401 (hextoval): Likewise.
12402 (grub_cpu_xnu_fill_devprop): Likewise.
12403 (grub_cmd_devprop_load): Likewise.
12404 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
12405 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
12406 (cmd_devprop_load): New variable.
12407 (grub_cpu_xnu_init): New function.
12408 (grub_cpu_xnu_fini): Likewise.
12409 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
12410 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
12411 (grub_cmd_xnu_devtree): Likewise.
12412 (hextoval): New function.
12413 (unescape): Likewise.
12414 (grub_xnu_fill_devicetree): Likewise.
12415
12416 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
12417 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
12418
0945f181
VS
124192009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12420
12421 Workaround for broken ATI VBE.
12422
12423 * video/i386/pc/vbe.c (last_set_mode): New variable.
12424 (grub_vbe_set_video_mode): Set 'last_set_mode'.
12425 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
12426 (grub_video_vbe_setup): Don't check for reserved flag.
12427
0ad46fd7 124282009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
12429
12430 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
12431 the `find' command.
12432
c179ebe4
VS
124332009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
12434
12435 UUID support for HFS.
12436
12437 * fs/hfs.c (grub_hfs_uuid): New function.
12438 (grub_hfs_fs): New value .uuid.
12439 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
12440
0ad46fd7 124412009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
12442
12443 Fix a segfault with parsing unknown long options.
12444
12445 * util/grub-mkrelpath.c (options): Zero terminate it.
12446
c4a3e41a
CPE
124472009-12-13 Carles Pina i Estany <carles@pina.cat>
12448
12449 * include/grub/misc.h (grub_puts): New declaration.
12450 (grub_puts_): Likewise.
a22008a6 12451 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
12452 (grub_puts_): Likewise.
12453
2e8a7602
RM
124542009-12-13 Robert Millan <rmh.grub@aybabtu.com>
12455
12456 * util/grub-probe.c (probe): Improve error message.
12457
b50b77b9
RM
124582009-12-13 Robert Millan <rmh.grub@aybabtu.com>
12459
12460 * loader/i386/multiboot_elfxx.c
12461 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
12462 initialization.
12463
124642009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12465
12466 Relocator framework
12467
12468 * loader/i386/xnu_helper.S: Removed. All users updated.
12469 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
12470 (relocator_mod_SOURCES): New variable.
12471 (relocator_mod_CFLAGS): Likewise.
12472 (relocator_mod_LDFLAGS): Likewise.
12473 (relocator_mod_ASFLAGS): Likewise.
12474 * conf/x86_64.rmk: Likewise.
12475 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
12476 (grub_multiboot_payload_entry_offset): Likewise.
12477 (grub_multiboot_forward_relocator): Likewise.
12478 (grub_multiboot_forward_relocator_end): Likewise.
12479 (grub_multiboot_backward_relocator): Likewise.
12480 (grub_multiboot_backward_relocator_end): Likewise.
12481 (grub_multiboot_payload_eip): New variable.
12482 (grub_multiboot_payload_orig): Likewise.
12483 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
12484 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
12485 * include/grub/i386/memory.h
12486 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
12487 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
12488 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
12489 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
12490 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
12491 * include/grub/i386/relocator.h: New file.
12492 * include/grub/x86_64/relocator.h: Likewise.
12493 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
12494 (XNU_RELOCATOR): New macro.
12495 (grub_xnu_launcher_start): Remove.
12496 (grub_xnu_launcher_end): Likewise.
12497 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
12498 (grub_xnu_heap_real_start): Remove.
12499 (grub_xnu_heap_start): Change to void *. All users updated.
12500 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
12501 * lib/i386/relocator.c: New file.
12502 * lib/i386/relocator_asm.S: Likewise.
12503 * lib/i386/relocator_backward.S: Likewise.
12504 * lib/mips/relocator.c: Likewise.
12505 * lib/mips/relocator_asm.S: Likewise.
12506 * lib/relocator.c: Likewise.
12507 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
12508 (entry): Removed.
12509 (playground): Likewise.
12510 (grub_multiboot_payload_orig): New variable.
12511 (grub_multiboot_payload_dest): Likewise.
12512 (grub_multiboot_payload_size): Likewise.
12513 (grub_multiboot_payload_eip): Likewise.
12514 (grub_multiboot_payload_esp): Likewise.
12515 (grub_multiboot_boot): Use grub_relocator32_boot.
12516 (grub_multiboot_unload): Free relocators.
12517 (grub_multiboot): Setup stack. Use relocators.
12518 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
12519 (grub_multiboot_load_elfXX): Use relocators.
12520 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
12521 (grub_multiboot_payload_size): Likewise.
12522 (grub_multiboot_payload_dest): Likewise.
12523 (grub_multiboot_payload_entry_offset): Likewise.
12524 (grub_multiboot_forward_relocator): Likewise.
12525 (grub_multiboot_backward_relocator): Likewise.
12526 (grub_multiboot_real_boot): Likewise.
12527 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
12528 (grub_xnu_entry_point): Likewise.
12529 (grub_xnu_arg1): Likewise.
12530 (grub_xnu_stack): Likewise.
12531 (grub_xnu_launch): Removed.
12532 (grub_xnu_boot_resume): New function.
12533 (grub_xnu_boot): Use relocators.
12534 * loader/i386/xnu_helper.S: Removed.
12535 * loader/xnu.c (grub_xnu_heap_start): New variable.
12536 (grub_xnu_heap_size): Likewise.
12537 (grub_xnu_heap_malloc): Use relocators.
12538 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
12539
29eb90c6
VS
125402009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12541
12542 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
12543 anything.
12544
31027430
CPE
125452009-12-13 Carles Pina i Estany <carles@pina.cat>
12546
12547 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
12548 GRUB_ERR_NONE before calling grub_env_set.
12549
dc0c71d9
RM
125502009-12-12 Robert Millan <rmh@aybabtu.com>
12551
12552 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
12553 * genmk.rb (video): New variable.
12554 (CLEANFILES, VIDEOFILES): Add #{video}.
12555 (#{video}): New target rule.
12556 * genvideolist.sh: New file.
12557 * Makefile.in (pkglib_DATA): Add video.lst.
12558 (video.lst): New target rule.
12559 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
12560 `video.lst'.
12561 * util/grub.d/30_os-prober.in: Replace `vbe' with
12562 ${GRUB_VIDEO_BACKEND}.
12563
2a4bfcf0
RM
125642009-12-11 Robert Millan <rmh.grub@aybabtu.com>
12565
12566 * THANKS: Add David Miller.
12567
2a3aa4d5
RM
125682009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
12569
12570 libpciaccess support.
12571
12572 * Makefile.in (LIBPCIACCESS): New variable.
12573 (enable_grub_emu_pci): Likewise.
12574 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
12575 util/pci.c and commands/lspci.c.
12576 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
12577 * configure.ac (grub-emu-pci): New option.
12578 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
12579 (grub_pci_device_unmap_range): Likewise.
12580 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
12581 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
12582 (grub_pci_address_t) [!GRUB_UTIL]: New type.
12583 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
12584 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
12585 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
12586 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
12587 * include/grub/pciutils.h: New file.
12588 * util/pci.c: Likewise.
12589
0ad46fd7 125902009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
12591
12592 * util/misc.c: Don't include <errno.h> twice.
12593
0ad46fd7 125942009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
12595
12596 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
12597 name in an error message.
12598 (grub_biosdisk_rw): Likewise.
12599
2e59983c
VS
126002009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
12601
12602 Eliminate NTFS 4Gib barrier.
12603
12604 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
12605 (read_run_data): Likewise.
12606 (grub_ntfs_read_run_list): Likewise.
12607 (grub_ntfs_read_block): Likewise.
12608 (grub_ntfs_iterate_dir): Likewise.
12609 (read_mft): Likewise.
12610 (read_data): Likewise.
12611 Use COM_LOG_LEN.
12612 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
12613 to avoid 64-bit division
12614 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
12615 (grub_ntfs_rlst): Use grub_disk_addr_t.
12616
71ee178a
VS
126172009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
12618
12619 Eliminate grub-fstest 4Gib barrier.
12620
12621 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
12622 (read_file): Fix error reporting.
12623
2520d4b8
VS
126242009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
12625
12626 Eliminate hexdump 4Gib barrier.
12627
12628 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
12629 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
12630
e1f27065
VS
126312009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
12632
12633 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
12634 Fixes amarsh bug.
12635
1a0f7f45
RM
126362009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
12637
12638 Remove miscellaneous files in distclean target.
12639
12640 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
12641
c631d9fb
CW
126422009-12-09 Colin Watson <cjwatson@ubuntu.com>
12643
12644 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
12645 if they're already set. This resolves the conflict between my
12646 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
12647 fixing the --grub-probe option again.
12648 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
12649 change on 2009-10-06, so that we now once again source
12650 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
12651
7c7b6106
RM
126522009-12-08 Robert Millan <rmh.grub@aybabtu.com>
12653
12654 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
12655 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
12656 `util/devicemap.c'.
12657
e3069ec1
CPE
126582009-12-08 Carles Pina i Estany <carles@pina.cat>
12659
12660 * include/grub/misc.h (grub_printf_): New declaration.
12661 * kern/misc.c (grub_printf_): New definition.
12662 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
12663 instead of `grub_printf' and `_'.
12664 * normal/menu_entry.c (store_completion): Likewise.
12665 (run): Likewise.
12666 (grub_menu_entry_run): Likewise.
12667 * normal/menu_text.c (grub_wait_after_message): Likewise.
12668 (notify_booting): Likewise.
12669 (notify_fallback): Likewise.
12670 (notify_execution_failure): Likewise.
12671
d6ceebf1
CW
126722009-12-07 Colin Watson <cjwatson@ubuntu.com>
12673
12674 * configure.ac: Check for vasprintf.
12675 * util/misc.c (asprintf): Move allocation from here ...
12676 (vasprintf): ... to here. New function.
12677 (xasprintf): New function.
12678 * include/grub/util/misc.h (vasprintf, xasprintf): Add
12679 prototypes.
12680 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
12681 * util/grub-mkfont.c (write_font): Likewise.
12682 * util/grub-probe.c (probe): Likewise.
12683 * util/hostdisk.c (make_device_name): Likewise.
12684
de6daa8b
DM
126852009-12-06 David S. Miller <davem@sunset.davemloft.net>
12686
12687 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
12688 anything even prefixed with 'cdrom' as a cdrom.
12689
0ad46fd7 126902009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
12691
12692 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
12693 mount points.
12694
98d3dc02
CPE
126952009-12-05 Carles Pina i Estany <carles@pina.cat>
12696
12697 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
12698 grub_gettext_msg_list.
12699 (grub_gettext_gettranslation_from_position): Return const char *
12700 and not char *.
a2c1332b 12701 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
12702 returns from the list if existing there.
12703 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
12704 (grub_gettext_delete_list): Delete the list.
12705 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
12706 lang environment variable is changed.
12707 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
12708
b283f108
VS
127092009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
12710
12711 Rename kernel.mod to kernel.img.
12712
12713 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
12714 (kernel_mod_EXPORTS): Rename to ...
12715 (kernel_img_EXPORTS): ... this.
12716 (kernel_mod_SOURCES): Rename to ...
12717 (kernel_img_SOURCES): ... this.
12718 (kernel_mod_HEADERS): Rename to ...
12719 (kernel_img_HEADERS): ... this. All users updated.
12720 (kernel_mod_CFLAGS): Rename to ...
12721 (kernel_img_CFLAGS): ... this.
12722 (kernel_mod_ASFLAGS): Rename to ...
12723 (kernel_img_ASFLAGS): ... this.
12724 (kernel_mod_LDFLAGS): Rename to ...
12725 (kernel_img_LDFLAGS): ... this.
12726 * conf/x86_64-efi.rmk: Likewise.
12727 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
12728 (read_kernel_image): ... this. All users updated.
12729 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
12730
69055f8a
CPE
127312009-12-05 Carles Pina i Estany <carles@pina.cat>
12732
12733 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
12734 (print_spaces): New function.
12735 (grub_print_ucs4): New function.
12736 (getstringwidth): New function.
12737 (print_message_indented): New function.
12738 (print_message): Gettexttize strings using print_message_indented.
12739 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
12740 width.
12741 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 12742 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
12743 Gettextize.
12744 * normal/menu_entry.c (store_completion): Cleanup the gettextized
12745 string.
12746 (run): Likewise.
12747 (grub_menu_entry_run): Likewise.
12748 * PO/POTFILES: Add normal/menu_entry.c.
12749
f616f51c
VS
127502009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
12751
12752 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
12753
57bbe3be
CPE
127542009-12-05 Carles Pina i Estany <carles@pina.cat>
12755
12756 * util/grub-install.in: Install gettext .mo files.
12757 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
12758
013d67a1
CPE
127592009-12-05 Carles Pina i Estany <carles@pina.cat>
12760
12761 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
12762 grub_dprintf.
12763
fb954db0
RM
127642009-12-05 Robert Millan <rmh.grub@aybabtu.com>
12765
12766 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
12767 non-firmware-dependant one in realmode.S takes precedence.
12768
6b8474f8
RM
127692009-12-04 Robert Millan <rmh.grub@aybabtu.com>
12770
12771 * commands/halt.c: Replace misc arch-specific headers with
12772 `<grub/misc.h>'.
12773 * commands/reboot.c: Likewise.
12774 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
12775 `<grub/misc.h>'.
12776 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
12777 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
12778 (kernel_img_SOURCES): ... to here.
12779
12780 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
12781 * include/grub/i386/pc/init.h: Likewise.
12782 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
12783 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
12784
12785 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
12786
12787 * include/grub/i386/halt.h: Remove.
12788 * include/grub/i386/reboot.h: Likewise.
12789
12790 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
12791
4b2e6ca2
DM
127922009-12-03 David S. Miller <davem@sunset.davemloft.net>
12793
12794 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
12795 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
12796 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
12797 "progname.h"
12798 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
12799 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12800 (usage): Add missing comma in printf.
12801
5239348f
RM
128022009-12-02 Robert Millan <rmh.grub@aybabtu.com>
12803
12804 Use the same reboot approach on i386 coreboot and qemu as we do on
12805 BIOS.
12806
12807 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
12808 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
12809 * kern/i386/reboot.c: Remove.
12810 * include/grub/i386/reboot.h (grub_reboot): Export function.
12811 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
12812 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
12813 0xf000:0xfff0 instead of 0xffff:0x0000.
12814 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
12815 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
12816
ef34cbd4
RM
128172009-11-30 Robert Millan <rmh.grub@aybabtu.com>
12818
12819 Fix $srcdir != $objdir build.
12820
12821 * Makefile.in (po/%.po): Rewrite as ...
12822 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
12823
dc9837ea
ST
128242009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
12825
12826 Fix GNU/Hurd grub-install crash.
12827 * util/grub-probe.c (probe): Try to access `path' only when it is not
12828 NULL.
12829
2f857f98
VS
128302009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
12831
12832 Correct module naming.
12833
12834 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
12835 (GRUB_MOD_INIT(efi_uga)): ... to this
12836 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
12837 (GRUB_MOD_FINI(efi_uga)): ... to this
12838 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
12839 (GRUB_MOD_INIT(efi_gop)): ... to this
12840 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
12841 (GRUB_MOD_FINI(efi_gop)): ... to this
12842
c5448046
RM
128432009-11-28 Robert Millan <rmh.grub@aybabtu.com>
12844
12845 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
12846 translatable.
12847 (usage): Translate `arg' strings using gettext().
12848 Thanks to Jordi Mallach for the suggestion.
12849
c85184ad
VS
128502009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
12851
12852 GOP support. Based on patch from Bean
12853 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
12854
12855 * video/efi_gop.c: New file.
12856 * include/grub/efi/graphics_output.h: Likewise.
12857 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
12858 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
12859 variables.
12860 * conf/x86_64-efi.rmk: Likewise.
12861
8a4c48d8
VS
128622009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
12863
12864 Rename efi_fb to efi_uga.
12865
12866 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
12867 'efi_uga.mod'.
12868 (efi_fb_mod_SOURCES): Rename this ...
12869 (efi_uga_mod_SOURCES): ... to this.
12870 (efi_fb_mod_CFLAGS): Rename this ...
12871 (efi_uga_mod_CFLAGS): ... to this.
12872 (efi_fb_mod_LDFLAGS): Rename this ...
12873 (efi_uga_mod_LDFLAGS): ... to this.
12874 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
12875 'efi_uga.mod'.
12876 (efi_fb_mod_SOURCES): Rename this ...
12877 (efi_uga_mod_SOURCES): ... to this.
12878 (efi_fb_mod_CFLAGS): Rename this ...
12879 (efi_uga_mod_CFLAGS): ... to this.
12880 (efi_fb_mod_LDFLAGS): Rename this ...
12881 (efi_uga_mod_LDFLAGS): ... to this.
12882 * video/efi_fb.c: Move this ...
12883 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
12884
fb6c1a7b
RM
128852009-11-27 Robert Millan <rmh.grub@aybabtu.com>
12886
12887 * po/README: New file. Explain our PO file workflow.
12888
3bc7896c
RM
128892009-11-27 Robert Millan <rmh.grub@aybabtu.com>
12890
12891 * po/ChangeLog: Remove. Move relevant entries back to ...
12892 * ChangeLog: ... here.
12893 * po/ca.po: Remove (now handled by TLP).
12894 * po/id.po: Likewise.
12895 * po/zh_CN.po: Likewise.
12896 * Makefile.in (LINGUAS): Initialize in a way that supports
12897 empty set.
12898
9ed4841d
RM
128992009-11-27 Robert Millan <rmh.grub@aybabtu.com>
12900
12901 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
12902 reliing on po/LINGUAS.
12903 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
12904 (po/%.po): ... this.
12905
0ad46fd7 129062009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
12907
12908 * util/i386/efi/grub-mkimage.c: Include "progname.h".
12909 (main): Use `program_name' instead of nonexistent `progname'.
12910
e30dd392
FZ
129112009-11-26 Felix Zielcke <fzielcke@z-51.de>
12912
12913 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
12914 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
12915
7656de4f
RM
129162009-11-26 Robert Millan <rmh.grub@aybabtu.com>
12917
12918 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
12919 commit.
12920 * conf/i386-efi.rmk: Likewise.
12921 * conf/i386-ieee1275.rmk: Likewise.
12922 * conf/powerpc-ieee1275.rmk: Likewise.
12923 * conf/sparc64-ieee1275.rmk: Likewise.
12924 * conf/x86_64-efi.rmk: Likewise.
12925
db77c4d4
FZ
129262009-11-26 Felix Zielcke <fzielcke@z-51.de>
12927
12928 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
12929
a755bb04
FZ
129302009-11-26 Felix Zielcke <fzielcke@z-51.de>
12931
12932 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
12933
8a4c07fd
RM
129342009-11-26 Robert Millan <rmh.grub@aybabtu.com>
12935
12936 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
12937 (grub_mkdevicemap_SOURCES): New variable.
12938 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
12939 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
12940 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
12941 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
12942 (grub_mkdevicemap_SOURCES): Remove.
12943 * conf/i386-efi.rmk: Likewise.
12944 * conf/i386-ieee1275.rmk: Likewise.
12945 * conf/i386-pc.rmk: Likewise.
12946 * conf/powerpc-ieee1275.rmk: Likewise.
12947 * conf/sparc64-ieee1275.rmk: Likewise.
12948 * conf/x86_64-efi.rmk: Likewise.
12949 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
12950 (usage): Fix strings to use `program_name'.
12951 (main): Initialize gettext.
12952 * util/grub-editenv.c: Likewise.
12953 * util/grub-emu.c: Likewise.
12954 * util/grub-fstest.c: Likewise.
12955 * util/grub-mkdevicemap.c: Likewise.
12956 * util/grub-mkfont.c: Likewise.
12957 * util/grub-mkrelpath.c: Likewise.
12958 * util/grub-pe2elf.c: Likewise.
12959 * util/grub-probe.c: Likewise.
12960 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
12961 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
12962 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12963
12964 * util/misc.c: Include `"progname.h"'.
12965 (progname): Remove variable.
12966 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
12967
6f61ed55
FZ
129682009-11-25 Felix Zielcke <fzielcke@z-51.de>
12969
12970 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
12971 printf and print a newline after the menuentry header line.
12972 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
12973
f022876b
FZ
129742009-11-25 Felix Zielcke <fzielcke@z-51.de>
12975
12976 autoconf >= 2.60 support $(localedir).
12977
12978 * INSTALL: Note that autoconf 2.60 is required.
12979 * configure.ac (AC_PREREQ): Bump to 2.60.
12980 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
12981 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
12982
6717926e
YB
129832009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
12984
12985 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
12986 aclocal is run.
12987
08806a54
RM
129882009-11-25 Robert Millan <rmh.grub@aybabtu.com>
12989
12990 * normal/main.c (grub_normal_read_line): Fix off-by-one
12991 buffer overflow.
12992
13b33fba
RM
129932009-11-25 Robert Millan <rmh.grub@aybabtu.com>
12994
12995 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
12996 "parser.grub" in grub_command_execute() call.
12997
4a8572e9
CPE
129982009-11-24 Carles Pina i Estany <carles@pina.cat>
12999
13000 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
13001 * conf/i386-efi.rmk: Likewise.
13002 * conf/i386-ieee1275.rmk: Likewise.
13003 * conf/i386-pc.rmk: Likewise.
13004 * conf/powerpc-ieee1275.rmk: Likewise.
13005 * conf/sparc64-ieee1275.rmk: Likewise.
13006 * conf/x86_64-efi.rmk: Likewise.
13007 * gettext/gettex.c: Include <grub/i18n.h>.
13008 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
13009 here ...
13010 * include/grub/i18n.h: ... to here
13011 * include/grub/i18n.h: ... to here.
13012 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 13013 (grub_gettext_dummy): Move above user.
4a8572e9 13014
bee48093
FZ
130152009-11-24 Felix Zielcke <fzielcke@z-51.de>
13016
13017 * util/Makefile.in (install-local): Convert a `for' into a normal
13018 shell expansion.
13019
a031e91c
RM
130202009-11-24 Robert Millan <rmh.grub@aybabtu.com>
13021
13022 * autogen.sh: Add automake call.
13023 * config.guess: Remove.
13024 * config.sub: Likewise.
13025 * install-sh: Likewise.
13026
26bec39d
FZ
130272009-11-24 Felix Zielcke <fzielcke@z-51.de>
13028
13029 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
13030
8e2532fd
FZ
130312009-11-24 Felix Zielcke <fzielcke@z-51.de>
13032
13033 * util/Makefile.in (install-local): Convert a make `$(foreach)'
13034 function to a normal shell `for'.
13035
fefa1b7d
FZ
130362009-11-24 Felix Zielcke <fzielcke@z-51.de>
13037
13038 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
13039
4501250b
FZ
130402009-11-24 Felix Zielcke <fzielcke@z-51.de>
13041
13042 * util/grub-mkrelpath.c: New file.
13043 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
13044 (grub_mkrelpath_SOURCES): New variable.
13045 * include/grub/util/misc.h: New function prototype.
13046 * util/misc.c (make_system_path_relative_to_its_root): New function.
13047
13048 * util/grub-mkconfig_lib.in (bindir): New variable.
13049 (grub_mkrelpath): Likewise.
13050 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
13051
13052 * util/probe.c (probe): Make the file path relative to its root.
13053 Change a info message to use the GRUB path. Enable again the
13054 check if we can read the file with GRUB facilities.
13055
13056 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
13057 to its root.
13058
11d9778b
FZ
130592009-11-24 Felix Zielcke <fzielcke@z-51.de>
13060
13061 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
13062 platform.
13063
4465287d
FZ
130642009-11-24 Felix Zielcke <fzielcke@z-51.de>
13065
13066 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
13067 strncmp().
13068
62b47f22
FZ
130692009-11-24 Felix Zielcke <fzielcke@z-51.de>
13070
13071 * util/getroot.c (grub_util_is_dmraid): New function.
13072 (grub_util_get_dev_abstraction): Treat dmraid and multipath
13073 devices as normal ones, not as LVM.
13074
1eafb9b9 130752009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
13076
13077 * conf/common.rmk: Add grub-gettext_lib target and updates
13078 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
13079 LDFLAGS.
13080 * gettext/gettext.c: New file. (Reads mo files).
13081 * include/grub/file.h (grub_file_pread): New prototype.
13082 * include/grub/i18n.h (_): New prototype.
13083 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
13084 prototypes.
13085 * kern/misc.c (grub_gettext_dummy): New function.
13086 * normal/menu_text.c: Include <grub/i18n.h>.
13087 * normal/menu_text.c (print_timeout): Gettexttize string.
13088 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
13089 * po/POTFILES: Add `normal/menu_text.c'.
13090 * po/ca.po: Add new translations.
c3ea6bd4
CPE
13091 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
13092 gettext module and defines locale_dir and lang in grub.cfg.
13093 * NEWS: Add gettext support.
13094
0fdb2568
RM
130952009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13096
13097 * util/hostdisk.c: Include `<grub/i18n.h>'.
13098 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
13099 (make_device_name): Rewrite using asprintf.
13100 (convert_system_partition_to_system_disk): Replace 0 with NULL.
13101 (find_system_device): If a device is not found, generate one just
13102 by reusing the OS path name.
13103 (read_device_map): Make it permissible for device.map not to exist.
13104
f515aa62
RM
131052009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13106
13107 * script/sh/execute.c: Move from here ...
13108 * script/execute.c: ... to here. Update all users.
13109 * script/sh/function.c: Move from here ...
13110 * script/function.c: ... to here. Update all users.
13111 * script/sh/lexer.c: Move from here ...
13112 * script/lexer.c: ... to here. Update all users.
13113 * script/sh/main.c: Move from here ...
13114 * script/main.c: ... to here. Update all users.
13115 * script/sh/parser.y: Move from here ...
13116 * script/parser.y: ... to here. Update all users.
13117 * script/sh/script.c: Move from here ...
13118 * script/script.c: ... to here. Update all users.
13119
f84b481b
RM
131202009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13121
13122 * configure.ac: Detect all `emu' platforms. Define
13123 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
13124 --enable-grub-emu logic. Disable include/grub/machine
13125 symlink on `emu' platforms.
13126
13127 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
13128 * gensymlist.sh.in: Likewise.
13129
13130 * include/grub/i386/coreboot/machine.h: Remove file.
13131 * include/grub/i386/efi/machine.h: Likewise.
13132 * include/grub/i386/ieee1275/machine.h: Likewise.
13133 * include/grub/i386/pc/machine.h: Likewise.
13134 * include/grub/i386/qemu/machine.h: Likewise.
13135 * include/grub/powerpc/ieee1275/machine.h: Likewise.
13136 * include/grub/sparc64/ieee1275/machine.h: Likewise.
13137 * include/grub/x86_64/efi/machine.h: Likewise.
13138
13139 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
13140 * commands/halt.c: Likewise.
13141 * commands/reboot.c: Likewise.
13142 * include/grub/autoefi.h: Likewise.
13143 * include/grub/i386/at_keyboard.h: Likewise.
13144 * include/grub/i386/kernel.h: Likewise.
13145 * include/grub/i386/loader.h: Likewise.
13146 * include/grub/i386/pc/memory.h: Likewise.
13147 * kern/dl.c: Likewise.
13148 * kern/i386/coreboot/init.c: Likewise.
13149 * loader/i386/bsd.c: Likewise.
13150 * loader/i386/linux.c: Likewise.
13151 * loader/multiboot_loader.c: Likewise.
13152 * term/i386/pc/serial.c: Likewise.
13153 * term/usb_keyboard.c: Likewise.
13154
13155 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
13156 `<grub/machine/machine.h>'
13157 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
13158 * util/misc.c: Remove `<grub/machine/machine.h>' and
13159 `<grub/machine/time.h>'.
13160
13161 * Makefile.in (enable_grub_emu): Remove variable.
13162 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
13163
13164 * conf/any-emu.rmk: New file.
13165 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
13166 (grub_emu_init.c): Move from here ...
13167 * conf/any-emu.rmk: ... to here.
13168
13169 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
13170 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
13171 * conf/any-emu.rmk: ... to here.
13172
4efeab03
RM
131732009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13174
13175 * include/grub/parser.h (grub_parser_register): Document need
13176 of `name' parameter.
13177 * normal/main.c (grub_normal_read_line): Simplify prompt string.
13178 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
13179 "sh" to "grub".
13180
ea1dd8bf
RM
131812009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13182
13183 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
13184 `$(XGETTEXT)'.
13185 * include/grub/i18n.h (N_): New macro.
13186 * util/mkisofs/mkisofs.h: Likewise.
13187 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
13188 around N_().
13189 (usage): Use gettext() to translate help strings when printing them.
13190
0c140626
RM
131912009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13192
13193 Based on patch from Bean
13194 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
13195
13196 * video/efi_fb.c: New file.
13197 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
13198 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
13199 variables.
13200 * conf/x86_64-efi.rmk: Likewise.
13201
87d58298
RM
132022009-11-22 Robert Millan <rmh.grub@aybabtu.com>
13203
13204 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
13205 * util/i386/pc/grub-setup.c: Likewise.
13206
994cc3a3
ST
132072009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
13208
13209 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
13210 <hurd/fs.h>
13211 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
13212 file_get_storage_info to implement grub_guess_root_device.
13213
26a61d6a
FZ
132142009-11-21 Felix Zielcke <fzielcke@z-51.de>
13215
13216 * Makefile.in (target): Use make's builtin $(shell) function
13217 instead of calling directly $(SHELL) to create the locale directories,
13218 inside the $(foreach) function.
13219
74ff1dd5
FZ
132202009-11-21 Felix Zielcke <fzielcke@z-51.de>
13221
13222 * util/grub-mkrescue.in: Print an error and usage if output option
13223 has not been given.
13224
0b787d0e
FZ
132252009-11-21 Felix Zielcke <fzielcke@z-51.de>
13226
13227 Patch from Loïc Minier <loic.minier@ubuntu.com>.
13228 * util/grub.d/30_os-prober.in: Cope with Linux entries where
13229 root and /boot are on different devices.
13230
1164b270
RM
132312009-11-21 Robert Millan <rmh.grub@aybabtu.com>
13232
13233 Fix build for srcdir != objdir.
13234
13235 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
13236 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
13237 $(srcdir).
13238 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
13239 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
13240 reference for input.
13241
13774a2f
RM
132422009-11-21 Robert Millan <rmh.grub@aybabtu.com>
13243
13244 * util/grub-mkrescue.in: Use source directory direcly (without copiing
13245 or hardlinking it). Remove -J option, Joliet is not compatible with
13246 multiple source directories.
13247
efda854e
RM
132482009-11-21 Carles Pina i Estany <carles@pina.cat>
132492009-11-21 Robert Millan <rmh.grub@aybabtu.com>
13250
13251 * util/grub-mkrescue.in: Recognize `--override-directory' option.
13252 (process_input_dir): New function. Process an arbitrary input
13253 directory.
13254 Misc adjustments to support both "override mode" and system-wide mode.
13255
6c09890c
FZ
132562009-11-20 Felix Zielcke <fzielcke@z-51.de>
13257
13258 * configure.ac (UNIFONT_BDF): Rename to ...
13259 (FONT_SOURCE): ... this. Update all users.
13260
a797824f
FZ
132612009-11-20 Felix Zielcke <fzielcke@z-51.de>
13262
13263 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
13264 to the list of unifont files to look for.
13265
cd4f42b0
RM
132662009-11-19 Robert Millan <rmh.grub@aybabtu.com>
13267
13268 Patch from Joe Auricchio <jauricchio@gmail.com>
13269 * commands/minicmd.c (grub_mini_cmd_clear): New function.
13270 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
13271 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
13272
393c783d
FZ
132732009-11-19 Felix Zielcke <fzielcke@z-51.de>
13274
13275 * Makefile.in (install-local): Add a missing backslash.
13276
b2f1e327
FZ
132772009-11-19 Felix Zielcke <fzielcke@z-51.de>
13278
13279 * include/grub/x86_64/io.h: New file.
13280
f577f7a0
RM
132812009-11-19 Robert Millan <rmh.grub@aybabtu.com>
13282
13283 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
13284 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
13285 Include `"progname.h"'.
13286 (main): Initialize gettext.
13287 * util/i386/pc/grub-setup.c: Gettexttize.
13288 * util/i386/pc/grub-mkimage.c: Likewise.
13289
13290 * Makefile.in (po/*.po): Redefine as ...
13291 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
13292
3bc7896c
RM
13293 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
13294
c37943b6
RM
132952009-11-19 Robert Millan <rmh.grub@aybabtu.com>
13296
13297 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
13298 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
13299 (program_name): Remove.
13300 (main): Initialize gettext support.
6323f705
RM
13301 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
13302 Include `<libintl.h>'.
13303 (_): New macro.
c37943b6
RM
13304
13305 * util/mkisofs/eltorito.c: Gettexttize.
13306 * util/mkisofs/joliet.c: Likewise.
13307 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
13308 * util/mkisofs/multi.c: Likewise.
13309 * util/mkisofs/rock.c: Likewise.
13310 * util/mkisofs/tree.c: Likewise.
13311 * util/mkisofs/write.c: Likewise.
13312
3bc7896c
RM
13313 * po/POTFILES: Update with new files.
13314
5ce77c6e
RM
133152009-11-18 Robert Millan <rmh.grub@aybabtu.com>
13316
13317 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
13318 * util/mkisofs/iso9660.h: Likewise.
13319 * util/mkisofs/joliet.c: Likewise.
13320 * util/mkisofs/mkisofs.c: Likewise.
13321 * util/mkisofs/mkisofs.h: Likewise.
13322 * util/mkisofs/rock.c: Likewise.
13323 * util/mkisofs/tree.c: Likewise.
13324 * util/mkisofs/write.c: Likewise.
13325
13326 * util/mkisofs/eltorito.c (rcsid): Remove.
13327 * util/mkisofs/hash.c: Likewise.
13328 * util/mkisofs/joliet.c: Likewise.
13329 * util/mkisofs/name.c: Likewise.
13330 * util/mkisofs/rock.c: Likewise.
13331 * util/mkisofs/tree.c: Likewise.
13332 * util/mkisofs/write.c: Likewise.
13333
1dabbc77
RM
133342009-11-18 Robert Millan <rmh.grub@aybabtu.com>
13335
13336 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
13337 instead of static allocation.
13338 * util/mkisofs/match.h: Likewise.
13339
633877cb
RM
133402009-11-18 Robert Millan <rmh.grub@aybabtu.com>
13341
3bc7896c
RM
13342 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
13343 and `util/grub.d/10_linux.in'.
633877cb
RM
13344 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
13345 translatable Shell files.
13346
af1c0c85
RM
133472009-11-18 Robert Millan <rmh.grub@aybabtu.com>
13348
13349 * Makefile.in ($(srcdir)/aclocal.m4): New target.
13350
769ae37b
RM
133512009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13352
13353 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 13354 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
13355 * util/grub.d/10_kfreebsd.in (bindir): New variable.
13356 Add gettext initialization.
13357 (kfreebsd_entry): Make menuentry output translatable.
13358
133592009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13360
13361 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
13362 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
13363 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
13364 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
13365 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 13366 * po/LINGUAS: New file.
769ae37b
RM
13367
133682009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13369
13370 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
13371 other things).
13372 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
13373 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
13374 bindtextdomain() calls for gettext initialization.
13375
133762009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13377
13378 * gnulib/progname.c: New file (imported from Gnulib).
13379 * gnulib/progname.h: Likewise.
13380 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
13381 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
13382 (usage): Replace `progname' with `program_name'.
13383 (main): Use set_program_name() for program name initialization.
13384
133852009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13386
13387 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
13388 from here ...
13389 * Makefile.in (CPPFLAGS): ... to here.
13390
133912009-11-16 Robert Millan <rmh.grub@aybabtu.com>
13392
13393 * aclocal.m4: Move from here ...
13394 * acinclude.m4: ... to here.
13395 * autogen.sh: Add call to `aclocal'.
13396 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
13397
133982009-11-16 Robert Millan <rmh.grub@aybabtu.com>
13399
13400 * Makefile.in (CLEANFILES): Add `po/*.mo'.
13401 (LINGUAS): New variable.
13402 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
13403 (install-local): Install MO files.
13404 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
13405 * include/grub/i18n.h: New file.
3bc7896c
RM
13406 * po/POTFILES: New file.
13407 * po/ca.po: New file.
769ae37b
RM
13408 * util/grub.d/10_linux.in (bindir): New variable.
13409 Add gettext initialization.
13410 (linux_entry): Make menuentry output translatable.
13411 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
13412 (usage): Make --help output translatable.
13413 (main): Initialize gettext.
13414
02c0a6ad
RM
134152009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13416
13417 * import_gcry.py: New file (written by Vladimir with minor
13418 adjustments).
13419 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
13420 ciphers.
13421 * INSTALL: Document that Python is required for bootstrap.
13422
134232009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13424
13425 Import ciphers from libgcrypt 1.4.4.
13426
13427 * lib/libgcrypt/cipher/ChangeLog
13428 * lib/libgcrypt/cipher/ac.c
13429 * lib/libgcrypt/cipher/arcfour.c
13430 * lib/libgcrypt/cipher/bithelp.h
13431 * lib/libgcrypt/cipher/blowfish.c
13432 * lib/libgcrypt/cipher/camellia-glue.c
13433 * lib/libgcrypt/cipher/camellia.c
13434 * lib/libgcrypt/cipher/camellia.h
13435 * lib/libgcrypt/cipher/cast5.c
13436 * lib/libgcrypt/cipher/cipher.c
13437 * lib/libgcrypt/cipher/crc.c
13438 * lib/libgcrypt/cipher/des.c
13439 * lib/libgcrypt/cipher/dsa.c
13440 * lib/libgcrypt/cipher/ecc.c
13441 * lib/libgcrypt/cipher/elgamal.c
13442 * lib/libgcrypt/cipher/hash-common.c
13443 * lib/libgcrypt/cipher/hash-common.h
13444 * lib/libgcrypt/cipher/hmac-tests.c
13445 * lib/libgcrypt/cipher/md.c
13446 * lib/libgcrypt/cipher/md4.c
13447 * lib/libgcrypt/cipher/md5.c
13448 * lib/libgcrypt/cipher/primegen.c
13449 * lib/libgcrypt/cipher/pubkey.c
13450 * lib/libgcrypt/cipher/rfc2268.c
13451 * lib/libgcrypt/cipher/rijndael-tables.h
13452 * lib/libgcrypt/cipher/rijndael.c
13453 * lib/libgcrypt/cipher/rmd.h
13454 * lib/libgcrypt/cipher/rmd160.c
13455 * lib/libgcrypt/cipher/rsa.c
13456 * lib/libgcrypt/cipher/seed.c
13457 * lib/libgcrypt/cipher/serpent.c
13458 * lib/libgcrypt/cipher/sha1.c
13459 * lib/libgcrypt/cipher/sha256.c
13460 * lib/libgcrypt/cipher/sha512.c
13461 * lib/libgcrypt/cipher/tiger.c
13462 * lib/libgcrypt/cipher/twofish.c
13463 * lib/libgcrypt/cipher/whirlpool.c
13464
af2f93ac
RM
134652009-11-16 Robert Millan <rmh.grub@aybabtu.com>
13466
13467 Fix build for systems without error().
13468
13469 * gnulib/error.c: New file (imported from Gnulib).
13470 * gnulib/error.h: Likewise.
13471 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
13472 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
13473 (this variable is now used by error()).
13474
73fb3dd5
FZ
134752009-11-16 Felix Zielcke <fzielcke@z-51.de>
13476
814f5e96
FZ
13477 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
13478 instead of relying that char is signed.
73fb3dd5 13479
a691ca33
VS
134802009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13481
13482 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
13483 blocksize different from specified.
13484 (grub_pxefs_read): Likewise.
13485
2af8f0f4
FZ
134862009-11-16 Felix Zielcke <fzielcke@z-51.de>
13487
13488 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
13489
13490 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
13491 (grub_ata_readwrite): Likewise. Update 2 format strings.
13492 (grub_atapi_read): Likewise.
13493
13494 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
13495 * conf/i386.rmk (pkglib_MODULES): ... to here ...
13496 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
13497 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
13498 (ata_mod_LDFLAGS): Move from here ...
13499 * conf/i386.rmk: ... to here ...
13500 * conf/x86_64-efi.rmk: ... and here.
13501 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
13502 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
13503
83bdecaf
RM
135042009-11-16 Robert Millan <rmh.grub@aybabtu.com>
13505
13506 Relicense multiboot.h, with RMS' blessing.
13507
13508 * include/multiboot.h: Change to X11 license.
13509
fd6fd3d7
RM
135102009-11-15 Robert Millan <rmh.grub@aybabtu.com>
13511
13512 Support --version in grub-mkisofs.
13513
13514 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
13515 (OPTION_VERSION): New macro.
13516 (ld_options): Recognize --version.
13517 (usage): Move `program_name' from here ...
13518 (program_name): ... to here. Add `static' qualifier.
13519 (main): Recognize `OPTION_VERSION'.
13520
16a88c49
FZ
135212009-11-15 Felix Zielcke <fzielcke@z-51.de>
13522
13523 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
13524 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
13525
a4158476
RM
135262009-11-14 Robert Millan <rmh.grub@aybabtu.com>
13527
13528 Fix help2man generation for mkisofs.
13529
13530 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
13531 (usage): Send output to stdout (rather than stderr).
13532
fc2208b0
RM
135332009-11-14 Robert Millan <rmh.grub@aybabtu.com>
13534
13535 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
13536 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
13537 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
13538 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
13539 (bin_SCRIPTS): Add `grub-mkfloppy'.
13540 (grub_mkfloppy_SOURCES): New variable.
13541
13542 * util/grub-mkrescue.in: New file.
13543 * util/i386/pc/grub-mkfloppy.in: New file.
13544
13545 * util/i386/coreboot/grub-mkrescue.in: Remove.
13546 * util/i386/pc/grub-mkrescue.in: Remove.
13547
8d0edf4a
RM
135482009-11-13 Robert Millan <rmh.grub@aybabtu.com>
13549
13550 * include/grub/multiboot.h (struct grub_multiboot_header): Move
13551 from here ...
13552 * include/multiboot.h (struct multiboot_header): ... to here. Update
13553 all users.
13554 * include/grub/multiboot.h (struct grub_multiboot_info): Move
13555 from here ...
13556 * include/multiboot.h (struct multiboot_info): ... to here. Update
13557 all users.
13558 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
13559 from here ...
13560 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
13561 Update all users.
13562 * include/grub/multiboot.h (struct grub_mod_list): Move
13563 from here ...
13564 * include/multiboot.h (struct multiboot_mod_list): ... to here.
13565 Update all users.
13566
a73f5969
RM
135672009-11-13 Robert Millan <rmh.grub@aybabtu.com>
13568
13569 * include/multiboot2.h (multiboot_word): Rename from this ...
13570 (multiboot2_word): ... to this. Update all users.
13571 (multiboot_header): Rename from this ...
13572 (multiboot2_header): ... to this. Update all users.
13573 (multiboot_tag_header): Rename from this ...
13574 (multiboot2_tag_header): ... to this. Update all users.
13575 (multiboot_tag_start): Rename from this ...
13576 (multiboot2_tag_start): ... to this. Update all users.
13577 (multiboot_tag_name): Rename from this ...
13578 (multiboot2_tag_name): ... to this. Update all users.
13579 (multiboot_tag_module): Rename from this ...
13580 (multiboot2_tag_module): ... to this. Update all users.
13581 (multiboot_tag_memory): Rename from this ...
13582 (multiboot2_tag_memory): ... to this. Update all users.
13583 (multiboot_tag_unused): Rename from this ...
13584 (multiboot2_tag_unused): ... to this. Update all users.
13585 (multiboot_tag_end): Rename from this ...
13586 (multiboot2_tag_end): ... to this. Update all users.
13587
1c8927f0
RM
135882009-11-13 Robert Millan <rmh.grub@aybabtu.com>
13589
13590 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
13591 this platform we should support Multiboot1 first.
13592
13593 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
13594 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
13595 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
13596
6e1e0d89
RM
135972009-11-12 Robert Millan <rmh.grub@aybabtu.com>
13598
13599 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
13600 of write calls (converting them to fwrite() if they aren't already).
13601 (get_torito_desc): Likewise.
13602 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
13603
7f2b34d8
RM
136042009-11-12 Robert Millan <rmh.grub@aybabtu.com>
13605
13606 * util/i386/pc/grub-install.in: Move from here ...
13607 * util/grub-install.in: ... to here. Update all users.
13608
c0ef3311
CW
136092009-11-11 Colin Watson <cjwatson@ubuntu.com>
13610
13611 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
13612
e1f240ff
RM
136132009-11-11 Robert Millan <rmh.grub@aybabtu.com>
13614
13615 Support for El Torito without floppy emulation.
13616
13617 * util/mkisofs/eltorito.c: Include `<errno.h>'.
13618 (init_boot_catalog): Improve error handling.
13619 (get_torito_desc): Don't use floppy emulation unless requested by
13620 user. Patch boot information table when requested via
13621 `-boot-info-table'.
13622 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
13623 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
13624 (use_boot_info_table): New variables.
13625 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
13626 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
13627 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
13628 `--eltorito-emul-floppy'.
13629 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
13630 and `OPTION_ELTORITO_EMUL_FLOPPY'.
13631 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
13632 (use_boot_info_table, get_731): New prototypes.
13633 * util/mkisofs/write.c (get_731): New function.
13634
af7d4de5
FZ
136352009-11-11 Felix Zielcke <fzielcke@z-51.de>
13636
13637 Fix the generation of the man page.
13638
13639 * util/pc/i386/grub-install.in: Source
13640 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
13641
2c55dbc0
RM
136422009-11-11 Robert Millan <rmh.grub@aybabtu.com>
13643
13644 Large file support for grub-mkisofs.
13645
13646 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
13647 * util/mkisofs/mkisofs.c (next_extent, last_extent)
13648 (session_start): Upgrade type to `uint64_t'. Update all users.
13649 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
13650 (struct directory_entry): Upgrade type of `starting_block' and
13651 `size' to `uint64_t'. Update all users.
13652 (struct deferred): Remove unused structure.
13653 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
13654 Update all users.
13655 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
13656 file is larger than `UINT32_MAX'.
13657 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
13658 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
13659 return value.
13660 (struct deferred_write): Upgrade type of `extent' and `size' to
13661 `uint64_t'. Update all users.
13662 (last_extent_written): Upgrade type to `uint64_t'. Update all
13663 users.
13664 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
13665 Update all users. Upgrade type of `remain' to `int64_t' and
13666 `use' to `size_t'. Use error() to handle fread() errors.
13667 (write_files): Rely on write_one_file() rather than calling
13668 xfwrite() directly.
13669
6a9cead5
FZ
136702009-11-09 Felix Zielcke <fzielcke@z-51.de>
13671
13672 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
13673
4825d790
RM
136742009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13675
13676 * util/mkisofs/fnmatch.c: Remove.
13677 * util/mkisofs/getopt1.c: Likewise.
13678 * util/mkisofs/getopt.c: Likewise.
13679 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
13680 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
13681 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
13682 `gnulib/getopt1.c' and `gnulib/getopt.c'.
13683 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
13684
13685 * configure.ac: Detect `mingw32msvc' host_os.
13686 Check for lstat(), getuid() and getgid().
13687
13688 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
13689 instances of `u_char' with `uint8_t'.
13690
13691 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
13692 [!HAVE_GETUID] (getuid): New function (stub).
13693 [!HAVE_GETGID] (getgid): Likewise.
13694 [!HAVE_LSTAT] (lstat): Likewise.
13695 [!S_IROTH] (S_IROTH): New macro (dummy).
13696 [!S_IRGRP] (S_IRGRP): Likewise.
13697
84b860d8
RM
136982009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13699
13700 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
13701 conditional expression).
13702
66e9b712
RM
137032009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13704
13705 Import from Gnulib.
13706
13707 * gnulib/fnmatch.c: New file.
13708 * gnulib/fnmatch.h: Likewise.
13709 * gnulib/fnmatch_loop.c: Likewise.
13710 * gnulib/getopt.c: Likewise.
13711 * gnulib/getopt.h: Likewise.
13712 * gnulib/getopt1.c: Likewise.
13713 * gnulib/getopt_int.h: Likewise.
13714 * gnulib/gettext.h: Likewise.
13715
34f4a5b0
RM
137162009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13717
13718 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
13719 * normal/handler.c (read_handler_list): Likewise.
13720
ac451143
RM
137212009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13722
13723 Misc cleanup.
13724
13725 * kern/command.c (grub_register_command_prio): Use
13726 grub_zalloc() instead of explicitly zeroing data.
13727 * kern/list.c: Include `<grub/mm.h>'.
13728 (grub_named_list_find): Replace `0' with `NULL'.
13729 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
13730 (fs_module_list): Change type to `grub_named_list_t'. Update all
13731 users.
13732 * normal/dyncmd.c (read_command_list): Add space between function
13733 call and parenthesis.
13734 * normal/handler.c (read_handler_list): Likewise.
13735
4089b167
RM
137362009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13737
13738 * normal/auth.c (punishment_delay): Moved from here ...
13739 (grub_auth_strcmp): ... to here (inside function).
13740
325f5037
RM
137412009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13742
13743 * include/grub/list.h (struct grub_named_list): Remove `const'
13744 qualifier from `name'.
13745 (struct grub_prio_list): Likewise.
13746
7aea29a3
RM
137472009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13748
13749 * normal/auth.c: Include `<grub/time.h>'.
13750 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
13751
3fd6f044
RM
137522009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13753
13754 * normal/auth.c (punishment_delay): New variable.
13755 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
13756 (grub_auth_check_authentication): Punish failed login attempts with
13757 an incremental (2^N) delay.
13758
a4cd68e4
RM
137592009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13760
13761 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
13762 path with $(srcdir).
13763
7ad12f43
VS
137642009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13765
13766 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
13767
c1129f03
RM
137682009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13769
13770 * util/i386/coreboot/grub-mkrescue.in: New file.
13771 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
13772 variables.
13773
13774 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
13775 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
13776 * configure.ac: Add header and function checks to satisfy grub-mkisofs
13777 requirements.
13778 * util/mkisofs/defaults.h: New file.
13779 * util/mkisofs/eltorito.c: Likewise.
13780 * util/mkisofs/exclude.h: Likewise.
13781 * util/mkisofs/fnmatch.c: Likewise.
13782 * util/mkisofs/getopt.c: Likewise.
13783 * util/mkisofs/getopt1.c: Likewise.
13784 * util/mkisofs/hash.c: Likewise.
13785 * util/mkisofs/include/fctldefs.h: Likewise.
13786 * util/mkisofs/include/mconfig.h: Likewise.
13787 * util/mkisofs/include/prototyp.h: Likewise.
13788 * util/mkisofs/include/statdefs.h: Likewise.
13789 * util/mkisofs/iso9660.h: Likewise.
13790 * util/mkisofs/joliet.c: Likewise.
13791 * util/mkisofs/match.c: Likewise.
13792 * util/mkisofs/match.h: Likewise.
13793 * util/mkisofs/mkisofs.c: Likewise.
13794 * util/mkisofs/mkisofs.h: Likewise.
13795 * util/mkisofs/multi.c: Likewise.
13796 * util/mkisofs/name.c: Likewise.
13797 * util/mkisofs/rock.c: Likewise.
13798 * util/mkisofs/tree.c: Likewise.
13799 * util/mkisofs/write.c: Likewise.
13800
ec8bb77d
VS
138012009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13802
13803 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
13804 being insecure.
13805
3716b12c
RM
138062009-11-08 Robert Millan <rmh.grub@aybabtu.com>
13807
13808 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
13809 `grub-mkimage' (and use $0 when possible).
13810
b97b7b91
RM
138112009-11-08 Robert Millan <rmh.grub@aybabtu.com>
13812
13813 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
13814 error message for excessively large memory map.
13815
04114812
RM
138162009-11-08 Robert Millan <rmh.grub@aybabtu.com>
13817
13818 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
13819 executable bit.
13820
e4eb2373
RM
138212009-11-08 Robert Millan <rmh.grub@aybabtu.com>
13822
13823 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
13824 message for coreboot users.
13825
c926e1d5 138262009-11-07 Robert Millan <rmh.grub@aybabtu.com>
13827
13828 Fix build with GNU gold.
13829
13830 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
13831 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
13832 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
13833 link addresses.
13834 * aclocal.m4: Likewise.
13835
86e5b1db 138362009-11-04 Felix Zielcke <fzielcke@z-51.de>
13837
13838 * configure.ac (AC_PREREQ): Bump to 2.59d.
13839 * INSTALL: Make it more clear when Autoconf and Ruby are
13840 needed and when to run `./autogen.sh'.
13841
246cd78f 138422009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
13843
13844 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
13845 OSes.
13846
4f9dfb37 138472009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
13848
13849 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
13850
b82bd5e1 138512009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
13852
13853 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
13854 giving it to GNU Mach.
13855
ff1a9bca 138562009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
13857
13858 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
13859 GNU partition number to get internal GRUB partition number.
13860
61697d9c 138612009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
13862
13863 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
13864 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
13865
a50569e1 138662009-11-01 Robert Millan <rmh.grub@aybabtu.com>
13867
13868 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
13869 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
13870 case.
13871
5b153867 138722009-11-01 Felix Zielcke <fzielcke@z-51.de>
13873
13874 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
13875
d9e2cd70 138762009-10-30 Robert Millan <rmh.grub@aybabtu.com>
13877
13878 Fix build problem.
13879
13880 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
13881 `-isystem=$(srcdir)/include'.
13882
805111a4 138832009-10-30 Robert Millan <rmh.grub@aybabtu.com>
13884
13885 * util/i386/pc/grub-install.in: Remove hint that device.map should be
13886 checked (grub-install doesn't currently rely on it).
13887
fa6e945f 138882009-10-29 Robert Millan <rmh.grub@aybabtu.com>
13889
13890 Revert SVN r2660.
13891
13892 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
13893 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
13894 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
13895 * conf/i386-ieee1275.rmk: Likewise.
13896 * conf/i386-pc.rmk: Likewise.
13897 * conf/powerpc-ieee1275.rmk: Likewise.
13898 * conf/sparc64-ieee1275.rmk: Likewise.
13899 * conf/x86_64-efi.rmk: Likewise.
13900
cee15086 139012009-10-28 Robert Millan <rmh.grub@aybabtu.com>
13902
13903 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
13904
95b9239e 139052009-10-28 Robert Millan <rmh.grub@aybabtu.com>
13906
13907 * include/grub/misc.h: Stop checking for APPLE_CC.
13908
2ed19dfd 139092009-10-28 Robert Millan <rmh.grub@aybabtu.com>
13910
13911 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
13912 doesn't cause an infinite call loop.
13913
fdcdde19 139142009-10-28 Felix Zielcke <fzielcke@z-51.de>
13915
13916 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
13917 strings.
13918
cefabfe1 139192009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13920
13921 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
13922 variable.
13923 * Makefile.in: Likewise.
13924
ed96ab6d 139252009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13926
13927 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
13928
0579b753 139292009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13930
13931 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
13932
478df409 139332009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13934
13935 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
13936
083d1679 139372009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13938
13939 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
13940 from here ...
13941 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
13942
5947ae32 139432009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13944
13945 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
13946 in $(MAKEINFO) invocation. This makes it clear in output that
13947 errors are being ignored.
13948
94180ff6 139492009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13950
13951 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
13952 from here ...
13953 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
13954 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
13955 * conf/i386-ieee1275.rmk: Likewise.
13956 * conf/i386-pc.rmk: Likewise.
13957 * conf/powerpc-ieee1275.rmk: Likewise.
13958 * conf/sparc64-ieee1275.rmk: Likewise.
13959 * conf/x86_64-efi.rmk: Likewise.
13960
9031b03a 139612009-10-26 Colin Watson <cjwatson@ubuntu.com>
13962
13963 * util/grub-editenv.c (main): If only a command is given, use
13964 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
13965 (usage): FILENAME is now optional and has a default.
13966
e4f6809b 139672009-10-26 Colin Watson <cjwatson@ubuntu.com>
13968
13969 Improve grub-mkconfig performance when there are several menu
13970 entries on a single filesystem.
13971
13972 * util/grub.d/10_linux.in (linux_entry): Cache the output of
13973 prepare_grub_to_access_device.
13974 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
13975 * util/grub.d/30_os-prober.in: Likewise.
13976
67937d4d 139772009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13978
13979 * util/grub.d/10_freebsd.in: Remove.
13980 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
13981 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
13982
ee3756cc 139832009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13984
5c35048e 13985 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 13986
4dea1c6f 139872009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13988
13989 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
13990 grub_util_error() call.
13991
042484d7 139922009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13993
13994 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
13995 `reserved_first_sector' member.
13996 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
13997 `reserved_first_sector' to 1.
13998 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
13999 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
14000 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
14001 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
14002 filesystems which begin at first sector.
14003 (options): New option --skip-fs-probe.
14004 (main): Handle --skip-fs-probe and pass it to setup().
14005
d64448a7 140062009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14007
14008 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
14009 (memset): Fix function prototype.
14010
508d42ec 140112009-10-25 Robert Millan <rmh.grub@aybabtu.com>
140122009-10-25 Vasily Averin <vvs@parallels.com>
14013
14014 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
14015 `dirent.direntlen == 0'.
14016
b240e30c 140172009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14018
14019 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
14020 `cpio'.
14021 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
14022
346e7fbe 140232009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14024
14025 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
14026 `__trampoline_setup' and `__ucmpdi2'.
14027 * include/grub/powerpc/libgcc.h: Only export symbols for functions
14028 that libgcc provides.
14029
cdb308b0 140302009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14031
14032 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
14033 * include/grub/sparc64/libgcc.h (memset): Likewise.
14034 * include/grub/misc.h (memset, memcmp): New function prototypes.
14035
fb26abc2 140362009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14037
14038 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
14039 `cpio'.
14040 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
14041
f6693890 140422009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14043
14044 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
14045 * docs/grub.cfg: Compensate for recent change in multiboot
14046 loader (since 2009-08-14 it won't pass filename to payload).
14047 * util/grub.d/10_hurd.in: Likewise.
14048
0933cdc0 140492009-10-21 Felix Zielcke <fzielcke@z-51.de>
14050
14051 * config.guess: Update to latest version from config git
14052 repository.
14053 * config.sub: Likewise.
14054
3b2fe8c2 140552009-10-20 Robert Millan <rmh.grub@aybabtu.com>
14056
14057 Fix build on sparc64.
14058
14059 * configure.ac: Perform checks for libgcc symbols before
14060 adding `-nostdlib' to LDFLAGS.
14061
46695a62 140622009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14063
14064 Let user specify OpenBSD root device.
14065
14066 * loader/i386/bsd.c (openbsd_root): New variable.
14067 (openbsd_opts): New option 'root'.
14068 (OPENBSD_ROOT_ARG): New macro.
14069 (grub_openbsd_boot): Use 'openbsd_root'.
14070 (grub_cmd_openbsd): Fill 'openbsd_root'.
14071
d2b6b7fc 140722009-10-16 Robert Millan <rmh.grub@aybabtu.com>
14073
14074 * NEWS: Misc adjustments.
14075
421bd7ac 140762009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14077
14078 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
14079
f1d29d87 140802009-10-16 Robert Millan <rmh.grub@aybabtu.com>
14081
14082 * configure.ac: Bump version to 1.97.
14083
6f3cd880 140842009-10-16 Colin Watson <cjwatson@ubuntu.com>
14085
14086 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
14087 -mno-3dnow on x86 architectures. Some toolchains enable these
14088 features by default, but they rely on registers that aren't enabled
14089 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
14090
035f7122 140912009-10-15 Robert Millan <rmh.grub@aybabtu.com>
14092
14093 Make entry text a bit more readable.
14094
14095 * util/grub.d/10_linux.in: Add `with' before `Linux'.
14096
44998e58 140972009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14098
14099 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
14100
cd2851b3 141012009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14102
14103 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
14104 operations.
14105
c6f3b249 141062009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14107
14108 * configure.ac: Add missing dollar.
14109
6b5886ba 141102009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14111
14112 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
14113
14114 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
14115 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
14116 exports.
14117 * include/grub/sparc64/libgcc.h: Likewise. Use
14118 preprocessor conditionals.
14119
e9d66f6d 141202009-10-14 Robert Millan <rmh.grub@aybabtu.com>
14121
14122 * conf/common.rmk (grub-dumpbios): Remove rule.
14123 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
14124 * util/grub-dumpbios.in: Remove file.
14125
9155bc17 141262009-10-14 Robert Millan <rmh.grub@aybabtu.com>
14127
14128 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
14129 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
14130
14131 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
14132 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
14133 users.
14134
14135 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
14136 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
14137 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
14138 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
14139 users.
14140
bf7f7a18 141412009-10-12 Robert Millan <rmh.grub@aybabtu.com>
14142
14143 * term/tparm.c: Switch to GPLv3.
14144
86564c26 141452009-10-09 Robert Millan <rmh.grub@aybabtu.com>
14146
14147 * include/grub/i386/cpuid.h: Add header protection.
14148
5c936493 141492009-10-09 Robert Millan <rmh.grub@aybabtu.com>
14150
14151 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
14152
14153 * include/grub/i386/cpuid.h: New file.
14154 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
14155 (has_longmode): Rename to ...
14156 (grub_cpuid_has_longmode): ... this. Update all users. Remove
14157 `static' attribute.
14158 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
14159 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
14160 on a CPU that doesn't implement AMD64 instruction set.
14161
186e7cf2 141622009-10-06 Colin Watson <cjwatson@ubuntu.com>
14163
14164 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
14165 that version.texi is rebuilt on version number changes.
14166
83b65c4a 141672009-10-06 Colin Watson <cjwatson@ubuntu.com>
14168
14169 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
14170 Fixes bug #27602.
14171
d244281c 141722009-10-06 Colin Watson <cjwatson@ubuntu.com>
14173
14174 * util/i386/pc/grub-install.in: Source
14175 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
14176 that the --grub-probe option will work.
14177 * util/sparc64/ieee1275/grub-install.in: Likewise.
14178
da25306d 141792009-10-05 Robert Millan <rmh.grub@aybabtu.com>
14180
14181 * configure.ac: Bump version to 1.97~beta4.
14182
e8ee83c0 141832009-10-03 Robert Millan <rmh.grub@aybabtu.com>
14184
14185 Resync grub-mkdevicemap in x86_64-efi.
14186
14187 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
14188 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
14189 `util/devicemap.c'.
14190
50dcabcf 141912009-10-01 Colin Watson <cjwatson@ubuntu.com>
14192
14193 * util/grub-editenv.c (create_envblk_file): Write new block with a
14194 .new suffix and then rename it into place, to ensure atomic
14195 creation.
14196
0e51c3a7 141972009-09-28 Robert Millan <rmh.grub@aybabtu.com>
14198
14199 Do not automatically install headers.
14200
14201 * Makefile.in (include_DATA): Remove. Update all users.
14202
31299a95 142032009-09-26 Robert Millan <rmh.grub@aybabtu.com>
14204
14205 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
14206 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
14207
14208 * util/osdetect.lua: Remove.
14209 * script/lua/lauxlib.c: Likewise.
14210 * script/lua/ldebug.c: Likewise.
14211 * script/lua/grub_main.c: Likewise.
14212 * script/lua/lauxlib.h: Likewise.
14213 * script/lua/ldebug.h: Likewise.
14214 * script/lua/ltablib.c: Likewise.
14215 * script/lua/liolib.c: Likewise.
14216 * script/lua/lstrlib.c: Likewise.
14217 * script/lua/lualib.h: Likewise.
14218 * script/lua/ldo.c: Likewise.
14219 * script/lua/ldump.c: Likewise.
14220 * script/lua/ldo.h: Likewise.
14221 * script/lua/loslib.c: Likewise.
14222 * script/lua/lundump.c: Likewise.
14223 * script/lua/grub_lib.c: Likewise.
14224 * script/lua/ldblib.c: Likewise.
14225 * script/lua/lundump.h: Likewise.
14226 * script/lua/lmem.c: Likewise.
14227 * script/lua/grub_lib.h: Likewise.
14228 * script/lua/lmathlib.c: Likewise.
14229 * script/lua/lstate.c: Likewise.
14230 * script/lua/ltm.c: Likewise.
14231 * script/lua/lvm.c: Likewise.
14232 * script/lua/lmem.h: Likewise.
14233 * script/lua/lstate.h: Likewise.
14234 * script/lua/ltm.h: Likewise.
14235 * script/lua/ltable.c: Likewise.
14236 * script/lua/lvm.h: Likewise.
14237 * script/lua/llex.c: Likewise.
14238 * script/lua/lgc.c: Likewise.
14239 * script/lua/grub_lua.h: Likewise.
14240 * script/lua/loadlib.c: Likewise.
14241 * script/lua/lfunc.c: Likewise.
14242 * script/lua/lopcodes.c: Likewise.
14243 * script/lua/lparser.c: Likewise.
14244 * script/lua/ltable.h: Likewise.
14245 * script/lua/llex.h: Likewise.
14246 * script/lua/lgc.h: Likewise.
14247 * script/lua/lfunc.h: Likewise.
14248 * script/lua/lbaselib.c: Likewise.
14249 * script/lua/lopcodes.h: Likewise.
14250 * script/lua/lparser.h: Likewise.
14251 * script/lua/lzio.c: Likewise.
14252 * script/lua/linit.c: Likewise.
14253 * script/lua/lobject.c: Likewise.
14254 * script/lua/llimits.h: Likewise.
14255 * script/lua/lstring.c: Likewise.
14256 * script/lua/lzio.h: Likewise.
14257 * script/lua/lapi.c: Likewise.
14258 * script/lua/lcode.c: Likewise.
14259 * script/lua/lua.h: Likewise.
14260 * script/lua/lobject.h: Likewise.
14261 * script/lua/lstring.h: Likewise.
14262 * script/lua/lapi.h: Likewise.
14263 * script/lua/lcode.h: Likewise.
14264 * script/lua/luaconf.h: Likewise.
14265
cb8a2c38 142662009-09-26 Colin Watson <cjwatson@ubuntu.com>
14267
14268 * docs/grub.texi (Command-line and menu entry commands): Document
14269 date and echo commands.
14270
6b9b6276 142712009-09-24 Pavel Roskin <proski@gnu.org>
14272
14273 * include/grub/kernel.h (struct grub_module_header): Remove
14274 `grub_module_header_types'. Make `type' unsigned. Make `size'
14275 32-bit on all platforms.
14276 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
14277 8-bit field. Use grub_host_to_target32() for `size'.
14278 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
14279 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
14280 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
14281
4e5a02a7 142822009-09-24 Robert Millan <rmh.grub@aybabtu.com>
14283
14284 Fix "lost keypress" bug in at_keyboard.
14285
14286 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
14287 Checks for readyness of input buffer (without flushing it).
14288 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
14289 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
14290
c6dcedf6 142912009-09-24 Robert Millan <rmh.grub@aybabtu.com>
14292
14293 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
14294 size check within GRUB_MACHINE_PCBIOS section.
14295
74c958b1 142962009-09-24 Robert Millan <rmh.grub@aybabtu.com>
14297
14298 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
14299 return value.
14300 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
14301 KEYBOARD_ISREADY check.
14302 (grub_at_keyboard_checkkey): Rename to ...
14303 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
14304 Remove gratuitous cast.
14305
ff420223 143062009-09-23 Colin Watson <cjwatson@ubuntu.com>
14307
14308 * configure.ac: Call AC_PROG_MKDIR_P.
14309 * Makefile.in (docs/stamp-vti): Create docs directory. Create
14310 version.texi in $(builddir) rather than $(srcdir).
14311 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
14312 to makeinfo's @include search path.
14313
d96875df 143142009-09-23 Felix Zielcke <fzielcke@z-51.de>
14315
14316 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
14317
9b3f8365 143182009-09-23 Felix Zielcke <fzielcke@z-51.de>
14319
14320 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
14321 for `*.dpkg-new'.
14322
c44c90db 143232009-09-21 Colin Watson <cjwatson@ubuntu.com>
14324
14325 Build info documentation. Some code borrowed from Automake.
14326
14327 * configure.ac: Check for makeinfo.
14328 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
14329 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
14330 docs/version.texi.
14331 (MOSTLYCLEANFILES): Add vti.tmp.
14332 (docs/version.texi, docs/stamp-vti): Update automatically.
14333 (docs/grub.info): Build info documentation. Use --force and ignore
14334 errors for now.
14335 (all-local): Add $(INFOS).
14336 (install-local): Install info files.
14337 (uninstall): Uninstall info files.
14338 * docs/version.texi: Remove from revision control. This file is
14339 automatically generated on build now.
14340 * gendistlist.sh: Add `*.info'.
14341
e0b37bb5 143422009-09-21 Felix Zielcke <fzielcke@z-51.de>
14343
14344 * kern/term.c: Fix indentation.
14345
5a78865b 143462009-09-21 Felix Zielcke <fzielcke@z-51.de>
14347
14348 * util/hostdisk.c: Fix a comment.
14349
dace7e8a 143502009-09-20 Robert Millan <rmh.grub@aybabtu.com>
14351
14352 Fix regression introduced in r2539.
14353
14354 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
14355 to 0xA1.
14356
a83d079b 143572009-09-19 Colin Watson <cjwatson@ubuntu.com>
14358
14359 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 14360 os-prober. Under normal operation, it does not print anything to
14361 stderr; if it does, we need to debug it, and throwing away stderr
14362 makes that excessively difficult.
a83d079b 14363
be94a509 143642009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
14365
14366 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
14367
63f745e8 143682009-09-16 Robert Millan <rmh.grub@aybabtu.com>
14369
14370 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
14371 AC_LANG_PROGRAM from autoconf.
14372 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
14373 prototypes (fixes warning).
14374
14375 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
14376 `--disable-werror' was used.
14377
bbb2a70f 143782009-09-16 Robert Millan <rmh.grub@aybabtu.com>
14379
14380 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
14381 uninitialized `lastaddr'.
14382
77c24f1d 143832009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14384
0f0b8c87 14385 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 14386
07197f23 143872009-09-14 Colin Watson <cjwatson@ubuntu.com>
14388
14389 * commands/test.c (get_fileinfo): Return immediately if
14390 grub_fs_probe fails.
14391
dabf1798 143922009-09-14 José Martínez <xosemp@gmail.com>
14393
14394 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
14395
d52109a7 143962009-09-14 Colin Watson <cjwatson@ubuntu.com>
14397
14398 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
14399 output.
14400
56532179 144012009-09-13 Robert Millan <rmh.grub@aybabtu.com>
14402
14403 * configure.ac: Remove --enable-grub-pe2elf. Only build
14404 grub-pe2elf when needed by the build system itself.
14405 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
14406
8ef070f5 144072009-09-12 Robert Millan <rmh.grub@aybabtu.com>
14408
14409 * configure.ac: Bump version to 1.97~beta3.
14410 * docs/version.texi: Likewise.
14411
61229557 144122009-09-12 Robert Millan <rmh.grub@aybabtu.com>
14413
14414 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
14415 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
14416 from here ...
14417 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
14418 (grub_linux_setup_video): ... to here (with some adjustments).
14419
5c9f8d84 144202009-09-12 Robert Millan <rmh.grub@aybabtu.com>
14421
14422 Fix memory corruption issue (spotted by Colin Watson).
14423
14424 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
14425 causing returned size to be stored in an incorrect memory location.
14426 Fix use of uninitialized value when storing the returned size.
14427
e8f5d6e9 144282009-09-12 Yves Blusseau <blusseau@zetam.org>
14429
14430 Change clean rules to properly remove files
14431
14432 * genmk.rb: add new clean rules
14433 * Makefile.in (clean): add the new targets
14434 (mostlyclean): likewise
14435
cda2a409 144362009-09-11 Colin Watson <cjwatson@ubuntu.com>
14437
14438 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
14439 to grub_uint64_t.
14440 * fs/ntfs.c (init_file): Understand 64-bit sizes for
14441 non-resident files.
14442
86695375 144432009-09-11 Colin Watson <cjwatson@ubuntu.com>
14444
14445 * configure.ac: Don't look for help2man when cross-compiling. Fixes
14446 part of bug #27349.
14447
8aa1541a 144482009-09-10 Felix Zielcke <fzielcke@z-51.de>
14449
14450 * util/grub-mkconfig.in: Make the created config mode 400 and
14451 print a warning if it fails.
14452
48d9bb0a 144532009-09-10 Robert Millan <rmh.grub@aybabtu.com>
14454
14455 * util/grub.d/40_custom.in: Ask user to type custom entries below
14456 comment, rather than below 'exec tail' line.
14457
3b0521be 144582009-09-10 Colin Watson <cjwatson@ubuntu.com>
14459
14460 * util/grub.d/40_custom.in: Make sure that the explanatory text is
14461 visible in grub.cfg.
14462
50051d55 144632009-09-10 Colin Watson <cjwatson@ubuntu.com>
14464
14465 * util/grub.d/40_custom.in: Make it a little clearer how to use this
14466 file.
14467
c0d34387 144682009-09-10 Felix Zielcke <fzielcke@z-51.de>
14469
14470 * docs/grub.cfg: Add an example menu entry for memtest86+.
14471
80a608f3 144722009-09-09 Felix Zielcke <fzielcke@z-51.de>
14473
a2094832 14474 * config.guess: Update to latest version from config git.
80a608f3 14475 * config.sub: Likewise.
14476
99423078 144772009-09-08 Colin Watson <cjwatson@ubuntu.com>
14478
14479 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
14480 unknown-command case. Fixes bug #27320.
14481
44454e4c 144822009-09-08 Felix Zielcke <fzielcke@z-51.de>
14483
14484 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
14485 `help' if the command exists.
14486
e30d87ad 144872009-09-06 Robert Millan <rmh.grub@aybabtu.com>
14488
14489 * INSTALL: Require GCC 4.1.3 or later.
14490
9a86f1ec 144912009-09-06 Yves Blusseau <blusseau@zetam.org>
14492
14493 * Makefile.in (RMKFILES): add i386-qemu.rmk
14494 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
14495 $(srcdir)/stamp-h.in
14496
7f26d466 144972009-09-05 Robert Millan <rmh.grub@aybabtu.com>
14498
14499 * util/grub-probe.c (probe): Comment out buggy codepath, which
14500 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
14501 should be re-enabled after 1.97.
14502
3a613259 145032009-09-05 Felix Zielcke <fzielcke@z-51.de>
14504
14505 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
14506 find searches for.
14507
197f76c7 145082009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
14509
14510 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
14511 unnecessary calls to grub_error.
14512
70ba68ce 145132009-09-04 Colin Watson <cjwatson@ubuntu.com>
14514
14515 * NEWS: Mention `keystatus' and Unicode fonts.
14516
4ff0d7a4 145172009-09-04 Robert Millan <rmh.grub@aybabtu.com>
14518
14519 * configure.ac: Bump version to 1.97~beta2.
14520 * docs/version.texi: Likewise.
14521
77c55a87 145222009-09-03 Colin Watson <cjwatson@ubuntu.com>
14523
14524 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
14525 containing unwind information in some cases where it previously did
14526 not. Use -fno-dwarf2-cfi-asm if available to restore the old
14527 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
14528 discussion.
14529
f79572cd 145302009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
14531
14532 Embedding loadenv module into grub-emu
14533
14534 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
14535 commands/loadenv.c
14536 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
14537 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
14538 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
14539 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
14540 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
14541 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
14542
93a81088 145432009-09-03 Magnus Granberg <zorry@ume.nu>
14544
14545 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
14546 include -fPIE in the default specs.
14547 * configure.ac: Check if pie_possible is yes and add -fno-PIE
14548 to TARGET_CFLAGS.
14549
160034b2 145502009-09-03 Felix Zielcke <fzielcke@z-51.de>
14551
14552 * INSTALL: Note that GNU Bison 2.3 or later is required.
14553
087c07c4 145542009-09-03 Colin Watson <cjwatson@ubuntu.com>
14555
14556 * kern/i386/pc/startup.S: Fix typo.
14557
cbf978c0 145582009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14559
14560 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
14561 according to GCS.
14562
145632009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 14564
14565 * docs/grub.texi (Naming convention): Describe one-based partition
14566 numbering.
14567 (Device syntax): Likewise.
14568 (File name syntax): Likewise.
14569 (Block list syntax): Likewise.
14570 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
14571 menu.lst.
14572 (File name syntax): Likewise.
14573 (Command-line and menu entry commands): Document acpi, blocklist,
14574 crc, export, insmod, keystatus, ls, set, and unset commands.
14575
f3e8cdfd 145762009-09-02 Colin Watson <cjwatson@ubuntu.com>
14577
14578 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
14579 to avoid implying that only one of --shift, --ctrl, or --alt may be
14580 used.
14581
c0bc232b 145822009-09-02 Colin Watson <cjwatson@ubuntu.com>
14583
14584 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
14585 rather than comparing against S_IFREG, which will almost never work.
14586
aa0f752d 145872009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
14588
14589 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
14590 (write_blocklists): Likewise.
14591
ecb3166a 145922009-09-01 Colin Watson <cjwatson@ubuntu.com>
14593
14594 * script/lua/grub_lua.h (fputs): Supply a format string as the first
14595 argument to grub_printf.
14596
c403a125 145972009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 14598
14599 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 14600 non GNU test.
31aba781 14601
b5e7312c 146022009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14603
14604 * kern/file.c (grub_file_read): Spelling fix
14605
fe00f472 146062009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14607
14608 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
14609 loading of headers in some cases.
14610
cc55302e 146112009-08-30 Robert Millan <rmh.grub@aybabtu.com>
14612
14613 * configure.ac: Bump version to 1.97~beta1.
14614 * docs/version.texi: Likewise.
14615
5c90cdd2 146162009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 14617
14618 * include/grub/i386/xnu.h: Add license header.
14619 include grub/err.h explicitly.
14620
c90edae4 146212009-08-29 Robert Millan <rmh.grub@aybabtu.com>
14622
14623 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
14624 to `ufs' in the vfs.root.mountfrom kernel parameter.
14625
d8888b5c 146262009-08-29 Robert Millan <rmh.grub@aybabtu.com>
14627
14628 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
14629
14630 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
14631 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
14632
14633 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
14634 `ARRAY_SIZE' macro.
14635
6f07b921 146362009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14637
14638 * kern/file.c (grub_file_read): Check offset.
14639 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
14640 * fs/jfs.c (grub_jfs_read_file): Likewise.
14641 * fs/ntfs.c (grub_ntfs_read): Likewise.
14642 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
14643 * fs/minix.c (grub_minix_read_file): Correct offset check.
14644 * fs/ufs.c (grub_ufs_read_file): Likewise.
14645
b4f34077 146462009-08-28 Colin Watson <cjwatson@ubuntu.com>
14647
14648 * term/i386/pc/console.c (bios_data_area): Cast
14649 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
14650
e7c69859 146512009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14652
14653 1-bit optimised blitters.
14654
14655 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
14656 prototype.
14657 (grub_video_fbblit_replace_24bit_1bit): Likewise.
14658 (grub_video_fbblit_replace_16bit_1bit): Likewise.
14659 (grub_video_fbblit_replace_8bit_1bit): Likewise.
14660 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
14661 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
14662 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
14663 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
14664 function.
14665 (grub_video_fbblit_replace_24bit_1bit): Likewise.
14666 (grub_video_fbblit_replace_16bit_1bit): Likewise.
14667 (grub_video_fbblit_replace_8bit_1bit): Likewise.
14668 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
14669 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
14670 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
14671 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
14672 when possible.
14673 * video/video.c (grub_video_get_blit_format): Return
14674 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
14675
a57da43f 146762009-08-28 Colin Watson <cjwatson@ubuntu.com>
14677
14678 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
14679 the first argument to grub_printf.
14680
4cbe67e5 146812009-08-28 Colin Watson <cjwatson@ubuntu.com>
146822009-08-28 Robert Millan <rmh.grub@aybabtu.com>
14683
14684 Add `getkeystatus' terminal method. Add a new `keystatus' command
14685 to query it.
14686
14687 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
14688 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
14689 modifier key bitmasks.
14690 (struct grub_term_input): Add `getkeystatus' member.
14691 (grub_getkeystatus): Add prototype.
14692 * kern/term.c (grub_getkeystatus): New function.
14693
14694 * include/grub/i386/pc/memory.h
14695 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
14696 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
14697 Data Area layout.
14698 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
14699 (grub_console_term_input): Set `getkeystatus' member.
14700 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
14701 constants.
14702 (grub_usb_keyboard_getreport): Likewise.
14703 (grub_usb_keyboard_checkkey): Likewise.
14704 (grub_usb_keyboard_getkeystatus): New function.
14705 (grub_usb_keyboard_term): Set `getkeystatus' member.
14706
14707 * commands/keystatus.c: New file.
14708 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
14709 (keystatus_mod_SOURCES): New variable.
14710 (keystatus_mod_CFLAGS): Likewise.
14711 (keystatus_mod_LDFLAGS): Likewise.
14712 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
14713 commands/keystatus.c.
14714 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14715 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14716 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14717 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14718 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14719 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 14720
6e2a9085 147212009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14722
14723 Split befs.mod and afs.mod into *_be.mod and *.mod
14724
14725 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
14726 (grub_fstest_SOURCES): Likewise.
14727 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
14728 (afs_be_mod_SOURCES): New variable.
14729 (afs_be_mod_CFLAGS): Likewise.
14730 (afs_be_mod_LDFLAGS): Likewise.
14731 (befs_be_mod_SOURCES): Likewise.
14732 (befs_be_mod_CFLAGS): Likewise.
14733 (befs_be_mod_LDFLAGS): Likewise.
14734 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
14735 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14736 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14737 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
14738 (grub_emu_SOURCES): Likewise.
14739 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14740 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14741 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14742 * fs/afs_be.c: New file.
14743 * fs/befs_be.c: New file.
14744 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
14745 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
14746 (U16): Replaced with ...
14747 (grub_afs_to_cpu16): ...this. All users updated.
14748 (U32): Replaced with ...
14749 (grub_afs_to_cpu32): ...this. All users updated.
14750 (U64): Replaced with ...
14751 (grub_afs_to_cpu64): ...this. All users updated.
14752 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
14753 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 14754 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 14755 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
14756 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
14757 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
14758 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
14759 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
14760 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
14761 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
14762 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
14763
32a71655 147642009-08-26 Bean <bean123ch@gmail.com>
14765
14766 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
14767 64-bit number.
14768 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
14769 (grub_xfs_inode_block): Change return type to grub_uint64_t.
14770 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
14771
552bf6c5 147722009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14773
14774 NetBSD memory map support.
14775
14776 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
14777 (grub_netbsd_btinfo_mmap_header): New structure.
14778 (grub_netbsd_btinfo_mmap_entry): Likewise.
14779 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
14780
1ae2078c 147812009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14782
14783 Enable bsd.mod on coreboot.
14784
14785 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
14786 (bsd_mod_SOURCES): New variable.
14787 (bsd_mod_CFLAGS): Likewise.
14788 (bsd_mod_LDFLAGS): Likewise.
14789 (bsd_mod_ASFLAGS): Likewise.
14790 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
14791 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
14792
beefc598 147932009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14794
14795 Cleanup NetBSD root support.
14796
14797 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
14798 grub_bsd_get_device.
14799 Fix typo.
14800
3b76e68b 148012009-08-25 Felix Zielcke <fzielcke@z-51.de>
14802
14803 * util/grub.d/00_header.in: Move check for the video backend of
14804 gfxterm from here ...
14805 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
14806 a suitable video backend.
14807
aea664ea 148082009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14809
14810 Fix breakage in grub-setup.
14811
14812 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
14813 "msdos_partition_map".
14814
ff747d50 148152009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14816
14817 Fix breakage in normal/auth.c.
14818
14819 * normal/auth.c (grub_iswordseparator): New function.
14820
e7e1f93f 148212009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14822
14823 Authentication support.
14824
14825 * commands/password.c: New file.
14826 * conf/common.rmk (pkglib_MODULES): Add password.mod.
14827 (password_mod_SOURCES): New variable.
14828 (password_mod_CFLAGS): Likewise.
14829 (password_mod_LDFLAGS): Likewise.
14830 (normal_mod_SOURCES): Add normal/auth.c.
14831 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
14832 normal/auth.c.
14833 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14834 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14835 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14836 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14837 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14838 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14839 * include/grub/auth.h: New file.
14840 * include/grub/err.h (grub_err_t): New enum value
14841 GRUB_ERR_ACCESS_DENIED.
14842 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
14843 'users'.
14844 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
14845 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
14846 users updated.
14847 * normal/auth.c: New file.
14848 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
14849 (grub_cmdline_run): Don't allow to go to command line without
14850 authentication.
14851 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
14852 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
14853 menuentry without superuser rights.
14854 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
14855 user isn't a superuser.
14856
70f1161d 148572009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14858
14859 Save space by inlining misc.c functions.
14860
14861 * kern/misc.c (grub_iswordseparator): Made static.
14862 * kern/misc.c (grub_strcat): Moved from here ...
14863 * include/grub/misc.h (grub_strcat): ... here. Inlined.
14864 * kern/misc.c (grub_strncat): Moved from here ...
14865 * include/grub/misc.h (grub_strncat): ... here. Inlined.
14866 * kern/misc.c (grub_strcasecmp): Moved from here ...
14867 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
14868 * kern/misc.c (grub_strncasecmp): Moved from here ...
14869 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
14870 * kern/misc.c (grub_isalpha): Moved from here ...
14871 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
14872 * kern/misc.c (grub_isdigit): Moved from here ...
14873 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
14874 * kern/misc.c (grub_isgraph): Moved from here ...
14875 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
14876 * kern/misc.c (grub_tolower): Moved from here ...
14877 * include/grub/misc.h (grub_tolower): ... here. Inlined.
14878
48e40bff 148792009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14880
14881 * script/sh/function.c (grub_script_function_find): Cut error message
14882 not to flood terminal.
14883 * script/sh/lexer.c (grub_script_yylex): Remove command line length
14884 limit.
14885 * script/sh/script.c (grub_script_arg_add): Duplicate string.
14886
c385bfc3 148872009-08-24 Colin Watson <cjwatson@ubuntu.com>
14888
14889 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
14890 `report' grub_uint8_t *.
14891 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
14892 Use a 50-millisecond timeout rather than just repeating
14893 grub_usb_keyboard_getreport 50 times.
14894 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
14895
2d21e3e8 148962009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14897
14898 Rename *_partition_map to part_*
14899
14900 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
14901 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
14902 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
14903 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
14904 All users updated.
14905 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
14906 All users updated.
14907 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
14908 * util/grub-probe.c (probe_partmap): Don't transform partition name
14909 to get module name.
14910
dd103c4e 149112009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14912
14913 Fix OpenBSD and NetBSD support.
14914
14915 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
14916 memory address conflict.
14917 (OPENBSD_MMAP_ACPI): New definition.
14918 (OPENBSD_MMAP_NVS): Likewise.
14919 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
14920 and OPENBSD_MMAP_NVS.
14921 Add memory map terminator
14922 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 14923 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 14924
16c84d74 149252009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14926
14927 Let user specify NetBSD root device.
14928
14929 * loader/i386/bsd.c (netbsd_root): New variable.
14930 (netbsd_opts): New option 'root'.
14931 (NETBSD_ROOT_ARG): New macro.
14932 (grub_netbsd_boot): Use 'netbsd_root'.
14933 (grub_bsd_unload): Free 'netbsd_root'.
14934 (grub_cmd_netbsd): Fill 'netbsd_root'.
14935
adb29902 149362009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14937
14938 Support for 64-bit NetBSD.
14939
14940 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
14941 point when booting non-FreeBSD.
14942
f5ae9f74 149432009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14944
14945 Support --no-smp and --no-acpi for NetBSD.
14946
14947 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
14948 (NETBSD_AB_NOACPI): Likewise.
14949 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
14950 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
14951
de74f136 149522009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14953
14954 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
14955 errors.
14956 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
14957 errors. Call grub_error when needed.
14958
e9a925da 149592009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14960
14961 * commands/search.c (search_fs): Try searching without autoload first.
14962 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
14963 filesystem module explicitly for faster booting.
14964
5174302b 149652009-08-23 Colin Watson <cjwatson@ubuntu.com>
14966
14967 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
14968
c8c80635 149692009-08-23 Colin Watson <cjwatson@ubuntu.com>
14970
14971 * util/grub.d/30_os-prober.in: Disable os-prober if
14972 `GRUB_DISABLE_OS_PROBER' was set to true.
14973
71acf5e5 149742009-08-23 Robert Millan <rmh.grub@aybabtu.com>
14975
14976 * partmap/pc.c: Rename to ...
14977 * partmap/msdos.c: ... this. Update all users.
14978 (grub_pc_partition_map): Rename to ...
14979 (grub_msdos_partition_map): ... this. Update all users.
14980
14981 * parttool/pcpart.c: Rename to ...
14982 * parttool/msdospart.c: ... this. Update all users.
14983
14984 * include/grub/pc_partition.h: Rename to ...
14985 * include/grub/msdos_partition.h: ... this. Update all users.
14986 (grub_pc_partition_bsd_entry): Rename to ...
14987 (grub_msdos_partition_bsd_entry): ... this. Update all users.
14988 (grub_pc_partition_disk_label): Rename to ...
14989 (grub_msdos_partition_disk_label): ... this. Update all users.
14990 (grub_pc_partition_entry): Rename to ...
14991 (grub_msdos_partition_entry): ... this. Update all users.
14992 (grub_pc_partition_mbr): Rename to ...
14993 (grub_msdos_partition_mbr): ... this. Update all users.
14994 (grub_pc_partition): Rename to ...
14995 (grub_msdos_partition): ... this. Update all users.
14996 (grub_pc_partition_is_empty): Rename to ...
14997 (grub_msdos_partition_is_empty): ... this. Update all users.
14998 (grub_pc_partition_is_extended): Rename to ...
14999 (grub_msdos_partition_is_extended): ... this. Update all users.
15000 (grub_pc_partition_is_bsd): Rename to ...
15001 (grub_msdos_partition_is_bsd): ... this. Update all users.
15002
15003 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
15004 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
15005 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
15006 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
15007 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
15008 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
15009 (gpt_mod_LDFLAGS): Rename to ...
15010 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
15011 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
15012 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
15013 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
15014 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
15015 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
15016 (part_gpt_mod_LDFLAGS): ... this.
15017 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
15018 `pcpart.mod' to `msdospart.mod'.
15019 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
15020 to ...
15021 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
15022 (msdospart_mod_LDFLAGS): ... this.
15023
c11fded5 150242009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15025
15026 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
15027 (openbsd_opts): Likewise.
15028 (netbsd_opts): Likewise.
15029 (freebsd_flags): Added 0 terminator.
15030 (openbsd_flags): Likewise.
15031 (netbsd_flags): Likewise.
15032 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
15033 (grub_cmd_freebsd): Transformed into extended command.
15034 (grub_cmd_openbsd): Likewise.
15035 (grub_cmd_netbsd): Likewise.
15036 (cmd_freebsd): Changed type to grub_extcmd_t.
15037 (cmd_openbsd): Likewise.
15038 (cmd_netbsd): Likewise.
15039 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
15040 grub_cmd_openbsd as extended commands.
15041 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
15042 cmd_netbsd and cmd_openbsd
15043
11d1c769 150442009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
15045
15046 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
15047
7a9094e5 150482009-08-21 Pavel Roskin <proski@gnu.org>
15049
5496c37e 15050 * Makefile.in (install-local): When checking if a file is in the
15051 build directory, use "test -e" to detect symlinks.
15052
7a9094e5 15053 * Makefile.in (install-local): Remove all files in
15054 $(DESTDIR)$(pkglibdir) before installing new files there.
15055
e53cea11 150562009-08-18 Felix Zielcke <fzielcke@z-51.de>
15057
15058 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
15059 grub-mkelfimage.
15060
9aced544 150612009-08-18 Felix Zielcke <fzielcke@z-51.de>
15062
15063 * util/grub-mkconfig.in: Don't use gfxterm by default if not
15064 explicitly specified by the user.
15065
b7da6bab 150662009-08-18 Pavel Roskin <proski@gnu.org>
15067
15068 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
15069 grub_uint8_t pointer for data.
15070 * include/grub/fbutil.h (struct grub_video_fbblit_info):
15071 Likewise.
15072 * video/fb/fbutil.c: Remove unnecessary casts.
15073
19f1b335 150742009-08-17 Michal Suchanek <hramrach@centrum.cz>
15075
15076 VBE cleanup.
15077
15078 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
15079 (grub_vbe_set_video_mode): Save active mode info
15080 only after setting the mode.
15081 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
15082 second argument.
15083
2f467aa9 150842009-08-17 Michal Suchanek <hramrach@centrum.cz>
15085
15086 Rename variables for clarity.
15087
15088 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
15089 (active_vbe_mode_info): ... this. All users updated.
15090 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
15091 All users updated.
15092 (initial_mode): Rename to ...
15093 (initial_vbe_mode): ... this. All users updated.
15094 (mode_in_use): Rename to ..
15095 (vbe_mode_in_use): ... this. All users updated.
15096 (mode_list): Rename to ..
15097 (vbe_mode_list): ... this. All users updated.
15098 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
15099 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
15100 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
15101 'mode_list_size' to 'vbe_mode_list_size'.
15102 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
15103 'best_mode_info' to 'best_vbe_mode_info' and
15104 'best_mode' to 'best_vbe_mode'
15105
6025fcd7 151062009-08-17 Michal Suchanek <hramrach@centrum.cz>
15107
15108 Remove duplicate grub_video_fb_get_video_ptr.
15109
15110 * include/grub/fbutil.h (get_data_ptr): Rename to ...
15111 (grub_video_fb_get_video_ptr): ... this.
15112 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
15113 * video/fb/fbutil.c: Add comment about addressing.
15114 (get_data_ptr): Rename to ...
15115 (grub_video_fb_get_video_ptr): ... this. All users updated.
15116 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
15117
cc8c6faf 151182009-08-17 Robert Millan <rmh.grub@aybabtu.com>
15119
15120 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
15121 grub_dprintf() that was just added.
15122
08aa61f0 151232009-08-17 Robert Millan <rmh.grub@aybabtu.com>
15124
15125 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
15126 (DEFAULT_VIDEO_MODE): Remove macros.
15127 (grub_linux_boot): Remove assumption that Linux has FB support,
15128 and use "text" as default video mode.
15129
7cef4f75 151302009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
15131
15132 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
15133 grub_dprintf.
15134 * fs/fat.c (grub_fat_read_data): Likewise.
15135
e1f39873 151362009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15137
15138 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
15139 payload.
15140 (grub_module): Likewise.
15141
c166d79e 151422009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15143
15144 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
15145 mbi->cmdline but free playground.
15146
c60cee8e 151472009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15148
15149 Handle group offset on UFS1.
15150
15151 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
15152 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
15153
c0d8b5d4 151542009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15155
15156 Split ufs.mod into ufs1.mod and ufs2.mod.
15157
15158 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
15159 (grub_fstest_SOURCES): Likewise.
15160 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
15161 (ufs_mod_SOURCES): Remove.
15162 (ufs_mod_CFLAGS): Likewise.
15163 (ufs_mod_LDFLAGS): Likewise.
15164 (ufs1_mod_SOURCES): New variable.
15165 (ufs1_mod_CFLAGS): Likewise.
15166 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 15167 (ufs2_mod_SOURCES): New variable.
15168 (ufs2_mod_CFLAGS): Likewise.
15169 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 15170 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
15171 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
15172 Likewise.
15173 (grub_emu_SOURCES): Likewise.
15174 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15175 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15176 (grub_setup_SOURCES): Likewise.
15177 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15178 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
15179 (grub_setup_SOURCES): Likewise.
15180 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
15181 Likewise.
15182 * fs/ufs2.c: New file.
15183 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
15184
d3539132 151852009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15186
15187 Framebuffer split.
15188
15189 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
15190 subsystem at the end.
15191 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
15192 (video_fb_mod_SOURCES): New variable.
15193 (video_fb_mod_CFLAGS): Likewise.
15194 (video_fb_mod_LDFLAGS): Likewise.
15195 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
15196 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
15197 * video/i386/pc/vbeblit.c: Moved from here ...
15198 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
15199 * video/i386/pc/vbefill.c: Moved from here ...
15200 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
15201 * video/i386/pc/vbeutil.c: Moved from here ...
15202 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
15203 * include/grub/i386/pc/vbeblit.h: Moved from here ...
15204 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
15205 * include/grub/i386/pc/vbefill.h: Moved from here ...
15206 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
15207 * include/grub/i386/pc/vbeutil.h: Moved from here ...
15208 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
15209 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
15210 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
15211 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
15212 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
15213 (grub_video_adapter): Added 'get_info_and_fini'.
15214 (grub_video_get_info_and_fini): New prototype.
15215 (grub_video_set_mode): make modestring const char *.
15216 * loader/i386/linux.c (grub_linux_setup_video): Use
15217 grub_video_get_info_and_fini.
15218 (grub_linux_boot): Move modesetting just before booting.
15219 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
15220 grub_video_get_info_and_fini.
15221 * video/i386/pc/vbe.c: Moved framebuffer part ...
15222 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
15223 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
15224 grub_video_fbstd_colors and grub_video_fb_set_palette.
15225 (grub_video_vbe_init): Clear 'framebuffer' variable and use
15226 grub_video_fb_init.
15227 (grub_video_vbe_fini): Use grub_video_fb_fini.
15228 (grub_video_vbe_setup): Use framebuffer.render_target instead of
15229 render_target and use grub_video_fb_set_active_render_target and
15230 grub_video_fb_set_palette.
15231 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
15232 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
15233 (grub_video_vbe_adapter): Use framebuffer.
15234 * video/video.c (grub_video_get_info_and_fini): New function.
15235 (grub_video_set_mode): Make modestring const char *.
15236 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
15237 values are already initialised.
15238
d404ee56 152392009-08-14 Pavel Roskin <proski@gnu.org>
15240
15241 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
15242 ABS and APPLE_CC.
15243 * boot/i386/pc/diskboot.S: Likewise.
15244 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
15245 sectors allow compilation on MacOSX.
15246 * conf/i386-pc.rmk: Enable unconditional compilation of
15247 lnxboot.img.
15248
9a10df16 152492009-08-13 Colin Watson <cjwatson@ubuntu.com>
15250
15251 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
15252 * util/grub.d/00_header.in: Enter interruptible sleep if
15253 GRUB_HIDDEN_TIMEOUT is set.
15254
be3c9ca7 152552009-08-13 Yves Blusseau <blusseau@zetam.org>
15256
15257 * include/grub/symbol.h: Add the LOCAL macro.
15258 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
15259 starting with "L_".
15260
1f9e557e 152612009-08-13 Pavel Roskin <proski@gnu.org>
15262
9ca62843 15263 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
15264 any modern compilers we support.
15265
1f9e557e 15266 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
15267 Use local labels starting with "L_" so that Apple assembler
15268 knows they are local.
15269
81623db6 152702009-08-10 Robert Millan <rmh.grub@aybabtu.com>
15271
15272 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
15273 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
15274 (bsd_kernel_types): ... this enum.
15275
15276 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
15277 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
15278 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
15279
15280 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
15281 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
15282 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
15283 messages.
15284
f5d35e7a 152852009-08-08 Robert Millan <rmh.grub@aybabtu.com>
15286
15287 * util/grub-dumpdevtree: Moved from here ...
15288 * util/i386/efi/grub-dumpdevtree: ... to here.
15289 (hexify): New function. Converts a string to its hex version.
15290 Generate hex versions of "efi" and "device-properties" by calling
15291 hexify() on the ASCII strings rather than by hardcoding numbers.
15292
d1e1d527 152932009-08-08 Robert Millan <rmh.grub@aybabtu.com>
15294
15295 * fs/jfs.c: Update copyright year.
15296
1ebbe064 152972009-08-08 Felix Zielcke <fzielcke@z-51.de>
15298
15299 * util/grub.d/00_header.in: Fix a comment.
15300 * util/grub.d/10_linux.in: Likewise.
15301 * util/grub.d/10_windows.in: Likewise.
15302 * util/grub.d/10_hurd.in: Likewise.
15303
a78c8d24 153042009-08-08 Felix Zielcke <fzielcke@z-51.de>
15305
15306 * util/grub-mkconfig.in: Allow the user to specify the used font
15307 with GRUB_FONT.
15308
29a6b9e8 153092009-08-08 Pavel Roskin <proski@gnu.org>
15310
b5f16cc4 15311 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
15312 available, xfs.mod needs it now.
15313
2f5cb827 15314 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
15315 the "g" modifier in sed when the intention is to strip something
15316 once. This fixes comparison of kernels with multiple dashes.
15317
29a6b9e8 15318 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
15319 on it. Add missing space before closing bracket. Fix
15320 misleading formatting.
15321
892a3d98 153222009-08-07 Robert Millan <rmh.grub@aybabtu.com>
15323
15324 * docs/grub.texi: Major overhaul. Remove all sections that are
15325 specific to GRUB Legacy, or mostly composed of Legacy-specific
15326 information.
15327
ed94253f 153282009-08-07 Robert Millan <rmh.grub@aybabtu.com>
15329
15330 * docs/version.texi: New file. Provides version information for
15331 grub.texi.
15332
126d6628 153332009-08-07 Robert Millan <rmh.grub@aybabtu.com>
15334
15335 * docs/grub.texi: Update CVS information to SVN.
15336 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
15337
998b5aa9 153382009-08-07 Felix Zielcke <fzielcke@z-51.de>
15339
15340 * util/grub-mkconfig.in: Remove a wrong `fi'.
15341
818e094a 153422009-08-07 Felix Zielcke <fzielcke@z-51.de>
15343
15344 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
15345 (grub_jfs_uuid): New function.
15346 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
15347
b969c52f 153482009-08-07 Felix Zielcke <fzielcke@z-51.de>
15349
15350 * util/grub-mkconfig_lib.in (font_path): Move the functionality
15351 of it to ...
15352 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
15353 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
15354
7a4894cc 153552009-08-07 Robert Millan <rmh.grub@aybabtu.com>
15356
15357 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
15358 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
15359 Update all users.
15360
15361 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
15362 not just "vmlinu[zx]".
15363 Moved from here ...
15364 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
15365 all users.
15366
15367 * util/grub.d/10_linux.in (find_latest): Moved from here ...
15368 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
15369 all users.
15370
4e2171f8 153712009-08-07 Robert Millan <rmh.grub@aybabtu.com>
15372
15373 * util/grub.d/10_freebsd.in: Use an absolute device path for
15374 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
15375
6dcfcb32 153762009-08-06 Felix Zielcke <fzielcke@z-51.de>
15377
15378 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
15379 handling of multiple abstraction modules.
15380
f56a8756 153812009-08-04 Robert Millan <rmh.grub@aybabtu.com>
15382
15383 Fix a bug resulting in black screen when loading Linux using a
15384 packed video mode.
15385
15386 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
15387 function.
15388
15389 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
15390 (grub_vbe_bios_getset_dac_palette_width): New function.
15391 (grub_vbe_bios_get_dac_palette_width)
15392 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
15393 grub_vbe_bios_getset_dac_palette_width()).
15394
15395 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
15396 check for return status.
15397 (grub_vbe_get_video_mode_info): When getting information for a packed
15398 mode (<= 8 bpp), obtain DAC palette width using
15399 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
15400 {red,green,blue}_mark_size.
15401
222671b2 154022009-08-04 Felix Zielcke <fzielcke@z-51.de>
15403
ecb1a6d9 15404 * commands/search.c (options): Fix help output to match actual code.
222671b2 15405
f84114f5 154062009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
15407
15408 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
15409 of homegrown code.
15410
bd288a20 154112009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 15412
15413 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
15414 on XFS or ReiserFS.
15415
8aab5e25 154162009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15417
15418 Support Apple partition map with sector size different from 512 bytes.
15419
15420 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
15421 (apple_partition_map_iterate): Respect 'aheader.blocksize'
15422 and 'apart.partmap_size'.
15423
6ad6258a 154242009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
154252009-08-01 Robert Millan <rmh.grub@aybabtu.com>
15426
15427 Fix cpuid command.
15428
15429 * commands/i386/cpuid.c (options): New variable.
15430 (grub_cmd_cpuid): Return real error.
15431 (GRUB_MOD_INIT(cpuid)): Declare options.
15432
67459bc6 154332009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
15434
15435 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
15436 valid.
15437
fbc6ab54 154382009-07-31 Bean <bean123ch@gmail.com>
15439
15440 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
15441 log2_inode.
15442 (grub_fshelp_node): Move inode field to the end.
15443 (grub_xfs_data): Remove inode field.
15444 (grub_xfs_inode_block): Calculate inode size using sblock.
15445 (grub_xfs_inode_offset): Likewise.
15446 (grub_xfs_read_inode): Calculate inode size using sblock.
15447 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
15448 (grub_xfs_iterate_dir): Calculate inode size using sblock.
15449 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
15450 to match inode size.
15451 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
15452 not accessible when data is null.
15453 (grub_xfs_open): Likewise.
15454
f45d6cfc 154552009-07-31 Bean <bean123ch@gmail.com>
15456
15457 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
15458 Don't change pv->disk if it's already set.
15459
15460 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
15461 (grub_raid_register): ... here.
15462 (grub_raid_rescan): Removed.
15463
15464 * include/grub/raid.h (grub_raid_rescan): Removed.
15465
15466 * util/grub-fstest.c: Remove include file <grub/raid.h>.
15467 (fstest): Replace grub_raid_rescan with module fini function followed
15468 by init function.
15469
15470 * util/grub-probe.c: Add include file <grub/raid.h>.
15471 (probe_raid_level): New function.
15472 (probe): Detect abstraction by walking the disk device, support two
15473 level of abstraction (LVM on RAID) when detecting partition map.
15474
24443b5a 154752009-07-31 Pavel Roskin <proski@gnu.org>
15476
15477 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
15478 to grub_zalloc(), it was erroneous.
15479 Reported by Bean <bean123ch@gmail.com>
15480
a275d9e7 154812009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
15482
15483 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 15484 embedding zone, not only the first one.
a275d9e7 15485
56c5a47f 154862009-07-29 Joe Auricchio <jauricchio@gmail.com>
15487
15488 * term/gfxterm.c (clear_char): New function.
15489 (grub_virtual_screen_setup): Use clear_char.
15490 (scroll_up): Likewise.
15491 (grub_virtual_screen_cls): Likewise.
15492
67bb323a 154932009-07-29 Felix Zielcke <fzielcke@z-51.de>
15494
15495 * util/deviceiter.c (get_acceleraid_disk_name): New static
15496 function.
15497 (grub_util_iterate_devices): Handle Accelraid devices.
15498 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
15499
388a7c75 155002009-07-28 Robert Millan <rmh.grub@aybabtu.com>
15501
15502 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
15503 separator for the suggested gfxpayload string (';' collides with the
15504 parser and needs escaping).
15505
3bb7abcf 155062009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
15507
15508 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
15509 Clear direction flag before jumping to OS.
15510 (grub_multiboot2_real_boot): Likewise.
15511
2ddd36d7 155122009-07-28 Felix Zielcke <fzielcke@z-51.de>
15513
15514 * util/i386/pc/grub-install: Fix parsing of --disk-module
15515 option.
15516
c521b62b 155172009-07-28 Felix Zielcke <fzielcke@z-51.de>
15518
15519 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
15520 when embedding.
15521
880e0a0c 155222009-07-26 Felix Zielcke <fzielcke@z-51.de>
15523
15524 * util/grub-mkconfig.in (package_version): New variable.
15525 Use it do display the version.
15526
2366e356 155272009-07-25 Felix Zielcke <fzielcke@z-51.de>
15528
15529 * kern/file.c (grub_file_open): Revert to previous check with
15530 grub_errno.
15531
7ad8c80e 155322009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15533
15534 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
15535 from help line. It's out of sync with code.
15536
72b9658b 155372009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15538
15539 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
15540 entries on failed boot.
15541
77435277 155422009-07-25 Felix Zielcke <fzielcke@z-51.de>
15543
15544 * kern/file.c (grub_file_open): Fix an error check.
15545
fcaa8b21 155462009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
15547
35d16c74 15548 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
15549 partition map couldn't be identified.
fcaa8b21 15550
48904cd1 155512009-07-23 Pavel Roskin <proski@gnu.org>
15552
ef3c317f 15553 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
15554 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
15555 case of little endian words becomes just an optimization.
15556 Respect const modifier.
ad8ea1f4 15557 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 15558
48904cd1 15559 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
15560 to avoid loss of upper bits if align is unsigned and shorter
15561 than addr.
15562
260c9a89 155632009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
15564
15565 UUID support for UFS
15566
15567 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
15568 (grub_ufs_uuid): New function.
15569 (grub_ufs_fs): add .uuid
15570
f76ce889 155712009-07-21 Pavel Roskin <proski@gnu.org>
15572
15573 * kern/dl.c (grub_dl_check_header): Make static.
15574
6a6cbcaf 155752009-07-21 Felix Zielcke <fzielcke@z-51.de>
15576
15577 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
15578 add drivemap for Vista. It breaks Windows 7.
15579
cffcddb2 155802009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
15581
15582 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
15583 128 bytes
15584
1ef44b80 155852009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15586
15587 Add BFS support
15588
15589 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
15590 (grub_fstest_SOURCES): Likewise.
15591 (pkglib_MODULES): Add befs.mod.
15592 (befs_mod_SOURCES): New variable.
15593 (befs_mod_CFLAGS): Likewise.
15594 (befs_mod_LDFLAGS): Likewise.
15595 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
15596 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15597 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15598 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15599 (grub_setup_SOURCES): Likewise.
15600 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15601 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15602 (grub_setup_SOURCES): Likewise.
15603 * fs/befs.c: New file.
15604 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
15605 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
15606 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
15607 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
15608 (B_KEY_INDEX_ALIGN): New declaration.
15609 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
15610 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
15611 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
15612 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
15613 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
15614 (grub_afs_mount) [MODE_BFS]: Likewise.
15615 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
15616 (grub_afs_fs): Use GRUB_AFS_FSNAME
15617 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
15618 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
15619 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
15620 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
15621
4f253044 156222009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
15623
15624 * util/getroot.c (find_root_device): Add support for MacOSX.
15625 * util/hostdisk.c: Likewise.
15626
57a55913 156272009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15628
15629 * font/font.c (find_glyph): Check whether a font is present to avoid
15630 segmentation fault.
75421ca9 15631
156322009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 15633
15634 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
15635
e98cd0c2 156362009-07-20 Pavel Roskin <proski@gnu.org>
15637
15638 * configure.ac: Trim excessively wordy excuses.
15639
1d2d169a 156402009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15641
15642 Add symlink, mtime and label support to AtheFS.
15643
15644 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
15645 (grub_afs_iterate_dir): Handle symlinks.
15646 (grub_afs_open): Use grub_afs_read_symlink.
15647 (grub_afs_dir): Likewise.
15648 Pass mtime.
15649 (grub_afs_label): New function.
15650 (grub_afs_fs): Add grub_afs_label.
15651 (grub_afs_read_symlink): New function.
15652
186f3189 156532009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15654
15655 Fix AtheFS support.
15656
15657 * fs/afs.c: Fix comments style.
15658 (grub_afs_blockrun): Declare as packed.
15659 (grub_afs_datastream): Likewise.
15660 (grub_afs_bnode): Likewise.
15661 (grub_afs_btree): Likewise.
15662 (grub_afs_sblock): Likewise.
15663 Declare `name' as char.
15664 (grub_afs_inode): Declare as packed.
15665 Change void *vnode to grub_uint32_t unused.
15666 (grub_afs_iterate_dir): Check that key_size is positive.
15667 (grub_afs_mount): Don't read superblock twice.
75421ca9 15668 (grub_afs_dir): Don't free node in case of error,
186f3189 15669 grub_fshelp_find_file already handles this.
15670 (grub_afs_open): Likewise.
15671
5680109e 156722009-07-19 Pavel Roskin <proski@gnu.org>
15673
15674 * Makefile.in: Remove LIBLZO and enable_lzo.
15675 * conf/i386-pc.rmk: Remove lzo support.
15676 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
15677 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
15678 support.
15679 * kern/i386/pc/lzo1x.S: Remove.
15680 * kern/i386/pc/startup.S: Remove lzo support.
15681 * util/i386/pc/grub-mkimage.c: Likewise.
15682
ac70fa32 156832009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
15684
15685 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
15686 * fs/xfs.c (grub_xfs_dir): Likewise.
15687 * fs/afs.c (grub_afs_dir): Likewise.
15688 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
15689 (grub_iso9660_open): Likewise.
15690 * fs/jfs.c (grub_jfs_open): Likewise.
15691 * fs/ext2.c (grub_ext2_dir): Likewise.
15692 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
15693 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 15694
eab58da2 156952009-07-16 Pavel Roskin <proski@gnu.org>
15696
d2838156 15697 * configure.ac: Never add "-c" to CFLAGS.
15698
55c70904 15699 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
15700
43e6200c 15701 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
15702 grub_cv_cc_efiemu should be used.
15703
ce7a733d 15704 * configure.ac: Typo fixes.
15705
eab58da2 15706 * kern/mm.c (grub_zalloc): New function.
15707 (grub_debug_zalloc): Likewise.
15708 * include/grub/mm.h: Declare grub_zalloc() and
15709 grub_debug_zalloc().
15710 * util/misc.c (grub_zalloc): New function.
15711 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
15712 instead of grub_malloc(), remove unneeded initializations.
15713 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
15714 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
15715 * commands/parttool.c (grub_cmd_parttool): Likewise.
15716 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
15717 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
15718 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
15719 * disk/usbms.c (grub_usbms_finddevs): Likewise.
15720 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
15721 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
15722 (grub_cmd_efiemu_pnvram): Likewise.
15723 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
15724 * fs/iso9660.c (grub_iso9660_mount): Likewise.
15725 (grub_iso9660_iterate_dir): Likewise.
15726 * fs/jfs.c (grub_jfs_opendir): Likewise.
15727 * fs/ntfs.c (list_file): Likewise.
15728 (grub_ntfs_mount): Likewise.
15729 * kern/disk.c (grub_disk_open): Likewise.
15730 * kern/dl.c (grub_dl_load_core): Likewise.
15731 * kern/elf.c (grub_elf_file): Likewise.
15732 * kern/env.c (grub_env_context_open): Likewise.
15733 (grub_env_set): Likewise.
15734 (grub_env_set_data_slot): Likewise.
15735 * kern/file.c (grub_file_open): Likewise.
15736 * kern/fs.c (grub_fs_blocklist_open): Likewise.
15737 * loader/i386/multiboot.c (grub_module): Likewise.
15738 * loader/xnu.c (grub_xnu_create_key): Likewise.
15739 (grub_xnu_create_value): Likewise.
15740 * normal/main.c (grub_normal_add_menu_entry): Likewise.
15741 (read_config_file): Likewise.
15742 * normal/menu_entry.c (make_screen): Likewise.
15743 * partmap/sun.c (sun_partition_map_iterate): Likewise.
15744 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
15745 * script/sh/script.c (grub_script_parse): Likewise.
15746 * video/bitmap.c (grub_video_bitmap_create): Likewise.
15747 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
15748 * video/readers/png.c (grub_png_output_byte): Likewise.
15749 (grub_video_reader_png): Likewise.
15750
830afef7 157512009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 15752
15753 Enable all targets that can be built by default
15754
830afef7 15755 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 15756 grub-mkfont and grub-fstest if they can be built
15757
ee293aee 157582009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
15759
15760 Fix hang and segmentation fault in grub-emu-usb
15761
15762 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
15763 * util/usb.c (grub_libusb_devices): likewise
15764 (grub_libusb_init): rename to ...
15765 (GRUB_MOD_INIT (libusb)):...this
15766 (grub_libusb_fini): rename to ..
15767 (GRUB_MOD_FINI (libusb)):...this
15768 * disk/usbms.c (grub_usbms_transfer): fix retry logic
15769 * include/grub/disk.h (grub_raid_init): removed, it's useless
15770 (grub_raid_fini): likewise
15771 (grub_lvm_init): likewise
15772 (grub_lvm_fini): likewise
15773 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
15774 by grub_init_all
15775
94414221 157762009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
15777
15778 Fix libusb
15779
15780 * Makefile.in (LIBUSB): new macro
15781 * genmk.rb (Utility/print_tail): new method
15782 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
15783 (top level): call util.print_tail at the end.
15784
59ade63d 157852009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
15786
15787 Make FreeBSD accept zpool.cache
15788
15789 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
15790 type is /boot/zfs/zpool.cache
15791
a58da8c7 157922009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
15793
15794 Fix 64-bit efiemu
15795
15796 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
15797 correct wrong typedef
15798 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
15799
20591577 158002009-07-15 Pavel Roskin <proski@gnu.org>
15801
560ca572 15802 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
15803 * kern/disk.c (struct grub_disk_cache): Likewise.
15804
e8e8e4fd 15805 * commands/probe.c (options): Typo fix.
15806
fde24e10 15807 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
15808 Increase to 0x5a to accommodate FAT32. Adjust other offsets
15809 accordingly.
15810 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
15811
379c54c1 15812 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
15813 the end of "Error" to make the message more readable.
15814
7bd8f5bf 15815 * boot/i386/pc/boot.S (kernel_segment): Remove.
15816 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
15817 for destination.
15818
40b132c5 15819 * boot/i386/pc/boot.S (boot_version): Remove.
15820 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
15821 Remove.
15822
20591577 15823 * include/grub/i386/pc/boot.h: Sort all offsets.
15824 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
15825 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
15826 * boot/i386/pc/boot.S: Assert location of every offset listed in
15827 include/grub/i386/pc/boot.h.
15828
2df32b2c 158292009-07-13 Pavel Roskin <proski@gnu.org>
15830
44b5d879 15831 * include/grub/i386/coreboot/machine.h: Rename
15832 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
15833 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
15834 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
15835
17dc3751 15836 * kern/dl.c: Force native word size to suppress warnings when
15837 compiling grub-emu.
15838
2df32b2c 15839 * kern/device.c (grub_device_iterate): Change struct part_ent to
15840 hold the name, not a pointer to it. Use one grub_malloc() per
15841 partition, not two. Free partition_name if grub_malloc() fails.
15842 Set ents to NULL only before grub_partition_iterate() is called.
15843
75c59f59 158442009-07-11 Bean <bean123ch@gmail.com>
15845
15846 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
15847 childname.
15848
0ae1bf88 158492009-07-10 Bean <bean123ch@gmail.com>
158502009-07-10 Robert Millan <rmh.grub@aybabtu.com>
15851
15852 * kern/ieee1275/openfw.c (grub_children_iterate)
15853 (grub_devalias_iterate): Fix size evaluation for property or path
15854 strings, which was broken since r2132.
15855
8279cade 158562009-07-07 Pavel Roskin <proski@gnu.org>
15857
7d8a52d3 15858 * commands/search.c (search_file): Merge into ...
15859 (search_fs): ... this. Accept search type as argument.
15860 (grub_cmd_search): Pass search type to search_fs().
15861
25f9a05a 15862 * include/grub/util/console.h: New file.
15863 * util/console.c: Use it instead of grub/machine/console.h.
15864 * util/grub-emu.c: Likewise.
15865
8279cade 15866 * lib/arg.c (find_long_option): Remove.
15867 (find_long): Add `len' argument, make `s' const char *.
15868 (grub_arg_parse): Parse long options in place, not in a
15869 temporary buffer.
15870
4a11b60f 158712009-07-06 Pavel Roskin <proski@gnu.org>
15872
99f68041 15873 * commands/search.c (search_fs): Fix potential NULL pointer
15874 dereference.
15875
4a11b60f 15876 * commands/search.c (search_fs): Replace QUID macro with quid_fn
15877 function pointer.
15878
e110f4de 158792009-07-06 Daniel Mierswa <impulze@impulze.org>
15880
15881 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
15882 comparison.
15883
46eeb6a2 158842009-07-05 Pavel Roskin <proski@gnu.org>
15885
bab74958 15886 * include/grub/i386/linux.h (struct linux_kernel_params):
15887 Restore padding3, it's still needed.
15888
46eeb6a2 15889 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
15890 FreeBSD.
15891 * util/osdetect.lua: Likewise.
15892
b4a1dc79 158932009-07-05 Bean <bean123ch@gmail.com>
15894
15895 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
15896
15897 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
15898 (grub_lua_getenv): Likewise.
15899 (grub_lua_setenv): Likewise.
15900 (save_errno): New function.
15901 (push_result): Likewise.
15902 (grub_lua_enum_device): Likewise.
15903 (grub_lua_enum_file): Likewise.
15904 (grub_lua_file_open): Likewise.
15905 (grub_lua_file_close): Likewise.
15906 (grub_lua_file_seek): Likewise.
15907 (grub_lua_file_read): Likewise.
15908 (grub_lua_file_getline): Likewise.
15909 (grub_lua_file_getsize): Likewise.
15910 (grub_lua_file_getpos): Likewise.
15911 (grub_lua_file_eof): Likewise.
15912 (grub_lua_file_exist): Likewise.
15913 (grub_lua_add_menu): Likewise.
15914
15915 * script/lua/grub_lua.h (isupper): New inline function.
15916 (islower): Likewise.
15917 (ispunct): Likewise.
15918 (isxdigit): Likewise.
15919 (strcspn): Change to normal function.
15920 (strpbkr): New function declaration.
15921 (memchr): Likewise.
15922
15923 * script/lua/grub_main.c (scan_str): New function.
15924 (strcspn): Likewise.
15925 (strpbrk): Likewise.
15926 (memchr): Likewise.
15927
15928 * script/lua/linit.c (lualibs): Enable the string library.
15929
15930 * util/osdetect.lua: New file.
15931
2da92295 159322009-07-04 Robert Millan <rmh.grub@aybabtu.com>
15933
15934 * include/grub/i386/linux.h (struct linux_kernel_params): Add
15935 `capabilities' member.
15936
b2582ec9 159372009-07-02 Pavel Roskin <proski@gnu.org>
15938
15939 * genparttoollist.sh: Add missing newline at the end.
15940
32622956 159412009-07-01 Pavel Roskin <proski@gnu.org>
15942
87a7339e 15943 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
15944
d23af54e 15945 * util/hostdisk.c (open_device): Remove `const' from
15946 `sysctl_size', as sysctlbyname() can change it (in this case it
15947 doesn't actually happen).
15948
c94b18a9 15949 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
15950 using signed long int constants.
15951
c6cd3ef0 15952 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
15953 constant to avoid a warning on FreeBSD.
15954
0df63420 15955 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
15956 where it's needed.
15957
999577f1 15958 * Makefile.in: Install include/grub/machine symlink.
15959
6f41557f 15960 * Makefile.in: When installing symlinks, use "cp -fR", which
15961 works on FreeBSD and MacOSX.
15962 From Yves Blusseau <cl7m42e02@sneakemail.com>
15963
c8d22988 15964 * kern/dl.c (grub_dl_resolve_symbol): Make static.
15965 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
15966
1b96e952 15967 * util/misc.c: Move grub_reboot() and grub_halt() ...
15968 * util/grub-emu.c: ... here. Make main_env static.
15969 * include/grub/util/misc.h: Remove main_env.
15970
2ef0084d 15971 * kern/mm.c: Use correct format to print size_t.
15972
32622956 15973 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
15974 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
15975 * kern/powerpc/dl.c: Likewise.
15976 * kern/sparc64/dl.c: Likewise.
15977 * kern/x86_64/dl.c: Likewise.
15978
3f7f0cd0 159792009-07-01 Robert Millan <rmh.grub@aybabtu.com>
15980
15981 Fix grub-emu build on sparc64-ieee1275.
15982
75421ca9 15983 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 15984 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
15985
211d06b5 159862009-07-01 Robert Millan <rmh.grub@aybabtu.com>
15987
15988 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
15989 (grub_reboot, grub_halt): New functions.
15990
15991 * util/i386/pc/misc.c: Delete. Update all users.
15992 * util/sparc64/ieee1275/misc.c: Likewise.
15993 * util/powerpc/ieee1275/misc.c: Likewise.
15994
aaf53e3c 159952009-07-01 Robert Millan <rmh.grub@aybabtu.com>
15996
15997 * conf/i386.rmk (setjmp_mod_SOURCES)
15998 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
15999 * conf/common.rmk (setjmp_mod_SOURCES)
16000 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
16001 to use $(target_cpu).
16002 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
16003 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
16004 * conf/powerpc-ieee1275.rmk: Likewise.
16005 * conf/sparc64-ieee1275.rmk: Likewise.
16006
16007 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
16008 $(target_cpu) for kern/$(target_cpu)/dl.c.
16009 * conf/i386-efi.rmk: Likewise.
16010 * conf/i386-ieee1275.rmk: Likewise.
16011 * conf/x86_64-efi.rmk: Likewise.
16012 * conf/i386-coreboot.rmk: Likewise.
16013 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
16014 $(target_cpu) for kern/$(target_cpu)/dl.c and for
16015 kern/$(target_cpu)/cache.S.
16016 * conf/sparc64-ieee1275.rmk: Likewise.
16017
a337130b 160182009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16019
16020 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
16021 type to `grub_uint8_t', and adjust `padding9' accordingly.
16022
c6fe4d53 160232009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16024
b09db61d 16025 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
16026
c6fe4d53 16027 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
16028 assembly in final jump, using register constraints.
16029
b09db61d 16030 (grub_linux_boot): For text mode, initialize `have_vga' using
16031 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
16032
16033 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
16034 right before the final jump.
16035
16036 Set `video_mode' to 0x3.
16037
16038 Document initialization of `video_page', `video_mode' and
16039 `video_ega_bx'.
16040
28333ad0 160412009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16042
16043 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
16044 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 16045 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 16046
02164e1b 160472009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16048
16049 Fix build on Debian / sparc.
16050
16051 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
16052
18b6c557 160532009-06-28 Pavel Roskin <proski@gnu.org>
16054
85f2aab6 16055 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
16056 fix a warning.
16057
18b6c557 16058 * util/grub.d/10_linux.in: Match SUSE style initrd names.
16059
ad760f81 160602009-06-27 Robert Millan <rmh.grub@aybabtu.com>
16061
16062 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
16063 `err'.
16064
87a4623b 160652009-06-27 Robert Millan <rmh.grub@aybabtu.com>
16066
16067 Revert r2338.
16068
16069 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
16070 file can't be opened. grub_file_open() is already supposed to set
75421ca9 16071 grub_errno / grub_errmsg appropriately.
87a4623b 16072 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16073
8231fb77 160742009-06-27 Pavel Roskin <proski@gnu.org>
160752009-06-27 Robert Millan <rmh.grub@aybabtu.com>
16076
16077 * include/grub/dl.h: Include grub/elf.h.
16078 (struct grub_dl): Add symtab field.
16079 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
16080 GRUB_MODULES_MACHINE_READONLY.
16081 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
16082 of the header for read-only modules.
16083 (grub_dl_unload): Free mod->symtab for read-only modules.
16084 * kern/i386/dl.c: Use mod->symtab.
16085 * kern/powerpc/dl.c: Likewise.
16086 * kern/sparc64/dl.c: Likewise.
16087 * kern/x86_64/dl.c: Likewise.
16088
16089 * conf/i386-qemu.rmk: New file.
16090 * kern/i386/qemu/startup.S: Likewise.
16091 * kern/i386/qemu/mmap.c: Likewise.
16092 * boot/i386/qemu/boot.S: Likewise.
16093 * include/grub/i386/qemu/time.h: Likewise.
16094 * include/grub/i386/qemu/serial.h: Likewise.
16095 * include/grub/i386/qemu/kernel.h: Likewise.
16096 * include/grub/i386/qemu/console.h: Likewise.
16097 * include/grub/i386/qemu/boot.h: Likewise.
16098 * include/grub/i386/qemu/init.h: Likewise.
16099 * include/grub/i386/qemu/machine.h: Likewise.
16100 * include/grub/i386/qemu/loader.h: Likewise.
16101 * include/grub/i386/qemu/memory.h: Likewise.
16102
16103 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
16104 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
16105 [qemu] (pkglib_IMAGES): Add `boot.img'.
16106 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
16107 [qemu] (boot_img_FORMAT): New variables.
16108 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
16109 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
16110 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
16111 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16112 [qemu] (kernel_img_FORMAT): New variables.
16113
16114 * configure.ac: Recognise `i386-qemu'.
16115
16116 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
16117 (for no compression).
16118 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
16119 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
16120 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
16121 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
16122 ifdefs).
16123
97fe384e 161242009-06-27 Pavel Roskin <proski@gnu.org>
16125
16126 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
16127 read.
16128 * efiemu/prepare32.c: Likewise.
16129 * efiemu/prepare64.c: Likewise.
16130
c402ab17 161312009-06-26 Pavel Roskin <proski@gnu.org>
16132
16133 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
16134 * include/grub/elf.h: Define symbols without "32" or "64" based
16135 on GRUB_TARGET_WORDSIZE.
16136 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
16137 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
16138 ELF definitions.
16139 * efiemu/loadcore64.c: Likewise.
16140 * loader/i386/bsd32.c: Likewise.
16141 * loader/i386/bsd64.c: Likewise.
16142 * kern/dl.c: Remove own ELF definitions.
16143 * util/i386/efi/grub-mkimage.c: Likewise.
16144
9bbdfd4d 161452009-06-23 Robert Millan <rmh.grub@aybabtu.com>
16146
16147 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
16148 segment 0x0 unconditionally, because the reference generated by
16149 GAS is an absolute address.
16150
a42ce6e9 161512009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16152
16153 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
16154 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
16155
c952cf92 161562009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16157
16158 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
16159 indexes. Check for -f explicitly.
cc3752ad 16160 (search_file): Improve error message.
16161 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 16162
132a0a59 161632009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16164
16165 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
16166 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
16167
387a140c 161682009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16169
16170 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
16171 * conf/i386-ieee1275.rmk: Likewise.
16172 * conf/i386-coreboot.rmk: Likewise.
16173
16174 * kern/i386/pc/startup.S (grub_stop): Remove function.
16175 * kern/i386/ieee1275/startup.S: Likewise.
16176 * kern/i386/coreboot/startup.S: Likewise.
16177 * kern/i386/misc.S (grub_stop): New function.
16178
41da9665 161792009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16180
16181 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
16182 * kern/i386/realmode.S (real_to_prot): ... to here.
16183
bf337234 161842009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16185
16186 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
16187 with `kernel.img'.
16188 (kernel_elf_SOURCES): Rename to ...
16189 (kernel_img_SOURCES): ... this.
16190 (kernel_elf_HEADERS): Rename to ...
16191 (kernel_img_HEADERS): ... this. Update all users.
16192 (kernel_elf_ASFLAGS): Rename to ...
16193 (kernel_img_ASFLAGS): ... this.
16194 (kernel_elf_CFLAGS): Rename to ...
16195 (kernel_img_CFLAGS): ... this.
16196 (kernel_elf_LDFLAGS): Rename to ...
16197 (kernel_img_LDFLAGS): ... this.
16198 * conf/i386-coreboot.rmk: Likewise.
16199 * conf/powerpc-ieee1275.rmk: Likewise.
16200
16201 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
16202 with "kernel.img".
16203
f52196ff 162042009-06-21 Pavel Roskin <proski@gnu.org>
16205
c3cee413 16206 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
16207 to match nested functions.
16208 * loader/sparc64/ieee1275/linux.c: Likewise.
16209
f52196ff 16210 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
16211
58750afc 162122009-06-21 Robert Millan <rmh.grub@aybabtu.com>
16213
16214 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
16215 all i386 platforms.
16216
15355c7d 162172009-06-21 Robert Millan <rmh.grub@aybabtu.com>
16218
16219 Fix asm file handling on ELF, and remove workarounds.
16220
16221 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 16222 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 16223 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
16224 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
16225
3f3ec72b 162262009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
16227
16228 Load BSD ELF modules
16229
16230 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
16231 and loader/i386/bsd64.c
16232 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
16233 (FREEBSD_MODTYPE_ELF_MODULE): New definition
16234 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
16235 (grub_freebsd_load_elfmodule32): New declaration
16236 (grub_freebsd_load_elfmoduleobj64): Likewise
16237 (grub_freebsd_load_elf_meta32): Likewise
16238 (grub_freebsd_load_elf_meta64): Likewise
16239 (grub_freebsd_add_meta): Likewise
16240 (grub_freebsd_add_meta_module): Likewise
16241 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
16242 (grub_freebsd_add_meta_module): Likewise and move module-specific
16243 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
16244 (grub_cmd_freebsd): Add elf-kernel specific parts
16245 based on grub_freebsd_add_meta_module
16246 (grub_cmd_freebsd_module): Add type parsing moved from
16247 grub_freebsd_add_meta_module
16248 (grub_cmd_freebsd_module_elf): New function
16249 (cmd_freebsd_module_elf): New variable
16250 (GRUB_MOD_INIT): Register freebsd_module_elf
16251 * loader/i386/bsd32.c: New file
16252 * loader/i386/bsd64.c: Likewise
16253 * loader/i386/bsdXX.c: Likewise
16254 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
16255 (grub_elf64_load): Likewise
16256 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
16257 All users updated
16258 (grub_elf64_load_hook_t): Likewise
16259
0db15301 162602009-06-21 Colin Watson <cjwatson@ubuntu.com>
16261
16262 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
16263 variable.
16264 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
16265 don't write a menu entry for recovery mode.
16266
546796c1 162672009-06-20 Robert Millan <rmh.grub@aybabtu.com>
16268
16269 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
16270 after it's no longer needed.
16271
cd7310d5 162722009-06-20 Robert Millan <rmh.grub@aybabtu.com>
16273
16274 * include/grub/i386/loader.h (grub_linux_prot_size)
16275 (grub_linux_tmp_addr, grub_linux_real_addr)
16276 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
16277 GRUB_MACHINE_PCBIOS.
16278 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
16279 common grub_util_info() call to ...
16280 (generate_image): ... here.
16281 Fix use of uninitialized memory, comparison of signed with
16282 unsigned integers and memory leak.
16283 Remove bogus module address message.
16284
ab32d3b5 162852009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16286
16287 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
16288 grub_raid_register
16289 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
16290
024ef597 162912009-06-19 Pavel Roskin <proski@gnu.org>
16292
16293 * configure.ac: Remove stray AC_MSG_CHECKING.
16294
3ac72b51 162952009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
16296
16297 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 16298
e14cd814 162992009-06-18 Pavel Roskin <proski@gnu.org>
16300
16301 * conf/common.rmk: Add fs_file.mod.
16302 * disk/fs_file.c: New file.
16303 * include/grub/disk.h (enum grub_disk_dev_id): Add
16304 GRUB_DISK_DEVICE_FILE_ID.
16305
26586d98 163062009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
16307
16308 Fix build with Apple's toolchain. Part 2
16309
16310 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
16311 a fake start
16312
26de2bcd 163132009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
16314
16315 Fix build with Apple's toolchain. Part 1
16316
16317 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
16318 for long calls
16319 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 16320 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 16321 Apple's toolchain
16322
09b3490b 163232009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
16324
16325 Fix warnings
16326
16327 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
16328 (decomp_block): initialize ch
16329 use grub_memcpy instead of memcpy
16330
c22a006a 163312009-06-17 Pavel Roskin <proski@gnu.org>
16332
d3638678 16333 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
16334 version, use declarations needed to use vga_text as the startup
16335 console.
16336
c22a006a 16337 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
16338 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
16339 the kernel.
16340 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
16341 and grub_at_keyboard_fini(), it's done on module load and
16342 unload.
16343
05b129e0 163442009-06-17 Felix Zielcke <fzielcke@z-51.de>
16345
16346 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
16347 file can't be found.
16348 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16349
cf24ed9e 163502009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
16351
16352 Fix newline handling
16353
16354 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 16355 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 16356 (grub_script_yylex): don't segfault on unterminated script
16357 newline terminates command and variable
16358
74aa8e4b 163592009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
16360
16361 avoid double grub_adjust_range call. Bug reported by David Simner
16362
16363 * kern/disk.c (grub_disk_write): change to raw disk access before
16364 calling disk_read
16365
1bd265f3 163662009-06-17 Colin Watson <cjwatson@ubuntu.com>
16367
16368 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
16369 spaces, for the benefit of help2man.
16370 * util/i386/efi/grub-mkimage.c (usage): Likewise.
16371
a2d08c06 163722009-06-16 Pavel Roskin <proski@gnu.org>
16373
16374 * kern/i386/halt.c: Include grub/machine/init.h.
16375 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
16376
b97bcb19 163772009-06-16 Felix Zielcke <fzielcke@z-51.de>
16378
16379 * util/grub.d/30_os-prober.in: Use ${root} in the generated
16380 drivemap menuentry.
16381
0644f96c 163822009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
16383
16384 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
16385 `echo' command.
16386
3ef17a2e 163872009-06-16 Pavel Roskin <proski@gnu.org>
16388
16389 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
16390 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
16391 save %dx, we only need %dl and we never change it.
16392 * boot/i386/pc/cdboot.S: Don't set the root drive.
16393 * boot/i386/pc/pxeboot.S: Likewise.
16394 * include/grub/i386/pc/boot.h: Remove
16395 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
16396 GRUB_BOOT_MACHINE_DRIVE_CHECK.
16397 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
16398 * kern/i386/pc/init.c (make_install_device): Remove references
16399 to grub_root_drive.
16400 * kern/i386/pc/startup.S: Likewise.
16401 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
16402
693fe637 164032009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
16404
16405 xnu_uuid command
16406
16407 * commands/xnu_uuid.c: new file
16408 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
16409 (xnu_uuid_mod_SOURCES): new variable
16410 (xnu_uuid_mod_CFLAGS): likewise
16411 (xnu_uuid_mod_LDFLAGS): likewise
16412 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
16413 * conf/i386-ieee1275.rmk: likewise
16414 * conf/i386-pc.rmk: likewise
16415 * conf/powerpc-ieee1275.rmk: likewise
16416 * conf/sparc64-ieee1275.rmk: likewise
16417 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
16418
c9da87d0 164192009-06-16 Pavel Roskin <proski@gnu.org>
16420
16421 * configure.ac: Avoid '==' in test command, it's not portable.
16422
9c6f4596 164232009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
16424
16425 Probe command
16426
16427 * commands/probe.c: new file
16428 * conf/common.rmk (pkglib_MODULES): add probe.mod
16429 (probe_mod_SOURCES): new variable
16430 (probe_mod_CFLAGS): likewise
16431 (probe_mod_LDFLAGS): likewise
16432 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
16433 * conf/i386-ieee1275.rmk: likewise
16434 * conf/i386-pc.rmk: likewise
16435 * conf/powerpc-ieee1275.rmk: likewise
16436 * conf/sparc64-ieee1275.rmk: likewise
16437
70b7f9fd 164382009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
16439
16440 Fix handling of string like \"hello\" and "a
16441 b"
16442
16443 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
16444 (grub_script_yylex): fix parsing of quoting, escaping and newline
16445
71c79a6b 164462009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
16447
dd74360c 16448 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 16449 handling
dd74360c 16450
0644f96c 164512009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 16452
16453 * util/grub-mkconfig.in: Fix parsing of --output option.
16454
e40893c3 164552009-06-12 Pavel Roskin <proski@gnu.org>
16456
16457 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
16458 genmk.rb don't need to be generated or installed.
16459
3a1acfe2 164602009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16461
16462 * commands/i386/pc/drivemap_int13h.S: add more comments
16463
3a4575d4 164642009-06-11 Pavel Roskin <proski@gnu.org>
16465
0658e928 16466 * Makefile.in (uninstall): Uninstall manuals.
16467
ca0388f0 16468 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
16469 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
16470 and update-grub_lib in two places.
16471 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
16472
e3b27c39 16473 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
16474 a compiler warning.
16475
3a4575d4 16476 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
16477 `entry_lo' to fix variable shadowing.
16478
af1f4f55 164792009-06-11 Christian Franke <franke@computer.org>
16480
16481 * kern/misc.c (__enable_execute_stack): Add missing return type
16482 to prevent gcc warning.
16483
5225e649 164842009-06-11 Felix Zielcke <fzielcke@z-51.de>
16485
16486 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
16487
7d83bd47 164882009-06-11 Pavel Roskin <proski@gnu.org>
16489
c1cb63ba 16490 * Makefile.in: Don't rely on any scripts being executable.
16491 Always use $(SHELL) to run shell scripts.
16492
7d83bd47 16493 * configure.ac: Always define ___main if using -nostdlib. This
16494 fixes tests on Cygwin.
16495
948f48e7 164962009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
16497
16498 UDF fix
16499
7d83bd47 16500 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 16501 is in bytes and not in blocks
7d83bd47 16502
8ada9bc1 165032009-06-11 Pavel Roskin <proski@gnu.org>
16504
16505 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
16506 warning.
16507
25ad2323 165082009-06-11 Felix Zielcke <fzielcke@z-51.de>
16509
16510 * util/grub.d/30_os-prober.in: Fix a comment. Source
16511 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
16512 to set the root device. Place drivemap command in the generated
16513 chain entry.
16514
e65acb0c 165152009-06-11 Pavel Roskin <proski@gnu.org>
16516
16517 * configure.ac: Remove host_m32. Issues with 64-bit utilities
16518 have long been resolved.
16519
f285fe2d 165202009-06-11 Colin Watson <cjwatson@ubuntu.com>
16521
bd47b0b5 16522 * util/grub.d/10_linux.in: Capitalise "Linux".
16523
f285fe2d 16524 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
16525
a0c62e4e 165262009-06-11 Pavel Roskin <proski@gnu.org>
16527
b6783cb2 16528 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
16529 fix a gcc warning and ensure that the function won't ever exit.
16530
dde032e8 16531 * kern/i386/ieee1275/init.c: Add missing prototype for
16532 grub_stop_floppy().
16533
22cd079d 16534 * loader/ieee1275/multiboot2.c [__i386__]: Include
16535 grub/cpu/multiboot.h.
16536
a0c62e4e 16537 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
16538 casts to short - they are not portable and cause warnings. Fix
16539 use of uninitialized values in input_buf. Use ARRAY_SIZE.
16540
63963d17 165412009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
16542
16543 Drivemap fixes
16544
16545 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
16546 new function
16547 (grub_get_root_biosnumber_saved): new variable
16548 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
16549 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 16550 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 16551 %dx after the call if necessary
16552 * conf/common.rmk (pkglib_MODULES): remove boot.mod
16553 (boot_mod_SOURCES): remove
16554 (boot_mod_CFLAGS): remove
16555 (boot_mod_LDFLAGS): remove
16556 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
16557 (boot_mod_SOURCES): new variable
16558 (boot_mod_CFLAGS): likewise
16559 (boot_mod_LDFLAGS): likewise
16560 * conf/i386-efi.rmk: likewise
16561 * conf/i386-ieee1275.rmk: likewise
16562 * conf/i386-pc.rmk: likewise
16563 * conf/powerpc-ieee1275.rmk: likewise
16564 * conf/sparc64-ieee1275.rmk: likewise
16565 * conf/x86_64-efi.rmk: likewise
16566 * include/grub/i386/pc/biosnum.h: new file
16567 * lib/i386/pc/biosnum.c: likewise
16568 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
16569 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
16570 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 16571
33abf7ae 165722009-06-10 Pavel Roskin <proski@gnu.org>
16573
5ac35b35 16574 * io/gzio.c (test_header): Don't reuse one buffer for all data.
16575 Use separate variables. Read only the file size at the end, but
16576 not the checksum that we don't use.
16577
5c5215d5 16578 * kern/file.c (grub_file_read): Use void pointer for the buffer.
16579 Adjust all callers.
16580
27d5fef7 16581 * kern/ieee1275/openfw.c: Remove libc includes.
16582 * kern/ieee1275/cmain.c: Likewise.
16583 * include/grub/ieee1275/ieee1275.h: Likewise.
16584
33abf7ae 16585 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
16586 compiler warnings.
16587
19d50c2b 165882009-06-10 Felix Zielcke <fzielcke@z-51.de>
16589
16590 * Makefile.in: Remove all trailing whitespace.
16591 * conf/i386-pc.rmk: Likewise.
16592 * conf/powerpc-ieee1275.rmk: Likewise.
16593 * conf/sparc64-ieee1275.rmk: Likewise.
16594 * docs/grub.texi: Likewise.
16595 * docs/texinfo.tex: Likewise.
16596 * disk/fs_uuid.c: Likewise.
16597 * disk/lvm.c: Likewise.
16598 * disk/scsi.c: Likewise.
16599 * disk/ata.c: Likewise.
16600 * disk/ieee1275/ofdisk.c: Likewise.
16601 * disk/i386/pc/biosdisk.c: Likewise.
16602 * disk/host.c: Likewise.
16603 * disk/raid.c: Likewise.
16604 * disk/efi/efidisk.c: Likewise.
16605 * disk/usbms.c: Likewise.
16606 * disk/memdisk.c: Likewise.
16607 * disk/loopback.c: Likewise.
16608 * kern/powerpc/dl.c: Likewise.
16609 * kern/device.c: Likewise.
16610 * kern/dl.c: Likewise.
16611 * kern/sparc64/dl.c: Likewise.
16612 * kern/ieee1275/ieee1275.c: Likewise.
16613 * kern/term.c: Likewise.
16614 * kern/fs.c: Likewise.
16615 * kern/i386/dl.c: Likewise.
16616 * kern/i386/pc/startup.S: Likewise.
16617 * kern/i386/pc/init.c: Likewise.
16618 * kern/i386/pc/mmap.c: Likewise.
16619 * kern/i386/pc/lzo1x.S: Likewise.
16620 * kern/i386/ieee1275/init.c: Likewise.
16621 * kern/i386/realmode.S: Likewise.
16622 * kern/i386/tsc.c: Likewise.
16623 * kern/partition.c: Likewise.
16624 * kern/corecmd.c: Likewise.
16625 * kern/file.c: Likewise.
16626 * kern/efi/efi.c: Likewise.
16627 * kern/efi/init.c: Likewise.
16628 * kern/efi/mm.c: Likewise.
16629 * kern/main.c: Likewise.
16630 * kern/err.c: Likewise.
16631 * kern/env.c: Likewise.
16632 * kern/disk.c: Likewise.
16633 * kern/generic/millisleep.c: Likewise.
16634 * kern/generic/rtc_get_time_ms.c: Likewise.
16635 * kern/misc.c: Likewise.
16636 * kern/parser.c: Likewise.
16637 * genmk.rb: Likewise.
16638 * configure.ac: Likewise.
16639 * boot/i386/pc/diskboot.S: Likewise.
16640 * boot/i386/pc/pxeboot.S: Likewise.
16641 * boot/i386/pc/boot.S: Likewise.
16642 * boot/i386/pc/lnxboot.S: Likewise.
16643 * boot/i386/pc/cdboot.S: Likewise.
16644 * parttool/pcpart.c: Likewise.
16645 * video/readers/tga.c: Likewise.
16646 * video/video.c: Likewise.
16647 * video/bitmap.c: Likewise.
16648 * lib/envblk.c: Likewise.
16649 * lib/i386/setjmp.S: Likewise.
16650 * fs/xfs.c: Likewise.
16651 * fs/afs.c: Likewise.
16652 * fs/fat.c: Likewise.
16653 * fs/ntfs.c: Likewise.
16654 * fs/udf.c: Likewise.
16655 * fs/affs.c: Likewise.
16656 * fs/iso9660.c: Likewise.
16657 * fs/hfs.c: Likewise.
16658 * fs/fshelp.c: Likewise.
16659 * fs/ext2.c: Likewise.
16660 * fs/jfs.c: Likewise.
16661 * fs/reiserfs.c: Likewise.
16662 * fs/hfsplus.c: Likewise.
16663 * fs/minix.c: Likewise.
16664 * fs/cpio.c: Likewise.
16665 * fs/sfs.c: Likewise.
16666 * fs/ufs.c: Likewise.
16667 * efiemu/prepare.c: Likewise.
16668 * efiemu/loadcore_common.c: Likewise.
16669 * efiemu/runtime/efiemu.sh: Likewise.
16670 * efiemu/runtime/efiemu.S: Likewise.
16671 * efiemu/runtime/efiemu.c: Likewise.
16672 * efiemu/pnvram.c: Likewise.
16673 * efiemu/main.c: Likewise.
16674 * efiemu/i386/pc/cfgtables.c: Likewise.
16675 * efiemu/i386/loadcore64.c: Likewise.
16676 * efiemu/i386/loadcore32.c: Likewise.
16677 * efiemu/loadcore.c: Likewise.
16678 * efiemu/symbols.c: Likewise.
16679 * efiemu/mm.c: Likewise.
16680 * include/grub/autoefi.h: Likewise.
16681 * include/grub/datetime.h: Likewise.
16682 * include/grub/term.h: Likewise.
16683 * include/grub/hfs.h: Likewise.
16684 * include/grub/lvm.h: Likewise.
16685 * include/grub/i386/tsc.h: Likewise.
16686 * include/grub/i386/linux.h: Likewise.
16687 * include/grub/i386/xnu.h: Likewise.
16688 * include/grub/i386/efiemu.h: Likewise.
16689 * include/grub/i386/pc/biosdisk.h: Likewise.
16690 * include/grub/i386/pc/memory.h: Likewise.
16691 * include/grub/i386/pc/vbe.h: Likewise.
16692 * include/grub/parttool.h: Likewise.
16693 * include/grub/video.h: Likewise.
16694 * include/grub/memory.h: Likewise.
16695 * include/grub/fs.h: Likewise.
16696 * include/grub/partition.h: Likewise.
16697 * include/grub/xnu.h: Likewise.
16698 * include/grub/efi/api.h: Likewise.
16699 * include/grub/efi/pe32.h: Likewise.
16700 * include/grub/efi/memory.h: Likewise.
16701 * include/grub/multiboot.h: Likewise.
16702 * include/grub/usbdesc.h: Likewise.
16703 * include/grub/multiboot2.h: Likewise.
16704 * include/grub/acpi.h: Likewise.
16705 * include/grub/efiemu/efiemu.h: Likewise.
16706 * include/grub/disk.h: Likewise.
16707 * include/grub/ieee1275/ieee1275.h: Likewise.
16708 * include/grub/net.h: Likewise.
16709 * include/grub/machoload.h: Likewise.
16710 * include/grub/macho.h: Likewise.
16711 * include/multiboot.h: Likewise.
16712 * genmoddep.awk: Likewise.
16713 * normal/main.c: Likewise.
16714 * normal/menu_entry.c: Likewise.
16715 * normal/menu_viewer.c: Likewise.
16716 * normal/completion.c: Likewise.
16717 * normal/cmdline.c: Likewise.
16718 * normal/misc.c: Likewise.
16719 * normal/datetime.c: Likewise.
16720 * bus/usb/usbtrans.c: Likewise.
16721 * bus/usb/ohci.c: Likewise.
16722 * bus/usb/uhci.c: Likewise.
16723 * bus/usb/usb.c: Likewise.
16724 * mmap/efi/mmap.c: Likewise.
16725 * mmap/i386/pc/mmap_helper.S: Likewise.
16726 * mmap/i386/pc/mmap.c: Likewise.
16727 * mmap/i386/mmap.c: Likewise.
16728 * mmap/i386/uppermem.c: Likewise.
16729 * mmap/mmap.c: Likewise.
16730 * commands/acpi.c: Likewise.
16731 * commands/echo.c: Likewise.
16732 * commands/blocklist.c: Likewise.
16733 * commands/loadenv.c: Likewise.
16734 * commands/usbtest.c: Likewise.
16735 * commands/boot.c: Likewise.
16736 * commands/parttool.c: Likewise.
16737 * commands/search.c: Likewise.
16738 * commands/cat.c: Likewise.
16739 * commands/i386/pc/play.c: Likewise.
16740 * commands/i386/pc/drivemap.c: Likewise.
16741 * commands/i386/pc/vbeinfo.c: Likewise.
16742 * commands/i386/pc/acpi.c: Likewise.
16743 * commands/i386/pc/vbetest.c: Likewise.
16744 * commands/ls.c: Likewise.
16745 * commands/cmp.c: Likewise.
16746 * commands/test.c: Likewise.
16747 * commands/efi/acpi.c: Likewise.
16748 * commands/gptsync.c: Likewise.
16749 * commands/help.c: Likewise.
16750 * partmap/amiga.c: Likewise.
16751 * partmap/apple.c: Likewise.
16752 * partmap/acorn.c: Likewise.
16753 * partmap/pc.c: Likewise.
16754 * partmap/sun.c: Likewise.
16755 * partmap/gpt.c: Likewise.
16756 * script/sh/lexer.c: Likewise.
16757 * script/sh/function.c: Likewise.
16758 * font/font.c: Likewise.
16759 * font/font_cmd.c: Likewise.
16760 * loader/powerpc/ieee1275/linux.c: Likewise.
16761 * loader/efi/chainloader.c: Likewise.
16762 * loader/multiboot_loader.c: Likewise.
16763 * loader/macho.c: Likewise.
16764 * loader/i386/multiboot.c: Likewise.
16765 * loader/i386/linux.c: Likewise.
16766 * loader/i386/pc/linux.c: Likewise.
16767 * loader/i386/pc/multiboot2.c: Likewise.
16768 * loader/i386/pc/chainloader.c: Likewise.
16769 * loader/i386/pc/xnu.c: Likewise.
16770 * loader/i386/bsd_trampoline.S: Likewise.
16771 * loader/i386/efi/linux.c: Likewise.
16772 * loader/i386/multiboot_elfxx.c: Likewise.
16773 * loader/i386/bsd_helper.S: Likewise.
16774 * loader/i386/bsd.c: Likewise.
16775 * loader/i386/linux_trampoline.S: Likewise.
16776 * loader/i386/xnu_helper.S: Likewise.
16777 * loader/i386/xnu.c: Likewise.
16778 * loader/i386/bsd_pagetable.c: Likewise.
16779 * loader/i386/multiboot_helper.S: Likewise.
16780 * loader/xnu.c: Likewise.
16781 * loader/xnu_resume.c: Likewise.
16782 * io/gzio.c: Likewise.
16783 * term/efi/console.c: Likewise.
16784 * term/terminfo.c: Likewise.
16785 * term/ieee1275/ofconsole.c: Likewise.
16786 * term/i386/pc/serial.c: Likewise.
16787 * term/i386/pc/vesafb.c: Likewise.
16788 * term/i386/pc/vga.c: Likewise.
16789 * term/usb_keyboard.c: Likewise.
16790 * term/gfxterm.c: Likewise.
16791 * aclocal.m4: Likewise.
16792 * util/lvm.c: Likewise.
16793 * util/grub.d/30_os-prober.in: Likewise.
16794 * util/grub.d/10_hurd.in: Likewise.
16795 * util/console.c: Likewise.
16796 * util/grub-macho2img.c: Likewise.
16797 * util/grub-probe.c: Likewise.
16798 * util/hostfs.c: Likewise.
16799 * util/i386/pc/grub-mkimage.c: Likewise.
16800 * util/i386/pc/grub-setup.c: Likewise.
16801 * util/i386/efi/grub-mkimage.c: Likewise.
16802 * util/grub-mkconfig.in: Likewise.
16803 * util/raid.c: Likewise.
16804 * util/resolve.c: Likewise.
16805 * util/grub-mkdevicemap.c: Likewise.
16806 * util/grub-emu.c: Likewise.
16807 * util/getroot.c: Likewise.
16808 * util/hostdisk.c: Likewise.
16809 * util/usb.c: Likewise.
16810 * util/grub-editenv.c: Likewise.
16811 * util/misc.c: Likewise.
16812
d2d49665 168132009-06-10 Felix Zielcke <fzielcke@z-51.de>
16814
16815 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
16816 `genparttoollist.sh'.
16817 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
16818 Add `*.sh' to the list find searches for and change `mdate.sh'
16819 to `mdate-sh'.
16820
fe052e37 168212009-06-10 Pavel Roskin <proski@gnu.org>
16822
2763ac18 16823 * include/grub/multiboot2.h: Provide compatibility defines for
16824 multiboot2.h.
16825 * include/multiboot2.h: Include stdint.h only if needed, using
16826 angle brackets.
16827 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
16828 grub/multiboot2.h.
16829 * loader/ieee1275/multiboot2.c: Likewise.
16830 * loader/multiboot2.c: Likewise.
16831 * loader/multiboot_loader.c: Likewise.
16832
437e6adc 16833 * configure.ac: Use -nostdlib when probing for the target. It
16834 should not be required to have libc for the target.
16835
06a6836c 16836 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
16837 they fail without libc headers for the target.
16838 * include/grub/powerpc/libgcc.h: Use weak attribute for all
16839 exports.
16840 * include/grub/sparc64/libgcc.h: Likewise. Don't use
16841 preprocessor conditionals.
16842
fe052e37 16843 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
16844 build system doesn't need to be aware of the tar.c internals.
16845
afd22553 168462009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 16847
afd22553 16848 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 16849
6b787c4f 168502009-06-09 Robert Millan <rmh.grub@aybabtu.com>
16851
16852 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
16853 disk limit to 26 for IDE, Virtio, Xen and SCSI.
16854
168552009-06-09 Felix Zielcke <fzielcke@z-51.de>
16856
16857 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 16858 aren't available if ata.mod gets used.
6b787c4f 16859
473d1e45 168602009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 16861
473d1e45 16862 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 16863 initialising controller.
473d1e45 16864 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 16865
255a27d4 168662009-06-08 Felix Zielcke <fzielcke@z-51.de>
16867
16868 * util/i386/pc/grub-install.in: Add a parameter --disk-module
16869 to choose between ata and biosdisk module on i386-pc.
16870
473d1e45 168712009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 16872
d55842d8 16873 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
16874 Subclass and Programming Interface fields in terms of the 3 byte
16875 Class Code register.
16876 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
16877
fa5db0b1 16878 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
16879 interface is OHCI. Add grub_dprintf for symmetry with
16880 bus/usb/uhci.c.
16881 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
16882 interface is UHCI. Add interf variable for programming
16883 interface. Print interface with class/subclass.
16884
c0947beb 16885 * bus/usb/ohci.c: Set interf with correct field.
16886
69da8877 16887 * bus/usb/uhci.c: Remove unneeded doubled lines.
16888 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
16889 Remove whitespace inside comment.
16890
9e172e30 168912009-06-08 Robert Millan <rmh.grub@aybabtu.com>
16892
16893 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
16894 as fallback an equivalent option without depth.
16895
de65ee2b 168962009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
16897
16898 Not fail if unable to retrieve C/H/S on LBA disks
16899
473d1e45 16900 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 16901 if unable to retrieve C/H/S on LBA disks
16902
b57ea2c9 169032009-06-08 Pavel Roskin <proski@gnu.org>
16904
16905 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
16906 about aliasing.
16907
af361263 169082009-06-08 Felix Zielcke <fzielcke@z-51.de>
16909
16910 * Makefile.in (uninstall): Remove all $lib_DATA files.
16911
4c9ec6b3 169122009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
16913
16914 Bugfix: install on partitionless device
16915
16916 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
16917 is a whole disk
16918
e76fc924 169192009-06-08 Felix Zielcke <fzielcke@z-51.de>
16920
16921 * Makefile.in (uninstall): Remove all $include_DATA files.
16922
ba5a0d05 169232009-06-08 Felix Zielcke <fzielcke@z-51.de>
16924
16925 * commands/true.c: New file. Implement the true and false commands.
16926 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
16927 (true_mod_SOURCES): New variable.
16928 (true_mod_CFLAGS): Likewise.
16929 (true_mod_LDFLAGS): Likewise.
16930
c8048e32 169312009-06-05 Colin D Bennett <colin@gibibit.com>
16932
16933 Optimized font character lookup using binary search instead of linear
16934 search. Fonts now are required to have the character index ordered by
16935 code point.
16936
16937 * font/font.c (load_font_index): Verify that fonts have ordered
16938 character indices.
16939 (find_glyph): Use binary search instead of linear search to find a
16940 character in a font.
16941
408305be 169422009-06-05 Michael Scherer <misc@mandriva.org>
16943
16944 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
16945 uses case sensitive btree.
16946 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
16947 only for case insensitive filesystems.
16948
8ee1e0d9 169492009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
16950
16951 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
16952 * conf/common.rmk (search_mod_CFLAGS): likewise
16953
a9966eb1 169542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16955
473d1e45 16956 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 16957 compensate a compiler bug
16958
9e7100fb 169592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16960
473d1e45 16961 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 16962 instead of '\b'
473d1e45 16963
ede21d71 169642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16965
16966 Definitions for creating asm symbols with Apple's CC
16967
16968 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
16969 [APPLE_CC] (VARIABLE): likewise
16970
9dbf7653 169712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16972
16973 Disable lnxboot.img when compiled
16974 with Apple's CC
16975
16976 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
16977 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
16978 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
16979 [! APPLE_CC] (CODE_LENG): skip
16980 [! APPLE_CC] (setup_sects): likewise
16981 [! APPLE_CC]: skip filling
473d1e45 16982
e93cdc3d 169832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16984
16985 Address in trampolines based on 32-bit registers when compiled
16986 with Apple's CC
16987
473d1e45 16988 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 16989 for addresses
16990 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
16991
6c688477 169922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16993
16994 Avoid aliases when compiling with Apple's CC for PCBIOS machine
16995
16996 * kern/misc.c [APPLE_CC] (memcpy): new function
16997 [APPLE_CC] (memmove): likewise
16998 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 16999 (memcpy): define alias conditionally on !APPLE_CC
6c688477 17000 (memset): likewise
17001 (abort): likewise
17002 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
17003 APPLE_CC are defined
17004 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
17005 (grub_assert_fail): make prototype conditional
17006
e37ffc5c 170072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17008
17009 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
17010
473d1e45 17011 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
17012 grub-macho2img
e37ffc5c 17013 (CLEANFILES): add grub-macho2img
17014 (grub_macho2img_SOURCES): new variable
17015 * kern/i386/pc/startup.S (bss_start): new variable
17016 (bss_end): likewise
17017 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
17018 * util/grub-macho2img.c: new file
17019
cf00df31 170202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17021
17022 Use objconv when compiling with Apple's CC
17023
17024 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
17025 (efiemu64.o): likewise
17026 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
17027 when compiling with Apple's CC
17028 (efiemu64_s.o): likewise
17029 * configure.ac: check for objconv when compiling with Apple's CC
17030 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 17031
d119a20c 170322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17033
17034 Define segment as well as section when compiling with
17035 Apple's CC
17036
17037 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
17038 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
17039 (efiemu_convert_pointer): likewise
17040 (efiemu_set_virtual_address_map): likewise
17041 (efiemu_convert_pointer): likewise
17042 (efiemu_getcrc32): likewise
17043 (init_crc32_table): likewise
17044 (reflect): likewise
17045 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
17046 (GRUB_MOD_DEP): likewise
473d1e45 17047
c8600122 170482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17049
17050 Allow a compilation without -mcmodel=large
17051
17052 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
17053 when compiled without -mcmodel=large
473d1e45 17054 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 17055 without -mcmodel=large
473d1e45 17056 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 17057 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 17058
e8df1d4e 170592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17060
17061 Remove nested functions in efiemu core
17062
17063 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 17064
cc6c3ac1 170652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17066
17067 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
17068
17069 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
17070 temporary storage
473d1e45 17071 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
17072 using Apple's CC
cc6c3ac1 17073 (grub_cpu_is_tsc_supported): likewise
17074 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 17075
3e325901 170762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17077
17078 Absolute addressing through constant with Apple's cc
17079
17080 * kern/i386/pc/startup.S: Define necessary constants
17081 and address through it when using ABS with Apple's CC
17082 * boot/i386/pc/diskboot.S: likewise
17083 * boot/i386/pc/boot.S: likewise
17084 * boot/i386/pc/lnxboot.S: likewise
17085 * boot/i386/pc/cdboot.S: likewise
17086 * mmap/i386/pc/mmap_helper.S: likewise
17087 * commands/i386/pc/drivemap_int13h.S: likewise
17088
2b167a72 170892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17090
17091 Check if compiler is apple cc
17092
17093 * Makefile.in (ASFLAGS): new variable
17094 (TARGET_ASFLAGS): likewise
17095 (TARGET_MODULE_FORMAT): likewise
17096 (TARGET_APPLE_CC): likewise
17097 (OBJCONV): likewise
17098 (TARGET_IMG_CFLAGS): likewise
17099 (TARGET_CPPFLAGS): add includedir
17100 * configure.ac: call grub_apple_cc and grub_apple_target_cc
17101 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
17102 Check for linker script only if compiler isn't Apple's CC
17103 (TARGET_MODULE_FORMAT): set
17104 (TARGET_APPLE_CC): likewise
17105 (TARGET_ASFLAGS): likewise
17106 (ASFLAGS): likewise
17107 Check for objcopy only if compiler isn't Apple's CC
17108 Check for BSS symbol only if compiler isn't Apple's CC
17109 * genmk.rb: adapt nm options if we use Apple's utils
17110 * aclocal.m4 (grub_apple_cc): new test
17111 (grub_apple_target_cc): likewise
473d1e45 17112
fb14123e 171132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17114
17115 Simplify sed expressions and improve awk
17116
17117 * Makefile.in (install-local): simplify sed expression
17118 * gencmdlist.sh: likewise
17119 * genmoddep.awk: avoid adding module as a dependency of itself
17120
5b889789 171212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17122
17123 Add missing start symbols
17124
17125 * boot/i386/pc/boot.S: add start
fb14123e 17126 * boot/i386/pc/pxeboot.S: likewise
473d1e45 17127
fd2bf2e3 171282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17129
17130 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 17131
17132 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 17133 (relocate_addresses): consider both r_addend and value at offset
17134 (make_mods_section): zerofill modinfo and header
17135 (convert_elf): write prefix here
473d1e45 17136
5389763d 171372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17138
17139 Use .asciz instead of .string
17140
17141 * i386/pc/diskboot.S: use .asciz instead of .string
17142 * i386/pc/boot.S: likewise
17143 * include/grub/dl.h (GRUB_MOD_DEP): likewise
17144 (GRUB_MOD_NAME): likewise
473d1e45 17145
3eb5ed4e 171462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17147
17148 gfxpayload support
17149
17150 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
17151 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
17152 (grub_video_setup): remove
17153 (grub_video_set_mode): new prototype
17154 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
17155 (vid_mode): remove
17156 (linux_vesafb_res): compile only on PCBIOS
17157 (grub_linux_boot): support gfxpayload
17158 * loader/i386/pc/xnu.c (video_hook): new function
17159 (grub_xnu_set_video): support gfxpayload
17160 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
17161 (DEFAULT_VIDEO_HEIGHT): likewise
17162 (DEFAULT_VIDEO_FLAGS): likewise
17163 (DEFAULT_VIDEO_MODE): new definition
17164 (video_hook): new function
17165 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 17166 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 17167 loading xnu
17168 * video/video.c (grub_video_setup): removed
473d1e45 17169 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 17170 grub_video_setup
17171
4b0e1143 171722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17173
17174 Avoid calling biosdisk in drivemap
17175
17176 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
17177 (revparse_biosdisk): likewise
17178 (list_mappings): derive name from id directly
17179 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 17180
fda6cb98 171812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17182
17183 Script fixes
17184
17185 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
17186 (grub_lexer_param): add tokenonhold
17187 (grub_script_create_cmdline): remove cmdline. All callers updated
17188 (grub_script_function_create): make functionname
17189 grub_script_arg. All callers updated
17190 (grub_script_execute_argument_to_string): new prototype
17191 * kern/parser.c (state_transitions): reorder
17192 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 17193 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 17194 make global
17195 (grub_script_execute_cmdline): use new format
17196 * script/sh/function.c (grub_script_function_create): make functionname
17197 grub_script_arg. All callers updated
473d1e45 17198 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 17199 (grub_script_yylex): remove
17200 (grub_script_yylex2): renamed to ...
17201 (grub_script_yylex): ...renamed
17202 parse the expressions like a${b}c
17203 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
17204 (GRUB_PARSER_TOKEN_VAR): remove
17205 (GRUB_PARSER_TOKEN_NAME): likewise
17206 ("if"): declare as typeless
17207 ("while"): likewise
17208 ("function"): likewise
17209 ("else"): likewise
17210 ("then"): likewise
17211 ("fi"): likewise
17212 (text): remove
17213 (argument): likewise
17214 (script): accept empty scripts and make exit on error
17215 (arguments): use GRUB_PARSER_TOKEN_ARG
17216 (function): likewise
17217 (command): move error handling to script
17218 (menuentry): move grub_script_lexer_ref before
473d1e45 17219 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 17220 argument. All callers updated
17221
f4448a07 172222009-06-04 Robert Millan <rmh.grub@aybabtu.com>
17223
17224 Prevent GRUB from probing floppies during boot.
17225
17226 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
17227 * commands/search.c (options): Add --no-floppy.
17228 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
17229 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
17230 --no-floppy when searching for UUIDs.
17231
2bf5885a 172322009-06-04 Robert Millan <rmh.grub@aybabtu.com>
17233
17234 Simplify the code duplication in commands/search.c.
17235
17236 * commands/search.c (search_label, search_fs_uuid): Merge into ...
17237 (search_fs): ... this. Update all users.
17238
f6fd460a 172392009-06-03 Felix Zielcke <fzielcke@z-51.de>
17240
17241 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
17242
cbb3c83e 172432009-05-28 Pavel Roskin <proski@gnu.org>
17244
57788cfd 17245 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
17246 Remove the original symlink explicitly.
17247
cbb3c83e 17248 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
17249 just one slash. That's how grub_fshelp_find_file() does it.
17250
cd0d5e30 172512009-05-26 Pavel Roskin <proski@gnu.org>
17252
f0f8bbe2 17253 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
17254 to `str'.
17255
cd0d5e30 17256 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
17257 possibly unused.
17258
8c2cab51 172592009-05-25 Christian Franke <franke@computer.org>
17260
17261 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
17262 register.
17263 (grub_atapi_identify): Add wait after drive select.
17264 (grub_ata_identify): Do more strict status register check before
17265 calling grub_atapi_identify (). Suppress error message if status
17266 register is 0x00 after command failure. Add status register
17267 check after PIO read to avoid bogus identify due to stuck DRQ.
17268 Thanks to Pavel Roskin for testing.
17269 (grub_device_initialize): Remove unsafe status register check.
17270 Thanks to 'phcoder' for problem report and patch.
17271 Prevent sign extension in debug message.
17272
230c0ad6 172732009-05-23 Colin D Bennett <colin@gibibit.com>
17274
17275 Cleaned up `include/grub/normal.h'. Grouped prototypes by
17276 definition file, and functions defined in `normal/menu.c' have had
17277 their prototypes moved to `include/grub/menu.h' for consistency.
17278
17279 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
17280 from normal.h.
17281 (grub_menu_get_entry): Likewise.
17282 (grub_menu_get_timeout): Likewise.
17283 (grub_menu_set_timeout): Likewise.
17284 (grub_menu_execute_entry): Likewise.
17285 (grub_menu_execute_with_fallback): Likewise.
17286 (grub_menu_entry_run): Likewise.
17287
17288 * include/grub/normal.h: Re-ordered and grouped function
17289 prototypes by file that the function is defined in.
17290 (grub_menu_execute_callback): Removed; moved to menu.h.
17291 (grub_menu_get_entry): Likewise.
17292 (grub_menu_get_timeout): Likewise.
17293 (grub_menu_set_timeout): Likewise.
17294 (grub_menu_execute_entry): Likewise.
17295 (grub_menu_execute_with_fallback): Likewise.
17296 (grub_menu_entry_run): Likewise.
17297 (grub_menu_addentry): Renamed from this ...
17298 (grub_normal_add_menu_entry): ... to this.
17299
17300 * normal/main.c (grub_menu_addentry): Renamed from this ...
17301 (grub_normal_add_menu_entry): ... to this.
17302
17303 * script/sh/execute.c (grub_script_execute_menuentry): Update
17304 reference to renamed grub_menu_addentry function.
17305
861f03a5 173062009-05-23 Felix Zielcke <fzielcke@z-51.de>
17307
17308 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
17309
96b1619a 173102009-05-22 Pavel Roskin <proski@gnu.org>
17311
bf6a5fb2 17312 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
17313 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
17314 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
17315 compiling for the i386 targets, but not for the utilities.
17316
96b1619a 17317 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
17318 to grub_uint8_t.
17319 (grub_root_drive): Likewise.
17320 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
17321 remove alignment.
17322 (grub_root_drive): Change size to byte.
17323 (grub_start_addr): Remove.
17324 (grub_end_addr): Likewise.
17325 (grub_apm_bios_info): Likewise.
17326
b729776b 173272009-05-21 Felix Zielcke <fzielcke@z-51.de>
17328
17329 * normal/i386: Remove.
17330 * normal/powerpc: Likewise.
17331 * normal/sparc64: Likewise.
17332 * normal/x86_64: Likewise.
17333
0a15ce80 173342009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
17335
17336 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 17337 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 17338 * loader/i386/xnu_helper.S: Likewise
d6da58e6 17339
33db9015 173402009-05-18 Colin D Bennett <colin@gibibit.com>
17341
d6da58e6 17342 Display error messages when parsing a Lua statement fails.
17343 Previously, executing a syntactically invalid statement like
17344 ")foo" or "bar;" would silently fail.
33db9015 17345
17346 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 17347 (grub_lua_parse_line): Improved reporting of Lua parser and
17348 execution errors.
33db9015 17349
46422c89 173502009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17351
17352 Remove -Werror which causes build to fail on some systems
17353
17354 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
17355 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
17356 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 17357
22f53a96 173582009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17359
17360 trampoline for linux on 64-bit platform
17361
18f547ad 17362 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
17363 loader/i386/efi/linux_trampoline.S
17364 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 17365 declaration
d6da58e6 17366 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
17367 here
22f53a96 17368 * loader/i386/linux_trampoline.S: moved here
d6da58e6 17369 * loader/i386/efi/linux.c (allocate_pages): reserve space for
17370 trampoline
22f53a96 17371 (jumpvector): removed
17372 (grub_linux_trampoline_start): new declaration
17373 (grub_linux_trampoline_end): likewise
17374 (grub_linux_boot): use trampoline when on 64-bit platform
17375 * loader/i386/linux.c: likewise
17376
cb5a0f40 173772009-05-16 Pavel Roskin <proski@gnu.org>
17378
17379 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
17380 const to avoid a warning.
17381 (grub_lua_setenv): Likewise.
17382 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
17383 lmsg to fix a warning.
17384
334f2c28 173852009-05-16 Felix Zielcke <fzielcke@z-51.de>
17386
17387 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 17388 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
17389 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
17390 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
17391 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
17392 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
17393 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
17394 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 17395
59e5d3ec 173962009-05-16 Felix Zielcke <fzielcke@z-51.de>
17397
17398 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
17399
9d87a1ba 174002009-05-16 Bean <bean123ch@gmail.com>
17401
17402 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
17403 (lua_mod_SOURCES): New variable.
17404 (lua_mod_CFLAGS): Likewise.
17405 (lua_mod_LDFLAGS): Likewise.
17406
17407 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
17408 (setjmp_mod_SOURCES): New variable.
17409 (setjmp_mod_CFLAGS): Likewise.
17410 (setjmp_LDFLAGS): Likewise.
17411
17412 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
17413 (setjmp_mod_SOURCES): New variable.
17414 (setjmp_mod_CFLAGS): Likewise.
17415 (setjmp_LDFLAGS): Likewise.
17416
17417 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
17418 (setjmp_mod_SOURCES): New variable.
17419 (setjmp_mod_CFLAGS): Likewise.
17420 (setjmp_LDFLAGS): Likewise.
17421
17422 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
17423 (setjmp_mod_SOURCES): New variable.
17424 (setjmp_mod_CFLAGS): Likewise.
17425 (setjmp_LDFLAGS): Likewise.
17426
17427 * normal/i386/setjmp.S: Moved from here ...
17428 * lib/i386/setjmp.S: ... Moved here
17429 * normal/x86_64/setjmp.S: Moved from here ...
17430 * lib/x86_64/setjmp.S: ... Moved here
17431 * normal/powerpc/setjmp.S: Moved from here ...
17432 * lib/powerpc/setjmp.S: ... Moved here
17433 * normal/sparc64/setjmp.S: Moved from here ...
17434 * lib/sparc64/setjmp.S: ... Moved here
17435
17436 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
17437 returns_twice in mingw.
17438
17439 * script/lua/grub_lib.c: New file.
17440 * script/lua/grub_lib.h: Likewise.
17441 * script/lua/grub_lua.h: Likewise.
17442 * script/lua/grub_main.c: Likewise.
17443 * script/lua/lapi.c: Likewise.
17444 * script/lua/lapi.h: Likewise.
17445 * script/lua/lauxlib.c: Likewise.
17446 * script/lua/lauxlib.h: Likewise.
17447 * script/lua/lbaselib.c: Likewise.
17448 * script/lua/lcode.c: Likewise.
17449 * script/lua/lcode.h: Likewise.
17450 * script/lua/ldblib.c: Likewise.
17451 * script/lua/ldebug.c: Likewise.
17452 * script/lua/ldebug.h: Likewise.
17453 * script/lua/ldo.c: Likewise.
17454 * script/lua/ldo.h: Likewise.
17455 * script/lua/ldump.c: Likewise.
17456 * script/lua/lfunc.c: Likewise.
17457 * script/lua/lfunc.h: Likewise.
17458 * script/lua/lgc.c: Likewise.
17459 * script/lua/lgc.h: Likewise.
17460 * script/lua/linit.c: Likewise.
17461 * script/lua/liolib.c: Likewise.
17462 * script/lua/llex.c: Likewise.
17463 * script/lua/llex.h: Likewise.
17464 * script/lua/llimits.h: Likewise.
17465 * script/lua/lmathlib.c: Likewise.
17466 * script/lua/lmem.c: Likewise.
17467 * script/lua/lmem.h: Likewise.
17468 * script/lua/loadlib.c: Likewise.
17469 * script/lua/lobject.c: Likewise.
17470 * script/lua/lobject.h: Likewise.
17471 * script/lua/lopcodes.c: Likewise.
17472 * script/lua/lopcodes.h: Likewise.
17473 * script/lua/loslib.c: Likewise.
17474 * script/lua/lparser.c: Likewise.
17475 * script/lua/lparser.h: Likewise.
17476 * script/lua/lstate.c: Likewise.
17477 * script/lua/lstate.h: Likewise.
17478 * script/lua/lstring.c: Likewise.
17479 * script/lua/lstring.h: Likewise.
17480 * script/lua/lstrlib.c: Likewise.
17481 * script/lua/ltable.c: Likewise.
17482 * script/lua/ltable.h: Likewise.
17483 * script/lua/ltablib.c: Likewise.
17484 * script/lua/ltm.c: Likewise.
17485 * script/lua/ltm.h: Likewise.
17486 * script/lua/lua.h: Likewise.
17487 * script/lua/luaconf.h: Likewise.
17488 * script/lua/lualib.h: Likewise.
17489 * script/lua/lundump.c: Likewise.
17490 * script/lua/lundump.h: Likewise.
17491 * script/lua/lvm.c: Likewise.
17492 * script/lua/lvm.h: Likewise.
17493 * script/lua/lzio.c: Likewise.
17494 * script/lua/lzio.h: Likewise.
17495
5e898c9d 174962009-05-16 Bean <bean123ch@gmail.com>
17497
17498 * include/grub/kernel.h (grub_module_header_types): Add type
17499 OBJ_TYPE_CONFIG.
17500
17501 * kern/main.c (grub_load_config): New function.
17502 (grub_main): Call grub_load_config to read boot config.
17503
17504 * grub-mkimage (generate_image): New parameter config_path.
17505 (options): New option --config.
17506 (main): Parse --config option, and pass it to generate_image.
17507
cf353a47 175082009-05-14 Christian Franke <franke@computer.org>
17509
17510 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
17511 This fixes build on Cygwin.
17512
3834887f 175132009-05-14 Pavel Roskin <proski@gnu.org>
17514
17515 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
17516 jump. This saves two bytes, so the typical case of 2 swapped
17517 drives would fit 32 bytes.
17518
8090fc01 175192009-05-13 Pavel Roskin <proski@gnu.org>
17520
ac963883 17521 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
17522 grub_uint32_t to avoid a warning.
17523
8090fc01 17524 * loader/i386/linux.c (allocate_pages): When assigning
17525 real_mode_mem, cast through grub_size_t to fix a warning. The
17526 code already makes sure that the value would fit a pointer.
17527 (grub_linux_setup_video): Cast render_target->data to
17528 grub_size_t to fix a warning.
17529
18f547ad 175302009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 17531
17532 * commands/i386/pc/drivemap.c: New file - implement drivemap
17533 command.
17534 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
17535 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
17536
6f6a8b28 175372009-05-13 Pavel Roskin <proski@gnu.org>
17538
17539 * util/i386/pc/grub-setup.c (setup): Remove unused variable
17540 embedding_area_exists.
17541
15fbf4c4 175422009-05-13 Robert Millan <rmh.grub@aybabtu.com>
17543
17544 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
17545 it easier to understand / work with.
59978c8a 17546 Improve warning messages for cases where there's no embedding area,
17547 or when it is too small (or core.img too large).
15fbf4c4 17548
238e871f 175492009-05-13 Pavel Roskin <proski@gnu.org>
17550
0ab3a9a4 17551 * loader/i386/pc/multiboot2.c: Add necessary includes for
17552 grub_multiboot2_real_boot().
17553
a2c8c5f8 17554 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
17555 PX record is always little-endian. We only need the lower 2
17556 bytes of the mode.
17557
faec96af 17558 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
17559 facilitate code reuse.
17560 (grub_cpio_mount): Use "struct head", not a char buffer. This
17561 fixes a warning reported by gcc 4.4.
17562
238e871f 17563 * kernel/disk.c (grub_disk_read): Use void pointer for the
17564 buffer.
17565 (grub_disk_write): Use const void pointer for the buffer.
17566 Adjust all callers. Remove unnecessary casts.
17567
901d2f0c 175682009-05-10 Robert Millan <rmh.grub@aybabtu.com>
17569
17570 * util/i386/pc/grub-install.in: Update copyright year.
17571
18f547ad 175722009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 17573
17574 gptsync
17575
17576 * commands/gptsync.c: new file
17577 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
17578 (gptsync_mod_SOURCES): new variable
17579 (gptsync_mod_CFLAGS): likewise
17580 (gptsync_mod_LDFLAGS): likewise
18f547ad 17581 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 17582 new definition
17583 (GRUB_PC_PARTITION_TYPE_HFS): likewise
17584 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
17585 * conf/i386-ieee1275.rmk: likewise
17586 * conf/i386-pc.rmk: likewise
17587 * conf/powerpc-ieee1275.rmk: likewise
17588
b4ba690a 175892009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17590
17591 Fixed grub-emu
17592
17593 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
17594 (grub_dl_ref): likewise
17595
317e1a44 175962009-05-08 Robert Millan <rmh.grub@aybabtu.com>
17597
17598 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
17599 split in two functions (one for msdos and one for gpt).
17600
041b8094 176012009-05-08 Pavel Roskin <proski@gnu.org>
17602
752473c2 17603 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
17604 not modified.
17605
041b8094 17606 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
17607 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
17608 Initialize them with -1. Add sanity check for bad1. Eliminate
17609 nerr variable.
17610
172800ce 176112009-05-08 David S. Miller <davem@davemloft.net>
17612
17613 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
17614
29aa5e81 176152009-05-06 Robert Millan <rmh.grub@aybabtu.com>
17616
17617 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 17618 existence.
29aa5e81 17619
96613b62 176202009-05-05 Felix Zielcke <fzielcke@z-51.de>
17621
17622 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 17623 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 17624
eef73c8a 176252009-05-05 David S. Miller <davem@davemloft.net>
17626
17627 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
17628
119494b5 176292009-05-05 Pavel Roskin <proski@gnu.org>
17630
17631 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
17632 of grub_dl_ref() and grub_dl_unref().
17633 * commands/parttool.c: Remove preprocessor conditionals around
17634 grub_dl_ref() and grub_dl_unref().
17635 * fs/affs.c: Likewise.
17636 * fs/afs.c: Likewise.
17637 * fs/cpio.c: Likewise.
17638 * fs/ext2.c: Likewise.
17639 * fs/fat.c: Likewise.
17640 * fs/hfs.c: Likewise.
17641 * fs/hfsplus.c: Likewise.
17642 * fs/iso9660.c: Likewise.
17643 * fs/jfs.c: Likewise.
17644 * fs/minix.c: Likewise.
17645 * fs/ntfs.c: Likewise.
17646 * fs/reiserfs.c: Likewise.
17647 * fs/sfs.c: Likewise.
17648 * fs/udf.c: Likewise.
17649 * fs/ufs.c: Likewise.
17650 * fs/xfs.c: Likewise.
17651 * include/grub/dl.h: Likewise.
17652 * loader/xnu.c: Likewise.
17653
de5fd76e 176542009-05-04 Pavel Roskin <proski@gnu.org>
17655
17656 * commands/acpi.c: Remove unused variable my_mod.
17657 * partmap/amiga.c: Likewise.
17658 * partmap/apple.c: Likewise.
17659 * partmap/gpt.c: Likewise.
17660 * partmap/pc.c: Likewise.
17661 * partmap/sun.c: Likewise.
17662 * term/gfxterm.c: Likewise.
17663 * term/i386/pc/vesafb.c: Likewise.
17664 * term/i386/pc/vga.c: Likewise.
17665
983598ad 176662009-05-04 David S. Miller <davem@davemloft.net>
17667
17668 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
17669 pointer args to grub_ieee1275_get_property().
17670
8aadec43 17671 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
17672
9554b15e 17673 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
17674 devices, and do not traverse down under controller nodes.
17675
67e23c90 17676 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
17677 (grub_ofdisk_open): Use it to un-escape "," characters.
17678 * kern/disk.c (find_part_sep): New.
17679 (grub_disk_open): Use it to find the first non-escaped ','
17680 character in the disk name.
17681 * util/ieee1275/devicemap.c (escape_of_path): New.
17682 (grub_util_emit_devicemap_entry): Use it.
17683 * util/sparc64/ieee1275/grub-install.in: Update script to
17684 strip partition specifiers properly by not triggering on
17685 '\' escaped ',' characters.
17686
74bfdd2f 176872009-05-04 Robert Millan <rmh.grub@aybabtu.com>
17688
17689 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
17690 to 0x300.
17691 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
17692 resolutions.
17693 (linux_vesafb_modes): Add a lot of additional modes to the list (based
17694 on documentation from Wikipedia).
17695
4241d2b1 176962009-05-04 Pavel Roskin <proski@gnu.org>
17697
17698 * disk/ata.c: Spelling fixes.
17699 * disk/raid.c: Likewise.
17700 * disk/usbms.c: Likewise.
17701 * disk/dmraid_nvidia.c: Likewise.
17702 * kern/ieee1275/openfw.c: Likewise.
17703 * kern/ieee1275/init.c: Likewise.
17704 * kern/ieee1275/cmain.c: Likewise.
17705 * boot/i386/pc/cdboot.S: Likewise.
17706 * video/readers/png.c: Likewise.
17707 * video/i386/pc/vbe.c: Likewise.
17708 * fs/udf.c: Likewise.
17709 * fs/hfs.c: Likewise.
17710 * fs/reiserfs.c: Likewise.
17711 * efiemu/runtime/efiemu.c: Likewise.
17712 * efiemu/main.c: Likewise.
17713 * efiemu/mm.c: Likewise.
17714 * include/grub/elf.h: Likewise.
17715 * include/grub/xnu.h: Likewise.
17716 * include/grub/usbdesc.h: Likewise.
17717 * include/grub/usb.h: Likewise.
17718 * include/grub/script_sh.h: Likewise.
17719 * include/grub/lib/LzmaEnc.h: Likewise.
17720 * include/grub/efiemu/efiemu.h: Likewise.
17721 * include/grub/command.h: Likewise.
17722 * normal/menu.c: Likewise.
17723 * normal/main.c: Likewise.
17724 * normal/datetime.c: Likewise.
17725 * bus/usb/uhci.c: Likewise.
17726 * mmap/i386/uppermem.c: Likewise.
17727 * mmap/mmap.c: Likewise.
17728 * commands/acpi.c: Likewise.
17729 * commands/test.c: Likewise.
17730 * partmap/apple.c: Likewise.
17731 * font/font.c: Likewise.
17732 * loader/sparc64/ieee1275/linux.c: Likewise.
17733 * loader/macho.c: Likewise.
17734 * loader/i386/bsd_trampoline.S: Likewise.
17735 * loader/i386/bsd.c: Likewise.
17736 * loader/xnu.c: Likewise.
17737 * term/i386/pc/vesafb.c: Likewise.
17738 * term/usb_keyboard.c: Likewise.
17739 * util/resolve.c: Likewise.
17740 * util/getroot.c: Likewise.
17741
0cfc0083 177422009-05-04 Felix Zielcke <fzielcke@z-51.de>
17743
17744 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
17745
7c1d00cd 177462009-05-04 Robert Millan <rmh.grub@aybabtu.com>
17747
17748 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
17749 build error.
17750
b01f0548 177512009-05-04 Robert Millan <rmh.grub@aybabtu.com>
17752
17753 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
17754 parameter only available on BIOS.
17755
ecc3eb22 177562009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
17757
17758 Removed wrong semicolon in declaration
17759
17760 * grub/misc.h (grub_dprintf): remove semicolon
17761
112972a9 177622009-05-04 Robert Millan <rmh.grub@aybabtu.com>
17763
17764 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
17765 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
17766 is done by grub_cmd_linux() now).
17767 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
17768 restore video to text mode.
17769 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
17770 indicates lack of "vga=" parameter. "vga=0" is mapped to
17771 `GRUB_LINUX_VID_MODE_NORMAL'.
17772
afd5c115 177732009-05-04 Felix Zielcke <fzielcke@z-51.de>
17774
17775 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
17776 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
17777 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 17778 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 17779 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
17780 `grub_script.tab.c'.
17781
17782 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17783 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17784 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17785 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
17786 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17787
faa517ce 17788 * Makefile.in: Remove duplicated 2008 in Copyright line.
17789
ae0c0bdc 177902009-05-04 Robert Millan <rmh.grub@aybabtu.com>
17791
473d1e45 17792 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 17793 unconditionally.
17794 * include/grub/util/misc.h (grub_util_warn): New declaration.
17795
17796 * util/i386/pc/grub-install.in: Understand --force and pass it down
17797 to grub-setup.
17798
17799 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
17800 down to setup().
17801 (setup): Improve error messages and add warnings when requested to
17802 install in odd layouts. Refuse to install using blocklists unless
17803 --force was set.
17804
18f547ad 178052009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 17806
17807 * disk/raid.c (grub_raid_scan_device): Improve debug message.
17808
6d260daa 178092009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
17810
17811 Updated copyright year
17812
17813 * fs/hfsplus.c: updated copyright year
18f547ad 17814
69f853f8 178152009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
17816
17817 HFS+ UUID
17818
18f547ad 17819 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 17820 in the space previously used by unused3
17821 (grub_hfsplus_uuid): new function
17822 (grub_hfsplus_fs): added uuid field
17823
4c402e73 178242009-05-03 Pavel Roskin <proski@gnu.org>
17825
17826 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
17827 suppress warnings. It's no longer needed.
17828 * disk/host.c: Likewise.
17829 * disk/ata_pthru.c: Likewise.
17830 * disk/loopback.c: Likewise.
17831 * hook/datehook.c: Likewise.
17832 * parttool/pcpart.c: Likewise.
17833 * fs/i386/pc/pxe.c: Likewise.
17834 * fs/ntfscomp.c: Likewise.
17835 * efiemu/main.c: Likewise.
17836 * mmap/mmap.c: Likewise.
17837 * commands/crc.c: Likewise.
17838 * commands/hexdump.c: Likewise.
17839 * commands/hdparm.c: Likewise.
17840 * commands/acpi.c: Likewise.
17841 * commands/echo.c: Likewise.
17842 * commands/minicmd.c: Likewise.
17843 * commands/blocklist.c: Likewise.
17844 * commands/memrw.c: Likewise.
17845 * commands/loadenv.c: Likewise.
17846 * commands/usbtest.c: Likewise.
17847 * commands/lsmmap.c: Likewise.
17848 * commands/boot.c: Likewise.
17849 * commands/parttool.c: Likewise.
17850 * commands/configfile.c: Likewise.
17851 * commands/search.c: Likewise.
17852 * commands/ieee1275/suspend.c: Likewise.
17853 * commands/cat.c: Likewise.
17854 * commands/i386/pc/pxecmd.c: Likewise.
17855 * commands/i386/pc/play.c: Likewise.
17856 * commands/i386/pc/halt.c: Likewise.
17857 * commands/i386/pc/vbeinfo.c: Likewise.
17858 * commands/i386/pc/vbetest.c: Likewise.
17859 * commands/lspci.c: Likewise.
17860 * commands/date.c: Likewise.
17861 * commands/handler.c: Likewise.
17862 * commands/ls.c: Likewise.
17863 * commands/test.c: Likewise.
17864 * commands/cmp.c: Likewise.
17865 * commands/efi/loadbios.c: Likewise.
17866 * commands/efi/fixvideo.c: Likewise.
17867 * commands/halt.c: Likewise.
17868 * commands/help.c: Likewise.
17869 * commands/reboot.c: Likewise.
17870 * hello/hello.c: Likewise.
17871 * script/sh/main.c: Likewise.
17872 * loader/xnu.c: Likewise.
17873 * term/terminfo.c: Likewise.
17874 * term/i386/pc/serial.c: Likewise.
17875 * term/usb_keyboard.c: Likewise.
17876
515b5079 178772009-05-03 David S. Miller <davem@davemloft.net>
17878
17879 * normal/menu.c: Include grub/parser.h
17880
dfc31a22 178812009-05-03 Pavel Roskin <proski@gnu.org>
17882
2fee74f1 17883 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
17884 not char*.
17885 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
17886 Suggested by Javier Martín <lordhabbit@gmail.com>
17887
dfc31a22 17888 * util/i386/pc/grub-mkrescue.in: Allow for the case when
17889 efiemu??.o doesn't exist.
17890 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
17891 copying.
17892
18f547ad 178932009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 17894
17895 FreeBSD 64-bit support
17896
18f547ad 17897 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 17898 and loader/i386/bsd_trampoline.S
17899 (bsd_mod_ASFLAGS): new variable
17900 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
17901 (FREEBSD_MODTYPE_KERNEL64): likewise
17902 (grub_bsd64_trampoline_start): likewise
17903 (grub_bsd64_trampoline_end): likewise
17904 (grub_bsd64_trampoline_selfjump): likewise
17905 (grub_bsd64_trampoline_gdt): likewise
17906 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
17907 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
17908 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
17909 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 17910 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 17911 of "attrib" member
17912 * loader/i386/bsd_pagetable.c: new file
17913 * loader/i386/bsd_trampoline.S: likewise
17914 * loader/i386/bsd.c (ALIGN_QWORD): new macro
17915 (ALIGN_VAR): likewise
17916 (entry_hi): new variable
17917 (kern_end_mdofs): likewise
17918 (is_64bit): likewise
17919 (grub_freebsd_add_meta): use ALIGN_VAR
17920 (grub_e820_mmap): new declaration
17921 (grub_freebsd_add_mmap): new function
17922 (grub_freebsd_add_meta_module): support 64 bit kernels
17923 (grub_freebsd_list_modules): use ALIGN_VAR
17924 (gdt_descriptor): new declaration
17925 (grub_freebsd_boot): support 64 bit kernels
17926 (grub_bsd_elf64_hook): new function
17927 (grub_bsd_load_elf): support elf64
17928
038c5720 179292009-05-03 Bean <bean123ch@gmail.com>
17930
17931 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
17932 after we get the result of if statement.
17933
fc45fb58 179342009-05-03 Bean <bean123ch@gmail.com>
17935
17936 * Makefile.in (enable_efiemu): New variable.
17937
17938 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
17939 set.
17940 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
17941 path.
17942 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
17943 path, add -mno-red-zone option.
17944 (efiemu64_s.o): Likewise.
17945 (efiemu64.o): Use macro $^ for source file.
17946
17947 * configure.ac (--enable-efiemu): New option.
17948
bbee0f2b 179492009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
17950
17951 xnu support
17952
17953 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
17954 (pkglib_MODULES): add xnu.mod
17955 (xnu_mod_SOURCES): new variable
17956 (xnu_mod_CFLAGS): likewise
17957 (xnu_mod_LDFLAGS): likewise
17958 (xnu_mod_ASFLAGS): likewise
17959 * conf/i386-pc.rmk: likewise
17960 * conf/x86_64-efi.rmk: likewise
7dd4a573 17961 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 17962 new declaration
17963 * include/grub/i386/macho.h: new file
17964 * include/grub/i386/xnu.h: likewise
17965 * include/grub/macho.h: likewise
17966 * include/grub/machoload.h: likewise
17967 * include/grub/x86_64/macho.h: likewise
17968 * include/grub/x86_64/xnu.h: likewise
17969 * include/grub/xnu.h: likewise
17970 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
17971 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
17972 * loader/i386/efi/xnu.c: new file
17973 * loader/i386/pc/xnu.c: likewise
17974 * loader/i386/xnu.c: likewise
17975 * loader/i386/xnu_helper.S: likewise
17976 * loader/macho.c: likewise
17977 * loader/xnu.c: likewise
17978 * loader/xnu_resume.c: likewise
17979 * util/grub-dumpdevtree: likewise
17980 * include/grub/i386/pit.h: include grub/err.h
17981 (grub_pit_wait): export
17982 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 17983
5caf964d 179842009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
17985
17986 Efiemu
7dd4a573 17987
5caf964d 17988 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 17989 _linux_efi, linux_efi.
17990 new files in grub-emu
5caf964d 17991 new targets efiemu32.o and efiemu64.o
17992 * loader/linux_normal_efiemu.c: likewise
17993 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 17994 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 17995 files to copy
17996 * include/grub/autoefi.h: new file
7dd4a573 17997 * include/grub/i386/efiemu.h: likewise
5caf964d 17998 * include/grub/i386/pc/efiemu.h: likewise
17999 * include/grub/efi/api.h: add LL suffix when necessary
18000 new definitions relating to tables
18001 * include/grub/efiemu/efiemu.h: new file
18002 * include/grub/efiemu/runtime.h: likewise
18003 * efiemu/prepare.c: likewise
18004 * efiemu/loadcore_common.c: likewise
18005 * efiemu/loadcore64.c: likewise
18006 * efiemu/runtime/efiemu.sh: likewise
18007 * efiemu/runtime/efiemu.S: likewise
18008 * efiemu/runtime/efiemu.c: likewise
18009 * efiemu/runtime/config.h: likewise
18010 * efiemu/prepare32.c: likewise
18011 * efiemu/main.c: likewise
18012 * efiemu/modules/pnvram.c: likewise
18013 * efiemu/modules/i386: likewise
18014 * efiemu/modules/i386/pc: likewise
18015 * efiemu/modules/acpi.c: likewise
18016 * efiemu/i386/pc/cfgtables.c: likewise
18017 * efiemu/i386/loadcore64.c: likewise
18018 * efiemu/i386/loadcore32.c: likewise
18019 * efiemu/prepare64.c: likewise
18020 * efiemu/loadcore.c: likewise
18021 * efiemu/symbols.c: likewise
18022 * efiemu/mm.c: likewise
18023 * efiemu/loadcore32.c: likewise
7dd4a573 18024
180252009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 18026
18027 ACPI spoofing
18028
18029 * commands/acpi.c: new file
18030 * commands/i386/pc/acpi.c: likewise
18031 * commands/efi/acpi.c: likewise
18032 * include/grub/acpi.h: likewise
18033 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
18034 (acpi_mod_SOURCES): new variable
18035 (acpi_mod_CFLAGS): likewise
18036 (acpi_mod_LDFLAGS): likewise
18037 * conf/i386-efi.rmk: likewise
18038 * conf/x86_64-efi.rmk: likewise
18039
7dd4a573 180402009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 18041
18042 Missing part from mmap patch
18043
18044 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
18045 (grub_mmap_unregister)
18046 (grub_mmap_free_and_unregister): use grub_mmap_register
18047
7dd4a573 180482009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 18049
18050 Mmap services
18051
18052 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
18053 * loader/i386/linux.c (find_mmap_size): likewise
18054 (allocate_pages): likewise
18055 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
18056 (grub_fill_multiboot_mmap): likewise
18057 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
18058 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
18059 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
18060 (OPENBSD_MMAP_RESERVED): likewise
18061 * include/grub/i386/pc/memory.h: include grub/memory.h
18062 (grub_lower_mem): removed
18063 (grub_upper_mem): likewise
18064 (GRUB_MACHINE_MEMORY_ACPI): new definition
18065 (GRUB_MACHINE_MEMORY_NVS): likewise
18066 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
18067 (GRUB_MACHINE_MEMORY_HOLE): likewise
18068 (grub_machine_mmap_register): likewise
18069 (grub_machine_mmap_unregister): likewise
18070 (grub_machine_get_upper): likewise
18071 (grub_machine_get_lower): likewise
18072 (grub_machine_get_post64): likewise
18073 * include/grub/i386/efi/memory.h: new file
18074 * include/grub/x86_64/efi/memory.h: likewise
18075 * include/grub/efi/memory.h: likewise
18076 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
18077 (mmap_mod_SOURCES): new variable
18078 (mmap_mod_LDFLAGS): likewise
18079 (mmap_mod_ASFLAGS): likewise
18080 * conf/i386-coreboot.rmk: likewise
18081 * conf/i386-ieee1275.rmk: likewise
18082 * conf/i386-efi.rmk: likewise
18083 * conf/x86_64-efi.rmk: likewise
18084 * include/grub/types.h (UINT_TO_PTR): new macro
18085 (PTR_TO_UINT32): likewise
18086 (PTR_TO_UINT64): likewise
18087 * include/grub/memory.h: new file
18088 * mmap/i386/pc/mmap.c: likewise
18089 * mmap/i386/pc/mmap_helper.S: likewise
18090 * mmap/i386/uppermem.c: likewise
18091 * mmap/mmap.c: likewise
18092 * mmap/efi/mmap.c: likewise
7dd4a573 18093 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 18094 grub_upper_mem
18095 * kern/i386/pc/init.c (grub_lower_mem): removed variable
18096 (grub_upper_mem): likewise
18097 (grub_machine_init): don't use grub_upper_mem,
18098 make grub_lower_mem local
18099 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
18100 grub_mmap_iterate and grub_mmap_get_upper
18101 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
18102
d558e6b5 181032009-05-02 Bean <bean123ch@gmail.com>
18104
18105 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
18106 script/sh/parser.y.
18107 (pkglib_MODULES): Add normal.mod and sh.mod.
18108 (normal_SOURCES): New variable.
18109 (normal_mod_CFLAGS): Likewise.
18110 (normal_mod_LDFLAGS): Likewise.
18111 (sh_mod_SOURCES): Likewise.
18112 (sh_mod_CFLAGS): Likewise.
18113 (sh_mod_LDFLAGS): Likewise.
18114
18115 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
18116 script/sh/lexer.c_DEPENDENCIES.
18117 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
18118 kern/rescue_reader.c and kern/rescue_parser.c.
18119 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
18120 (grub_emu_SOURCES): Change source files.
18121 (pkglib_MODULES): Remove normal.mod.
18122 (normal_SOURCES): Removed.
18123 (normal_mod_CFLAGS): Likewise.
18124 (normal_mod_LDFLAGS): Likewise.
18125 * conf/i386-coreboot.rmk: Likewise.
18126 * conf/i386-efi.rmk: Likewise.
18127 * conf/i386-ieee1276.rmk: Likewise.
18128 * conf/powerpc-ieee1275.rmk: Likewise.
18129 * conf/sparc64-ieee1275.rmk: Likewise.
18130 * conf/x86_64-efi.rmk: Likewise.
18131
18132 * include/grub/command.h (grub_command_execute): New inline function.
18133
18134 * include/grub/menu.h (grub_menu_entry): Removed commands field.
18135
18136 * include/grub/normal.h: Remove <grub/setjmp.h>.
18137 (grub_fs_module_list): Moved to normal/autofs.c.
18138 (grub_exit_env): Removed.
18139 (grub_command_execute): Likewise.
18140 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
18141 parameter script.
18142 (read_command_list): New function declaration.
18143 (read_fs_list): Likewise.
18144
18145 * include/parser.h: Include <grub/reader.h>.
18146 (grub_parser_split_cmdline): Change type of getline parameter.
18147 (grub_parser): New structure.
18148 (grub_parser_class): New variable.
18149 (grub_parser_execute): New function declaration.
18150 (grub_register_rescue_parser): Likewise.
18151 (grub_parser_register): New inline function.
18152 (grub_parser_unregister): Likewise.
18153 (grub_parser_get_current): Likewise.
18154 (grub_parser_set_current): Likewise.
18155
18156 * include/grub/reader.h: New file.
18157 * kern/reader.c: Likewise.
18158 * kern/rescue_parser.c: Likewise.
18159 * kern/rescue_reader.c: Likewise.
18160 * normal/autofs.c: Likewise.
18161 * normal/dyncmd.c: Likewise.
18162
18163 * include/grub/rescue.h: Removed.
18164 * normal/command.h: Likewise.
18165
18166 * include/grub/script.h: Moved to ...
18167 * include/grub/script_sh.h: ... Moved here.
18168 * normal/execute.c: Moved to ...
18169 * script/sh/execute.c: ... Moved here.
18170 * normal/function.c: Moved to ...
18171 * script/sh/function.c: ... Moved here.
18172 * normal/lexer.c: Moved to ...
18173 * script/sh/lexer.c: ... Moved here.
18174 * normal/parser.y: Moved to ...
18175 * script/sh/parser.y: ... Moved here.
18176 * normal/script.c: Moved to ...
18177 * script/sh/script.c: ... Moved here.
18178
18179 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
18180 <grub/reader.h>.
18181 (grub_exit_env): Removed.
18182 (fs_module_list): Moved to normal/autofs.c.
18183 (grub_file_getline): Don't handle comment here.
18184 (free_menu): Skip removed field entry->commands.
18185 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
18186 script parameter.
18187 (read_config_file): Removed nested parameter, change getline function.
18188 (grub_enter_normal_mode): Removed.
18189 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
18190 (read_command_list): Likewise.
18191 (autoload_fs_module): Moved to normal/autofs.c.
18192 (read_fs_list): Likewise.
18193 (reader_nested): New variable.
18194 (grub_normal_execute): Run parser.sh to switch to sh parser.
18195 (grub_cmd_rescue): Removed.
18196 (cmd_normal): Removed.
18197 (grub_cmd_normal): Unregister itself at the beginning. Don't register
18198 rescue command.
18199 (grub_cmdline_run): New function.
18200 (grub_normal_reader_init): Likewise.
18201 (grub_normal_read_line): Likewise.
18202 (grub_env_write_pager): Likewise.
18203 (cmdline): New variable.
18204 (grub_normal_reader): Likewise.
18205 (GRUB_MOD_INIT): Register normal reader and set as current, register
18206 pager hook, register normal command with grub_register_command_prio,
18207 so that it won't show up in command.lst.
18208 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
18209 grub_fs_autoload_hook.
18210
18211 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
18212 (grub_menu_execute_entry): Replace grub_script_execute with
18213 grub_parser_execute, change parameter to grub_command_execute.
18214
18215 * normal/menu_text.c: Remove <grub/script.h>.
18216
18217 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
18218 and <grub/parser.h>.
18219 (run): Change editor_getline to use new parser interface. Change
18220 parameter to grub_command_execute.
18221
18222 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
18223 <grub/reader.h> and <grub/parser.h>.
18224 (grub_load_normal_mode): Execute normal command.
18225 (grub_main): Call grub_register_core_commands,
18226 grub_register_rescue_parser and grub_register_rescue_reader, use
18227 grub_reader_loop to enter input loop.
18228
7dd4a573 18229 * kern/parser.c (grub_parser_split_cmdline): Change type of
18230 getline parameter.
d558e6b5 18231 (grub_parser_class): New variable.
18232 (grub_parser_execute): New function.
18233
18234 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
18235 * loader/multiboot2.c: Likewise.
18236 * loader/sparc64/ieee1275/linux.c: Likewise.
18237
18238 * util/grub-emu.c (read_command_list): New dummy function.
18239
18db813d 182402009-05-02 Robert Millan <rmh.grub@aybabtu.com>
18241
18242 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
18243 count to 16 for CCISS and IDA.
18244
6c67de15 182452009-05-02 Robert Millan <rmh.grub@aybabtu.com>
18246
18247 * normal/menu_text.c (grub_wait_after_message): Print a newline
18248 after waiting for user input.
18249
18250 * loader/i386/linux.c: Include `<grub/normal.h>'.
18251 (grub_cmd_linux): Improve the error message about `ask' mode, by
18252 waiting for user input so it's not missed (we can do this, since
18253 user requested interaction).
18254
d9dc87b0 182552009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18256
18257 Added missing lst to grub-mkrescue
18258
18259 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
18260 and ${input_dir}/parttool.lst
18261
ac8a2baa 182622009-04-30 David S. Miller <davem@davemloft.net>
18263
ad22a610 18264 * util/hostdisk.c (device_is_wholedisk): New function.
18265 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
18266 zero only if device_is_wholedisk() returns true.
18267
6966215d 18268 * util/hostdisk.c (convert_system_partition_to_system_disk):
18269 Handle virtual disk devices named /dev/vdiskX as found on sparc
18270 and powerpc.
18271
ac8a2baa 18272 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
18273 lettered partition specifier is found, convert to numbered.
18274
979b4fb4 182752009-04-29 David S. Miller <davem@davemloft.net>
18276
e2bf39b2 18277 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
18278 * include/grub/sparc64/ieee1275/memory.h: Likewise.
18279
3c64e104 18280 * normal/command.c: Add missing newline at end of file.
18281
979b4fb4 18282 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
18283 warnings.
18284 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
18285 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
18286 grub_ofdisk_read): Likewise, and deal similarly with the fact that
18287 ihandles have a 32-bit type but need to be stored in a "void *".
18288
136d9f82 182892009-04-28 Pavel Roskin <proski@gnu.org>
18290
9459c306 18291 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
18292 not disk. Adjust all dependencies.
2e08a26a 18293 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 18294 grub_disk_close().
18295
136d9f82 18296 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
18297 parent's partition, don't copy it by reference, as it gets freed
18298 on close.
18299
7dd4a573 183002009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 18301
18302 Preboot hooks support
18303
18304 * commands/boot.c (struct grub_preboot_t): new declaration
18305 (preboots_head): new variable
18306 (preboots_tail): likewise
18307 (grub_loader_register_preboot_hook): new function
18308 (grub_loader_unregister_preboot_hook): likewise
18309 (grub_loader_set): launch preboot hooks
18310 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
18311 (grub_loader_register_preboot_hook): new declaration
18312 (grub_loader_unregister_preboot_hook): likewise
18313
5af922b5 183142009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
18315
18316 Warning fix
18317
7dd4a573 18318 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 18319 calling grub_dprintf
18320
a5562c30 183212009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
18322
18323 Bug and warning fixes
18324
7dd4a573 18325 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 18326 declaration
18327 * commands/test.c (test_parse): fixed bug with file tests and corrected
18328 declaration of find_file
18329
4006f85c 183302009-04-26 Pavel Roskin <proski@gnu.org>
18331
18332 * Makefile.in: Don't install empty manual pages if help2man is
18333 missing. Use help2man option for output, not shell redirection.
18334
5c77c3de 183352009-04-26 David S. Miller <davem@davemloft.net>
18336
18337 * util/grub-mkdevicemap.c (make_device_map): Add missing
18338 NESTED_FUNC_ATTR to process_device().
18339
033b10a8 183402009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18341
18342 Test command
18343
18344 * commands/test.c: rewritten to use bash-like test
18345
e4343593 183462009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18347
18348 Parttool autoloading and improvements
18349
7dd4a573 18350 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 18351 (parttool.lst): new target
18352 * genmk.rb: generate parttool-*
18353 (CLEANFILES): add #{parttool}
18354 (PARTTOOLFILES): new variable
18355 * genparttoollist.sh: new file
7dd4a573 18356 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 18357 (grub_pcpart_type): likewise
18358 * commands/parttool.c (helpmsg): new variable
18359 (grub_cmd_parttool): output help if not enough arguments are supplied
18360 autoload modules
18361 (GRUB_MOD_INIT(parttool)): use helpmsg
18362
0d312500 183632009-04-24 David S. Miller <davem@davemloft.net>
18364
7dd4a573 18365 Avoiding opening same device multiple times in device iterator.
0d312500 18366
18367 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 18368 and use it to build a list of partitions in iterate_disk() and
0d312500 18369 iterate_partition().
18370
ac20caff 18371 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
18372 on disk->data.
18373
0dcf7495 18374 * disk/ieee1275/nand.c (grub_nand_iterate): Return
18375 grub_devalias_iterate() result instead of unconditional 0.
18376 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
18377 Also, capture hook return value, either directly or via
18378 grub_children_iterate(), and propagate to caller.
18379 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
18380 grub_children_iterate): Return value is now 'int' instead of
18381 'grub_err_t'.
18382 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
18383 like a proper iterator, stopping when hooks return non-zero.
18384 (grub_devalias_iterate): Likewise.
18385
c8c08833 183862009-04-23 David S. Miller <davem@davemloft.net>
18387
18388 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
18389
f01005a8 183902009-04-22 David S. Miller <davem@davemloft.net>
18391
18392 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
18393 is larger than address_cells, use that value for address_cells too.
18394
4e8269da 18395 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
18396 IEEE1275_MAX_PATH_LEN): Define.
18397 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
18398 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
18399 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
18400 'devtype'. Explicitly NULL terminate devalias expansion.
18401
a1447506 18402 * util/sparc64/ieee1275/misc.c: New file.
18403 * util/sparc64/ieee1275/grub-setup.c: New file.
18404 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
18405 * util/sparc64/ieee1275/grub-mkimage.c: New file.
18406 * util/sparc64/ieee1275/grub-install.in: New file.
18407 * util/ieee1275/ofpath.c: New file.
18408 * util/ieee1275/devicemap.c: New file.
18409 * util/devicemap.c: New file.
18410 * util/deviceiter.c: New file.
18411 * kern/sparc64/ieee1275/init.c: New file.
18412 * include/grub/util/ofpath.h: New file.
18413 * include/grub/util/deviceiter.h: New file.
18414 * util/grub-mkdevicemap.c: Include deviceiter.h.
18415 Implement using grub_util_emit_devicemap_entry and
18416 grub_util_iterate_devices.
18417 * conf/i386-corebook.rmk: Build util/deviceiter.c and
18418 util/devicemap.c into grub-mkdevicemap
18419 * conf/i386-efi.rmk: Likewise.
18420 * conf/i386-ieee1275.rmk: Likewise.
18421 * conf/i386-pc.rmk: Likewise.
18422 * conf/powerpc-ieee1275.rmk: Likewise.
18423 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
18424 images and installation utilities. Build kernel as image
18425 instead of as elf binary. Use common rules as much as possible.
18426
7dd4a573 184272009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 18428
18429 Correct GPT definition
18430
7dd4a573 18431 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 18432 of "attrib" member
18433
c6c5219f 184342009-04-19 Felix Zielcke <fzielcke@z-51.de>
18435
18436 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
18437
0552ff9f 184382009-04-19 David S. Miller <davem@davemloft.net>
18439
18440 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
18441 (grub_rescue_cmd_linux): Rename to...
18442 (grub_cmd_linux): and fix prototype.
18443 (grub_rescue_cmd_initrd): Rename to...
18444 (grub_cmd_initrd): and fix prototype.
18445 (cmd_linux, cmd_initrd): New.
18446 (GRUB_MOD_INIT(linux)): Use grub_register_command().
18447 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
18448
d1a282fc 184492009-04-17 Pavel Roskin <proski@gnu.org>
18450
07c5039f 18451 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
18452 format.
18453 (grub_ohci_transfer): Likewise.
18454
b012002d 18455 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
18456
1bc09c35 18457 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
18458 return without a value. Fix inconsistent indentation.
18459
e0ff9126 18460 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
18461 match struct grub_fs.
18462
d1a282fc 18463 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
18464 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
18465 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
18466 * commands/lspci.c (grub_lspci_iter): Likewise.
18467
a96df3f2 184682009-04-16 Bean <bean123ch@gmail.com>
18469
18470 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
18471 value.
18472
41bb0fe9 184732009-04-15 Pavel Roskin <proski@gnu.org>
18474
18475 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
18476 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
18477 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
18478 definitions.
18479
596c6970 184802009-04-15 Felix Zielcke <fzielcke@z-51.de>
18481
18482 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 18483 that no multiple data or metadata areas are supported and `Unknown
596c6970 18484 metadata header'.
18485
7dd4a573 184862009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 18487
18488 Move loader out of the kernel
18489
18490 * kern/loader.c: moved to ...
18491 * commands/boot.c: ... moved here
18492 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
18493 * commands/boot.c (grub_cmd_boot): moved here. All users updated
18494 * include/grub/kernel.h (grub_machine_fini): export
18495 * include/grub/loader.h (grub_loader_is_loaded): update declaration
18496 (grub_loader_set): likewise
18497 (grub_loader_unset): likewise
18498 (grub_loader_boot): likewise
18499 * conf/common.rmk: new module boot.mod
18500 (pkglib_MODULES): add boot.mod
18501 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
18502 (grub_emu_SOURCES): likewise
18503 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
18504 (grub_emu_SOURCES): likewise
18505 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
18506 (grub_emu_SOURCES): likewise
18507 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
18508 (grub_emu_SOURCES): likewise
18509 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
18510 (grub_emu_SOURCES): likewise
7dd4a573 18511 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
18512 (grub_emu_SOURCES): likewise
0d5d5653 18513 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 18514 (grub_emu_SOURCES): likewise
0d5d5653 18515
7dd4a573 185162009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 18517
18518 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 18519
5999d619 18520 * kern/misc.c (grub_itoa): Removed function
18521 (grub_ltoa): likewise
18522 (grub_vsprintf): use grub_lltoa
18523
7dd4a573 185242009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 18525
18526 Restore grub-emu
18527
18528 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
18529 * conf/i386-coreboot.rmk: likewise
18530 * conf/i386-ieee1275.rmk: likewise
18531 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 18532
20318222 185332009-04-15 Felix Zielcke <fzielcke@z-51.de>
18534
18535 * INSTALL: Add that `./autogen.sh' needs to be run before
18536 `./configure.'.
18537
d05f0df3 185382009-04-14 Bean <bean123ch@gmail.com>
18539
18540 * Makefile.in (pkglib_DATA): Add handler.lst.
18541 (handler.lst): New rule.
18542
18543 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
18544 * conf/i386-coreboot.rmk: Likewise.
18545 * conf/i386-ieee1275.rmk: Likewise.
18546 * conf/i386-efi.rmk: Likewise.
18547 * conf/x86_64-efi.rmk: Likewise.
18548 * conf/powerpc-ieee1275.rmk: Likewise.
18549 * conf/sparc64-ieee1275.rmk: Likewise.
18550
18551 * genhandlerlist.sh: New file.
18552
18553 * genmk.rb: Add rules to generate handler.lst.
18554
18555 * include/grub/normal.h (grub_file_getline): New function definition.
18556 (read_handler_list): Likewise.
18557 (free_handler_list): Likewise.
18558
18559 * include/grub/term.h (grub_term_register_input): Add name parameter
18560 for auto generation of handler.lst.
18561 (grub_term_register_output): Likewise.
18562
18563 * normal/handler.c: New file.
18564
18565 * normal/main.c (get_line): Renamed to grub_file_getline.
18566 (read_config_file): Use the newly renamed grub_file_getline.
18567 (read_command_list): Likewise.
18568 (read_fs_list): Likewise.
18569 (grub_normal_execute): Call read_handler_list to parse handler.lst.
18570 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
18571
18572 * term/efi/console.c (grub_console_init): Add name parameter for auto
18573 generation of handler.lst.
18574 * term/gfxterm.c: Likewise.
18575 * term/i386/pc/at_keyboard.c: Likewise.
18576 * term/i386/pc/console.c: Likewise.
18577 * term/i386/pc/serial.c: Likewise.
18578 * term/i386/pc/vesafb.c: Likewise.
18579 * term/i386/pc/vga.c: Likewise.
18580 * term/i386/pc/vga_text.c: Likewise.
18581 * term/ieee1275/ofconsole.c: Likewise.
18582 * term/usb_keyboard.c: Likewise.
18583
33c846be 185842009-04-14 Bean <bean123ch@gmail.com>
18585
18586 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
18587 properly with null character.
18588
4484e01e 185892009-04-14 Felix Zielcke <fzielcke@z-51.de>
18590
18591 * configure: Remove.
18592 * config.h.in: Likewise.
f93d668e 18593 * stamp-h.in: Likewise.
4484e01e 18594 * DISTLIST: Likewise.
18595 * conf/common.mk: Likewise.
18596 * conf/i386-coreboot.mk: Likewise.
18597 * conf/i386-efi.mk: Likewise.
18598 * conf/i386-ieee1275.mk: Likewise.
18599 * conf/i386.mk: Likewise.
18600 * conf/i386-pc.mk: Likewise.
18601 * conf/powerpc-ieee1275.mk: Likewise.
18602 * conf/sparc64-ieee1275.mk: Likewise.
18603 * conf/x86_64-efi.mk: Likewise.
18604
18605 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
18606 develop on GRUB.
18607
7dd4a573 186082009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 18609 David S. Miller <davem@davemloft.net>
18610
18611 * util/hostdisk.c (make_device_name): Fix buffer length
18612 calculations.
18613
e25b5a8c 186142009-04-14 Felix Zielcke <fzielcke@z-51.de>
18615
18616 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
18617 <sys/param.h> and <sys/sysctl.h>.
18618 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
18619 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
18620 opening the device and reset them afterwards.
18621
1f1f580c 186222009-04-13 Pavel Roskin <proski@gnu.org>
18623
18624 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
18625 Reported by John Stanley <jpsinthemix@verizon.net>
18626
7ebc2d6b 186272009-04-13 Robert Millan <rmh@aybabtu.com>
18628
18629 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 18630 that name for menuentries when appropriate.
7ebc2d6b 18631
d8ba3667 186322009-04-13 Felix Zielcke <fzielcke@z-51.de>
18633
18634 * util/grub.d/10_freebsd.in: Add a missing `fi'.
18635
cba416eb 186362009-04-13 Robert Millan <rmh@aybabtu.com>
18637
18638 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
18639 to Linux, simply abort telling the user it's no longer supported.
18640
a547a745 186412009-04-13 Felix Zielcke <fzielcke@z-51.de>
18642
18643 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 18644 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 18645 `freebsd_loadenv' only when devices.hints exist.
18646
232a769c 186472009-04-13 Pavel Roskin <proski@gnu.org>
18648
18649 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
18650
c3012039 186512009-04-13 Felix Zielcke <fzielcke@z-51.de>
18652
18653 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
18654 partition number.
18655 (grub_drive): Likewise.
18656
234022fe 186572009-04-13 David S. Miller <davem@davemloft.net>
18658
18659 * kern/sparc64/ieee1275/ieee1275.c: New file.
18660 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
18661 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
18662 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
18663 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
18664 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
18665 grub_ieee1275_alloc_physmem): Declare new exported functions.
18666
d8e1836c 18667 * include/grub/sparc64/ieee1275/loader.h: New file.
18668 * include/grub/sparc64/ieee1275/memory.h: Likewise.
18669 * include/grub/sparc64/kernel.h: Likewise.
18670 * loader/sparc64/ieee1275/linux.c: Likewise.
18671
96bd81ec 18672 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
18673 (grub_fstest_SOURCES): Likewise.
18674
6a4737e5 18675 * util/hostdisk.c (make_device_name): Do not make any assumptions
18676 about the length of drive names.
18677
1d7a72fd 18678 * kern/dl.c (grub_dl_load_file): Close file immediately when
18679 we are done using it.
18680
56bc2471 186812009-04-12 David S. Miller <davem@davemloft.net>
18682
18683 * kern/misc.c (grub_ltoa): Fix cast when handling negative
18684 values. Noticed by Pavel Roskin.
18685
df38d0bb 18686 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
18687 target compiler.
7dd4a573 18688
e382e93a 18689 * genmk.rb: Add more flexible image type specification, also
18690 pass --strip-unneeded to objcopy.
18691 * conf/i386-pc.rmk: Use *_FORMAT.
18692 * conf/i386-pc.mk: Rebuilt.
18693
f5dbbca9 18694 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
18695 (OFDISK_HASH_SZ): Define.
18696 (ofdisk_hash): New hash table.
18697 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
18698 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
18699 instead of device phandle which is not unique.
18700
91c88b12 18701 * kern/sparc64/ieee1275/init.c: Delete, replace with...
18702 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
18703 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
18704 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
18705 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
18706 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
18707 GRUB_KERNEL_MACHINE_DATA_END): Define.
18708 (grub_kernel_image_size, grub_total_module_size): Declare.
18709
5b5d4aa5 187102009-04-12 Pavel Roskin <proski@gnu.org>
18711
7dd4a573 18712 * configure.ac: Change the logic when we check for target tools.
18713 Do it when the target is specified and it's different from the
18714 specified value of the host.
5b5d4aa5 18715
c91e1793 187162009-04-11 Felix Zielcke <fzielcke@z-51.de>
18717
18718 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
18719 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
18720 GNU/kFreeBSD. Check if a device is a character device. Use
18721 DIOCGMEDIASIZE to get the size.
18722 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
18723 support for GNU/kFreeBSD.
18724 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
18725 is a character device instead of a block device. Add support for
18726 FreeBSD device names.
18727
18728 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
18729 is a character device instead of a block device.
18730
18731 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
18732 is a character device instead of a block device.
18733
b1ac8644 187342009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
18735
18736 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
18737 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
18738 FreeBSD. Check if a device is a character device. Use
18739 DIOCGMEDIASIZE to get the size.
18740 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
18741 support for FreeBSD.
18742 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
18743 is a character device instead of a block device. Add support for
18744 FreeBSD device names.
18745
18746 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
18747 a character device instead of a block device.
18748 (grub_util_check_char_device): New function.
18749
18750 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
18751 a character device instead of a block device.
18752
18753 * include/grub/util/getroot.h (grub_util_check_char_device): New
18754 prototype.
18755
a3f7515a 187562009-04-11 David S. Miller <davem@davemloft.net>
18757
18758 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
18759 static libgcc.
18760 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
18761 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
18762 function, if present.
18763 (__bswapdi2): Likewise.
18764
0d44993d 18765 * include/grub/sparc64/ieee1275/boot.h: New file.
18766 * boot/sparc64/ieee1275/boot.S: Likewise.
18767 * boot/sparc64/ieee1275/diskboot.S: Likewise.
18768
ed3d2bc2 18769 * kern/misc.c (grub_ltoa): New function.
18770 (grub_vsprintf): Use it to format 'long' integers.
18771
d3bfb59c 187722009-04-10 David S. Miller <davem@davemloft.net>
18773
18774 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
18775 slots are of type grub_ieee1275_cell_t.
18776 (grub_nand_read): Likewise.
18777 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
18778 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
18779 macros are used to compare values in arg/ret block of the call.
18780 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
18781 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
18782 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
18783 grub_ieee1275_instance_to_path, grub_ieee1275_write,
18784 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
18785 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
18786 grub_ieee1275_close, grub_ieee1275_set_property,
18787 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
18788 grub_ieee1275_cell_t.
18789 * kern/ieee1275/openfw.c (grub_map): Likewise.
18790 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
18791 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
18792
450e2238 18793 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
18794 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
18795 (grub_devalias_iterate): Likewise.
18796
7dd4a573 187972009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 18798
18799 UFS improvements
18800
18801 * fs/ufs.c (INODE_NBLOCKS): new definition
18802 (struct grub_ufs_dirent): added fields for non-BSD dirents
18803 (grub_ufs_get_file_block): fixed double indirect handling
18804 (grub_ufs_lookup_symlink): use more robust way to determine whether
18805 symlink is inline
18806 (grub_ufs_find_file): support for non-BSD dirents
18807 (grub_ufs_dir): support for non-BSD dirents
18808
e7e6862a 188092009-04-10 Bean <bean123ch@gnail.com>
18810
18811 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
18812 attribute, otherwise the size would be wrong for i386 platform.
18813
18814 * include/grub/pci.h (grub_pci_read_word): New inline function.
18815 (grub_pci_read_byte): Likewise.
18816 (grub_pci_write): Likewise.
18817 (grub_pci_write_word): Likewise.
18818 (grub_pci_write_byte): Likewise.
18819
18820 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
18821
18822 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
18823 (find_framebuf): Scan pci to locate the frame buffer address.
18824
18825 * commands/efi/fixvideo.c: New file.
18826
18827 * commands/efi/loadbios.c: Likewise.
18828
18829 * commands/memrw.c: Likewise.
18830
18831 * util/grub-dumpbios.in: Likewise.
18832
18833 * conf/common.rmk (grub-dumpbios): New utility.
18834 (pkglib_MODULES): New module memrw.mod.
18835 (memrw_mod_SOURCE): New macro.
18836 (memrw_mod_CFLAGS): Likewise.
18837 (memrw_mod_LDFLAGS): Likewise.
18838
7dd4a573 18839 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 18840 fixvideo.mod.
18841 (loadbios_mod_SOURCE): New macro.
18842 (loadbios_mod_CFLAGS): Likewise.
18843 (loadbios_mod_LDFLAGS): Likewise.
18844 (fixvideo_mod_SOURCE): Likewise.
18845 (fixvideo_mod_CFLAGS): Likewise.
18846 (fixvideo_mod_LDFLAGS): Likewise.
18847
7dd4a573 18848 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 18849 fixvideo.mod.
18850 (loadbios_mod_SOURCE): New macro.
18851 (loadbios_mod_CFLAGS): Likewise.
18852 (loadbios_mod_LDFLAGS): Likewise.
18853 (fixvideo_mod_SOURCE): Likewise.
18854 (fixvideo_mod_CFLAGS): Likewise.
18855 (fixvideo_mod_LDFLAGS): Likewise.
18856
af63ada2 188572009-04-08 Felix Zielcke <fzielcke@z-51.de>
18858
18859 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
18860
c2cdde70 188612009-04-07 David S. Miller <davem@davemloft.net>
18862
18863 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
18864 support for R_SPARC_OLO10 relocations. Fix compile warning for
18865 R_SPARC_WDISP30 case.
ea3f72cf 18866 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 18867
761319cf 188682009-04-06 Pavel Roskin <proski@gnu.org>
18869
1007d1f5 18870 * include/grub/misc.h (ARRAY_SIZE): New macro.
18871 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
18872 New macro.
18873 * loader/i386/linux.c (allocate_pages): Use free_pages().
18874 (grub_linux_unload): Don't use free_pages().
18875 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
18876 wrong index. Treat all other modes as text modes.
18877 (grub_cmd_linux): Initialize vid_mode unconditionally to
18878 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
18879
761319cf 18880 * commands/help.c (print_command_help): Use cmd->prio, not
18881 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
18882
ea761d40 188832009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 18884
ea761d40 18885 Parttool
18886
18887 * parttool/pcpart.c: new file
18888 * commands/parttool.c: likewise
18889 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
18890 (parttool_mod_SOURCES): new variable
18891 (parttool_mod_CFLAGS): likewise
18892 (parttool_mod_LDFLAGS): likewise
18893 (pcpart_mod_SOURCES): likewise
18894 (pcpart_mod_CFLAGS): likewise
18895 (pcpart_mod_LDFLAGS): likewise
7dd4a573 18896 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 18897 and parttool/pcpart.c
18898 * conf/i386-efi.rmk: likewise
18899 * conf/i386-ieee1275.rmk: likewise
18900 * conf/i386-pc.rmk: likewise
18901 * conf/powerpc-ieee1275.rmk: likewise
18902 * conf/sparc64-ieee1275.rmk: likewise
18903 * conf/x86_64-ieee1275.rmk: likewise
18904
05aaebfb 189052009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18906
18907 Support for mtime and further expandability of dir command
18908
18909 * include/grub/lib/datetime.h: moved to ...
7dd4a573 18910 * include/grub/datetime.h: ... moved here and added
05aaebfb 18911 declaration of grub_unixtime2datetime. All users updated
7dd4a573 18912 * include/grub/fs.h: new syntax for dir and mtime functions in
18913 struct grub_fs
05aaebfb 18914 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
18915 and GRUB_FSHELP_FLAGS_MASK
18916 * commands/ls.c (grub_ls_list_files): Write mtime in long format
18917 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
18918 (grub_ext2_mtime): new function
18919 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
18920 (grub_hfsplus_mtime): new function
18921 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
18922 (GRUB_UFS_ATTR_FILE): likewise
18923 (GRUB_UFS_ATTR_LNK): likewise
18924 (struct grub_ufs_sblock): new fields mtime
18925 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
18926 all users updated
18927 (grub_ufs_dir): mtime support
18928 (grub_ufs_mtime): new function
18929 * fs/affs.c (grub_affs_dir): use new dir syntax
18930 * fs/afs.c (grub_afs_dir): likewise
18931 * fs/cpio.c (grub_cpio_dir): likewise
18932 * fs/fat.c (grub_fat_find_dir): likewise
18933 * fs/hfs.c (grub_hfs_dir): likewise
18934 * fs/iso9660.c (grub_iso9660_dir): likewise
18935 * fs/jfs.c (grub_jfs_dir): likewise
18936 * fs/minix.c (grub_minix_dir): likewise
18937 * fs/ntfs.c (grub_ntfs_dir): likewise
18938 * fs/reiserfs.c (grub_reiserfs_dir): likewise
18939 * fs/sfs.c (grub_sfs_dir): likewise
18940 * fs/xfs.c (grub_xfs_dir): likewise
18941 * util/hostfs.c (grub_hostfs_dir): likewise
18942 * lib/datetime.c: moved to ...
18943 * normal/datetime.c: ... moved here
18944 (grub_unixtime2datetime): new function
18945 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 18946 * normal/completion.c (iterate_dir): use new dir syntax
18947 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 18948 last modification time of a volume
7dd4a573 18949 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 18950 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 18951 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 18952 (normal_mod_SOURCES): likewise
18953 (datetime_mod_SOURCES): Removed lib/datetime.c
18954 * conf/i386-efi.rmk: likewise
7dd4a573 18955 * conf/i386-ieee1275.rmk: likewise
05aaebfb 18956 * conf/i386-pc.rmk: likewise
18957 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 18958 * conf/sparc64-ieee1275.rmk: likewise
18959 * conf/x86_64-efi.rmk: likewise
05aaebfb 18960
8a7e1a14 189612009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18962
18963 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 18964
18965 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 18966 on grub_fat_find_dir
18967 (grub_fat_find_dir): use grub_fat_iterate_dir
18968 (grub_fat_label): likewise
18969
04186a9c 189702009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
18971
7dd4a573 18972 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 18973 and command.h
18974 remove extraneous kernel_elf_HEADERS
18975
da4c0bb6 189762009-04-04 Bean <bean123ch@gnail.com>
18977
18978 * include/grub/util/misc.h: Add dummy function fsync for mingw.
18979
18980 * util/misc.c: Likewise.
18981
54ad9555 189822009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
18983
18984 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
18985 instead of grub_printf.
18986
7a6bf9f2 189872009-04-03 Robert Millan <rmh@aybabtu.com>
18988
18989 * loader/i386/linux.c (grub_linux_setup_video): Fill
18990 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
18991 values from `mode info' structure instead of hardcoded
18992 values.
18993
3fcc2083 189942009-04-01 Pavel Roskin <proski@gnu.org>
18995
18996 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
18997 unused now.
18998 * genmk.rb: Likewise.
18999 * configure.ac: Likewise.
19000
5ec9740b 190012009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
19002
19003 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
19004 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
19005
5270cec8 190062009-04-01 David S. Miller <davem@davemloft.net>
19007
19008 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 19009 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 19010 (grub_setjmp): Mark with 'returns_twice' attribute.
19011 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
19012 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
19013 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
19014
9c3dd854 190152009-04-01 Robert Millan <rmh@aybabtu.com>
19016
19017 Reapply fix from 2008-07-28 which was accidentally reverted; also
19018 perform the same fix to a similar check in same function.
19019
19020 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
19021 with the same number are found, just use issue a warning with
19022 grub_dprintf(), as this error has been reported to be non-fatal.
19023
0d818b7e 190242009-03-31 Pavel Roskin <proski@gnu.org>
19025
19026 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
19027 for cross-compilation.
19028
95646d92 190292009-03-30 Robert Millan <rmh@aybabtu.com>
19030
19031 Fix i386-ieee1275 build.
19032
19033 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
19034 Remove declaration.
19035
6a003ed1 190362009-03-30 Pavel Roskin <proski@gnu.org>
19037
19038 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
19039 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
19040 zero-terminated, rely only on the strlen value. Fix comparison
19041 of strings differing in length.
19042
92f33540 190432009-03-30 Robert Millan <rmh@aybabtu.com>
19044
19045 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
19046 checking for abi version. Improve error messages on BIOS to notify
19047 user about `linux16' command.
19048
a8c48fd5 190492009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19050
f968172e 19051 Leak fixes
a8c48fd5 19052
f968172e 19053 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
19054 in case of collision
19055 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 19056
9c323f09 190572009-03-29 Robert Millan <rmh@aybabtu.com>
19058
19059 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
19060 set `vid_mode' accordingly.
19061 (grub_linux_boot): Process `vid_mode' and set video mode.
19062
ae68f423 190632009-03-29 Robert Millan <rmh@aybabtu.com>
19064
19065 * util/grub.d/10_linux.in (linux_entry): New function.
19066 Factorize generation of Linux boot entries.
19067
5709cfc4 190682009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
19069
19070 Make the format of Environment Block plain text. The boot loader
19071 part is not tested well yet.
7dd4a573 19072
5709cfc4 19073 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
19074 (buffer): Removed.
19075 (envblk): Likewise.
19076 (usage): Remove "info" and "clear". Add "unset". Update the
19077 description of "set", as this does not delete variables any
19078 longer.
19079 (create_envblk_file): Complete rewrite.
19080 (open_envblk_file): Likewise.
19081 (cmd_info): Removed.
19082 (cmd_list): Likewise.
19083 (cmd_set): Likewise.
19084 (cmd_clear): Likewise.
19085 (list_variables): New function.
19086 (write_envblk): Likewise.
19087 (set_variables): Likewise.
19088 (unset_variables): Likewise.
19089 (main): Complete rewrite.
19090
19091 * commands/loadenv.c (buffer): Removed.
19092 (envblk): Likewise.
19093 (open_envblk_file): New function.
19094 (read_envblk_file): Complete rewrite.
19095 (grub_cmd_load_env): Likewise.
19096 (grub_cmd_list_env): Likewise.
19097 (struct blocklist): New struct.
19098 (free_blocklists): New function.
19099 (check_blocklists): Likewise.
19100 (write_blocklists): Likewise.
19101 (grub_cmd_save_env): Complete rewrite.
19102
19103 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
19104 a plain text signature.
19105 (GRUB_ENVBLK_MAXLEN): Removed.
19106 (struct grub_envblk): Complete rewrite.
19107 (grub_envblk_find): Removed.
19108 (grub_envblk_insert): Likewise.
19109 (grub_envblk_open): New prototype.
19110 (grub_envblk_set): Likewise.
19111 (grub_envblk_delete): Put const to VALUE.
19112 (grub_envblk_iterate): Put const to NAME and VALUE.
19113 (grub_envblk_close): New prototype.
19114 (grub_envblk_buffer): New inline function.
19115 (grub_envblk_size): Likewise.
19116
19117 * lib/envblk.c: Include grub/mm.h.
19118 (grub_env_find): Removed.
19119 (grub_envblk_open): New function.
19120 (grub_envblk_close): Likewise.
19121 (escaped_value_len): Likewise.
19122 (find_next_line): Likewise.
19123 (grub_envblk_insert): Removed.
19124 (grub_envblk_set): New function.
19125 (grub_envblk_delete): Complete rewrite.
19126 (grub_envblk_iterate): Likewise.
19127
a9368fd3 191282009-03-28 Robert Millan <rmh@aybabtu.com>
19129
19130 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
19131 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
19132 variables. Use 16-bit loader.
19133 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
19134 loader.
19135 * kern/i386/loader.S (grub_linux_boot): Rename to ...
19136 (grub_linux16_boot): ... this. Update all users.
19137 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
19138 (grub_linux_boot): ... this. Update all users.
19139
19140 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
19141 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
19142 commands to `linux16' and `initrd16'.
19143 (GRUB_MOD_FINI(linux)): Rename to ...
19144 (GRUB_MOD_FINI(linux16)): ... this.
19145
e4dd5a7e 191462009-03-24 Pavel Roskin <proski@gnu.org>
19147
19148 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
19149 not just for compilation.
19150
c04d6e05 191512009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
19152
19153 Move multiboot helper out of kernel
19154
19155 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
19156 `loader/i386/multiboot_helper.S'.
19157 * conf/i386-coreboot.rmk: Likewise
19158 * conf/i386-ieee1275.rmk: Likewise
19159
19160 * kern/i386/loader.S: Move multiboot helpers from here...
19161 * loader/i386/multiboot_helper.S: ...moved here
19162 * include/grub/i386/loader.h: Move declarations of multiboot
19163 helpers from here...
19164 * include/grub/i386/multiboot.h: ...moved here
19165 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
19166
42a5b3fc 191672009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
19168
19169 * kern/env.c (grub_env_context_open): Added an argument to specify
19170 whether a new context inherits exported variables from current
19171 one. This is useful when making a sandbox to interpret a config
19172 file.
19173 All callers updated.
19174
19175 * include/grub/env.h (grub_env_context_open): Updated the prototype.
19176
b28bbc4e 191772009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
19178
19179 * kern/env.c (grub_env_context_close): Fix memory leaks.
19180
f04f02e4 191812009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
19182
19183 * normal/main.c (grub_normal_execute): Added an argument
19184 BATCH to specify if an interactive interface should be provided
19185 after reading a config file.
19186 All callers updated.
19187 (read_command_list): Prevent being executed twice.
19188 (read_fs_list): Likewise.
19189
42a5b3fc 19190 * include/grub/normal.h (grub_normal_execute): Updated the
19191 prototype.
f04f02e4 19192
41473ac2 191932009-03-22 Pavel Roskin <proski@gno.org>
19194
fbc00b0c 19195 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
19196 _start.
19197 * kern/i386/pc/startup.S: Likewise.
19198 * kern/i386/efi/startup.S: Likewise.
19199 * kern/i386/ieee1275/startup.S: Likewise.
19200 * kern/i386/coreboot/startup.S: Likewise.
19201 * kern/x86_64/efi/startup.S: Likewise.
19202
41473ac2 19203 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
19204 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
19205 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
19206
2274cc8f 192072009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
19208
19209 Bugfixes in multiboot for bugs uncovered by solaris kernel.
19210
19211 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
19212 limit detection.
19213 Use vaddr of correct segment for entry_point.
19214
b1b797cb 192152009-03-21 Bean <bean123ch@gmail.com>
19216
19217 * commands/blocklist.c: Add include file <grub/command.h>, remove
19218 <grub/normal.h> and <grub/arg.h>.
19219 (grub_cmd_blocklist): Use the new command interface.
19220 (GRUB_MOD_INIT): Likewise.
19221 (GRUB_MOD_FINI): Likewise.
19222 * commands/boot.c: Likewise.
19223 * commands/cat.c: Likewise.
19224 * commands/cmp.c: Likewise.
19225 * commands/configfile.c: Likewise.
19226 * commands/crc.c: Likewise.
19227 * commands/echo.c: Likewise.
19228 * commands/halt.c: Likewise.
19229 * commands/handler.c: Likewise.
19230 * commands/hdparm.c: Likewise.
19231 * commands/help.c: Likewise.
19232 * commands/hexdump.c: Likewise.
19233 * commands/loadenv.c: Likewise.
19234 * commands/ls.c: Likewise.
19235 * commands/lsmmap.c: Likewise.
19236 * commands/lspci.c: Likewise.
19237 * commands/loadenv.c: Likewise.
19238 * commands/read.c: Likewise.
19239 * commands/reboot.c: Likewise.
19240 * commands/search.c: Likewise.
19241 * commands/sleep.c: Likewise.
19242 * commands/test.c: Likewise.
19243 * commands/usbtest.c: Likewise.
19244 * commands/videotest.c: Likewise.
19245 * commands/i386/cpuid.c: Likewise.
19246 * commands/i386/pc/halt.c: Likewise.
19247 * commands/i386/pc/play.c: Likewise.
19248 * commands/i386/pc/pxecmd.c: Likewise.
19249 * commands/i386/pc/vbeinfo.c: Likewise.
19250 * commands/i386/pc/vbetest.c: Likewise.
19251 * commands/ieee1275/suspend.c: Likewise.
19252 * disk/loopback.c: Likewise.
19253 * font/font_cmd.c: Likewise.
19254 * hello/hello.c: Likewise.
19255 * loader/efi/appleloader.c: Likewise.
19256 * loader/efi/chainloader.c: Likewise.
19257 * loader/i386/bsd.c: Likewise.
19258 * loader/i386/efi/linux.c: Likewise.
19259 * loader/i386/ieee1275/linux.c: Likewise.
19260 * loader/i386/linux.c: Likewise.
19261 * loader/i386/pc/chainloader.c: Likewise.
19262 * loader/i386/pc/linux.c: Likewise.
19263 * loader/powerpc/ieee1275/linux.c: Likewise.
19264 * loader/multiboot_loader.c: Likewise.
19265 * term/gfxterm.c: Likewise.
19266 * term/i386/pc/serial.c: Likewise.
19267 * term/terminfo.c: Likewise.
19268
19269 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
19270 * term/i386/pc/vga.c: Likewise.
19271 * video/readers/jpeg.c: Likewise.
19272 * video/readers/png.c: Likewise.
19273 * video/readers/tga.c: Likewise.
19274
19275 * util/grub-fstest (cmd_loopback): Removed.
19276 (cmd_blocklist): Likewise.
19277 (cmd_ls): Likewise.
19278 (grub_register_command): Likewise.
19279 (grub_unregister_command): Likewise.
19280 (execute_command): Use grub_command_find to locate command and execute
19281 it.
19282
19283 * include/grub/efi/chainloader.h: Removed.
19284 * loader/efi/chainloader_normal.c: Likewise.
19285 * loader/i386/bsd_normal.c: Likewise.
19286 * loader/i386/pc/chainloader_normal.c: Likewise.
19287 * loader/i386/pc/multiboot_normal.c: Likewise.
19288 * loader/linux_normal.c: Likewise.
19289 * loader/multiboot_loader_normal.c: Likewise.
19290 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
19291
19292 * gencmdlist.sh: Scan new registration command grub_register_extcmd
19293 and grub_register_command_p1.
19294
19295 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
19296 kern/command.c, lib/arg.c and commands/extcmd.c.
19297 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
19298 (minicmd_mod_SOURCES): New variable.
19299 (minicmd_mod_CFLAGS): Likewise.
19300 (minicmd_mod_LDFLAGS): Likewise.
19301 (extcmd_mod_SOURCES): Likewise.
19302 (extcmd_mod_CFLAGS): Likewise.
19303 (extcmd_mod_LDFLAGS): Likewise.
19304 (boot_mod_SOURCES): Removed.
19305 (boot_mod_CFLAGS): Likewise.
19306 (boot_mod_LDFLAGS): Likewise.
19307
19308 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
19309 kern/corecmd.c.
19310 (kernel_img_HEADERS): Add command.h.
19311 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
19312 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
19313 and lib/arg.c.
19314 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
19315 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
19316 remove the corresponding normal mode command.
19317 (normal_mod_SOURCES): Remove normal/arg.c.
19318 * conf/i386-coreboot.rmk: Likewise.
19319 * conf/i386-efi.rmk: Likewise.
19320 * conf/i386-ieee1275.rmk: Likewise.
19321 * conf/powerpc-ieee1275.rmk: Likewise.
19322 * conf/x86_64-efi.rmk: Likewise.
19323
19324 * include/grub/arg.h: Move from here ...
19325 * include/grub/lib/arg.h: ... to here.
19326
19327 * normal/arg.c: Move from here ...
19328 * lib/arg.c: ... to here.
19329
19330 * commands/extcmd.c: New file.
19331 * commands/minicmd.c: Likewise.
19332 * include/grub/command.h: Likewise.
19333 * include/grub/extcmd.h: Likewise.
19334 * kern/command.c: Likewise.
19335 * kern/corecmd.c: Likewise.
19336
19337 * kern/list.c (grub_list_iterate): Return int instead of void.
19338 (grub_list_insert): New function.
19339 (grub_prio_list_insert): Likewise.
19340
19341 * kern/rescue.c (grub_rescue_command): Removed.
19342 (grub_rescue_command_list): Likewise.
19343 (grub_rescue_register_command): Likewise.
19344 (grub_rescue_unregister_command): Likewise.
19345 (grub_rescue_cmd_boot): Move to minicmd.c
19346 (grub_rescue_cmd_help): Likewise.
19347 (grub_rescue_cmd_info): Likewise.
19348 (grub_rescue_cmd_boot): Likewise.
19349 (grub_rescue_cmd_testload): Likewise.
19350 (grub_rescue_cmd_dump): Likewise.
19351 (grub_rescue_cmd_rmmod): Likewise.
19352 (grub_rescue_cmd_lsmod): Likewise.
19353 (grub_rescue_cmd_exit): Likewise.
19354 (grub_rescue_print_devices): Moved to corecmd.c.
19355 (grub_rescue_print_files): Likewise.
19356 (grub_rescue_cmd_ls): Likewise.
19357 (grub_rescue_cmd_insmod): Likewise.
19358 (grub_rescue_cmd_set): Likewise.
19359 (grub_rescue_cmd_unset): Likewise.
7d074e3c 19360 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 19361 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 19362 commands, remove grub_rescue_register_command calls.
b1b797cb 19363
7d074e3c 19364 * normal/command.c (grub_register_command): Removed.
b1b797cb 19365 (grub_unregister_command): Likewise.
19366 (grub_command_find): Likewise.
19367 (grub_iterate_commands): Likewise.
19368 (rescue_command): Likewise.
19369 (export_command): Moved to corecmd.c.
19370 (set_command): Removed.
19371 (unset_command): Likewise.
19372 (insmod_command): Likewise.
19373 (rmmod_command): Likewise.
19374 (lsmod_command): Likewise.
19375 (grub_command_init): Likewise.
19376
19377 * normal/completion.c (iterate_command): Use cmd->prio to check for
19378 active command.
19379 (complete_arguments): Use grub_extcmd_t structure to find options.
19380 (grub_normal_do_completion): Change function grub_iterate_commands to
19381 grub_command_iterate.
19382
19383 * normal/execute.c (grub_script_execute_cmd): No need to parse
19384 argument here.
19385
19386 * normal/main.c (grub_dyncmd_dispatcher): New function.
19387 (read_command_list): Register unload commands as dyncmd.
19388 (grub_cmd_normal): Use new command interface, register rescue,
19389 unregister normal at entry, register normal, unregister rescue at exit.
19390
19391 * include/grub/list.h (grub_list_test_t): New type.
19392 (grub_list_iterate): Return int instead of void.
19393 (grub_list_insert): New function.
19394 (GRUB_AS_NAMED_LIST_P): New macro.
19395 (GRUB_AS_PRIO_LIST): Likewise.
19396 (GRUB_AS_PRIO_LIST_P): Likewise.
19397 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
19398 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
19399 (grub_prio_list): New structure.
19400 (grub_prio_list_insert): New function.
19401 (grub_prio_list_remove): New inline function.
19402
19403 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
19404 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
19405 (GRUB_COMMAND_FLAG_MENU): Likewise.
19406 (GRUB_COMMAND_FLAG_BOTH): Likewise.
19407 (GRUB_COMMAND_FLAG_TITLE): Likewise.
19408 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
19409 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
19410 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
19411 (grub_command): Likewise.
19412 (grub_register_command): Likewise.
19413 (grub_command_find): Likewise.
19414 (grub_iterate_commands): Likewise.
19415 (grub_command_init): Likewise.
19416 (grub_arg_parse): Likewise.
19417 (grub_arg_show_help): Likewise.
19418
19419 * include/grub/rescue.h (grub_rescue_register_command): Removed.
19420 (grub_rescue_unregister_command): Likewise.
19421
19422 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
19423 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
19424 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
19425
19426 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
19427 grub_rescue_cmd_initrd.
19428 * include/grub/i386/loader.h: Likewise.
19429 * include/grub/x86_64/loader.h: Likewise.
19430
19431 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
19432
1f4147aa 194332009-03-21 Bean <bean123ch@gmail.com>
19434
19435 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
19436 instead of stat in mingw environment.
19437
19438 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
19439
19440 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
19441
19442 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
19443 AC_CONFIG_LINKS.
19444
2156d5ba 194452009-03-21 Bean <bean123ch@gmail.com>
19446
19447 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
19448 out of range error.
19449
177b82ca 194502009-03-18 Michel Dänzer <michel@daenzer.net>
19451
19452 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
19453 checking inode flags for EXT4_EXTENTS_FLAG.
19454
14aad807 194552009-03-18 Robert Millan <rmh@aybabtu.com>
19456
19457 * loader/i386/linux.c: Include `<grub/video.h>' and
19458 `<grub/i386/pc/vbe.h>'..
19459 (grub_linux_setup_video): New function. Loosely based on the EFI one.
19460 (grub_linux32_boot): Attempt to configure video settings with
19461 grub_linux_setup_video().
19462 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
19463 to avoid grub_console_fini() which would step out of graphical mode
19464 unconditionally.
19465
8cf83a27 194662009-03-14 Robert Millan <rmh@aybabtu.com>
19467
19468 Fix build on powerpc.
19469 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
19470
40164e75 194712009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
19472
19473 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
19474 background image command.
19475
c58bc32a 194762009-03-12 Colin D Bennett <colin@gibibit.com>
19477
19478 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
19479 (grub_gfxterm_putchar): Extract pairs of identical calls to
19480 draw_cursor out of conditional blocks.
19481
5415144a 194822009-03-11 Pavel Roskin <proski@gnu.org>
19483
19484 * fs/hfs.c (grub_hfs_strncasecmp): New function.
19485 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
19486
6394042e 194872009-03-11 Robert Millan <rmh@aybabtu.com>
19488
19489 * loader/i386/multiboot_elfxx.c
19490 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
19491
b7b50e5f 194922009-03-11 Felix Zielcke <fzielcke@z-51.de>
19493
19494 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
19495 `kern/handler.c'.
19496
1ca7fc96 194972009-03-11 Robert Millan <rmh@aybabtu.com>
19498
19499 * loader/i386/multiboot.c (code_size): New variable.
19500 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 19501 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 19502 4-byte alignment to MBI and others by increasing
7d074e3c 19503 `boot_loader_name_length' appropriately.
1ca7fc96 19504
19505 * loader/i386/multiboot_elfxx.c
19506 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
19507
a83ea1d2 195082009-03-09 Felix Zielcke <fzielcke@z-51.de>
19509
19510 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
19511 `fs/ext2.c'.
19512
aa9f3bff 195132009-03-08 Robert Millan <rmh@aybabtu.com>
19514
19515 Make loader/i386/linux.c usable on i386-pc again.
19516
19517 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
19518 memory to heap.
19519 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
19520 `#error' stanza.
19521
d8b3b60e 195222009-03-07 Bean <bean123ch@gmail.com>
19523
19524 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
19525 allocation.
19526
b362c9e9 195272009-03-06 Robert Millan <rmh@aybabtu.com>
19528
19529 Fix display issue on terminals with screen size other than 80x25
19530 (e.g. gfxterm with resolution higher than 640x480).
19531
19532 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 19533 position relative to the center of the terminal instead of relying
b362c9e9 19534 on a hardcoded offset.
19535
9304eef1 195362009-03-04 Robert Millan <rmh@aybabtu.com>
19537
19538 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
19539 installed.
19540
19541 * Makefile.in (host_kernel): New variable.
19542 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
19543 scripts instead of just the windows one.
19544 * configure.ac: Initialize and AC_SUBST `host_kernel'.
19545
eabc95fb 195462009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 19547
19548 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
19549 `kern/handler.c'.
19550 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19551 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19552 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
19553 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19554 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19555 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19556
ceb1223c 195572009-03-04 Felix Zielcke <fzielcke@z-51.de>
19558
19559 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
19560 or if there's no space for the disk label and print the partition number on a
19561 invalid magic.
19562
4910684a 195632009-03-04 Felix Zielcke <fzielcke@z-51.de>
19564
19565 * util/misc.c: Include <time.h>.
19566 (grub_millisleep): New function.
19567
7e9ca17a 195682009-03-04 Bean <bean123ch@gmail.com>
19569
19570 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
19571 another option -mno-red-zone.
19572
19573 * commands/handler.c: Change module description.
19574
19575 * kern/handler.c: Add missing space at the end of description line.
19576
19577 * kern/list.c: Likewise.
19578
f501677c 195792009-03-03 Robert Millan <rmh@aybabtu.com>
19580
19581 Move more components to the relocation area, and fix mbi pointer
19582 handling to use the destination rather than the origin (thanks to
19583 Vladimir Serbinenko for spotting).
19584
19585 * loader/i386/multiboot.c (mbi_dest): New variable.
19586 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
19587 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
19588 relocation area.
19589
9902d047 195902009-03-01 Bean <bean123ch@gmail.com>
19591
50fb7002 19592 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 19593 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
19594 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
19595 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
19596
19597 * loader/i386/efi/linux.c (acpi_guid): New variable.
19598 (acpi_guid): Likewise.
19599 (EBDA_SEG_ADDR): New constant.
19600 (LOW_MEM_ADDR): Likewise.
19601 (FAKE_EBDA_SEG): Likewise.
19602 (fake_bios_data): New function.
19603 (grub_linux_boot): Call fake_bios_data.
19604
71b9f361 196052009-03-01 Bean <bean123ch@gmail.com>
19606
19607 * commands/terminal.c: Removed.
19608
19609 * commands/handler.c: New file.
19610
19611 * include/grub/list.h: Likewise.
19612
19613 * include/grub/handler.h: Likewise.
19614
19615 * kern/list.c: Likewise.
19616
19617 * kern/handler.c: Likewise.
19618
19619 * kern/term.h: Include header file <grub/handler.h>.
19620 (grub_term_input): Move next field to the beginning.
19621 (grub_term_output): Likewise.
19622 (grub_term_input_class): New variable.
19623 (grub_term_output_class): Likewise.
19624 (grub_term_register_input): Changed to inline function.
19625 (grub_term_register_output): Likewise.
19626 (grub_term_unregister_input): Likewise.
19627 (grub_term_unregister_output): Likewise.
19628 (grub_term_set_current_input): Likewise.
19629 (grub_term_set_current_output): Likewise.
19630 (grub_term_get_current_input): Likewise.
19631 (grub_term_get_current_output): Likewise.
19632 (grub_term_iterate_input): Removed.
19633 (grub_term_iterate_output): Likewise.
19634
19635 * kern/term.c (grub_term_list_input): Removed.
19636 (grub_term_list_output): Likewise.
19637 (grub_term_input_class): New variable.
19638 (grub_term_output_class): Likewise.
50fb7002 19639 (grub_cur_term_input): Change variable as macro.
71b9f361 19640 (grub_cur_term_output): Likewise.
19641 (grub_term_register_input): Removed.
19642 (grub_term_register_output): Likewise.
19643 (grub_term_unregister_input): Likewise.
19644 (grub_term_unregister_output): Likewise.
19645 (grub_term_set_current_input): Likewise.
19646 (grub_term_set_current_output): Likewise.
19647 (grub_term_iterate_input): Likewise.
19648 (grub_term_iterate_output): Likewise.
19649 (grub_term_get_current_input): Likewise.
19650 (grub_term_get_current_output): Likewise.
19651
19652 * util/grub-editenv.c: Include header file <grub/handler.h>.
19653 (grub_term_get_current_input): Removed.
19654 (grub_term_get_current_output): Likewise.
19655 (grub_term_input_class): New variable.
50fb7002 19656 (grub_term_output_class): Likewise.
71b9f361 19657
19658 * util/grub-fstest.c (grub_term_get_current_input): Removed.
19659 (grub_term_get_current_output): Likewise.
19660 (grub_term_input_class): New variable.
50fb7002 19661 (grub_term_output_class): Likewise.
71b9f361 19662
19663 * util/grub-probe.c (grub_term_get_current_input): Removed.
19664 (grub_term_get_current_output): Likewise.
19665 (grub_term_input_class): New variable.
50fb7002 19666 (grub_term_output_class): Likewise.
71b9f361 19667
19668 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
19669 (grub_term_get_current_output): Likewise.
19670 (grub_term_input_class): New variable.
50fb7002 19671 (grub_term_output_class): Likewise.
71b9f361 19672
19673 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
19674 (terminal_mod_SOURCES): Likewise.
19675 (terminal_mod_CFLAGS): Likewise.
19676 (terminal_mod_LDFLAGS): Likewise.
19677
19678 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
19679 handler.c.
19680 (kernel_img_SOURCES): Add list.c and handler.c.
19681 (kernel_img_HEADERS): Add list.h and handler.h.
19682
19683 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
19684 handler.c.
19685 (kernel_mod_SOURCES): Add list.c and handler.c.
19686 (kernel_mod_HEADERS): Add list.h and handler.h.
19687
19688 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
19689 handler.c.
19690 (kernel_elf_SOURCES): Add list.c and handler.c.
19691 (kernel_elf_HEADERS): Add list.h and handler.h.
19692
19693 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
19694 handler.c.
19695 (kernel_elf_SOURCES): Add list.c and handler.c.
19696 (kernel_elf_HEADERS): Add list.h and handler.h.
19697
19698 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
19699 handler.c.
19700 (kernel_mod_SOURCES): Add list.c and handler.c.
19701 (kernel_mod_HEADERS): Add list.h and handler.h.
19702
19703 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
19704 handler.c.
19705 (kernel_elf_SOURCES): Add list.c and handler.c.
19706 (kernel_elf_HEADERS): Add list.h and handler.h.
19707
8a31787f 197082009-02-27 Robert Millan <rmh@aybabtu.com>
19709
19710 Factorize elf32 / elf64 code in Multiboot loader. This will
19711 prevent it from getting out of sync again.
19712
19713 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
19714 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
19715 grub_multiboot_load_elf64): Move from here ...
19716 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
19717 grub_multiboot_load_elf): ... to here (new file).
19718
51cd3dfc 197192009-02-27 Robert Millan <rmh@aybabtu.com>
19720
19721 * util/grub.d/10_linux.in: Rename "single-user mode" to
19722 "recovery mode".
19723
6e8c9c3a 197242009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
19725
19726 Don't leak in SCSI code.
19727 * disk/scsi.c (grub_scsi_close): free `scsi'.
19728
4b6bf4f9 197292009-02-27 Robert Millan <rmh@aybabtu.com>
19730
19731 * loader/i386/pc/multiboot.c: Move from here ...
19732 * loader/i386/multiboot.c: ... to here. Update all users.
19733
b9413424 197342009-02-27 Robert Millan <rmh@aybabtu.com>
19735
19736 Patch from Alexandre Bique <bique.alexandre@gmail.com>
19737 * util/i386/pc/grub-setup.c (setup): Fix directory path.
19738
50fb7002 197392009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 19740
19741 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
19742 b-tree.
19743
8cc50345 197442009-02-27 Robert Millan <rmh@aybabtu.com>
19745
19746 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
19747 `0x' qualifier as 0 when base is specified as parameter).
19748
6e09b8b7 197492009-02-24 Bean <bean123ch@gmail.com>
19750
19751 * configure.ac: Check for -mcmodel=large in x86_64 target.
19752
19753 * include/grub/efi/api.h (efi_call_10): New macro.
19754 (efi_wrap_10): New function.
19755
19756 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
19757 (GRUB_PE32_REL_BASED_HIGH): Likewise.
19758 (GRUB_PE32_REL_BASED_LOW): Likewise.
19759 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
19760 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
19761 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
19762 (GRUB_PE32_REL_BASED_SECTION): Likewise.
19763 (GRUB_PE32_REL_BASED_REL): Likewise.
19764 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
19765 (GRUB_PE32_REL_BASED_DIR64): Likewise.
19766 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
19767
19768 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
19769 issue.
19770
19771 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
19772 (efi_wrap_10): New function.
19773
19774 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
19775
19776 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
19777 MB/MBP model (NV chipset).
19778 (devdata_devs): Add devpath_5 to the list.
19779
19780 * load/i386/efi/linux.c (video_base): Remove variable.
19781 (RGB_MASK): New macro.
19782 (RGB_MAGIC): Likewise.
19783 (LINE_MIN): Likewise.
19784 (LINE_MAX): Likewise.
19785 (FBTEST_STEP): Likewise.
19786 (FBTEST_COUNT): Likewise.
19787 (fb_list): New variable.
19788 (grub_find_video_card): Remove function.
19789 (find_framebuf): New function.
19790 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
19791 line length.
19792
19793 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
19794 problem for x86_64.
19795
74b21bee 197962009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
19797
19798 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
19799
19800 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
19801 coding tool name.
19802
a455f472 198032009-02-22 Robert Millan <rmh@aybabtu.com>
19804
19805 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
19806 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
19807 in our relocation, instead of using it directly from heap. Also
19808 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
19809
6374daf3 198102009-02-21 Robert Millan <rmh@aybabtu.com>
19811
19812 Implement USB keyboard support (based on patch by Marco Gerards)
19813
19814 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
19815 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
19816 (usb_keyboard_mod_LDFLAGS): New variables.
19817
19818 * term/usb_keyboard.c: New file.
19819
8fa4ea70 198202009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19821
19822 Corrected wrong declaration
19823
19824 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
19825
353976ac 198262009-02-14 Christian Franke <franke@computer.org>
19827
19828 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
19829 (grub_lspci_iter): Print class code and programming interface byte.
19830
6aa1169b 198312009-02-14 Christian Franke <franke@computer.org>
19832
19833 * gendistlist.sh: Ignore `.svn' directories.
19834
265372ca 198352009-02-14 Felix Zielcke <fzielcke@z-51.de>
19836
19837 * fs/fat.c: Add 2009 to Copyright line.
19838
9ff516f3 198392009-02-14 Christian Franke <franke@computer.org>
19840
19841 * commands/hdparm.c: New file. Provides `hdparm' command
19842 which sends ATA commands via grub_disk_ata_pass_through ().
19843
19844 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
19845
19846 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
19847 and <grub/cpu/io.h> to include/grub/ata.h.
19848 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
19849 (GRUB_CDROM_SECTOR_SIZE): Remove.
19850 (GRUB_ATA_*): Move to include/grub/ata.h.
19851 (GRUB_ATAPI_*): Likewise.
19852 (enum grub_ata_commands): Likewise.
19853 (enum grub_ata_timeout_milliseconds): Likewise.
19854 (struct grub_ata_device): Likewise.
19855 (grub_ata_regset): Likewise.
19856 (grub_ata_regget): Likewise.
19857 (grub_ata_regset2): Likewise.
19858 (grub_ata_regget2): Likewise.
19859 (grub_ata_check_ready): Likewise.
19860 (grub_ata_wait_not_busy): Remove static, exported in
19861 include/grub/ata.h.
19862 (grub_ata_wait_drq): Likewise.
19863 (grub_ata_pio_read): Likewise.
19864
19865 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
19866 function for hdparm.mod.
19867
19868 * include/grub/ata.h: New file, contains declarations from
19869 disk/ata.c.
19870 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
19871
19872 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
19873 (grub_disk_ata_pass_through): New exported variable.
19874
19875 * kern/disk.c (grub_disk_ata_pass_through): New variable.
19876
772e23da 198772009-02-13 Colin D Bennett <colin@gibibit.com>
19878
19879 Support multiple fallback entries, and provide an API to support
19880 executing default+fallback menu entries. Renamed the `terminal' menu
19881 viewer to `text'.
19882
19883 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
19884 variable declaration.
19885 (grub_menu_execute_callback): New structure declaration.
19886 (grub_menu_execute_callback_t): New typedef.
19887 (grub_menu_execute_with_fallback): New function declaration.
19888 (grub_menu_get_entry): Likewise.
19889 (grub_menu_get_timeout): Likewise.
19890 (grub_menu_set_timeout): Likewise.
19891
19892 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
19893
19894 * normal/menu.c (grub_wait_after_message): Moved to
19895 `normal/menu_text.c'.
19896 (draw_border): Likewise.
19897 (print_message): Likewise.
19898 (print_entry): Likewise.
19899 (print_entries): Likewise.
19900 (grub_menu_init_page): Likewise.
19901 (get_entry_number): Likewise.
19902 (print_timeout): Likewise.
19903 (run_menu): Likewise.
19904 (grub_menu_execute_entry): Likewise.
19905 (show_text_menu): Likewise.
19906 (get_and_remove_first_entry_number): New function.
19907 (grub_menu_execute_with_fallback): Likewise.
19908 (get_entry): Renamed to ...
19909 (grub_menu_get_entry): .. this and made it global.
19910 (get_timeout): Renamed to ...
19911 (grub_menu_get_timeout): ... this and made it global.
19912 (set_timeout): Renamed to ...
19913 (grub_menu_set_timeout): ... this and made it global.
19914 (grub_normal_terminal_menu_viewer): Renamed to ...
19915 (grub_normal_text_menu_viewer): ... this.
19916
19917 * normal/menu_text.c: New file. Extracted text-menu-specific code
19918 from normal/menu.c.
19919
19920 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
19921 (normal_mod_SOURCES): Likewise.
19922
19923 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19924 (normal_mod_SOURCES): Likewise.
19925
19926 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19927 (normal_mod_SOURCES): Likewise.
19928
19929 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
19930 (normal_mod_SOURCES): Likewise.
19931
19932 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19933 (normal_mod_SOURCES): Likewise.
19934
19935 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19936 (normal_mod_SOURCES): Likewise.
19937
19938 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19939 (normal_mod_SOURCES): Likewise.
19940
16ac430e 199412009-02-11 Robert Millan <rmh@aybabtu.com>
19942
19943 * util/grub.d/00_header.in: Update old reference to `font' command.
19944
06ff20fc 199452009-02-10 Felix Zielcke <fzielcke@z-51.de>
19946
19947 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
19948
19949 Based on patch from Javier Martín.
19950
96da9407 199512009-02-09 Felix Zielcke <fzielcke@z-51.de>
19952
19953 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 19954 to avoid false positives with FAT.
96da9407 19955 (grub_fstest_SOURCES): Likewise.
19956 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19957 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19958 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19959 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
19960 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19961 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19962
6dca6fe4 199632009-02-09 Felix Zielcke <fzielcke@z-51.de>
19964
06ff20fc 19965 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 19966 bpb.version_specific.fat12_or_fat16.fstype and
19967 bpb.version_specific.fat32.fstype.
19968
2550c62f 199692009-02-08 Robert Millan <rmh@aybabtu.com>
19970
be110b30 19971 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 19972
56978920 199732009-02-08 Robert Millan <rmh@aybabtu.com>
19974
19975 * Makefile.in (host_os, host_cpu): New variables.
19976 (target_os): Remove. Update all users.
19977
d64399b5 199782009-02-08 Marco Gerards <marco@gnu.org>
19979
19980 * Makefile.in (enable_grub_emu_usb): New variable.
19981 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
19982 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
19983 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
19984 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
19985 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
19986 `usbtest.mod' and `usbms.mod'.
19987 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
19988 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
19989 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
19990 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
19991 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
19992 variables.
19993
19994 * disk/usbms.c: New file.
19995
19996 * include/grub/usb.h: Likewise.
19997
19998 * include/grub/usbtrans.h: Likewise.
19999
20000 * include/grub/usbdesc.h: Likewise.
20001
20002 * bus/usb/usbtrans.c: Likewise.
20003
20004 * bus/usb/ohci.c: Likewise.
20005
20006 * bus/usb/uhci.c: Likewise.
20007
20008 * bus/usb/usbhub.c: Likewise.
20009
20010 * bus/usb/usb.c: Likewise.
20011
20012 * commands/usbtest.c: Likewise.
20013
20014 * util/usb.c: Likewise.
50fb7002 20015
d64399b5 20016 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
20017
20018 * configure.ac: Test for libusb presence.
50fb7002 20019
d64399b5 20020 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
20021
2b40d6bb 200222009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
20023
20024 * kern/mm.c: Add more comments.
20025
73a4ce81 200262009-02-08 Robert Millan <rmh@aybabtu.com>
20027
20028 Patch from Javier Martín.
20029 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
20030 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
20031
f821ce59 200322009-02-08 Robert Millan <rmh@aybabtu.com>
20033
20034 * fs/cpio.c: Split tar functionality to ...
20035 * fs/tar.c: ... here (new file). Update all users.
20036
aebfc4b0 200372009-02-07 Robert Millan <rmh@aybabtu.com>
20038
20039 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
20040 backward-incompatible features.
20041
20042 Based on patch from Javier Martín, with some adjustments.
20043
50fb7002 200442009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 20045
20046 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
20047
0bb5115e 200482009-02-07 Robert Millan <rmh@aybabtu.com>
20049
20050 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
20051 position of `disk/lvm.c' to ensure grub_init_all() always picks it
20052 after the RAID stuff.
20053
38a0f8e7 200542009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
20055
50fb7002 20056 Fixes problem when running vbetest command as reported by
38a0f8e7 20057 Vladimir Serbinenko <phcoder@gmail.com>.
20058
20059 * (grub_vbe_set_video_mode): Fixed problem with text modes.
20060
3143cc1c 200612009-02-04 Felix Zielcke <fzielcke@z-51.de>
20062
20063 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
20064 /dev/md/NpN style mdraid devices.
20065
9cba6fce 200662009-02-03 Felix Zielcke <fzielcke@z-51.de>
20067
20068 * util/unifont2pff.rb: Remove.
20069
e507a2c1 200702009-02-03 Felix Zielcke <fzielcke@z-51.de>
20071
20072 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
20073 `#'.
20074
d2c2b4cd 200752009-02-03 Felix Zielcke <fzielcke@z-51.de>
20076
20077 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
20078 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20079 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20080 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20081 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20082 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20083 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20084
b4315fb0 200852009-02-02 Christian Franke <franke@computer.org>
20086
20087 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
20088
de3aa260 200892009-02-01 Felix Zielcke <fzielcke@z-51.de>
20090
7c3ff286 20091 * INSTALL: Note that we now require at least autoconf 2.59 and
20092 that LZO is optional.
de3aa260 20093
825a182b 200942009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
20095
20096 Base on patch on bug #24154 created by Tomas Tintera
20097 <trosos@seznam.cz>.
20098
20099 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
20100
a69ef770 201012009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
20102
7c3ff286 20103 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 20104 <bero@arklinux.org>.
20105
20106 * normal/parser.y (script_init): Add missing semicolon.
20107
6fa42fa6 201082009-01-31 Colin D Bennett <colin@gibibit.com>
20109
7c3ff286 20110 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 20111 (free_menu_entry_classes): Added.
20112 (grub_normal_menu_addentry): Added class property handling.
20113 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
20114 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
20115
20116 * normal/menu_viewer.c: New file.
20117
20118 * normal/menu.c (run_menu_entry): Renamed to ...
20119 (grub_menu_execute_entry): ... this and made it as global.
20120 (grub_menu_run): Renamed to ...
20121 (show_text_menu): ... this and made it local.
20122 (show_text_menu): Adapt to new function names.
20123 (grub_normal_terminal_menu_viewer): New global variable.
20124
20125 * include/grub/menu.h: New file.
20126
20127 * include/grub/menu_viewer.h: New file.
20128
20129 * include/grub/normal.h: Added include to grub/menu.h.
20130 (grub_menu_entry): Moved to include/grub/menu.h.
20131 (grub_menu_entry_t): Likewise.
20132 (grub_menu): Likewise.
20133 (grub_menu_t): Likewise.
20134 (grub_normal_terminal_menu_viewer): Added.
20135 (grub_menu_execute_entry): Likewise.
20136 (grub_menu_run): Removed.
20137
20138 * DISTLIST: Added include/grub/menu.h.
20139 Added include/grub/menu_viewer.h.
20140 Added normal/menu_viewer.c.
20141
201422009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
20143
20144 * normal/execute.c (grub_script_execute_menuentry): Changed to use
20145 arglist for menutitle arguments.
20146
20147 * normal/main.c (grub_normal_menu_addentry): Likewise.
20148
20149 * normal/parser.y (menuentry): Likewise.
20150
20151 * normal/script.c (grub_script_create_cmdmenu): Likewise.
20152
20153 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
20154 (grub_script_create_cmdmenu): Likewise.
20155
20156 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
20157
20158 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
20159 changes.
20160
20161 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
20162
20163 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
20164
20165 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
20166
20167 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
20168
20169 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
20170
20171 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
20172
56192c23 201732009-01-30 Christian Franke <franke@computer.org>
20174
20175 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
20176 in option help text.
20177
d72521b3 201782009-01-27 Pavel Roskin <proski@gnu.org>
20179
20180 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
20181
994b5e84 201822009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
20183
20184 * commands/lsmmap.c: Add include to grub/machine/memory.h.
20185
20186 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
20187
20188 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
20189 unregister function.
20190
6a7eab2c 201912009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
20192
20193 * disk/scsi.c (grub_scsi_read): Fix sign problem.
20194
20195 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
20196
20197 * util/grub-mkfont.c (usage): Fix typo.
20198
20199 * util/elf/grub-mkimage.c (load_modules): Fix warning.
20200
1806b56e 202012009-01-26 Daniel Mierswa <impulze@impulze.org>
20202
3fb18f09 20203 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
20204
336e1fb9 20205 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
20206
1806b56e 20207 * kern/misc.c (grub_strcasecmp): New function.
20208 (grub_strcasecmp): Use grub_size_t instead of int for length.
20209 Fix return value.
20210 * include/grub/misc.h: Update function prototypes.
20211
580b2a0f 202122009-01-26 Robert Millan <rmh@aybabtu.com>
20213
20214 * configure.ac: Fix cross-compilation check.
ef257b36 20215
d31c24f1 202162009-01-22 Christian Franke <franke@computer.org>
20217
20218 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
20219 (precision) digit string. Allow `.format2' without `format1' (width).
20220 Limit input chars for `%s' output to `format2' if specified. This is
20221 compatible with standard printf ().
20222
3138b44c 202232009-01-22 Christian Franke <franke@computer.org>
20224
20225 * disk/ata.c (grub_ata_wait_status): Replace by ...
20226 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
20227 other status bits may be invalid while BSY is asserted.
20228 (grub_ata_check_ready): New function.
20229 (grub_ata_cmd): Removed.
20230 (grub_ata_wait_drq): New function.
20231 (grub_ata_strncpy): Remove inline.
20232 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
20233 and error check now done by grub_ata_wait_drq ().
20234 (grub_ata_pio_write): Likewise.
20235 (grub_atapi_identify): Set DEV before check for !BSY. Use
20236 grub_ata_wait_drq () to wait for data.
20237 (grub_ata_device_initialize): Add status register check to
20238 detect missing SATA slave devices. Add debug messages.
20239 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
20240 (grub_atapi_packet): Set DEV before check for !BSY. Replace
20241 transfer loop by grub_ata_pio_write ().
20242 (grub_ata_identify): Set DEV before check for !BSY. Use
20243 grub_ata_wait_drq () to wait for data.
ef257b36 20244 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 20245 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
20246 read/write in one loop. Fix invalid command on write. Fix incomplete
20247 command on (size % batch) == 0. Add missing error check after write of
20248 last block. Add debug messages.
20249 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
20250
59a64ef6 202512009-01-19 Christian Franke <franke@computer.org>
20252
20253 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
20254 (GRUB_ATAPI_IREASON_*): Likewise.
20255 (grub_ata_pio_write): Fix timeout error return.
20256 (grub_atapi_identify): Add grub_ata_wait () after cmd.
20257 (grub_atapi_wait_drq): New function.
20258 (grub_atapi_packet): New parameter `size'.
20259 Use grub_atapi_wait_drq () and direct write instead of
20260 grub_ata_pio_write ().
20261 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
20262 reads the number of bytes requested by the device for each DRQ
20263 assertion.
20264 (grub_atapi_write): Remove old implementation, return not
20265 implemented instead.
20266
1cfe20b3 202672009-01-19 Christian Franke <franke@computer.org>
20268
20269 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
20270 of 512 to calculate data size.
20271 (grub_scsi_read12): Likewise.
20272 (grub_scsi_write10): Likewise.
20273 (grub_scsi_write12): Likewise.
20274 (grub_scsi_read): Adjust size according to blocksize.
20275 Add checks for invalid blocksize and unaligned transfer.
20276
bee5fe5d 202772009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
20278
20279 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
20280
ef257b36 20281 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 20282 width glyphs.
20283
3e643f8c 202842009-01-19 Robert Millan <rmh@aybabtu.com>
20285
20286 * config.guess: Update to latest version from config git.
20287 * config.sub: Likewise.
20288
4fa80998 202892009-01-17 Felix Zielcke <fzielcke@z-51.de>
20290
20291 * Makefile.in: Change font compilation to use new grub-mkfont instead
20292 of java version.
20293
20294 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
20295 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
20296 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
20297 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
20298 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
20299 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
20300 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
20301 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
20302 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
20303
7086085b 203042009-01-16 Christian Franke <franke@computer.org>
20305
20306 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
20307 (enum grub_ata_timeout_milliseconds): New enum.
20308 (grub_ata_wait_status): Add parameter milliseconds.
20309 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
20310 recovery from timed-out commands.
20311 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
20312 return grub_errno instead of REG_ERROR.
20313 (grub_ata_pio_write): Add parameter milliseconds.
20314 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
20315 Pass milliseconds to grub_ata_wait_status () and
20316 grub_ata_pio_read ().
20317 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
20318 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
20319 grub_ata_wait_status (). Fix IDENTIFY timeout check.
20320 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
20321 It is not suitable for device detection, because DEV bit is ignored,
20322 the command may run too long, and not all devices set the signature
20323 properly.
20324 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
20325 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
20326 Fix device selection, DEV bit must be set first to address the registers
20327 of the correct device.
20328 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
20329 grub_ata_pio_read/write ().
20330 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
20331 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
20332
4a412913 203332009-01-13 Carles Pina i Estany <carles@pina.cat>
20334
20335 * util/grub-editenv.c (main): Use fseeko(), not fseek().
20336
7795c55e 203372009-01-13 Bean <bean123ch@gmail.com>
d913988c 20338
20339 * util/grub-mkfont.c (write_font): forget to remove some debug code.
20340
7795c55e 203412009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 20342
20343 * Makefile.in: (enable_grub_mkfont): New variable.
20344 (freetype_cflags): Likewise.
20345 (freetype_libs): Likewise.
20346
20347 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
20348 (grub_mkfont_SOURCES): New variable.
20349 (grub_mkfont_CFLAGS): Likewise.
20350 (grub_mkfont_LDFLAGS): Likewise.
20351
20352 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
20353 library if `--enable-grub-mkfont' is requested.
20354 (enable_grub_mkfont): New variable.
20355 (freetype_cflags): Likewise.
20356 (freetype_libs): Likewise.
20357
20358 * util/grub-mkfont.c: New file.
20359
093af1fe 203602009-01-12 Christian Franke <franke@computer.org>
20361
20362 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
20363 mode check. Fix setting of compat_use[].
20364
f36cc108 203652009-01-10 Robert Millan <rmh@aybabtu.com>
20366
20367 Update a few copyright years which we forgot to do in 2008 (only for
20368 files whose changes made in 2008 were copyright-significant)
20369
20370 * Makefile.in: Add 2008 to Copyright line.
20371 * disk/ieee1275/ofdisk.c: Likewise.
20372 * disk/efi/efidisk.c: Likewise.
20373 * kern/dl.c: Likewise.
20374 * kern/sparc64/ieee1275/init.c: Likewise.
20375 * kern/mm.c: Likewise.
20376 * kern/efi/mm.c: Likewise.
20377 * boot/i386/pc/boot.S: Likewise.
20378 * genfslist.sh: Likewise.
20379 * fs/iso9660.c: Likewise.
20380 * fs/hfs.c: Likewise.
20381 * fs/jfs.c: Likewise.
20382 * fs/minix.c: Likewise.
20383 * fs/ufs.c: Likewise.
20384 * gensymlist.sh.in: Likewise.
20385 * genkernsyms.sh.in: Likewise.
20386 * include/grub/misc.h: Likewise.
20387 * include/grub/types.h: Likewise.
20388 * include/grub/symbol.h: Likewise.
20389 * include/grub/elf.h: Likewise.
20390 * include/grub/kernel.h: Likewise.
20391 * include/grub/disk.h: Likewise.
20392 * include/grub/dl.h: Likewise.
20393 * include/grub/i386/linux.h: Likewise.
20394 * include/grub/i386/pc/biosdisk.h: Likewise.
20395 * include/grub/efi/api.h: Likewise.
20396 * include/grub/efi/pe32.h: Likewise.
20397 * include/grub/util/misc.h: Likewise.
20398 * normal/execute.c: Likewise.
20399 * normal/arg.c: Likewise.
20400 * normal/completion.c: Likewise.
20401 * normal/lexer.c: Likewise.
20402 * normal/parser.y: Likewise.
20403 * normal/misc.c: Likewise.
20404 * commands/i386/pc/vbeinfo.c: Likewise.
20405 * commands/hexdump.c: Likewise.
20406 * commands/terminal.c: Likewise.
20407 * commands/ls.c: Likewise.
20408 * commands/help.c: Likewise.
20409 * partmap/pc.c: Likewise.
20410 * loader/efi/chainloader.c: Likewise.
20411 * loader/multiboot_loader.c: Likewise.
20412 * loader/i386/pc/multiboot2.c: Likewise.
20413 * term/efi/console.c: Likewise.
20414 * term/i386/pc/serial.c: Likewise.
20415 * util/lvm.c: Likewise.
20416 * util/console.c: Likewise.
20417 * util/i386/efi/grub-mkimage.c: Likewise.
20418 * util/raid.c: Likewise.
20419
7f02114b 204202009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
20421
20422 * commands/videotest.c: Removed include to grub/machine/memory.h.
20423
20424 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
20425 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
20426 (video_mod_SOURCES): Removed.
20427 (video_mod_CFLAGS): Likewise.
20428 (video_mod_LDFLAGS): Likewise.
20429 (gfxterm_mod_SOURCES): Likewise.
20430 (gfxterm_mod_CFLAGS): Likewise.
20431 (gfxterm_mod_LDFLAGS): Likewise.
20432 (videotest_mod_SOURCES): Likewise.
20433 (videotest_mod_CFLAGS): Likewise.
20434 (videotest_mod_LDFLAGS): Likewise.
20435 (bitmap_mod_SOURCES): Likewise.
20436 (bitmap_mod_CFLAGS): Likewise.
20437 (bitmap_mod_LDFLAGS): Likewise.
20438 (tga_mod_SOURCES): Likewise.
20439 (tga_mod_CFLAGS): Likewise.
20440 (tga_mod_LDFLAGS): Likewise.
20441 (jpeg_mod_SOURCES): Likewise.
20442 (jpeg_mod_CFLAGS): Likewise.
20443 (jpeg_mod_LDFLAGS): Likewise.
20444 (png_mod_SOURCES): Likewise.
20445 (png_mod_CFLAGS): Likewise.
20446 (png_mod_LDFLAGS): Likewise.
20447
20448 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
20449 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
20450 (video_mod_SOURCES): Added.
20451 (video_mod_CFLAGS): Likewise.
20452 (video_mod_LDFLAGS): Likewise.
20453 (videotest_mod_SOURCES): Likewise.
20454 (videotest_mod_CFLAGS): Likewise.
20455 (videotest_mod_LDFLAGS): Likewise.
20456 (bitmap_mod_SOURCES): Likewise.
20457 (bitmap_mod_CFLAGS): Likewise.
20458 (bitmap_mod_LDFLAGS): Likewise.
20459 (tga_mod_SOURCES): Likewise.
20460 (tga_mod_CFLAGS): Likewise.
20461 (tga_mod_LDFLAGS): Likewise.
20462 (jpeg_mod_SOURCES): Likewise.
20463 (jpeg_mod_CFLAGS): Likewise.
20464 (jpeg_mod_LDFLAGS): Likewise.
20465 (png_mod_SOURCES): Likewise.
20466 (png_mod_CFLAGS): Likewise.
20467 (png_mod_LDFLAGS): Likewise.
20468 (gfxterm_mod_SOURCES): Likewise.
20469 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 20470 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 20471
20472 * term/gfxterm.c: Removed include to grub/machine/memory.h,
20473 grub/machine/console.h.
20474
644fff97 204752009-01-04 Jerone Young <jerone@gmail.com>
20476
20477 Make on screen instructions clearer
20478
20479 Based on patch created by Jidanni <jidanni@jidanni.org>
20480
20481 * normal/menu.c: print clearer instructions on the screen
20482
1e901a75 204832009-01-02 Colin D Bennett <colin@gibibit.com>
20484
20485 New font engine.
34c44600 20486
1e901a75 20487 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
20488 build system and fixed gfxterm.c to work with different sized fonts.
20489
20490 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 20491
1e901a75 20492 * configure: Re-generated.
34c44600 20493
1e901a75 20494 * DISTLIST: Removed font/manager.c.
20495 Added font/font.c.
20496 Added font/font_cmd.c.
34c44600 20497
1e901a75 20498 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
20499 compilation.
34c44600 20500
1e901a75 20501 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 20502
20503 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 20504
20505 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 20506
1e901a75 20507 * normal/menu.c: Likewise.
34c44600 20508
1e901a75 20509 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
20510 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 20511
1e901a75 20512 * include/grub/font.h: Replaced with new file.
34c44600 20513
1e901a75 20514 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
20515 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
20516 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
20517 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
20518 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 20519 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 20520 fg_red, fg_green, fg_blue, fg_alpha.
20521 (grub_video_adapter): Removed blit_glyph.
34c44600 20522 (grub_video_blit_glyph): Removed.
20523
1e901a75 20524 * font/manager.c: Removed file.
34c44600 20525
20526 * font/font.c: New file.
20527
1e901a75 20528 * font/font_cmd.c: Likewise.
34c44600 20529
1e901a75 20530 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 20531
1e901a75 20532 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
20533 (grub_video_vbe_map_rgba): Likewise.
20534 (grub_video_vbe_unmap_color_int): Likewise.
20535 (grub_video_vbe_blit_glyph): Removed.
20536 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 20537
1e901a75 20538 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
20539 (get_pixel): Likewise.
34c44600 20540 (set_pixel): Likewise.
20541
1e901a75 20542 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 20543
1e901a75 20544 * term/gfxterm.c: Adapted to new font engine.
34c44600 20545
1e901a75 20546 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 20547
1e901a75 20548 * term/i386/pc/vga.c: Likewise.
34c44600 20549
1e901a75 20550 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 20551
1e901a75 20552 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 20553
1e901a75 20554 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 20555
1e901a75 20556 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 20557
1e901a75 20558 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 20559
1e901a75 20560 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 20561
1e901a75 20562 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 20563
1e901a75 20564 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 20565
1e901a75 20566 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
20567
20568 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 20569
1e901a75 20570 * util/grub-mkconfig_lib.in: Changed font extension.
20571
278922e8 205722008-12-28 Felix Zielcke <fzielcke@z-51.de>
20573
20574 * util/getroot.c (grub_util_get_grub_dev): Add support for
20575 /dev/md/dNNpNN style partitionable mdraid devices.
20576
3ced05cf 205772008-12-12 Alex Smith <alex@alex-smith.me.uk>
20578
20579 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
20580 at a time limit of the PXE TFTP API correctly.
20581 (grub_pxefs_close): Likewise.
20582
7fd0ee30 205832008-11-29 Robert Millan <rmh@aybabtu.com>
20584
34c44600 20585 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 20586 grub_ata_device_initialize() calls.
20587
34c44600 205882008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 20589
20590 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
20591 iteration failed.
20592 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
20593
89313780 205942008-11-28 Robert Millan <rmh@aybabtu.com>
20595
20596 Fix build on powerpc-ieee1275. Based on patch created by
20597 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
20598 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
20599 `kern/ieee1275/mmap.c'.
20600 * include/grub/powerpc/ieee1275/memory.h: New file.
20601
15257703 20602 Provide grub-install on coreboot.
20603 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
20604 (grub_install_SOURCES): New variable.
20605 * util/i386/pc/grub-install.in: Add a few condition checks to make it
20606 usable on coreboot.
20607
9fc5388a 206082008-11-25 Felix Zielcke <fzielcke@z-51.de>
20609
20610 * util/grub-fstest.c (grub_term_get_current_input): Change return type
20611 to `grub_term_input_t'.
20612 (grub_term_get_current_output): Change return type to
20613 `grub_term_output_t'.
20614
bc3a2f31 206152008-11-22 Robert Millan <rmh@aybabtu.com>
20616
34c44600 20617 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 20618 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
20619 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
20620 grub_vga_text_cls().
20621
80fc88f2 20622 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 20623 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 20624
cbf36fd3 20625 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
20626 to 0x200000 (avoids trouble with some OFW implementations, and matches
20627 with the one in Yaboot).
20628 Reported by Manoel Abranches
20629
73e8e268 206302008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 20631
20632 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
20633 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
20634
73e8e268 20635 * util/grub-mkconfig_lib.in (grub_warn): New function.
20636 (convert_system_path_to_grub_path): Use grub_warn() when issuing
20637 warnings, to obtain consistent formatting.
20638 * util/grub.d/00_header.in: Likewise.
20639 * util/update-grub_lib.in: Likewise.
20640
e94045a1 20641 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 20642 Move comment text to `#error' stanza.
e94045a1 20643
79d29fd7 20644 Harmonize ieee1275's grub_available_iterate() with the generic
20645 grub_machine_mmap_iterate() interface (fixes a recently-introduced
20646 build problem on i386-ieee1275):
20647 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
20648 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
20649 parameter `type'. Update all users of this function.
20650 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
20651 `kern/ieee1275/mmap.c'.
20652 * kern/ieee1275/init.c
20653 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
20654 with ...
20655 (grub_machine_mmap_iterate): ... this.
20656 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
20657 return type to `grub_err_t'. Update all implementations of this
20658 function prototype.
20659 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
20660 Likewise.
20661
60d6b16e 20662 Add `lsmmap' command (lists firmware-provided memory map):
20663 * commands/lsmmap.c: New file.
20664 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
20665 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
20666 variables.
20667 * conf/powerpc-ieee1275.rmk: Likewise.
20668 * conf/i386-coreboot.rmk: Likewise.
20669 * conf/i386-ieee1275.rmk: Likewise.
20670
ebaaf49b 206712008-11-19 Robert Millan <rmh@aybabtu.com>
20672
20673 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 20674 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
20675 constraints to initrd allocation (based on code from
20676 loader/i386/pc/linux.c). Without them, initrd was allocated too high
20677 for Linux to find it.
ebaaf49b 20678
dfab719f 206792008-11-14 Robert Millan <rmh@aybabtu.com>
20680
20681 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
20682 order to cope with duplicate slashes.
20683
10fc3eb9 206842008-11-14 Robert Millan <rmh@aybabtu.com>
20685
20686 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
20687 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
20688 don't want to mess with lower memory, because it is used in the Linux
20689 loader.
20690
20691 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 20692 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 20693 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
20694 is in our heap (probably as a result of it being corrupted during
2f2a3442 20695 decompression). Add #error instance with comment to explain why this
20696 loader isn't currently usable on PC/BIOS.
10fc3eb9 20697
e2e07847 206982008-11-14 Robert Millan <rmh@aybabtu.com>
20699
20700 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 20701 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 20702
fe8e8d69 207032008-11-12 Robert Millan <rmh@aybabtu.com>
20704
20705 Make loader/i386/linux.c buildable on i386-pc (although disabled).
20706
20707 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
20708 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
20709 from here ...
20710 * include/grub/i386/pc/memory.h: ... to here.
20711
976b07d0 207122008-11-12 Robert Millan <rmh@aybabtu.com>
20713
20714 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
20715 split).
20716
20717 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
20718 (grub_console_cur_color, grub_console_real_putchar)
20719 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
20720 (grub_console_setcolorstate, grub_console_setcolor)
20721 (grub_console_getcolor): Move from here ...
20722 * include/grub/i386/vga_common.h: ... to here (new file).
20723
20724 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
20725 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
20726 `<grub/i386/io.h>'.
20727 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
20728 `<grub/i386/vga_common.h>'.
20729
76679cd3 207302008-11-12 Robert Millan <rmh@aybabtu.com>
20731
20732 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
20733 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
20734 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
20735 variables.
20736 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
20737 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
20738
20739 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
20740 grub_console_init() with call to grub_vga_text_init().
20741 (grub_machine_fini): Replace call to
20742 grub_console_fini() with call to grub_vga_text_fini() and
20743 grub_at_keyboard_fini().
20744
20745 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
20746 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
20747 (grub_console_setcolorstate, grub_console_setcolor)
20748 (grub_console_getcolor): New function prototypes.
20749
20750 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
20751 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
20752 (grub_vga_text_setcursor): Static-ize.
20753 (grub_vga_text_term): New structure.
20754 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
20755
20756 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
20757 (grub_console_cur_color, grub_console_standard_color)
20758 (grub_console_normal_color, grub_console_highlight_color)
20759 (map_char, grub_console_putchar, grub_console_getcharwidth)
20760 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
20761 (grub_console_getcolor): Move from here ...
20762 * term/i386/vga_common.c: ... to here (same function names).
20763
95b841d3 207642008-11-12 Robert Millan <rmh@aybabtu.com>
20765
20766 Use newly-added Multiboot support in coreboot.
20767
20768 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
20769 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
20770
20771 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
20772 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
20773 (codestart): Store the MBI in `startup_multiboot_info' when we're
20774 being loaded using Multiboot.
20775
20776 * kern/i386/coreboot/init.c (grub_machine_init): Move
20777 grub_at_keyboard_init() call to beginning of function (useful for
20778 debugging). Call grub_machine_mmap_init() before attempting to use
20779 grub_machine_mmap_iterate().
20780 (grub_lower_mem, grub_upper_mem): Move from here ...
20781 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
20782 here (new file).
20783
20784 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
20785 function prototype.
20786
761ca975 207872008-11-12 Robert Millan <rmh@aybabtu.com>
20788
20789 Fix a regression introduced by the at_keyboard.mod split. Because
20790 some terminals are default on some platforms and non-default on
20791 others, the first terminal being registered determines which is
20792 going to be default.
20793
20794 * kern/term.c (grub_term_register_input): If this is the first
20795 terminal being registered, set it as the current one.
20796 (grub_term_register_output): Likewise.
20797
20798 * term/efi/console.c (grub_console_init): Do not call
20799 grub_term_set_current_output() or grub_term_set_current_input().
20800 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
20801 * term/i386/pc/console.c (grub_console_init): Likewise.
20802 (grub_console_fini): Do not call grub_term_set_current_input()
20803 (but leave grub_term_set_current_output() to restore text mode).
20804
6c529df7 208052008-11-10 Robert Millan <rmh@aybabtu.com>
20806
20807 * util/grub.d/00_header.in: Add backward compatibility check for
20808 versions of terminal.mod that don't understand `terminal_input' or
20809 `terminal_output'.
20810
132e4113 208112008-11-09 Robert Millan <rmh@aybabtu.com>
20812
20813 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
20814 `terminal_input' / `terminal_output', not `terminal'.
20815
ac293d50 208162008-11-08 Robert Millan <rmh@aybabtu.com>
20817
20818 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 20819 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 20820
0025933a 208212008-11-08 Robert Millan <rmh@aybabtu.com>
20822
20823 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 20824 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 20825 members. Update all users.
20826 * util/console.c (grub_ncurses_term): Split in ...
20827 (grub_ncurses_term_input): ... this, and ...
20828 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 20829 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 20830
37c86336 208312008-11-08 Robert Millan <rmh@aybabtu.com>
20832
20833 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
20834 (PKGDATA): Add $(pkgdata_SRCDIR).
20835 (pkglib_BUILDDIR): New variable.
20836 (pkgdata_SRCDIR): New variable.
20837 (build_env.mk): New target.
20838 (include_DATA): New variable.
20839 (install-local): Install $(include_DATA) files in $(includedir).
20840
b6c15a2d 208412008-11-07 Pavel Roskin <proski@gnu.org>
20842
d99d46f1 20843 * gendistlist.sh: Use C locale for sorting to ensure consistent
20844 output on all systems.
20845
b6c15a2d 20846 * util/grub.d/00_header.in: Remove incorrect space before
20847 "serial".
20848
c32ee8c9 208492008-11-07 Robert Millan <rmh@aybabtu.com>
20850
20851 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
20852 per specification.
20853 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
20854 * loader/multiboot_loader.c (find_multi_boot2_header): New function
20855 (based on find_multi_boot1_header).
20856 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
20857 using find_multi_boot2_header(), and abort if neither Multiboot or
20858 Multiboot headers were found.
20859
651c29b7 208602008-11-07 Robert Millan <rmh@aybabtu.com>
20861
20862 Modularize at_keyboard.mod:
20863
20864 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
20865 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
20866 (at_keyboard_mod_LDFLAGS): New variables.
20867
20868 Actual terminal split:
20869
20870 * include/grub/term.h (struct grub_term): Split in ...
20871 (struct grub_term_input): ... this, and ...
20872 (struct grub_term_output): ... this. Update all users.
20873 (grub_term_set_current): Split in ...
20874 (grub_term_set_current_input): ... this, and ...
20875 (grub_term_set_current_output): ... this.
20876 (grub_term_get_current): Split in ...
20877 (grub_term_get_current_input): ... this, and ...
20878 (grub_term_get_current_output): ... this.
20879 (grub_term_register): Split in ...
20880 (grub_term_register_input): ... this, and ...
20881 (grub_term_register_output): ... this.
20882 (grub_term_unregister): Split in ...
20883 (grub_term_unregister_input): ... this, and ...
20884 (grub_term_unregister_output): ... this.
20885 (grub_term_iterate): Split in ...
20886 (grub_term_iterate_input): ... this, and ...
20887 (grub_term_iterate_output): ... this.
20888
20889 * kern/term.c (grub_term_list): Split in ...
20890 (grub_term_list_input): ... this, and ...
20891 (grub_term_list_output): ... this. Update all users.
20892 (grub_cur_term): Split in ...
20893 (grub_cur_term_input): ... this, and ...
20894 (grub_cur_term_output): ... this. Update all users.
20895 (grub_term_set_current): Split in ...
20896 (grub_term_set_current_input): ... this, and ...
20897 (grub_term_set_current_output): ... this.
20898 (grub_term_get_current): Split in ...
20899 (grub_term_get_current_input): ... this, and ...
20900 (grub_term_get_current_output): ... this.
20901 (grub_term_register): Split in ...
20902 (grub_term_register_input): ... this, and ...
20903 (grub_term_register_output): ... this.
20904 (grub_term_unregister): Split in ...
20905 (grub_term_unregister_input): ... this, and ...
20906 (grub_term_unregister_output): ... this.
20907 (grub_term_iterate): Split in ...
20908 (grub_term_iterate_input): ... this, and ...
20909 (grub_term_iterate_output): ... this.
20910
20911 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
20912 a check for input and one for output (and only attempt to get keys
20913 from user when input works).
20914
20915 * util/grub-probe.c (grub_term_get_current): Split in ...
20916 (grub_term_get_current_input): ... this, and ...
20917 (grub_term_get_current_output): ... this.
20918 * util/grub-fstest.c: Likewise.
20919 * util/i386/pc/grub-setup.c: Likewise.
20920 * util/grub-editenv.c: Likewise.
20921
20922 Portability adjustments:
20923
20924 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
20925 `term/i386/pc/at_keyboard.c'.
20926 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
20927 grub_keyboard_controller_init() (now handled by terminal .init).
20928 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
20929 grub_at_keyboard_init().
20930 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
20931 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
20932 at_keyboard.mod via input terminal interface).
20933 * include/grub/i386/coreboot/console.h: Convert into a stub for
20934 `<grub/i386/pc/console.h>'.
20935
20936 Migrate full terminals to new API:
20937
20938 * term/efi/console.c (grub_console_term): Split into ...
20939 (grub_console_term_input): ... this, and ...
20940 (grub_console_term_output): ... this. Update all users.
20941 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
20942 (grub_ofconsole_init): Split into ...
20943 (grub_ofconsole_init_input): ... this, and ...
20944 (grub_ofconsole_init_output): ... this.
20945 (grub_ofconsole_term): Split into ...
20946 (grub_ofconsole_term_input): ... this, and ...
20947 (grub_ofconsole_term_output): ... this. Update all users.
20948 * term/i386/pc/serial.c (grub_serial_term): Split into ...
20949 (grub_serial_term_input): ... this, and ...
20950 (grub_serial_term_output): ... this. Update all users.
20951 * term/i386/pc/console.c (grub_console_term): Split into ...
20952 (grub_console_term_input): ... this, and ...
20953 (grub_console_term_output): ... this. Update all users.
20954 (grub_console_term_input): Only enable it on PC/BIOS platform.
20955 (grub_console_init): Remove grub_keyboard_controller_init() call.
20956
20957 Migrate input terminals to new API:
20958
20959 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
20960 `i386' and `i386/pc' to enable build on x86_64 (this driver is
20961 i386-specific anyway).
20962 (grub_console_checkkey): Rename to ...
20963 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
20964 users.
20965 (grub_keyboard_controller_orig): New variable.
20966 (grub_console_getkey): Rename to ...
20967 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
20968 users.
20969 (grub_keyboard_controller_init): Static-ize. Save original
20970 controller value so that it can be restored ...
20971 (grub_keyboard_controller_fini): ... here (new function).
20972 (grub_at_keyboard_term): New structure.
20973 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
20974 functions.
20975
20976 Migrate output terminals to new API:
20977
20978 * term/i386/pc/vga.c (grub_vga_term): Change type to
20979 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
20980 members. Update all users.
20981 * term/gfxterm.c (grub_video_term): Change type to
20982 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
20983 members. Update all users.
20984 * include/grub/i386/pc/console.h (grub_console_checkkey)
20985 (grub_console_getkey): Do not export (no longer needed by gfxterm,
20986 etc).
20987
20988 Migrate `terminal' command and userland tools to new API:
20989
20990 * commands/terminal.c (grub_cmd_terminal): Split into ...
20991 (grub_cmd_terminal_input): ... this, and ...
20992 (grub_cmd_terminal_output): ... this.
20993 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
20994 `terminal_input' and `terminal_output'.
20995 * util/grub.d/00_header.in: Adjust `terminal' calls to new
20996 `terminal_input' / `terminal_output' API.
20997 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
20998 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
20999 provided ${GRUB_TERMINAL}, convert it).
21000
96e5d876 210012008-11-04 Robert Millan <rmh@aybabtu.com>
21002
21003 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
21004 for FreeBSD.
21005 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
21006
556f3775 210072008-11-03 Bean <bean123ch@gmail.com>
21008
21009 * kern/elf.c (grub_elf32_load): Revert to previous code.
21010 (grub_elf64_load): Likewise.
21011
21012 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
21013
926b9823 210142008-11-01 Robert Millan <rmh@aybabtu.com>
21015
21016 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
21017 (TARGET_CPPFLAGS): Likewise.
21018 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
21019
1432e958 210202008-11-01 Carles Pina i Estany <carles@pina.cat>
21021
21022 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
21023
dba3f844 210242008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 21025
21026 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
21027 addition of objects until the code is not going to be able to fail.
21028
dba3f844 210292008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 21030
21031 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
21032 (add a missing NULL check, and correct them by moving the pointer
21033 operations after the actual check).
21034
7ab28c21 210352008-10-29 Robert Millan <rmh@aybabtu.com>
21036
21037 * util/i386/pc/grub-install.in: Handle empty string as output from
21038 make_system_path_relative_to_its_root().
21039
1b7748eb 210402008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
21041
21042 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
21043 circular metadata worst case scenario. If the metadata is circular
21044 then copy the wrap in place.
21045 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
21046 project lib/format_text/layout.h
21047 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
21048
c9618ab2 210492008-10-03 Felix Zielcke <fzielcke@z-51.de>
21050
7a36edca 21051 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 21052
bf981c62 210532008-10-03 Felix Zielcke <fzielcke@z-51.de>
21054
21055 * util/update-grub_lib.in: Mention filename in warning message.
21056
6d994591 210572008-09-29 Felix Zielcke <fzielcke@z-51.de>
21058
21059 * NEWS: Update for rename of update-grub to grub-mkconfig.
21060
18ade780 210612008-09-29 Felix Zielcke <fzielcke@z-51.de>
21062
21063 * util/update-grub_lib.in: Copy to ...
21064 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 21065 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 21066 * util/update-grub.in: Rename to ...
21067 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
21068 option. Add `--output' option to allow users to specify the generated
21069 configuration file. Default to stdout.
21070 (update_grub_dir): Rename to ...
21071 (grub_mkconfig_dir): ... this.
21072 (grub_cfg): Default to an empty string.
21073 * conf/common.rmk (update-grub): Rename to ...
21074 (grub-mkconfig): ... this.
21075 (update-grub_lib): Copy to ...
21076 (grub-mkconfig_lib): ... this.
21077 (update-grub_SCRIPTS): Copy to ...
21078 (grub-mkconfig_SCRIPTS): ... this. Update all users.
21079 (update-grub_DATA): Rename to ...
21080 (grub-mkconfig_DATA): ... this.
21081
556ce6ac 210822008-09-28 Robert Millan <rmh@aybabtu.com>
21083
21084 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
21085 to `modified'. Add the real `created' field.
21086 (grub_iso9660_uuid): Use `modified' rather than `created' for
21087 constructing the UUID.
21088
210892008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 21090
21091 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
21092 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
21093
92274e85 210942008-09-28 Bean <bean123ch@gmail.com>
21095
21096 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
21097 Thanks to Christian Franke for finding this bug.
21098
add6f17a 210992008-09-25 Robert Millan <rmh@aybabtu.com>
21100
21101 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
21102 instances of grub_util_get_disk_name() (see previous commit).
21103
d2a367b8 211042008-09-25 Robert Millan <rmh@aybabtu.com>
21105
21106 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
21107 `util/i386/get_disk_name.c'.
21108 * conf/i386-efi.rmk: Likewise.
21109 * conf/x86_64-efi.rmk: Likewise.
21110 * conf/i386-coreboot.rmk: Likewise.
21111 * conf/i386-ieee1275.rmk: Likewise.
21112 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
21113 `util/ieee1275/get_disk_name.c'.
21114 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
21115 * util/ieee1275/get_disk_name.c: Remove file.
21116 * util/i386/get_disk_name.c: Remove file.
21117 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
21118 "hd%d" for device.map entries, rather than using
21119 grub_util_get_disk_name().
21120
81a06771 211212008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 21122
21123 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
21124 warning.
21125 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
21126
5a004279 211272008-09-24 Carles Pina i Estany <carles@pina.cat>
21128
21129 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
21130 Changed to 0x5100.
21131 (GRUB_TERM_PPAGE): Changed to 0x4900.
21132
397093d3 211332008-09-24 Robert Millan <rmh@aybabtu.com>
21134
21135 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
21136 macros (they were i386-pc specific).
21137 * include/grub/sparc64/ieee1275/console.h: Likewise.
21138 * include/grub/efi/console.h: Likewise.
21139
a91b6c7c 211402008-09-22 Bean <bean123ch@gmail.com>
21141
21142 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
21143 resident and in attribute list.
21144
21145 * include/grub/ntfs.h (BMP_LEN): Removed.
21146
c40fd116 211472008-09-22 Bean <bean123ch@gmail.com>
21148
81a06771 21149 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 21150 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
21151
21152 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
21153 error occurs, as grub_disk_open will call grub_disk_close, which will
21154 call p->close (scsi).
21155
81a06771 211562008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 21157
21158 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
21159 (AC_PREREQ): Bumped to 2.59.
21160 (AC_TRY_COMPILE): Replace obsolete macro with ...
21161 (AC_COMPILE_IFELSE): ... this.
21162 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
21163 (AC_LINK_IFELSE): ... this.
21164
5dc43410 211652008-09-21 Felix Zielcke <fzielcke@z-51.de>
21166
21167 * autogen.sh: Add a call to `gendistlist.sh'.
21168
9035dce4 211692008-09-19 Christian Franke <franke@computer.org>
21170
21171 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
21172 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
21173 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
21174 Export __enable_execute_stack() to modules.
21175 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
21176 New function.
21177
7fd75377 211782008-09-09 Felix Zielcke <fzielcke@z-51.de>
21179
040030b3 21180 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
21181 Sort the list.
21182
211832008-09-09 Felix Zielcke <fzielcke@z-51.de>
21184
21185 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 21186 #include <grub/util/hostdisk.h>.
21187
89d5ffcf 211882008-09-08 Robert Millan <rmh@aybabtu.com>
21189
21190 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
21191 segments when their filesz is zero (grub_file_read() interprets
81a06771 21192 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 21193 Use `lowest_segment' rather than 0 for calculating the current
21194 segment load address.
21195
40da438f 211962008-09-08 Robert Millan <rmh@aybabtu.com>
21197
21198 * util/hostdisk.c (open_device): Replace a grub_util_info() call
21199 with grub_dprintf("hostdisk", ...), as it was so verbose that it
21200 clobbered useful information.
21201
ddbf5556 212022008-09-08 Robert Millan <rmh@aybabtu.com>
21203
21204 * include/grub/util/biosdisk.h: Move to ...
21205 * include/grub/util/hostdisk.h: ... here. Update all users.
21206 * util/biosdisk.c: Move to ...
21207 * util/hostdisk.c: ... here. Update all users.
21208
783d0f48 212092008-09-07 Robert Millan <rmh@aybabtu.com>
21210
21211 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
21212 variables.
21213 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
21214 and length can be stored directly in the `mbi->mmap_addr' and
21215 `mbi->mmap_length' struct fields.
21216
548e2ea5 212172008-09-07 Robert Millan <rmh@aybabtu.com>
21218
21219 * conf/i386.rmk: New file. Provides declaration for building
21220 `cpuid.mod'.
21221 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
21222 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
21223 variables.
21224 Include `conf/i386.mk'.
21225 * conf/i386-efi.rmk: Likewise.
21226 * conf/x86_64-efi.rmk: Likewise.
21227 * conf/i386-coreboot.rmk: Likewise.
21228 * conf/i386-ieee1275.rmk: Likewise.
21229
0ea85a37 212302008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
21231
21232 Based on patch created by Colin D Bennett <colin@gibibit.com>.
21233 Adds optimization support for BGR based modes.
21234
21235 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
21236 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
21237 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
21238 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
21239 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
21240 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
21241 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
21242 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
21243 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
21244 (grub_video_i386_vbeblit_index_index): Likewise.
21245 (grub_video_i386_vbeblit_replace_directN): Added.
21246 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
21247 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
21248 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
21249 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
21250 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
21251 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 21252 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 21253 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
21254 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
21255 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
21256 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
21257 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
21258 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
21259
21260 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
21261 (grub_video_i386_vbefill_R8G8B8): Likewise.
21262 (grub_video_i386_vbefill_index): Likewise.
21263 (grub_video_i386_vbefill_direct32): Added.
21264 (grub_video_i386_vbefill_direct24): Likewise.
21265 (grub_video_i386_vbefill_direct16): Likewise.
21266 (grub_video_i386_vbefill_direct8): Likewise.
21267
81a06771 21268 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 21269 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
21270 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
21271 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
21272 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
21273 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 21274
0ea85a37 21275 * video/video.c (grub_video_get_blit_format): Updated to use new
21276 blit formats. Added handling for 16 bit color modes.
81a06771 21277
21278 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 21279 fillers.
21280 (common_blitter): Updated to use new blitters.
21281
21282 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
21283 Removed.
21284 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
21285 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
21286 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
21287 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
21288 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
21289 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
21290 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
21291 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
21292 (grub_video_i386_vbeblit_index_index): Likewise.
21293 (grub_video_i386_vbeblit_replace_directN): Added.
21294 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
21295 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
21296 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
21297 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
21298 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
21299 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
21300 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
21301 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
21302 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
21303 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
21304 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
21305 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
21306 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 21307
0ea85a37 21308 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
21309 (grub_video_i386_vbefill_R8G8B8): Likewise.
21310 (grub_video_i386_vbefill_index): Likewise.
21311 (grub_video_i386_vbefill_direct32): Added.
21312 (grub_video_i386_vbefill_direct24): Likewise.
21313 (grub_video_i386_vbefill_direct16): Likewise.
21314 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 21315
0ea85a37 21316 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
21317 types.
81a06771 21318
0ea85a37 21319 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
21320 types.
81a06771 21321
0ea85a37 21322 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
21323 blitter types.
81a06771 21324
0ea85a37 21325 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
21326 types.
21327
e8a83df6 213282008-09-06 Felix Zielcke <fzielcke@z-51.de>
21329
21330 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
21331 RAID level 1.
21332
6bcd8ee5 213332008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 21334
6bcd8ee5 21335 * fs/iso9660.c (grub_iso9660_date): New structure.
21336 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
21337 (grub_iso9660_uuid): New function.
c375ae58 21338
59261157 213392008-09-05 Bean <bean123ch@gmail.com>
21340
21341 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
21342
21343 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
21344 insensitive bit for names in Win32 and Win32 & DOS namespace.
21345
21346 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
21347
21348 * include/grub/types.h (LONG_MAX): Likewise.
21349
58b6645a 213502008-09-04 Felix Zielcke <fzielcke@z-51.de>
21351
4ee55921 21352 * util/getroot.c: Include <config.h>.
21353 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
21354 add support for /dev/md/N devices and handle LVM double dash escaping.
21355
213562008-09-04 Felix Zielcke <fzielcke@z-51.de>
21357
21358 * config.guess: Update to latest version from config git.
21359 * config.sub: Likewise.
58b6645a 21360
9124f65d 213612008-09-03 Robert Millan <rmh@aybabtu.com>
21362
21363 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
21364 `disk->total_sectors'.
21365
81a06771 213662008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 21367
21368 * include/grub/normal.h: Fixed incorrect comment for
21369 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
21370
81a06771 213712008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 21372
21373 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
21374 values with defines.
21375
21376 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
21377 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
21378 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
21379 (GRUB_VBE_MODEATTR_COLOR): Likewise.
21380 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
21381 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
21382 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
21383 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
21384 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
21385 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
21386 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
21387 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
21388 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
21389 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
21390 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
21391 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
21392 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
21393 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
21394 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
21395
93d5cbf8 213962008-08-31 Robert Millan <rmh@aybabtu.com>
21397
21398 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
21399 declaration.
21400 (grub_multiboot): Fix a few warnings.
21401
21751d50 214022008-08-31 Robert Millan <rmh@aybabtu.com>
21403
21404 * loader/i386/pc/multiboot.c: Update comment not to say that
21405 boot_device support is unimplemented.
21406
e27a75c5 214072008-08-31 Robert Millan <rmh@aybabtu.com>
21408
21409 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
21410 or memory map support are unimplemented.
21411
81a06771 214122008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 21413
21414 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
21415
81a06771 214162008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 21417
21418 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
21419 total video memory in 'vbeinfo' output; show color format details for
21420 each video mode.
21421
7c5d8d95 214222008-08-30 Pavel Roskin <proski@gnu.org>
21423
21424 * util/genmoddep.c: Remove for real this time.
21425 * DISTLIST: Remove util/genmoddep.c.
21426
4cebd25a 214272008-08-30 Robert Millan <rmh@aybabtu.com>
21428
21429 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
21430 as required by Multiboot spec (it was already 4-byte aligned, but
21431 only by chance).
21432
b497a269 214332008-08-29 Pavel Roskin <proski@gnu.org>
21434
e3925185 21435 * kern/powerpc/ieee1275/crt0.S: Rename to ...
21436 * kern/powerpc/ieee1275/startup.S: ... this.
21437 * conf/powerpc-ieee1275.rmk: Adjust for the above.
21438 * DISTLIST: Likewise.
21439
b497a269 21440 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
21441 grub/cpu/kernel.h. Add start label for consistency with other
21442 platforms. Add grub_prefix immediately after start. Add jump
21443 to the code after grub_prefix.
21444 * include/grub/powerpc/kernel.h: Provide valid values for
21445 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
21446
6e5a42fe 214472008-08-29 Bean <bean123ch@gmail.com>
21448
21449 * configure.ac: Change host_os to cygwin for mingw.
21450 (asprintf): New check for function.
21451
21452 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
21453 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
21454
21455 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 21456 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 21457 sync, sleep and grub_util_get_disk_size for mingw.
21458
21459 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
21460 to get size in mingw.
21461 (open_device): Use flag O_BINARY if it's defined.
21462 (find_root_device): Add dummy code for mingw.
21463
21464 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
21465 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
21466 (get_scsi_disk_name): Return 0 for mingw.
21467
21468 * util/hostfs.c: #include <grub/util/misc.h>.
21469 (grub_hostfs_open): Use "rb" flag to open file, use
21470 grub_util_get_disk_size to get disk size for mingw.
21471
21472 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
21473 (asprintf): New function if HAVE_ASPRINTF is not set.
21474 (sync): New function for mingw.
21475 (sleep): Likewise.
21476 (grub_util_get_disk_size): Likewise.
21477
ab3f2673 214782008-08-28 Pavel Roskin <proski@gnu.org>
21479
21480 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
21481 kern/time.c.
21482
1c282483 214832008-08-28 Robert Millan <rmh@aybabtu.com>
21484
21485 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
21486
678e849c 214872008-08-28 Robert Millan <rmh@aybabtu.com>
21488
21489 Change find_grub_drive() syntax so it doesn't prevent it from
21490 detecting NULL names as errors.
21491
21492 * util/biosdisk.c (find_grub_drive): Move free slot search code
21493 from here ...
21494 (find_free_slot): ... to here.
21495 (read_device_map): Use find_free_slot() to search for free slots.
21496
965c75ca 214972008-08-27 Marco Gerards <marco@gnu.org>
21498
21499 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
21500 (scsi_mod_SOURCES): New variable.
21501 (scsi_mod_CFLAGS): Likewise
21502 (scsi_mod_LDFLAGS): Likewise.
21503
21504 * disk/scsi.c: New file.
21505
21506 * include/grub/scsi.h: Likewise.
21507
21508 * include/grub/scsicmd.h: Likewise.
21509
21510 * disk/ata.c: Include <grub/scsi.h>.
21511 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
21512 instead.
21513 (grub_ata_iterate): Skip ATAPI devices.
21514 (grub_ata_open): Only handle ATAPI devices.
21515 (struct grub_atapi_read): Removed.
21516 (grub_atapi_readsector): Likewise.
21517 (grub_ata_read): No longer handle ATAPI devices.
21518 (grub_ata_write): Likewise.
21519 (grub_atapi_iterate): New function.
21520 (grub_atapi_read): Likewise.
21521 (grub_atapi_write): Likewise.
21522 (grub_atapi_open): Likewise.
21523 (grub_atapi_close): Likewise.
21524 (grub_atapi_dev): New variable.
21525 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
21526 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
21527
21528 * include/grub/disk.h (enum grub_disk_dev_id): Add
21529 `GRUB_DISK_DEVICE_SCSI_ID'.
21530
c07ae501 215312008-08-26 Robert Millan <rmh@aybabtu.com>
21532
21533 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
21534 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
21535 descriptive.
21536
5ed20adc 215372008-08-23 Bean <bean123ch@gmail.com>
21538
21539 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
21540 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
21541 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
21542 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
21543 dm_nv.mod.
21544 (raid5rec_mod_SOURCES): New macro.
21545 (raid5rec_mod_CFLAGS): Likewise.
21546 (raid5rec_mod_LDFLAGS): Likewise.
21547 (raid6rec_mod_SOURCES): Likewise.
21548 (raid6rec_mod_CFLAGS): Likewise.
21549 (raid6rec_mod_LDFLAGS): Likewise.
21550 (mdraid_mod_SOURCES): Likewise.
21551 (mdraid_mod_CFLAGS): Likewise.
21552 (mdraid_mod_LDFLAGS): Likewise.
21553 (dm_nv_mod_SOURCES): Likewise.
21554 (dm_nv_mod_CFLAGS): Likewise.
21555 (dm_nv_mod_LDFLAGS): Likewise.
21556
21557 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
21558 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
21559 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
21560
21561 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
21562 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
21563
21564 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21565
21566 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21567
21568 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21569
21570 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21571
21572 * disk/raid5_recover.c: New file.
21573
21574 * disk/raid6_recover.c: Likewise.
21575
21576 * disk/mdraid_linux.c: Likewise.
21577
21578 * disk/dmraid_nvidia.c: Likewise.
21579
21580 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
21581 ULONG_MAX.
21582
21583 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
21584 calculate the size of raid device.
21585 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
21586 different layout of raid5.
21587 (grub_raid_scan_device): Remove code specific to mdraid.
21588 (grub_raid_list): New variable.
21589 (free_array): New function.
21590 (grub_raid_register): Likewise.
21591 (grub_raid_unregister): Likewise.
21592 (grub_raid_rescan): Likewise.
21593 (GRUB_MOD_INIT): Don't iterate device here.
21594 (GRUB_MOD_FINI): Use free_array to release resource.
21595
21596 * include/grub/raid.h: Remove macro and structure specific to mdraid.
21597 (grub_raid5_recover_func_t): New function variable type.
21598 (grub_raid6_recover_func_t): Likewise.
21599 (grub_raid5_recover_func): New variable.
21600 (grub_raid6_recover_func): Likewise.
21601 (grub_raid_register): New function.
21602 (grub_raid_unregister): Likewise.
21603 (grub_raid_rescan): Likewise.
21604 (grub_raid_block_xor): Likewise.
21605
21606 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
21607 (CMD_CRC): New macro.
21608 (part): Removed.
21609 (read_file): Handle device as well as file.
21610 (cmd_crc): New function.
21611 (fstest): Handle multiple disks.
21612 (options): Remove part, raw and long, add root and diskcount.
21613 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 21614 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 21615 add handling for the new options, support multiple disks.
21616
21617 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
21618
29c18915 216192008-08-23 Bean <bean123ch@gmail.com>
21620
21621 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
21622
21623 * genfslist.sh: Ignore kernel.mod.
21624
21625 * genpartmaplist.sh: Likewise.
21626
8415f261 216272008-08-23 Robert Millan <rmh@aybabtu.com>
21628
21629 * util/getroot.c (find_root_device): Skip anything that starts with
21630 a dot, not just directories. This avoids things like /dev/.tmp.md0.
21631
d5a7dc5b 216322008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 21633
d5a7dc5b 21634 * util/update-grub.in (GRUB_GFXMODE): Export variable.
21635 * util/grub.d/00_header.in: Allow the administrator to change default
21636 gfxmode via ${GRUB_GFXMODE}.
21637
380cfbb4 216382008-08-21 Felix Zielcke <fzielcke@z-51.de>
21639
21640 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
21641
c9baafe7 216422008-08-21 Robert Millan <rmh@aybabtu.com>
21643
21644 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
21645 loader.
21646 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
21647 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
21648
e290bef2 216492008-08-20 Carles Pina i Estany <carles@pina.cat>
21650
21651 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
21652 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
21653
f9dbfc96 216542008-08-19 Robert Millan <rmh@aybabtu.com>
21655
21656 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
21657 (struct grub_virtual_screen): Remove `cursor_color'.
21658 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
21659 initialization.
21660 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
21661
dd6bd6ab 216622008-08-18 Robert Millan <rmh@aybabtu.com>
21663
21664 Unify (identical) linux_normal.c files.
21665 * loader/i386/efi/linux_normal.c: Move from here ...
21666 * loader/linux_normal.c: ... to here. Update all users.
21667 * loader/i386/pc/linux_normal.c: Delete. Update all users.
21668 * loader/i386/ieee1275/linux_normal.c: Likewise.
21669
7f42f83e 216702008-08-18 Robert Millan <rmh@aybabtu.com>
21671
21672 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
21673 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
21674 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
21675 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
21676 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
21677 New macros.
21678 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
21679 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
21680 (GRUB_LINUX_CL_END_OFFSET): ... to here.
21681 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
21682 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
21683 (GRUB_EFI_CL_END_OFFSET): Rename to ...
21684 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
21685 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
21686 Initialize `params->video_cursor_x' and `params->video_cursor_y'
21687 portably using grub_getxy().
21688 Replace `-EFI' with `-bzImage' in boot message.
21689
38487ddb 216902008-08-17 Robert Millan <rmh@aybabtu.com>
21691
21692 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
21693
deceb3ec 216942008-08-17 Robert Millan <rmh@aybabtu.com>
21695
21696 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
21697
21698 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
21699 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
21700 (grub_machine_mmap_iterate): New function declaration.
21701 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
21702 structure.
21703 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
21704 macros.
21705
21706 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
21707 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
21708 Move e820 parsing from here ...
21709 * kern/i386/pc/mmap.c: New file.
21710 (grub_machine_mmap_iterate): ... to here.
21711
21712 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
21713 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
21714 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
21715 (grub_available_iterate): Redeclare to return `void', and redeclare
21716 its hook to use grub_uint64_t as addr and size parameters, and rename
21717 to ...
21718 (grub_machine_mmap_iterate): ... this. Update all users.
21719
21720 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
21721 to make it more readable. Rename to ...
21722 (grub_machine_mmap_iterate): ... this.
21723
21724 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
21725 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
21726 (grub_multiboot): Allocate an extra region after the payload, and fill
21727 it with a Multiboot memory map. Adjust a.out loader to calculate size
21728 with the extra space.
21729 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
21730 with the extra space.
21731
f8aa0f43 217322008-08-17 Carles Pina i Estany <carles@pina.cat>
21733
9807deb9 21734 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 21735
605f5bb6 217362008-08-17 Felix Zielcke <fzielcke@z-51.de>
21737
21738 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
21739 mdate-sh to the list `find' searches for.
21740 * DISTLIST: Regenerated.
21741
210db6c6 217422008-08-16 Felix Zielcke <fzielcke@z-51.de>
21743
21744 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
21745 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 21746 genmoddep.awk, gensymlist.sh.in.
21747 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 21748 * DISTLIST: Regenerated.
48cdbfd4 21749 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 21750
1082b929 217512008-08-16 Robert Millan <rmh@aybabtu.com>
21752
21753 * disk/raid.c (grub_raid_init): Handle/report errors set by
21754 grub_device_iterate().
21755 * disk/lvm.c (grub_lvm_init): Likewise.
21756
42ce5170 217572008-08-15 Bean <bean123ch@gmail.com>
21758
21759 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
21760 and datehook.mod.
21761 (datetime_mod_SOURCES): New macro.
21762 (datetime_mod_CFLAGS): Likewise.
21763 (datetime_mod_LDFLAGS): Likewise.
21764 (date_mod_SOURCES): Likewise.
21765 (date_mod_CFLAGS): Likewise.
21766 (date_mod_LDFLAGS): Likewise.
21767 (datehook_mod_SOURCES): Likewise.
21768 (datehook_mod_CFLAGS): Likewise.
21769 (datehook_mod_LDFLAGS): Likewise.
21770
21771 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
21772 and datehook.mod.
21773 (datetime_mod_SOURCES): New macro.
21774 (datetime_mod_CFLAGS): Likewise.
21775 (datetime_mod_LDFLAGS): Likewise.
21776 (date_mod_SOURCES): Likewise.
21777 (date_mod_CFLAGS): Likewise.
21778 (date_mod_LDFLAGS): Likewise.
21779 (datehook_mod_SOURCES): Likewise.
21780 (datehook_mod_CFLAGS): Likewise.
21781 (datehook_mod_LDFLAGS): Likewise.
21782
21783 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
21784 and datehook.mod.
21785 (datetime_mod_SOURCES): New macro.
21786 (datetime_mod_CFLAGS): Likewise.
21787 (datetime_mod_LDFLAGS): Likewise.
21788 (date_mod_SOURCES): Likewise.
21789 (date_mod_CFLAGS): Likewise.
21790 (date_mod_LDFLAGS): Likewise.
21791 (datehook_mod_SOURCES): Likewise.
21792 (datehook_mod_CFLAGS): Likewise.
21793 (datehook_mod_LDFLAGS): Likewise.
21794
21795 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
21796 and datehook.mod.
21797 (datetime_mod_SOURCES): New macro.
21798 (datetime_mod_CFLAGS): Likewise.
21799 (datetime_mod_LDFLAGS): Likewise.
21800 (date_mod_SOURCES): Likewise.
21801 (date_mod_CFLAGS): Likewise.
21802 (date_mod_LDFLAGS): Likewise.
21803 (datehook_mod_SOURCES): Likewise.
21804 (datehook_mod_CFLAGS): Likewise.
21805 (datehook_mod_LDFLAGS): Likewise.
21806
21807 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
21808 and datehook.mod.
21809 (datetime_mod_SOURCES): New macro.
21810 (datetime_mod_CFLAGS): Likewise.
21811 (datetime_mod_LDFLAGS): Likewise.
21812 (date_mod_SOURCES): Likewise.
21813 (date_mod_CFLAGS): Likewise.
21814 (date_mod_LDFLAGS): Likewise.
21815 (datehook_mod_SOURCES): Likewise.
21816 (datehook_mod_CFLAGS): Likewise.
21817 (datehook_mod_LDFLAGS): Likewise.
21818
21819 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
21820
21821 * commands/date.c: New file.
21822
21823 * hook/datehook.c: Likewise.
21824
21825 * include/grub/lib/datetime.h: Likewise.
21826
21827 * include/grub/i386/cmos.h: Likewise.
21828
21829 * lib/datetime.c: Likewise.
21830
21831 * lib/i386/datetime.c: Likewise.
21832
21833 * lib/efi/datetime.c: Likewise.
21834
0e9242da 218352008-08-14 Robert Millan <rmh@aybabtu.com>
21836
21837 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
21838 (grub_mkelfimage_SOURCES): New variable.
21839 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
21840
21841 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
21842 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
21843 * conf/powerpc-ieee1275.rmk: Likewise.
21844 * conf/i386-ieee1275.rmk: Likewise.
21845
21846 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
21847 * kern/i386/coreboot/init.c: Likewise.
21848
21849 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
21850 with `<grub/cpu/kernel.h>'.
21851 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
21852 to ...
21853 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
21854 * kern/i386/coreboot/startup.S: Likewise.
21855
21856 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
21857 (GRUB_MOD_GAP): Remove.
21858 * include/grub/powerpc/kernel.h: New file.
21859 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
21860 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
21861 * include/grub/i386/kernel.h: New file.
21862 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
21863 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
21864 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
21865
21866 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
21867 `grub-mkelfimage'.
21868 Use --directory when invoking grub_mkimage.
21869
21870 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
21871 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
21872 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
21873 and GRUB_KERNEL_CPU_PREFIX.
21874
b86408f8 218752008-08-14 Felix Zielcke <fzielcke@z-51.de>
21876
d5e619ca 21877 * include/grub/err.h (grub_err_printf): New function prototype.
21878 * util/misc.c (grub_err_printf): New function.
21879 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
21880 grub_printf.
21881 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 21882
7161f0e0 218832008-08-13 Robert Millan <rmh@aybabtu.com>
21884
21885 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
21886
a1967522 218872008-08-13 Robert Millan <rmh@aybabtu.com>
21888
21889 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
21890 boot entry.
21891
371458b5 218922008-08-12 Robert Millan <rmh@aybabtu.com>
21893
21894 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
21895 of the relocation code from here ...
21896 (grub_multiboot): ... to here.
21897 (forward_relocator, backward_relocator): Move from here ...
21898 * kern/i386/loader.S (grub_multiboot_forward_relocator)
21899 (grub_multiboot_backward_relocator): ... to here.
21900 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
21901 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
21902 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
21903 (grub_multiboot_forward_relocator_end)
21904 (grub_multiboot_backward_relocator)
21905 (grub_multiboot_backward_relocator_end): New variables.
21906
05f9452b 219072008-08-12 Bean <bean123ch@gmail.com>
21908
21909 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
21910
20024ab0 219112008-08-11 Robert Millan <rmh@aybabtu.com>
21912
21913 * kern/i386/linuxbios/startup.S: Move from here ...
21914 * kern/i386/coreboot/startup.S: ... to here.
21915
21916 * kern/i386/linuxbios/init.c: Move from here ...
21917 * kern/i386/coreboot/init.c: ... to here.
21918
21919 * kern/i386/linuxbios/table.c: Move from here ...
21920 * kern/i386/coreboot/mmap.c: ... to here.
21921
21922 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
21923
e352e9cd 219242008-08-11 Robert Millan <rmh@aybabtu.com>
21925
21926 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
21927 errors. Leave it to the upper layer to handle them.
21928
2d05bc6a 219292008-08-09 Christian Franke <franke@computer.org>
21930
21931 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
21932 * conf/common.rmk: Install `grub-pe2elf' only if requested.
21933 Install `grub.d/10_windows' only on Cygwin.
21934 * configure.ac: Add subst of `target_os'.
21935 Check `target_os' also before setting TARGET_OBJ2ELF.
21936 Add `--enable-grub-pe2elf'.
21937
042bd419 219382008-08-08 Robert Millan <rmh@aybabtu.com>
21939
21940 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
21941 (grub_last_time): Change type to grub_uint64_t.
21942 (grub_disk_open): Migrate code from to using grub_get_time_ms().
21943 (grub_disk_close): Likewise.
21944
21945 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
21946 (run_menu): Migrate code from to using grub_get_time_ms().
21947
21948 * util/misc.c (grub_get_time_ms): New function.
21949
7f280db5 219502008-08-08 Marco Gerards <marco@gnu.org>
21951
21952 * disk/ata.c (grub_ata_regget): Change return type to
21953 `grub_uint8_t'.
21954 (grub_ata_regget2): Likewise.
21955 (grub_ata_wait_status): New function.
21956 (grub_ata_wait_busy): Removed function, updated all users to use
21957 `grub_ata_wait_status'.
21958 (grub_ata_wait_drq): Likewise.
21959 (grub_ata_cmd): New function.
21960 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
21961 error handling.
21962 (grub_ata_pio_write): Add error handling.
21963 (grub_atapi_identify): Likewise.
21964 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
21965 handling.
21966 (grub_ata_identify): Use `grub_ata_cmd' and improve error
21967 handling. Actually use the detected registers. Reorder the
21968 detection logic such that it is easier to read.
21969 (grub_ata_pciinit): Do not assign the same ID to each controller.
21970 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
21971 handling.
21972 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
21973
21974 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
21975
1fbc5e66 219762008-08-08 Marco Gerards <marco@gnu.org>
21977
21978 * NEWS: Update.
21979
819ce6c0 219802008-08-07 Bean <bean123ch@gmail.com>
21981
21982 * include/grub/x86_64/pci.h: New file.
21983
5c41d44d 219842008-08-07 Christian Franke <franke@computer.org>
21985
21986 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
21987 (TIMER2_GATE): Likewise.
21988 (grub_pit_wait): Add enable/disable of the timer2 gate
21989 bit of port 0x61. This fixes a possible infinite loop.
21990
5ebc275d 219912008-08-07 Bean <bean123ch@gmail.com>
21992
21993 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
21994 kern/i386/tsc.c and kern/i386/pit.c.
21995
21996 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
21997 x86_64 platform.
21998
21999 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
22000 <grub/i386/tsc.h>.
22001
22002 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
22003
e383b3d0 220042008-08-07 Bean <bean123ch@gmail.com>
22005
22006 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
22007
22008 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
22009
22010 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
22011 multiple inclusion. Add #include <grub/types.h>.
22012
1cbb58ac 220132008-08-06 Christian Franke <franke@computer.org>
22014
22015 * conf/common.rmk: Build and install `10_windows'.
22016 * util/grub.d/10_windows.in: New script.
22017
337f5a1e 220182008-08-06 Pavel Roskin <proski@gnu.org>
22019
22020 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
22021
057bc4ac 220222008-08-06 Robert Millan <rmh@aybabtu.com>
22023
22024 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
22025 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
22026
2b99f123 220272008-08-06 Bean <bean123ch@gmail.com>
22028
22029 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
22030 (grub_pxefs_fs_int): Remove dummy definition.
22031 (grub_pxefs_open): Use data->block_size to store the current block
22032 size setting.
22033 (grub_pxefs_read): Use block size stored in data->block_size. As the
22034 value of grub_pxe_blksize can be changed after the file is opened.
22035
9f0234cb 220362008-08-06 Bean <bean123ch@gmail.com>
22037
22038 * fs/i386/pc/pxe.c (curr_file): new variable.
22039 (grub_pxefs_open): Simply the handling of pxe file system. Don't
22040 require the dummy internal file system anymore.
22041 (grub_pxefs_read): Removed.
22042 (grub_pxefs_close): Likewise.
22043 (grub_pxefs_fs_int): Likewise.
22044 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
22045 connection when we switch file.
22046 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
22047
a55d42e0 220482008-08-06 Robert Millan <rmh@aybabtu.com>
22049
22050 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
22051 `halt.mod'.
22052 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
22053 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
22054
22055 * kern/i386/halt.c: New file.
22056 * kern/i386/reboot.c: Likewise.
22057 * include/grub/i386/reboot.h: Likewise.
22058 * include/grub/i386/halt.h: Likewise.
22059
22060 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
22061 Include `<grub/cpu/halt.h>'.
22062 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
22063 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
22064
22065 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
22066 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
22067 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
22068 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
22069 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
22070 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
22071 from here ...
22072 * include/grub/i386/at_keyboard.h: ... to here.
22073
24371d26 220742008-08-05 Robert Millan <rmh@aybabtu.com>
22075
22076 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
22077 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
22078 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
22079 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
22080 `kern/generic/millisleep.c'.
22081
22082 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
22083 instead of grub_get_rtc().
22084 (grub_tsc_init): Initialize `tsc_boot_time'.
22085
22086 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
22087 (grub_machine_init): Use grub_tsc_init() rather than
22088 installing an RTC-based handler via grub_install_get_time_ms().
22089
22090 * kern/i386/pit.c: New file.
22091 * include/grub/i386/pit.h: Likewise.
22092
9e7007b3 220932008-08-05 Bean <bean123ch@gmail.com>
22094
22095 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
22096
22097 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
22098 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
22099 (pxe_mod_SOURCES): New macro.
22100 (pxe_mod_CFLAGS): Likewise.
22101 (pxe_mod_LDFLAGS): Likewise.
22102 (pxecmd_mod_SOURCES): Likewise.
22103 (pxecmd_mod_CFLAGS): Likewise.
22104 (pxecmd_mod_LDFLAGS): Likewise.
22105
22106 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
22107 (grub_pxe_call): Likewise.
22108
22109 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
22110
22111 * commands/i386/pc/pxecmd.c: New file.
22112
9f0234cb 22113 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 22114
22115 * include/grub/i386/pc/pxe.h: Likewise.
22116
6977d49f 221172008-08-05 Bean <bean123ch@gmail.com>
22118
22119 * util/console.c (grub_console_cur_color): New variable.
22120 (grub_console_standard_color): Likewise.
22121 (grub_console_normal_color): Likewise.
22122 (grub_console_highlight_color): Likewise.
22123 (color_map): Likewise.
22124 (use_color): Likewise.
22125 (NUM_COLORS): New macro.
22126 (grub_ncurses_setcolorstate): Handle color properly.
22127 (grub_ncurses_setcolor): Don't change color here, just remember the
22128 settings, color will be set in grub_ncurses_setcolorstate.
22129 (grub_ncurses_getcolor): New function.
22130 (grub_ncurses_init): Initialize color pairs.
22131 (grub_ncurses_term): New member grub_ncurses_getcolor.
22132
9c2ff3ee 221332008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 22134
9c2ff3ee 22135 High resolution timer support. Implemented for x86 CPUs using TSC.
22136 Extracted generic grub_millisleep() so it's linked in only as needed.
22137 This requires a Pentium compatible CPU; if the RDTSC instruction is
22138 not supported, then it falls back on the generic grub_get_time_ms()
22139 implementation that uses the machine's RTC.
22140
22141 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
22142 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
22143 `kern/generic/millisleep.c'.
22144
22145 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
22146 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
22147
22148 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
22149 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
22150
22151 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
22152
22153 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
22154 `kern/generic/millisleep.c'.
22155
22156 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
22157
22158 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
22159
22160 * kern/generic/rtc_get_time_ms.c: New file.
22161
22162 * kern/generic/millisleep.c: New file.
337f5a1e 22163
9c2ff3ee 22164 * kern/misc.c: Don't include
22165 <kern/time.h> anymore.
22166 (grub_millisleep_generic): Removed.
22167
22168 * commands/sleep.c (grub_interruptible_millisleep): Uses
22169 grub_get_time_ms() instead of grub_get_rtc().
22170
22171 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
22172 function.
22173 (grub_cpu_is_cpuid_supported): New inline function.
22174 (grub_cpu_is_tsc_supported): New inline function.
22175 (grub_tsc_init): New function prototype.
22176 (grub_tsc_get_time_ms): New function prototype.
22177
22178 * kern/i386/tsc.c (grub_get_time_ms): New file.
22179
22180 * include/grub/time.h: Include <grub/types.h.
22181 (grub_millisleep_generic): Removed.
22182 (grub_get_time_ms): New prototype.
22183 (grub_install_get_time_ms): New prototype.
22184 (grub_rtc_get_time_ms): New prototype.
22185
22186 * kern/time.c (grub_get_time_ms): New function.
22187 (grub_install_get_time_ms): New function.
22188
22189 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
22190 <grub/time.h> anymore.
22191 (grub_millisleep): Removed.
22192 (grub_machine_init): Call grub_tsc_init.
22193
22194 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
22195 get_time_ms() implementation.
22196
22197 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
22198 (ieee1275_get_time_ms): New function.
22199 (grub_machine_init): Install get_time_ms() implementation.
22200
22201 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
22202 (grub_machine_init): Call grub_tsc_init().
22203 (grub_millisleep): Removed.
bf06a93f 22204
9c2ff3ee 22205 * kern/ieee1275/init.c (grub_millisleep): Removed.
22206 (grub_machine_init): Install ieee1275_get_time_ms()
22207 implementation.
22208 (ieee1275_get_time_ms): New function.
22209 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
22210 real work.
22211
9ec92aaf 222122008-08-05 Marco Gerards <marco@gnu.org>
22213
22214 * disk/ata.c: Include <grub/pci.h>.
22215 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
22216 (grub_ata_initialize): Rewritten.
22217 (grub_ata_device_initialize): New function.
22218
8d23f507 222192008-08-04 Pavel Roskin <proski@gnu.org>
22220
22221 * kern/main.c: Include grub/mm.h.
22222
5e15ee3d 222232008-08-04 Robert Millan <rmh@aybabtu.com>
22224
22225 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
22226 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
22227 corruption problem).
22228
a9053f8f 222292008-08-04 Robert Millan <rmh@aybabtu.com>
22230
22231 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
22232 warnings introduced in my last commit.
22233
dd19c7d7 222342008-08-03 Robert Millan <rmh@aybabtu.com>
22235
22236 Make PCI available on all i386 architectures.
22237
22238 * include/grub/i386/pc/pci.h: Move from here ...
22239 * include/grub/i386/pci.h: ... to here.
22240
22241 * include/grub/i386/pc/pci.h: Remove.
22242 * include/grub/i386/efi/pci.h: Remove.
22243 * include/grub/x86_64/efi/pci.h: Remove.
22244
22245 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
22246 `<grub/cpu/pci.h>'.
22247
22248 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
22249 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
22250 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
22251
22252 * conf/i386-ieee1275.rmk: Likewise.
22253
e14a6184 222542008-08-03 Robert Millan <rmh@aybabtu.com>
22255
22256 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
22257 (grub_console_setcursor): Make it possible to set cursor off.
22258
52768e37 222592008-08-03 Robert Millan <rmh@aybabtu.com>
22260
22261 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
22262 of modules instead of assuming which platform provides what.
22263 * util/update-grub.in: Likewise.
22264
2d52f57f 222652008-08-03 Robert Millan <rmh@aybabtu.com>
22266
22267 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
22268 instead of `grub_install_dos_part' to determine whether a drive needs
22269 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 22270 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 22271
2a5cd121 222722008-08-02 Robert Millan <rmh@aybabtu.com>
22273
22274 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
22275
93808428 222762008-08-02 Robert Millan <rmh@aybabtu.com>
22277
22278 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
22279 of informational grub_dprintf() calls.
22280
3bd0a12a 222812008-08-02 Robert Millan <rmh@aybabtu.com>
22282
22283 * disk/memdisk.c (memdisk_size): Don't initialize.
22284 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
22285
22286 * include/grub/i386/pc/kernel.h
22287 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
22288 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
22289 (grub_memdisk_image_size, grub_arch_memdisk_addr)
22290 (grub_arch_memdisk_size): Remove.
22291
22292 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
22293 field (was only used to transfer a constant). Add `type' field to
22294 support multiple module types.
22295 (grub_module_iterate): New function.
22296
22297 * kern/device.c (grub_device_open): Do not hide error messages
22298 when grub_disk_open() fails. Use grub_print_error() instead.
22299
22300 * kern/i386/pc/init.c (grub_arch_modules_addr)
22301 (grub_arch_memdisk_size): Remove functions.
22302 (grub_arch_modules_addr): Return the module address in high memory
22303 (now that it isn't copied anymore).
22304
22305 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
22306 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
22307 decompression routine (grub_total_module_size already includes that
22308 now). Don't copy modules back to low memory.
22309
22310 * kern/main.c: Include `<grub/mm.h>'.
22311 (grub_load_modules): Split out (and use) ...
22312 (grub_module_iterate): ... this function, which iterates through
22313 module objects and runs a hook.
22314 Comment out grub_mm_init_region() call, as it would cause non-ELF
22315 modules to be overwritten.
22316
22317 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
22318 the memdisk image in its own region, make it part of the module list.
22319 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
22320 (main): Parse --memdisk|-m option, and pass user-provided path as
22321 parameter to generate_image().
22322 (add_segments): Pass `memdisk_path' down to load_modules().
22323 (load_modules): Embed memdisk image in module section when requested.
22324 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
22325 `header.type' instead of `header.offset'.
22326
22327 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
22328 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
22329 (memdisk_mod_LDFLAGS): New variables.
22330 * conf/i386-coreboot.rmk: Likewise.
22331 * conf/i386-ieee1275.rmk: Likewise.
22332
a927cc73 223332008-08-02 Robert Millan <rmh@aybabtu.com>
22334
22335 * loader/i386/pc/multiboot.c (playground, forward_relocator)
22336 (backward_relocator): New variables. Used to allocate and relocate
22337 the payload, respectively.
22338 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 22339 address, install the appropriate relocator code in each bound of
a927cc73 22340 the payload, and set the entry point such that
22341 grub_multiboot_real_boot() will jump to one of them.
22342
22343 * kern/i386/loader.S (grub_multiboot_payload_size)
22344 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
22345 (grub_multiboot_payload_entry_offset): New variables.
22346 (grub_multiboot_real_boot): Set cpu context to what the relocator
22347 expects, and jump to the relocator instead of the payload.
22348
22349 * include/grub/i386/loader.h (grub_multiboot_payload_size)
22350 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
22351 (grub_multiboot_payload_entry_offset): Export.
22352
b15d8a0c 223532008-08-01 Bean <bean123ch@gmail.com>
22354
22355 * normal/menu_entry.c (editor_getline): Don't return the original
22356 string as result, as it will be released by lexer once it has done
22357 using it.
22358
cdfb3d22 223592008-08-01 Robert Millan <rmh@aybabtu.com>
22360
22361 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
22362 within menuentries, not before them.
22363 util/grub.d/10_hurd.in: Likewise.
22364
9175e93d 223652008-08-01 Bean <bean123ch@gmail.com>
22366
22367 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
22368 (bufio_mod_SOURCES): New macro.
22369 (bufio_mod_CFLAGS): Likewise.
22370 (bufio_mod_LDFLAGS): Likewise.
22371
22372 * include/grub/bufio.h: New file.
22373
22374 * io/bufio.c: Likewise.
22375
22376 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
22377 (grub_video_reader_png): Use grub_buffile_open to open file.
22378
22379 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
22380 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
22381
22382 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
22383 (grub_video_reader_tga): Use grub_buffile_open to open file.
22384
22385 * font/manager.c: Include <grub/bufio.h>.
22386 (add_font): Use grub_buffile_open to open file.
22387
3d8383e7 223882008-07-31 Robert Millan <rmh@aybabtu.com>
22389
22390 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
22391 ELF segments, use a macro for arbitrarily accessing any of them instead
22392 of preparing a pointer that allows access to one at a time.
22393 (grub_multiboot_load_elf64): Likewise.
22394
16e641b6 223952008-07-31 Bean <bean123ch@gmail.com>
22396
22397 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
22398 GRUB_KERNEL_MACHINE_DATA_END.
22399
59198b72 224002008-07-30 Robert Millan <rmh@aybabtu.com>
22401
22402 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
22403 Increase from 0x50 to 0x60.
22404 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
22405 use UUIDs to identify the root drive for them. If that's not
22406 possible, abort.
22407 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
22408 check, for cross-disk installs.
22409
ae88bca3 224102008-07-30 Robert Millan <rmh@aybabtu.com>
22411
22412 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
22413 is non-empty, use it to set the `prefix' environment variable instead
22414 of the usual approach.
22415 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
22416 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
22417 environment variable instead of dummy make_install_device().
22418
22419 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
22420 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 22421 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 22422
22423 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
22424 New variable reference.
22425 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
22426 New macro. Defines offset of `grub_prefix' within startup.S (relative
22427 to `start').
22428 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
22429 section within startup.S (relative to `start').
22430 * include/grub/i386/coreboot/kernel.h: Likewise.
22431
22432 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
22433 Overwrite grub_prefix with its contents, at the beginning of the
22434 first segment.
22435 (main): Understand -p|--prefix.
22436
14f41dd1 224372008-07-30 Robert Millan <rmh@aybabtu.com>
22438
22439 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
22440
4ca049a3 224412008-07-30 Robert Millan <rmh@aybabtu.com>
22442
22443 * term/i386/pc/vga_text.c (grub_console_cls): Use
22444 grub_console_gotoxy() to go back to beginning of the screen.
22445 Found by Patrick Georgi <patrick.georgi@coresystems.de>
22446
2921d337 224472008-07-29 Christian Franke <franke@computer.org>
22448
22449 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
22450 Add conversion of emulated mount points on Cygwin.
22451
b609876d 224522008-07-29 Christian Franke <franke@computer.org>
22453
22454 * util/update-grub.in: Add a check for admin
22455 group on Cygwin.
22456 Remove old `grub.cfg.new' before creation.
22457 Add `-f' to `mv' to handle the different filesystem
22458 semantics of Windows.
22459
e93e4679 224602008-07-29 Bean <bean123ch@gmail.com>
22461
22462 * normal/main.c (get_line): Fix buffer overflow bug.
22463
41694fd0 224642008-07-28 Robert Millan <rmh@aybabtu.com>
22465
22466 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
22467 (struct grub_apple_header): New struct. Describes the layout of
22468 the partmap header.
22469 (apple_partition_map_iterate): Check the header magic as well as the
22470 partition magic (which was already being checked).
22471
cfd0b4e6 224722008-07-28 Pavel Roskin <proski@gnu.org>
22473
22474 * genmk.rb: Add a warning to the beginning of the output that
22475 it's a generated file and should not be edited.
22476
93cce016 224772008-07-28 Robert Millan <rmh@aybabtu.com>
22478
22479 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
22480 with the same number are found, just use issue a warning with
22481 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 22482
cd1df915 224832008-07-27 Robert Millan <rmh@aybabtu.com>
22484
22485 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
22486 information.
22487
b70a8427 224882008-07-27 Bean <bean123ch@gmail.com>
22489
22490 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
22491 (grub_fat_find_dir): Ignore case when comparing filename.
22492
8f5e379f 224932008-07-27 Bean <bean123ch@gmail.com>
22494
22495 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
22496 smallino, as it's more descriptive, and i8count can be confused with
22497 the other field count.
22498 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
22499 inode type.
22500
a85cd5a0 225012008-07-27 Bean <bean123ch@gmail.com>
22502
22503 * commands/crc.c: New file.
22504
22505 * lib/crc.c: Likewise.
22506
22507 * include/grub/lib/crc.h: Likewise.
22508
22509 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
22510
22511 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
22512 (hexdump): Move this function to ...
22513
22514 * lib/hexdump.c: ... here.
22515
22516 * include/grub/hexdump.h: Renamed to ...
22517
22518 * include/grub/lib/hexdump.h: ... this.
22519
22520 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
22521
22522 * util/grub-editenv.c: Likewise.
22523
22524 * include/envblk.h: Renamed to ...
22525
22526 * include/lib/envblk.h: ... this.
22527
22528 * util/envblk.c: Renamed to ...
22529
22530 * lib/envblk.c: ... this.
22531
22532 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
22533 lib/hexdump.c.
22534 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
22535 (pkglib_MODULES): Add crc.mod.
22536 (hexdump_mod_SOURCES): Add lib/hexdump.c.
22537 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
22538 (crc_mod_SOURCES): New macro.
22539 (crc_mod_CFLAGS): Likewise.
22540 (crc_mod_LDFLAGS): Likewise.
22541
22542 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
22543
22544 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22545
22546 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22547
22548 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22549
22550 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22551
c298def0 225522008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 22553
22554 * commands/help.c: Include <grub/term.h>.
22555 (TERM_WIDTH): Removed. Updated all users.
22556
cc349fb3 225572008-07-27 Pavel Roskin <proski@gnu.org>
22558
22559 * util/getroot.c (find_root_device): Rephrase a comment to avoid
22560 spurious warnings about a comment within a comment.
22561
9051607e 225622008-07-25 Robert Millan <rmh@aybabtu.com>
22563
22564 * util/getroot.c (find_root_device): Skip devices that match
22565 /dev/dm-[0-9]. This lets the real device be found for any type of
22566 abstraction (LVM, EVMS, RAID..).
22567 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
22568 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
22569 device is found first, find_root_device() will now skip it.
22570
01453bfc 225712008-07-24 Pavel Roskin <proski@gnu.org>
22572
22573 * include/grub/types.h: Use __builtin_bswap32() and
22574 __builtin_bswap64() with gcc 4.3 and newer.
22575
6af9849f 225762008-07-24 Christian Franke <franke@computer.org>
22577
3a0fa256 22578 * util/i386/pc/grub-install.in: If `--debug' is specified,
22579 pass `--verbose' to grub-setup.
22580 Abort script if make_system_path_relative_to_its_root() fails.
22581
7810e747 225822008-07-24 Bean <bean123ch@gmail.com>
22583
22584 * configure.ac: Fixed a bug caused by the previous cygwin patch,
22585 variable `target_platform' should be `platform'.
22586
42290e17 225872008-07-24 Bean <bean123ch@gmail.com>
22588
51cc5193 22589 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 22590 (grub_png_init_fixed_block): New function.
22591 (grub_png_decode_image_data): Handle fixed huffman code compression.
22592
2a8a80e4 225932008-07-24 Bean <bean123ch@gmail.com>
22594
22595 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
22596 (grub_pe2elf_SOURCES): New macro.
22597 (CLEANFILES): Add grub-pe2elf.
22598
22599 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
22600 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
22601 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
22602 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
22603 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
22604 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
22605 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
22606 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
22607 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
22608 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
22609 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
22610 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
22611 (GRUB_PE32_DT_FUNCTION): Likewise.
22612 (GRUB_PE32_REL_I386_DIR32): Likewise.
22613 (GRUB_PE32_REL_I386_REL32): Likewise.
22614 (grub_pe32_symbol): New structure.
22615 (grub_pe32_reloc): Likewise.
22616
22617 * util/grub-pe2elf.c: New file.
22618
22619 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
22620 start symbol in non pc platform.
22621
22622 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
22623
22624 The following patches are from Christian Franke.
22625
22626 * include/grub/dl.h: Remove .previous, gas supports this only
22627 for ELF format.
22628
22629 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
22630 Remove .type, gas supports this only for ELF format.
22631
22632 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
22633 nullbytes in symbol table. This fixes an infinite loop if table is
22634 zero filled.
22635
22636 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
22637 TARGET_IMG_LDFLAGS and EXEEXT.
22638
22639 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
22640 TARGET_IMG_LDFLAGS_AC.
22641 (grub_CHECK_STACK_ARG_PROBE): New function.
22642
22643 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
22644
22645 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
22646
22647 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
22648 to set TARGET_IMG_LD* accordingly.
22649 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
22650 Add call to grub_CHECK_STACK_ARG_PROBE.
22651 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
22652
22653 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
22654
22655 * genmk.rb: Add EXEEXT to CLEANFILES.
22656
12ccdb75 226572008-07-23 Robert Millan <rmh@aybabtu.com>
22658
22659 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
22660 define the codes for arrows and lines used for the menu).
22661 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
22662 as well.
22663
22664 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
22665 fonts, because the latter are too slow.
22666
18eeaf04 226672008-07-21 Bean <bean123ch@gmail.com>
22668
22669 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
22670 a20. Run keyboard test last, as it will cause macbook to halt.
22671
b095e2ad 226722008-07-18 Pavel Roskin <proski@gnu.org>
22673
22674 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
22675 load foreign architecture modules correctly anyway. Keep
22676 support for loading host architecture modules, whether we
22677 compile them or not.
22678
737feb35 226792008-07-17 Pavel Roskin <proski@gnu.org>
22680
3f4ce737 22681 * configure.ac: Use -m32 or -m64 regardless of whether we had to
22682 change target_cpu. The compiler default can mismatch target_cpu
22683 in any case.
22684
4ad2d049 22685 * disk/efi/efidisk.c: Fix format warnings on x86_64.
22686 * kern/efi/efi.c: Likewise.
22687
f6130a12 22688 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
22689 target compiler is functional.
22690 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
22691 are set up.
22692
58393a2d 22693 * configure.ac: Default to efi platform for x86_64-apple. Allow
22694 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
22695 adjustments from the rest, only do them if target is not
22696 explicitly given. Merge other adjustments with the final sanity
22697 check. Remove an extraneous check for supported CPU. Be
22698 specific which CPU and which platform is not supported.
22699
737feb35 22700 * configure.ac: Default to pc platform for x86_64.
22701
546f966a 227022008-07-17 Robert Millan <rmh@aybabtu.com>
22703
22704 Partial LinuxBIOS -> Coreboot rename.
22705
22706 * conf/i386-linuxbios.rmk: Renamed to ...
22707 * conf/i386-coreboot.rmk: ... this.
22708 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
22709 * configure.ac: Accept "coreboot" as input platform (but maintain
22710 compatibility with "linuxbios").
22711 * include/grub/i386/linuxbios: Renamed to ...
22712 * include/grub/i386/coreboot: ... this.
22713
20011694 227142008-07-17 Bean <bean123ch@gmail.com>
22715
22716 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 22717 (appleldr_mod_SOURCE): New variable.
20011694 22718 (appleldr_mod_CFLAGS): Likewise.
22719 (appleldr_mod_LDFLAGS): Likewise.
22720 (pci_mod_SOURCES): Likewise.
22721 (pci_mod_CFLAGS): Likewise.
22722 (pci_mod_LDFLAGS): Likewise.
22723 (lspci_mod_SOURCES): Likewise.
22724 (lspci_mod_CFLAGS): Likewise.
22725 (lspci_mod_LDFLAGS): Likewise.
22726
22727 * conf/x86_64-efi.rmk: New file.
22728
22729 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
22730 macro.
22731 (grub_efidisk_write): Likewise.
22732
22733 * include/efi/api.h (efi_call_0): New macro.
22734 (efi_call_1): Likewise.
22735 (efi_call_2): Likewise.
22736 (efi_call_3): Likewise.
22737 (efi_call_4): Likewise.
22738 (efi_call_5): Likewise.
22739 (efi_call_6): Likewise.
22740
22741 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
22742 grub_rescue_cmd_chainloader.
22743
22744 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
22745 (grub_pe32_optional_header): Change some fields based on i386 or
22746 x86_64 platform.
22747 (GRUB_PE32_PE32_MAGIC): Likewise.
22748
22749 * include/grub/efi/uga_draw.h: New file.
22750
22751 * include/grub/elf.h (STN_ABS): New constant.
22752 (R_X86_64_NONE): Relocation constant for x86_64.
22753 (R_X86_64_64): Likewise.
22754 (R_X86_64_PC32): Likewise.
22755 (R_X86_64_GOT32): Likewise.
22756 (R_X86_64_PLT32): Likewise.
22757 (R_X86_64_COPY): Likewise.
22758 (R_X86_64_GLOB_DAT): Likewise.
22759 (R_X86_64_JUMP_SLOT): Likewise.
22760 (R_X86_64_RELATIVE): Likewise.
22761 (R_X86_64_GOTPCREL): Likewise.
22762 (R_X86_64_32): Likewise.
22763 (R_X86_64_32S): Likewise.
22764 (R_X86_64_16): Likewise.
22765 (R_X86_64_PC16): Likewise.
22766 (R_X86_64_8): Likewise.
22767 (R_X86_64_PC8): Likewise.
22768
22769 * include/grub/i386/efi/pci.h: New file.
22770
22771 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
22772 Change it value based on platform.
22773 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
22774 (GRUB_E820_RAM): Likewise.
22775 (GRUB_E820_RESERVED): Likewise.
22776 (GRUB_E820_ACPI): Likewise.
22777 (GRUB_E820_NVS): Likewise.
22778 (GRUB_E820_EXEC_CODE): Likewise.
22779 (GRUB_E820_MAX_ENTRY): Likewise.
22780 (grub_e820_mmap): New structure.
22781 (linux_kernel_header): Change the efi field according to different
22782 kernel version, also field from linux_kernel_header.
22783
22784 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
22785
22786 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
22787 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
22788 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
22789 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
22790 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
22791 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
22792 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
22793 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
22794 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
22795 (GRUB_PCI_ADDR_IO_MASK): Likewise.
22796
22797 * include/grub/x86_64/efi/kernel.h: New file.
22798
22799 * include/grub/x86_64/efi/loader.h: Likewise.
22800
22801 * include/grub/x86_64/efi/machine.h: Likewise.
22802
22803 * include/grub/x86_64/efi/pci.h: Likewise.
22804
22805 * include/grub/x86_64/efi/time.h: Likewise.
22806
22807 * include/grub/x86_64/linux.h: Likewise.
22808
22809 * include/grub/x86_64/setjmp.h: Likewise.
22810
22811 * include/grub/x86_64/time.h: Likewise.
22812
22813 * include/grub/x86_64/types.h: Likewise.
22814
22815 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
22816 GRUB_TARGET_SIZEOF_VOID_P.
22817
22818 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
22819 (grub_efi_locate_handle): Likewise.
22820 (grub_efi_open_protocol): Likewise.
22821 (grub_efi_set_text_mode): Likewise.
22822 (grub_efi_stall): Likewise.
22823 (grub_exit): Likewise.
22824 (grub_reboot): Likewise.
22825 (grub_halt): Likewise.
22826 (grub_efi_exit_boot_services): Likewise.
22827 (grub_get_rtc): Likewise.
22828
22829 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
22830 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
22831 (grub_efi_allocate_pages): Wrap efi calls.
22832 (grub_efi_free_pages): Wrap efi calls.
22833 (grub_efi_get_memory_map): Wrap efi calls.
22834
22835 * kern/x86_64/dl.c: New file.
22836
22837 * kern/x86_64/efi/callwrap.S: Likewise.
22838
22839 * kern/x86_64/efi/startup.S: Likewise.
22840
22841 * loader/efi/appleloader.c: Likewise.
22842
22843 * loader/efi/chainloader.c (cmdline): New variable.
22844 (grub_chainloader_unload): Wrap efi calls.
22845 (grub_chainloader_boot): Likewise.
22846 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
22847 command line.
22848
22849 * loader/efi/chainloader_normal.c (chainloader_command):
22850 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
22851 command line.
22852
22853 * loader/i386/efi/linux.c (allocate_pages): Change allocation
22854 method.
22855 (grub_e820_add_region): New function.
22856 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
22857 booting.
22858 (grub_find_video_card): New function.
22859 (grub_linux_setup_video): New function.
22860 (grub_rescue_cmd_linux): Probe for video information.
22861
22862 * normal/x86_64/setjmp.S: New file.
22863
22864 * term/efi/console.c (map_char): New function.
22865 (grub_console_putchar): Map unicode char.
22866 (grub_console_checkkey): Wrap efi calls.
22867 (grub_console_getkey): Likewise.
22868 (grub_console_getwh): Likewise.
22869 (grub_console_gotoxy): Likewise.
22870 (grub_console_cls): Likewise.
22871 (grub_console_setcolorstate): Likewise.
22872 (grub_console_setcursor): Likewise.
22873
22874 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
22875
59652a20 228762008-07-16 Pavel Roskin <proski@gnu.org>
22877
ef294055 22878 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
22879 format strings.
22880
59652a20 22881 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
22882 pointer, not an integer. This fixes a warning and prevents
22883 precision loss on 64-bit systems.
22884 (relocate_addresses): Remove unneeded cast.
22885
afc3b5d7 228862008-07-15 Pavel Roskin <proski@gnu.org>
22887
506b2b3e 22888 * kern/i386/ieee1275/init.c: Include grub/cache.h.
22889
62ead89c 22890 * term/ieee1275/ofconsole.c: Disable code unused on i386.
22891
c4cd51d7 22892 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
22893 Fix comparison between signed and unsigned.
22894
0d3d8f28 22895 * include/grub/i386/ieee1275/console.h: Declare
22896 grub_console_init() and grub_console_fini().
22897
8804b286 22898 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
22899 It's empty and unused.
22900
ee01cf35 22901 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
22902 beginning to avoid warnings with some compilers.
22903
afc3b5d7 22904 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
22905 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
22906
e4e8eaa5 229072008-07-14 Pavel Roskin <proski@gnu.org>
22908
407aceb4 22909 * kern/env.c (grub_register_variable_hook): Don't copy empty
22910 string, it leaks memory. Pass "" to grub_env_set(), it should
22911 handle constant strings.
22912
e4e8eaa5 22913 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
22914 * commands/cmp.c (grub_cmd_cmp): Likewise.
22915 * kern/dl.c (grub_dl_flush_cache): Likewise.
22916 (grub_dl_load_core): Likewise.
22917 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
22918 (grub_elf64_load_phdrs): Likewise.
22919
d4e2dad3 229202008-07-13 Pavel Roskin <proski@gnu.org>
22921
22922 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
22923 between signed and unsigned.
22924 (LzmaEnc_Finish): Fix warning about an unused parameter.
22925
aa24b516 229262008-07-13 Bean <bean123ch@gmail.com>
22927
22928 * Makefile.in (enable_lzo): New rule.
22929
22930 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
22931
22932 * configure.ac (ENABLE_LZO): New option --enable-lzo.
22933
22934 * boot/i386/pc/lnxboot.S: #include <config.h>.
22935
22936 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 22937 its value according to the compression algorithm used, lzo or lzma.
aa24b516 22938
22939 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
22940 compression algorithm according to configure macro.
22941
22942 * kern/i386/pc/startup.S (codestart): Likewise.
22943
22944 * kern/i386/pc/lzma_decode.S: New file.
22945
22946 * include/grub/lib/LzFind.h: Likewise.
22947
22948 * include/grub/lib/LzHash.h: Likewise.
22949
22950 * include/grub/lib/LzmaDec.h: Likewise.
22951
22952 * include/grub/lib/LzmaEnc.h: Likewise.
22953
22954 * include/grub/lib/LzmaTypes.h: Likewise.
22955
22956 * lib/LzFind.c: Likewise.
22957
22958 * lib/LzmaDec.c: Likewise.
22959
22960 * lib/LzmaEnc.c: Likewise.
22961
4ae821ac 229622008-07-13 Bean <bean123ch@gmail.com>
22963
22964 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
22965 (grub_ext4_extent_header): New structure.
22966 (grub_ext4_extent): Likewise.
22967 (grub_ext4_extent_idx): Likewise.
22968 (grub_ext4_find_leaf): New function.
22969 (grub_ext2_read_block): Handle extents.
22970
9a745147 229712008-07-12 Robert Millan <rmh@aybabtu.com>
22972
22973 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
22974
d49a4cf6 229752008-07-11 Robert Millan <rmh@aybabtu.com>
22976
22977 * util/grub.d/40_custom.in: New file. Example on how to add custom
22978 entries to /etc/grub.d.
22979 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
22980 40_custom (implicitly, by merging all the grub.d rules).
22981
947414b4 229822008-07-11 Pavel Roskin <proski@gnu.org>
22983
0059cf6f 22984 * commands/read.c (grub_getline): Fix invalid memory access.
22985 Don't add newline to the variable value.
22986
947414b4 22987 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
22988 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
22989 (serial_hw_get_port): Check validity of the port number.
22990 (grub_cmd_serial): Check return value of serial_hw_get_port().
22991
62a02d00 229922008-07-07 Pavel Roskin <proski@gnu.org>
22993
22994 * boot/i386/pc/diskboot.S (notification_string): Replace
22995 "Loading kernel" with just "loading". This is shorter, less
22996 confusing and saves a few bytes for possible future changes.
22997
3e5581b0 229982008-07-05 Pavel Roskin <proski@gnu.org>
22999
ea387a48 23000 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
23001 size for ATAPI devices, they are undefined. Output sector
23002 number in decimal form.
23003
3e5581b0 23004 * disk/ata.c: Use named constants for status bits.
23005
fdecb8fd 230062008-07-04 Pavel Roskin <proski@gnu.org>
23007
bcd35b90 23008 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
23009 grub_addr_t before casting it to the void pointer to fix a
23010 warning. Non-addressable regions are discarded earlier.
23011 (grub_arch_modules_addr): Cast _end to grub_addr_t.
23012 * kern/i386/linuxbios/table.c: Include grub/misc.h.
23013 (check_signature): Don't shadow table_header.
23014 (grub_linuxbios_table_iterate): Cast numeric constants to
23015 grub_linuxbios_table_header_t.
23016 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
23017 grub_stop().
23018
af58ab3d 23019 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
23020 prevent warnings.
23021
1759aa57 23022 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
23023 pointer, which can cause warnings. Support 64-bit addresses.
23024
fdecb8fd 23025 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
23026 of sizeof(long). This fixes PowerPC image generation on x86_64.
23027
8516d2a8 230282008-07-04 Robert Millan <rmh@aybabtu.com>
23029
23030 This fixes a performance issue when pc & gpt partmap iterators
23031 didn't abort iteration even after our hook found what it was
fe987087 23032 looking for (often causing expensive probes of non-existent drives).
8516d2a8 23033
23034 Some callers relied on previous buggy behaviour, since they would
34c44600 23035 raise an error when their own hooks caused early abortion of its
8516d2a8 23036 iteration.
23037
23038 * kern/device.c (grub_device_open): Improve error message.
23039 * disk/lvm.c (grub_lvm_open): Likewise.
23040 * disk/raid.c (grub_raid_open): Likewise.
23041
23042 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
23043 when hook requests it, independently of grub_errno.
23044 (pc_partition_map_probe): Do not fail when find_func() caused
23045 early abortion of pc_partition_map_iterate().
23046
23047 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
23048 when hook requests it, independently of grub_errno.
23049 (gpt_partition_map_probe): Do not fail when find_func() caused
23050 early abortion of gpt_partition_map_iterate().
23051
23052 * kern/partition.c (grub_partition_iterate): Abort parent iteration
23053 when hook requests it, independently of grub_errno. Do not fail when
23054 part_map_iterate_hook() caused early abortion of p->iterate().
23055
23056 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
23057 when grub_partition_iterate() returned with non-zero.
23058
277d0de9 230592008-07-03 Pavel Roskin <proski@gnu.org>
23060
23061 * disk/ata.c (grub_ata_pio_write): Check status before writing,
23062 like we do in grub_ata_pio_read().
23063 (grub_ata_readwrite): Always write individual sectors. Fix the
23064 sector count for the remainder.
23065 (grub_ata_write): Enable writing to ATA devices. Correctly
23066 report error for ATAPI devices.
23067
d4c9b428 230682008-07-02 Pavel Roskin <proski@gnu.org>
23069
e43fc690 23070 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
23071 warning.
23072
f707af42 23073 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
23074 for every read sector, we already increment it for the whole
23075 batch. This fixes reading more than 256 sectors at once.
23076
11e16b15 23077 * util/grub-editenv.c (cmd_info): Cast argument to long
23078 explicitly. ptrdiff_t reduces to int on i386.
23079
cbabfdd4 23080 * util/grub-editenv.c (main): Be specific which parameter is
23081 missing.
23082
b8fbce0a 23083 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
23084 (memdisk): Make memdisk_orig_addr a pointer.
23085
c9c8e606 23086 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
23087 for file offsets, use grub_off_t instead. Fix printf format
23088 warnings.
23089
ca62e598 23090 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
23091 there. Real unexpected warnings should not drown in the noise
23092 about known problems.
23093
ce8d1766 23094 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
23095 grub_disk_addr_t for memory addresses.
23096
00c7a56a 23097 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
23098 explicitly to fix a warning.
23099
08d3ef09 23100 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
23101
cb71ba20 23102 * Makefile.in (MODULE_LDFLAGS): New variable.
23103 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
23104 the linker accepts --build-id=none.
23105 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
23106 MODULE_LDFLAGS.
23107 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
23108
d4c9b428 23109 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
23110 those in Linux XFS code. Provide a way to access 64-bit parent
23111 inode.
23112 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
23113 the end of struct grub_xfs_dir_header.
23114
d4156eee 231152008-07-02 Bean <bean123ch@gmail.com>
23116
23117 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
23118 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
23119 and GRUB_IEEE1275_FLAG_NO_ANSI.
23120
23121 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
23122 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
23123 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
23124
23125 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
23126 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
23127
23128 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
23129 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
23130
23131 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
23132 esc sequence on non ANSI terminal.
23133 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
23134
23135 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
23136 beginning of file.
23137
2270f77b 231382008-07-02 Bean <bean123ch@gmail.com>
23139
23140 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
23141 (grub_editenv_SOURCES): New variable.
23142 (pkglib_MODULES): Add loadenv.mod.
23143 (loadenv_mod_SOURCES): New variable.
23144 (loadenv_mod_CFLAGS): Likewise.
23145 (loadenv_mod_LDFLAGS): Likewise.
23146
23147 * include/grub/envblk.h: New file.
23148
23149 * util/envblk.c: New file.
23150
23151 * util/grub-editenv.c: New file.
23152
23153 * commands/loadenv.c: New file.
23154
0e9e51ec 231552008-07-01 Pavel Roskin <proski@gnu.org>
23156
d89b7634 23157 * include/multiboot2.h (struct multiboot_tag_module): Use char,
23158 not unsigned char. This fixes warnings and is consistent with
23159 other tags.
23160
bf1835b1 23161 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
23162
8222a04b 23163 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
23164
6a42d99d 23165 * term/tparm.c (analyze): Always set *popcount.
23166
10b159d1 23167 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
23168 cast to fix a warning.
23169
b8789f6c 23170 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
23171 cast to suppress a warning.
23172
29d7e38a 23173 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
23174 grub_fshelp_read_file() expects.
23175
f341f669 23176 * fs/fat.c: Fix UUID calculation on big-endian systems. We
23177 write uuid as a 32-bit value in CPU byte order, so declare and
23178 use it as such.
23179
0e9e51ec 23180 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
23181 long if the format specifier expects it.
23182 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
23183 * partmap/pc.c (pc_partition_map_iterate): Likewise.
23184 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
23185 long to fix a warning.
23186 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
23187 grub_dprintf() arguments to fix warnings.
23188
3aefa857 231892008-06-30 Pavel Roskin <proski@gnu.org>
23190
56c7668b 23191 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
23192 install_bsd_part immediately before core.img is embedded or
23193 modified on disk. This fixes core.img verification if core.img
23194 cannot be embedded.
23195
3aefa857 23196 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
23197 core_path to calculate the blocklist.
23198 Patch from Javier Martín <lordhabbit@gmail.com>
23199
5444088d 232002008-06-29 Robert Millan <rmh@aybabtu.com>
23201
23202 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
23203 block to disk block.
23204 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
23205 Patch from Niels Böhm <bitbucket@arcor.de>
23206
674835c8 232072008-06-29 Robert Millan <rmh@aybabtu.com>
23208
23209 * util/update-grub_lib.in (font_path): Search for fonts in
23210 /boot/grub first, which is more likely to be readable (we aren't
23211 deciding where fonts live, just looking for them).
23212
f527dbc8 232132008-06-26 Pavel Roskin <proski@gnu.org>
23214
6c2d8df6 23215 * util/biosdisk.c (read_device_map): Don't leave dead map
23216 entries for devices failing stat() check.
23217
f527dbc8 23218 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
23219 core_path_dev for the core.img path on the target device.
23220
aebe3d13 232212008-06-26 Robert Millan <rmh@aybabtu.com>
23222
23223 * disk/fs_uuid.c: New file.
23224 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
23225 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
23226 (fs_uuid_mod_LDFLAGS): New variables.
23227 * include/grub/disk.h (grub_disk_dev_id): Add
23228 `GRUB_DISK_DEVICE_UUID_ID'.
23229 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
23230 implement iterate().
23231
37aaf354 232322008-06-26 Robert Millan <rmh@aybabtu.com>
23233
23234 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
23235 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
23236 Linux image includes no initrd.
23237
25ff262a 232382008-06-21 Javier Martín <lordhabbit@gmail.com>
23239
23240 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
23241 call to resolve the core image location that effectively appended the
23242 name twice.
23243
76a2bd44 232442008-06-21 Robert Millan <rmh@aybabtu.com>
23245
23246 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
23247 call from here ...
23248
23249 * util/grub.d/10_hurd.in: ... to here ...
23250 * util/grub.d/10_linux.in: ... and here.
23251
650e1c79 232522008-06-19 Robert Millan <rmh@aybabtu.com>
23253
fe987087 23254 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 23255 after it has been set by grub_machine_set_prefix().
23256
6ce63911 232572008-06-19 Robert Millan <rmh@aybabtu.com>
23258
23259 * commands/search.c (search_label, search_fs_uuid, search_file): Print
23260 search result when not saving to variable, not the other way around.
23261 When saving to variable, abort iteration as soon as a match is found.
23262
73940cec 232632008-06-19 Robert Millan <rmh@aybabtu.com>
23264
23265 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
23266 check for partition that provides /boot/grub. Its logic is flawed,
23267 as it prevents prepare_grub_to_access_device() from being called
23268 multiple times.
23269
3c62a39d 232702008-06-19 Robert Millan <rmh@aybabtu.com>
23271
23272 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
23273 "insmod" command directly when abstraction modules are needed,
fe987087 23274 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 23275 since it had already been processed).
23276
47395a42 232772008-06-19 Pavel Roskin <proski@gnu.org>
23278
23279 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
23280 changed. This is needed in case GRUB_LIBDIR changes.
23281 * conf/i386-ieee1275.rmk: Likewise.
23282 * conf/i386-linuxbios.rmk: Likewise.
23283 * conf/i386-pc.rmk: Likewise.
23284 * conf/powerpc-ieee1275.rmk: Likewise.
23285
a145ac2d 232862008-06-18 Pavel Roskin <proski@gnu.org>
23287
23288 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
23289 kernel_elf_symlist.c to symlist.c for consistency with other
23290 architectures. Update all users.
23291 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
23292
7847c51e 232932008-06-18 Robert Millan <rmh@aybabtu.com>
23294
23295 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
23296 it in prefix.
23297
23298 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
23299 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
23300 a RAID device, run setup() for all members independently on whether
23301 LVM abstraction is being used.
23302 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
23303 If grub-mkimage has set `*install_dos_part == -2', don't override this
23304 value.
23305 Perform *install_dos_part adjustments independently on whether
23306 we're embedding or not.
23307 Clarify error message when image is too big for embedding.
23308 Remove duplicate *install_dos_part stanza.
23309
b23e5644 233102008-06-17 Robert Millan <rmh@aybabtu.com>
23311
23312 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
23313 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
23314 variables.
23315 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
23316 values in grub_ofconsole_normal_color and
23317 grub_ofconsole_highlight_color (they're not directly related to
23318 background and foreground).
23319 (grub_ofconsole_setcolorstate): Extract background and foreground
23320 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
23321
0aac2f79 233222008-06-17 Robert Millan <rmh@aybabtu.com>
23323
23324 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
23325 /boot/grub for the check in last commit, not /boot (they could be
23326 different partitions).
23327
3cca7ef3 233282008-06-16 Robert Millan <rmh@aybabtu.com>
23329
23330 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
23331 asked to setup access for the same partition that provides /boot,
23332 don't bother using UUIDs since our root already has the value we
23333 want.
23334
347396d8 233352008-06-16 Robert Millan <rmh@aybabtu.com>
23336
23337 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
23338 I2O devices.
23339 Patch from Sven Mueller <sven@debian.org>.
23340
991477f8 233412008-06-16 Robert Millan <rmh@aybabtu.com>
23342
23343 * util/update-grub.in: Check for $EUID instead of $UID.
23344 Reported by Vincent Zweije.
23345
d31a32a1 233462008-06-16 Bean <bean123ch@gmail.com>
23347
fe987087 23348 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 23349 (grub_ext2_read_block): Likewise.
23350 (grub_ext2_read_inode): Likewise.
23351 (grub_ext2_mount): Likewise.
23352 (grub_ext2_close): Likewise.
23353 (grub_ext3_get_journal): Removed.
23354
fe987087 23355 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 23356 (grub_reiserfs_read_symlink): Likewise.
23357 (grub_reiserfs_mount): Likewise.
23358 (grub_reiserfs_open): Likewise.
23359 (grub_reiserfs_read): Likewise.
23360 (grub_reiserfs_close): Likewise.
23361 (grub_reiserfs_get_journal): Removed.
23362
23363 * fs/fshelp.c (grub_fshelp_read): Removed.
23364 (grub_fshelp_map_block): Likewise.
23365
23366 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
23367 (grub_fshelp_journal): Likewise.
23368 (grub_fshelp_read): Likewise.
23369 (grub_fshelp_map_block): Likewise.
23370
3540a760 233712008-06-16 Pavel Roskin <proski@gnu.org>
23372
23373 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
23374 floating point anymore.
23375 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
23376
95614c84 233772008-06-15 Pavel Roskin <proski@gnu.org>
23378
23379 * commands/ls.c (grub_ls_list_files): Use integer calculations
23380 for human readable format, avoid floating point use.
23381 * kern/misc.c (grub_ftoa): Remove.
23382 (grub_vsprintf): Remove floating point support.
23383
50465dd6 233842008-06-15 Robert Millan <rmh@aybabtu.com>
23385
fe6b695a 23386 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 23387 devices.
23388 Reported by Max Vozeler.
23389
a9207284 233902008-06-15 Robert Millan <rmh@aybabtu.com>
23391
23392 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
23393 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
23394 skipped later.
23395 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
23396 the beginning of the prefix.
23397
23398 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
23399 It is assumed that if we have a memdisk, grub-mkimage has set
23400 grub_prefix to include the "(memdisk)" drive in it.
23401
a7cbd45a 234022008-06-15 Robert Millan <rmh@aybabtu.com>
23403
23404 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
23405 Initialize keyboard controller after registering the terminal, so that
23406 grub_printf() can be called from grub_keyboard_controller_init().
23407
21cf716a 234082008-06-15 Robert Millan <rmh@aybabtu.com>
23409
23410 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
23411 extent-btree which is written as big endian on disk.
23412 Reported by Alain Greppin <al@chilibi.org>.
23413
23a64d8e 234142008-06-14 Robert Millan <rmh@aybabtu.com>
23415
23416 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
23417 * util/i386/pc/grub-install.in (modules): Likewise.
23418
d687651c 234192008-06-13 Pavel Roskin <proski@gnu.org>
23420
23421 * commands/ls.c (grub_ls_list_files): Fix format warnings.
23422
dfe9ddd4 234232008-06-13 Bean <bean123ch@gmail.com>
23424
23425 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
23426
23427 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
23428
23429 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
23430 to indicate sparse block.
23431
16ae7781 234322008-06-12 Pavel Roskin <proski@gnu.org>
23433
e6d1a308 23434 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
23435 number, grub_fshelp_read() does it for us.
23436
16ae7781 23437 * fs/fshelp.c (grub_fshelp_read): New function. Implement
23438 linear disk read with journal translation.
23439 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
23440 * include/grub/fshelp.h: Declare grub_fshelp_read().
23441
40fd3a2b 234422008-06-09 Pavel Roskin <proski@gnu.org>
23443
23444 * fs/minix.c (grub_minix_mount): Handle error reading
23445 superblock.
23446
f5679726 234472008-06-08 Robert Millan <rmh@aybabtu.com>
23448
23449 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
23450 don't append the RAID prefix afterwards.
23451 Reported by Clint Adams.
23452
ce525529 234532008-06-08 Robert Millan <rmh@aybabtu.com>
23454
23455 Based on description from Pavel:
23456 * kern/disk.c (grub_disk_check_range): Rename to ...
23457 (grub_disk_adjust_range): ... this. Add a comment explaining the
23458 tasks performed by this function.
23459
ad4936a0 234602008-06-08 Robert Millan <rmh@aybabtu.com>
23461
23462 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
23463 `num_serial' (for consistency with other variables).
23464 (struct grub_ntfs_data): Add `uuid' member.
23465 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
23466 (grub_ntfs_uuid): New function.
23467 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
23468
dc20b0f9 234692008-06-07 Pavel Roskin <proski@gnu.org>
23470
23471 * util/biosdisk.c (open_device): Revert last change to the
23472 function, it broke installation. The sector needs to be
23473 different dependent on which device is opened.
23474
c5e3cfba 234752008-06-06 Robert Millan <rmh@aybabtu.com>
23476
23477 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
23478 rest of GRUB, and breakage doesn't happen if its value were modified.
23479
23480 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
23481 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
23482 a constant (same value).
23483 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
23484 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
23485
26a1f8c4 234862008-06-06 Robert Millan <rmh@aybabtu.com>
23487
23488 * util/biosdisk.c (open_device): Do not modify sector offset when
23489 accessing a partition. kern/disk.c already handles this for us.
23490
25d6b327 234912008-06-06 Robert Millan <rmh@aybabtu.com>
23492
23493 * util/grub-emu.c (grub_machine_init): Move code in this function from
23494 here ...
23495 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
23496 segfault in case grub_printf() is called).
23497
23498 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
23499 grub_probe. Update all users not to explicitly add it again.
23500 (grub_device): New variable; contains corresponding device for grubdir.
23501 (fs_module, partmap_module, devabstraction_module): Pass
23502 `--device ${grub_device}' to grub_probe to avoid traversing /dev
23503 every time.
23504
9ece62fb 235052008-06-05 Robert Millan <rmh@aybabtu.com>
23506
23507 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
23508 is found, print it (same layout as with labels).
23509
1ad36d37 235102008-06-04 Robert Millan <rmh@aybabtu.com>
23511
23512 * util/biosdisk.c (get_drive): Rename to ...
23513 (find_grub_drive): ... this. Update all users.
23514
23515 (get_os_disk): Rename to ...
23516 (convert_system_partition_to_system_disk): ... this. Update all users.
23517
23518 (find_drive): Rename to ...
23519 (find_system_device): ... this. Update all users.
23520
e6a30859 235212008-06-04 Robert Millan <rmh@aybabtu.com>
23522
23523 * util/biosdisk.c (get_os_disk): Handle IDA devices.
23524 * util/grub-mkdevicemap.c (get_mmc_disk_name)
23525 (make_device_map): Likewise.
23526
00c108a4 235272008-06-01 Robert Millan <rmh@aybabtu.com>
23528
23529 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
23530 before dereferencing it.
23531
23532 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
23533 union with fat12/fat16-specific ones. Add some new fields, including
23534 `num_serial' for both versions.
23535 (struct grub_fat_data): Add `uuid' member.
23536 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
23537 names. Initialize `data->uuid' using `num_serial'.
23538 (grub_fat_uuid): New function.
23539 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
23540
23541 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
23542 (grub_reiserfs_uuid): New function.
23543 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
23544 member.
23545
23546 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
23547 (grub_xfs_uuid): New function.
23548 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
23549
1385c5bb 235502008-06-01 Robert Millan <rmh@aybabtu.com>
23551
23552 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
23553 code that is backward compatible with pre-uuid search command.
23554
c682dfd7 235552008-05-31 Robert Millan <rmh@aybabtu.com>
23556
23557 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
23558 floppies after everything else, to ensure floppy drive isn't accessed
23559 unnecessarily (patch from Bean).
23560
b7db5d47 235612008-05-31 Robert Millan <rmh@aybabtu.com>
23562
23563 * commands/search.c (search_label, search_fs_uuid, search_file): Do
23564 not print device names when we were asked to set a variable.
23565
6e037aa9 235662008-05-31 Robert Millan <rmh@aybabtu.com>
23567
23568 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
23569 using "cursor-on" and "cursor-off" commands (understood at least by
23570 the Open Firmware flavour on OLPC).
23571
41305bc8 235722008-05-31 Michael Gorven <michael@gorven.za.net>
23573
23574 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
23575 on and off sequences.
23576
69ba137e 235772008-05-31 Robert Millan <rmh@aybabtu.com>
23578
23579 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
23580 * util/update-grub.in: Likewise.
23581
520ae21b 235822008-05-30 Pavel Roskin <proski@gnu.org>
23583
23584 * util/biosdisk.c (linux_find_partition): Simplify logic and
23585 make the code more universal. Keep special processing for
23586 devfs, but use a simple rule for all other devices. If the
23587 device ends with a number, append 'p' and the partition number.
23588 Otherwise, append only the partition number.
23589
5786569b 235902008-05-30 Robert Millan <rmh@aybabtu.com>
23591
23592 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
23593 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
23594 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
23595 the `root' parameter to Linux.
23596
51500452 235972008-05-30 Robert Millan <rmh@aybabtu.com>
23598
23599 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
23600 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
23601 --fs_uuid with --fs-uuid.
23602 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
23603 all filesystems support them).
23604
811d3878 236052008-05-30 Robert Millan <rmh@aybabtu.com>
23606
23607 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 23608 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 23609
cab63c95 236102008-05-30 Robert Millan <rmh@aybabtu.com>
23611
23612 * util/grub.d/00_header.in: Remove obsolete comment referencing
23613 convert_system_path_to_grub_path().
23614 * util/update-grub.in: Likewise.
23615 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
23616 (convert_system_path_to_grub_path): Add a warning message explaining
23617 that this function is deprecated. Rely on is_path_readable_by_grub()
23618 for the readability checks.
23619 (font_path): Use is_path_readable_by_grub() for the readability
23620 check rather than convert_system_path_to_grub_path().
23621
972e2f7a 236222008-05-30 Robert Millan <rmh@aybabtu.com>
23623
23624 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
23625 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
23626 converting it first.
23627 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
23628 grub.cfg for access to font file, and afterwards call it again to set
23629 the root device.
23630
62191274 236312008-05-30 Robert Millan <rmh@aybabtu.com>
23632
23633 * commands/search.c (options): Add --fs_uuid option.
23634 (search_fs_uuid): New function.
23635 (grub_cmd_search): Fix --set argument passing.
23636 Use search_fs_uuid() when requested via --fs_uuid.
23637 (grub_search_init): Update help message.
23638 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
23639 and redeclare it as an array of 16-bit words.
23640 (grub_ext2_uuid): New function.
23641 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
23642 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
23643 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
23644 (GRUB_DEVICE_BOOT_UUID): New variables.
23645 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
23646 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
23647 whenever possible.
23648 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
23649 just assume `root' variable has the right value.
23650 * util/grub.d/10_linux.in: Likewise.
23651 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
23652 via PRINT_FS_UUID.
23653 (main): Recognise `-t fs_uuid' argument.
23654
01b73ec8 236552008-05-30 Robert Millan <rmh@aybabtu.com>
23656
23657 * util/biosdisk.c (map): Redefine structure to hold information
23658 about GRUB drive name.
fe6b695a 23659 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 23660 drive names.
23661 (call_hook): Remove.
23662 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
23663 member. Assume drive has partitions.
23664 (grub_util_biosdisk_open): Access device names via `.device' struct
23665 member.
23666 (open_device): Likewise.
23667 (find_drive): Likewise.
23668 (read_device_map): Adjust map[] usage to match the new struct
23669 definition. Don't check for duplicates (still possible, but not cheap
23670 anymore).
23671 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
23672 (make_device_name): Remove assumption of BIOS-like drive names.
23673
22f16596 236742008-05-30 Pavel Roskin <proski@gnu.org>
23675
23676 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
23677 compiling execute.c doesn't need grub_script.tab.h anymore.
23678 (normal/command.c_DEPENDENCIES): Likewise.
23679 (normal/function.c_DEPENDENCIES): Likewise.
23680 * conf/i386-ieee1275.rmk: Likewise.
23681 * conf/i386-linuxbios.rmk: Likewise.
23682 * conf/i386-pc.rmk: Likewise.
23683 * conf/powerpc-ieee1275.rmk: Likewise.
23684 * conf/sparc64-ieee1275.rmk: Likewise.
23685
528ad8f2 236862008-05-29 Pavel Roskin <proski@gnu.org>
23687
d1dff95d 23688 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
23689 when scanning metadata for volume group name.
23690
528ad8f2 23691 * include/grub/script.h: Don't include grub_script.tab.h. It's
23692 a generated file, which may only be included from the files with
23693 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
23694 use union YYSTYPE, as the later allows forward declaration.
23695 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
23696
47248e08 236972008-05-29 Robert Millan <rmh@aybabtu.com>
23698
23699 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
23700 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
23701 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
23702 (grub_console_checkkey): Add grub_dprintf() call to report unknown
23703 scan codes.
23704
ee632529 237052008-05-29 Robert Millan <rmh@aybabtu.com>
23706
23707 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
23708 control key combinations.
23709
eee96e08 237102008-05-29 Robert Millan <rmh@aybabtu.com>
23711
23712 * util/powerpc/ieee1275/grub-install.in: Move from here ...
23713 * util/ieee1275/grub-install.in: ... to here.
23714 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
23715 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
23716 (grub_install_SOURCES): Likewise.
23717
da9a6a94 237182008-05-29 Robert Millan <rmh@aybabtu.com>
23719
23720 * fs/affs.c: Update copyright year.
23721 * fs/ext2.c: Likewise.
23722 * fs/fshelp.c: Likewise.
23723 * fs/hfsplus.c: Likewise.
23724 * fs/ntfs.c: Likewise.
23725 * fs/xfs.c: Likewise.
23726 * include/grub/fshelp.h: Likewise.
23727 * util/grub-mkdevicemap.c: Likewise.
23728
12e65f3a 237292008-05-28 Robert Millan <rmh@aybabtu.com>
23730
23731 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
23732 might need to be fatfs to support some firmware implementations
23733 (e.g. OFW or EFI).
23734
23023641 237352008-05-28 Robert Millan <rmh@aybabtu.com>
23736
23737 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
23738 devices.
23739 * util/grub-mkdevicemap.c (get_mmc_disk_name)
23740 (make_device_map): Likewise.
23741
887d2619 237422008-05-20 Bean <bean123ch@gmail.com>
23743
23744 * fs/fshelp.c (grub_fshelp_map_block): New function.
23745 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
23746 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
23747
23748 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
23749 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
23750 (grub_fshelp_journal): New structure.
23751 (grub_fshelp_map_block): New function prototype.
23752 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
23753 (grub_fshelp_map_block): Likewise.
23754
23755 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
23756 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
23757 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
23758 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
23759 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
23760 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
23761 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
23762 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
23763 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
23764 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
23765 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
23766 (grub_ext2_sblock): New members for journal support.
23767 (grub_ext3_journal_header): New structure.
23768 (grub_ext3_journal_revoke_header): Likewise.
23769 (grub_ext3_journal_block_tag): Likewise.
23770 (grub_ext3_journal_sblock): Likewise.
23771 (grub_fshelp_node): New members logfile and journal.
23772 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
23773 grub_fshelp_map_block to get real block number.
23774 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
23775 number.
23776 (grub_ext2_read_inode): Likewise.
23777 (grub_ext3_get_journal): New function.
23778 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
23779 (grub_ext2_close): Release memory used by journal.
23780
23781 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
23782 (REISERFS_MAGIC_DESC_BLOCK): New macro.
23783 (grub_reiserfs_transaction_header): Renamed to
23784 grub_reiserfs_description_block, replace field data with real_blocks.
23785 (grub_reiserfs_commit_block): New structure.
23786 (grub_reiserfs_data): New member journal.
23787 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
23788 number.
23789 (grub_reiserfs_read_symlink): Likewise.
23790 (grub_reiserfs_iterate_dir): Likewise.
23791 (grub_reiserfs_open): Likewise.
23792 (grub_reiserfs_read): Likewise.
23793 (grub_reiserfs_get_journal): New function.
23794 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
23795 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
23796 using grub_reiserfs_get_journal.
23797 (grub_reiserfs_close): Release memory used by journal.
23798
23799 * fs/affs.c (grub_affs_read_block): Change block type to
23800 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
23801
23802 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
23803
23804 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
23805
23806 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
23807
23808 * fs/udf.c (grub_udf_read_block): Change block type to
23809 grub_disk_addr_t. Use type cast to avoid warning.
23810
23811 * fs/xfs.c (grub_xfs_read_block): Likewise.
23812
b7c6bed5 238132008-05-16 Christian Franke <franke@computer.org>
23814
23815 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
23816 to ensure that break with ESC will always work.
23817 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
23818 Remove ESC from keyboard queue.
23819
eedf167f 238202008-05-16 Christian Franke <franke@computer.org>
23821
23822 * util/biosdisk.c: [__CYGWIN__] Add includes.
23823 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
23824 (get_os_disk): Move variable declarations to OS specific
23825 parts to avoid warning.
23826 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
23827 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
23828 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
23829 Cygwin.
23830 * util/getroot.c: [__CYGWIN__] Add includes.
23831 (strip_extra_slashes): Fix "/" case.
23832 [__CYGWIN__] (get_win32_path): New function.
23833 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
23834 [__CYGWIN__] (find_root_device): Disable.
23835 [__CYGWIN__] (get_bootsec_serial): New function.
23836 [__CYGWIN__] (find_cygwin_root_device): Likewise.
23837 [__linux__] (grub_guess_root_device): Add early returns to simplify
23838 structure.
23839 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
23840 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
23841 check for Linux only.
23842
a079699e 238432008-05-15 Bean <bean123ch@gmail.com>
23844
23845 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
23846 keyboard hang problem in apple's intel mac.
23847
1cf4059a 238482008-05-09 Robert Millan <rmh@aybabtu.com>
23849
23850 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
23851 devices.
23852 * util/grub-mkdevicemap.c (get_virtio_disk_name)
23853 (make_device_map): Likewise.
23854 Reported by Aurelien Jarno <aurel32@debian.org>
23855
ed759390 238562008-05-07 Ian Campbell <ijc@hellion.org.uk>
23857
23858 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
23859 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
23860 (make_device_map): Output entries for xvd type disks.
23861
b56c4eaa 238622008-05-07 Robert Millan <rmh@aybabtu.com>
23863
23864 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
23865 devices.
23866 * util/grub-mkdevicemap.c (get_cciss_disk_name)
23867 (make_device_map): Likewise.
23868 Reported by Roland Dreier <rdreier@cisco.com>
23869
7f8866ed 238702008-05-07 Robert Millan <rmh@aybabtu.com>
23871
23872 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
23873 grub_strstr() call. Correct a few mistakes in failure path handling.
23874
b0346e0f 238752008-05-06 Robert Millan <rmh@aybabtu.com>
23876
23877 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
23878 Do not print a trailing slash (therefore, the root directory is an
23879 empty string).
23880 (convert_system_path_to_grub_path): Do not remove trailing slash
23881 from make_system_path_relative_to_its_root() output.
23882
23883 * util/i386/pc/grub-install.in: Add trailing slash to output from
23884 make_system_path_relative_to_its_root().
23885
6cf12cbd 238862008-05-06 Robert Millan <rmh@aybabtu.com>
23887
23888 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
23889 ensures that output lines aren't intermangled with those sent to
23890 stderr (via grub_util_info()).
23891 * util/grub-probe.c (grub_refresh): Likewise.
23892 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
23893
0fbb3117 238942008-05-05 Christian Franke <franke@computer.org>
23895
23896 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
23897 Add Cygwin device names.
23898 (get_ide_disk_name) [__CYGWIN__]: Likewise.
23899 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
23900 (check_device): Return error instead of success on empty name.
23901 (make_device_map): Move label inside linux specific code to
23902 prevent compiler warning.
23903
8124cdb7 239042008-04-30 Robert Millan <rmh@aybabtu.com>
23905
23906 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
23907 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
23908 first boot option.
23909 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
23910
094c01d0 239112008-04-29 Robert Millan <rmh@aybabtu.com>
23912
23913 * docs/grub.cfg: New file (example GRUB configuration).
23914
f4b1fc02 239152008-04-26 Robert Millan <rmh@aybabtu.com>
23916
329ce2a5 23917 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
23918 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
23919 and `disk/ieee1275/nand.c'.
f4b1fc02 23920
25f16ec1 239212008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 23922
25f16ec1 23923 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
23924 i386-linuxbios.
23925
23926 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
23927 change the buffer size to 4096 for cdrom device.
23928
23929 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
23930 and nand.mod.
23931 (_linux_mod_SOURCES): New variable.
23932 (_linux_mod_CFLAGS): Likewise.
23933 (_linux_mod_LDFLAGS): Likewise.
23934 (linux_mod_SOURCES): Likewise.
23935 (linux_mod_CFLAGS): Likewise.
23936 (linux_mod_LDFLAGS): Likewise.
23937 (nand_mod_SOURCES): Likewise.
23938 (nand_mod_CFLAGS): Likewise.
23939 (nand_mod_LDFLAGS): Likewise.
23940
23941 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
23942 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
23943 type property. (nand device in olpc don't have this property)
23944
23945 * include/grub/disk.h (grub_disk_dev_id): New macro
23946 GRUB_DISK_DEVICE_NAND_ID.
23947
23948 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
23949 function prototype.
23950 (grub_rescue_cmd_initrd): Likewise.
23951
23952 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
23953 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
23954 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 23955
25f16ec1 23956 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
23957 GRUB_MACHINE_IEEE1275 is defined.
23958
23959 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
23960 Use NESTED_FUNC_ATTR attribute on the hook parameter.
23961
23962 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
23963 on nested function heap_init.
23964 (grub_upper_mem): New variable for i386-ieee1275.
23965 (grub_get_extended_memory): New function for i386-ieee1275.
23966 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
23967
23968 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
23969 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
23970 property.
f19dbdb7 23971
25f16ec1 23972 * loader/i386/ieee1275/linux.c: New file.
23973
23974 * loader/i386/ieee1275/linux_normal.c: New file.
23975
23976 * disk/ieee1275/nand.c: New file.
23977
e89d61e9 239782008-04-18 Thomas Schwinge <tschwinge@gnu.org>
23979
23980 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
23981 value.
23982 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
23983
602566f6 239842008-04-18 Robert Millan <rmh@aybabtu.com>
23985
23986 Restructures early code path on ieee1275 to unify grub_main() as
23987 the first C function that is executed in every platform.
23988
23989 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
23990 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
23991 cmain().
23992 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
23993 * kern/ieee1275/cmain.c (cmain): Rename to ...
23994 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
23995 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
23996 at the beginning.
23997
57490c2b 239982008-04-18 Robert Millan <rmh@aybabtu.com>
23999
24000 * util/update-grub.in: Fix syntax error when setting
24001 `GRUB_PRELOAD_MODULES'.
24002 Reported by Stephane Chazelas <stephane@artesyncp.com>
24003
1977517d 240042008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
24005
24006 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
24007 section into account, newer toolchains generate unique build ids
24008 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 24009 we want build ids to be preserved
1977517d 24010 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
24011 far from other sections don't cause the raw binary images grow
24012 size
24013
bfb1f1a2 240142008-04-15 Robert Millan <rmh@aybabtu.com>
24015
24016 * disk/lvm.c: Update copyright year.
24017 * kern/misc.c: Likewise.
24018
01979850 240192008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
24020
24021 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 24022 there is no memory left for physical volume name.
01979850 24023
0a1150e2 240242008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
24025
24026 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
24027 volume name mapping to support bigger than 9 character names properly.
24028
82ead3fe 240292008-04-13 Robert Millan <rmh@aybabtu.com>
24030
24031 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
24032 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
24033
e54a72f5 240342008-04-13 Christian Franke <franke@computer.org>
24035
24036 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
24037 to create a floppy emulation boot CD when non emulation mode
24038 does not work.
24039 Enable Joliet CD filesystem extension.
24040
9fe86034 240412008-04-13 Robert Millan <rmh@aybabtu.com>
24042
24043 * kern/misc.c (grub_strncat): Fix off-by-one error.
24044 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
24045
24046 * kern/env.c (grub_env_context_close): Clear current context, not
24047 previous one.
24048 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
24049
24050 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
24051
7ceeee39 240522008-04-13 Robert Millan <rmh@aybabtu.com>
24053
24054 Improve robustness when handling LVM.
24055
24056 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 24057 (and leave `*p' unmodified).
7ceeee39 24058 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
24059 through it.
24060 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
24061 iterating through it.
24062 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
24063 through it.
fe6b695a 24064 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 24065 when due) on each grub_lvm_getvalue() or grub_strstr() call.
24066 Don't assume `vg->pvs != NULL' when iterating through it.
24067
58cd3d85 240682008-04-13 Robert Millan <rmh@aybabtu.com>
24069
24070 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
24071 * genmk.rb (partmap): New variable.
24072 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
24073 (#{partmap}): New target rule.
24074 * genpartmaplist.sh: New file.
24075 * Makefile.in (pkglib_DATA): Add partmap.lst.
24076 (partmap.lst): New target rule.
24077 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
24078 modules (including all partition maps), instead of preloading them.
24079
78b51059 240802007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
24081
24082 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
24083 `linux-boot-prober' (if installed) to detect other operating
24084 systems which are installed on the computer and add them to
24085 the boot menu.
24086 * conf/common.rmk: Build and install 30_os-prober.
24087
a91627b4 240882008-04-12 Robert Millan <rmh@aybabtu.com>
24089
24090 * kern/powerpc/ieee1275/init.c: Move from here ...
24091 * kern/ieee1275/init.c: ... to here. Update all users.
24092
24093 * kern/powerpc/ieee1275/cmain.c: Move from here ...
24094 * kern/ieee1275/cmain.c: ... to here. Update all users.
24095
24096 * kern/powerpc/ieee1275/openfw.c: Move from here ...
24097 * kern/ieee1275/openfw.c: ... to here. Update all users.
24098
24099 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
24100 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
24101
322562ea 241022008-04-10 Pavel Roskin <proski@gnu.org>
24103
24104 * configure.ac: Always use "_cv_" in cache variables for
24105 compatibility with Autoconf 2.62.
24106
a02a73c5 241072008-04-07 Robert Millan <rmh@aybabtu.com>
24108
24109 Revert grub/machine/init.h addition by Pavel (since it breaks on
24110 i386-ieee1275 and others):
24111 * util/i386/pc/misc.c: Remove grub/machine/init.h.
24112 * util/powerpc/ieee1275/misc.c: Likewise.
24113
25c024b1 241142008-04-07 Robert Millan <rmh@aybabtu.com>
24115
24116 * util/grub-probe.c (probe): Improve error message.
24117
3cbd2f98 241182008-04-07 Robert Millan <rmh@aybabtu.com>
24119
24120 * util/biosdisk.c (read_device_map): Skip devices that don't exist
24121 (this prevents the presence of a bogus entry from ruining the whole
24122 thing).
24123
87a297bf 241242008-04-06 Pavel Roskin <proski@gnu.org>
24125
36747a62 24126 * util/biosdisk.c: Include grub/util/biosdisk.h.
24127 * util/grub-fstest.c (execute_command): Make static.
24128 * util/grub-mkdevicemap.c (check_device): Likewise.
24129 * util/i386/pc/misc.c: Include grub/machine/init.h.
24130 * util/powerpc/ieee1275/misc.c: Likewise.
24131 * util/lvm.c: Include grub/util/lvm.h.
24132 * util/misc.c: Include grub/kernel.h, grub/misc.h and
24133 grub/cache.h.
24134 * util/raid.c: Include grub/util/raid.h.
24135 (grub_util_getdiskname): Make static.
24136
87a297bf 24137 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
24138 grub_hostfs_fini(), as they are called from grub_init_all() and
24139 grub_fini_all() respectively. This fixes an infinite loop in
24140 grub-fstest due to double registration of hostfs.
24141 Reported by Christian Franke <Christian.Franke@t-online.de>
24142
f6ce7629 241432008-04-05 Pavel Roskin <proski@gnu.org>
24144
24145 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
24146 all 8 functions. Otherwise, probe function 0 only.
24147
070e49e4 241482008-04-04 Pavel Roskin <proski@gnu.org>
24149
8b088a4c 24150 * commands/lspci.c (grub_lspci_iter): Print the bus number
24151 correctly.
24152
4f657021 24153 * commands/lspci.c (grub_pci_classes): Fix typos.
24154 (grub_lspci_iter): Don't print func twice. Print vendor ID
24155 before device ID, as it's normally done.
24156
070e49e4 24157 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
24158 Fix signedness warnings.
24159 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
24160 Likewise.
24161 * util/ieee1275/get_disk_name.c: Include config.h so that
24162 _GNU_SOURCE is defined and getline() is declared. Mark an
24163 unused argument as such. Fix a signedness warning.
24164
ba7328dc 241652008-04-02 Pavel Roskin <proski@gnu.org>
24166
26887f22 24167 * genkernsyms.sh.in: Use more robust assignments for CC and
24168 srcdir. Quote srcdir.
24169 * gensymlist.sh.in: Likewise. Assert at the compile time that
24170 the symbol table is not empty.
24171
ba7328dc 24172 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
24173 * fs/cpio.c (grub_cpio_read): Likewise.
24174
0f582c6b 241752008-04-01 Pavel Roskin <proski@gnu.org>
24176
4b6e1995 24177 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
24178 * disk/host.c (grub_host_open): Likewise.
24179 * disk/loopback.c (grub_loopback_open): Likewise.
24180 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
24181 disk->id as in disk/host.c, not a multi-character constant.
24182
828a2768 24183 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
24184 later is obsolete, potentially dangerous and sets a bad example.
24185 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
24186 * util/misc.c (grub_util_get_image_size): Likewise.
24187
2bb4fb47 24188 * disk/loopback.c (options): Improve help for "--partitions".
24189
0f582c6b 24190 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
24191 options to align them with the short options, e.g. "echo -e".
24192
a33224e0 241932008-03-31 Bean <bean123ch@gmail.com>
24194
24195 * video/reader/png.c (grub_png_data): New member is_16bit and
24196 image_data.
24197 (grub_png_decode_image_header): Detect 16 bit png image.
24198 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
24199 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
24200 (grub_video_reader_png): Release memory occupied by image_data.
24201
24202 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
24203 4096 bytes.
24204 (grub_nfs_mount): Skip the test for sector per cluster.
24205
24206 * include/grub/ntfs.h (MAX_SPC): Removed.
24207
86cb4f54 242082008-03-31 Bean <bean123ch@gmail.com>
24209
24210 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
24211 (grub_probe_SOURCES): Add fs/afs.c.
24212 (grub_fstest_SOURCES): Likewise.
24213 (afs_mod_SOURCES): New variable.
24214 (afs_mod_CFLAGS): Likewise.
24215 (afs_mod_LDFLAGS): Likewise.
24216
24217 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
24218 (grub_emu_SOURCES): Likewise.
24219
24220 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24221
24222 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24223
24224 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24225
24226 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24227
24228 * fs/afs.c: New file.
24229
17c74c21 242302008-03-30 Pavel Roskin <proski@gnu.org>
24231
4cb68e89 24232 * disk/host.c: Include grub/misc.h to fix a warning.
24233 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
24234 warnings about implicit declarations.
24235
8790bb04 24236 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
24237 variable.
24238 * include/grub/i386/loader.h: Change declaration of
24239 grub_linux_boot() to match what grub_loader_set() expects.
24240 * util/getroot.c (grub_guess_root_device): Return const char* to
24241 fix a warning.
24242 * util/grub-probe.c (probe): Fix a warning about uninitialized
24243 abstraction_name variable.
24244 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
24245 second argument as unused to fix a warning.
24246
9a3f3296 24247 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
24248 missing grub_error() call.
24249
0ecef90d 24250 * util/update-grub_lib.in: Define datarootdir, since Autoconf
24251 2.60 and newer uses it to define datadir.
24252
0bf6d401 24253 * commands/sleep.c: Fix warning about implicit declaration.
24254 * disk/memdisk.c: Likewise.
24255 * loader/aout.c: Likewise.
24256 * loader/i386/bsd_normal.c: Likewise.
24257 * util/grub-probe.c: Likewise.
24258
7cdacf97 24259 * commands/i386/cpuid.c (has_longmode): Make static.
24260 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
24261 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
24262
17c74c21 24263 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
24264 GDT. This is more robust, as %ds can change.
24265 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
24266 calling real_to_prot().
24267 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
24268
80a3e68b 242692008-03-28 Pavel Roskin <proski@gnu.org>
24270
24271 * kern/i386/pc/startup.S: Assert that uncompressed functions
24272 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
24273 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
24274 code, as they push parts of the code (error handlers) beyond
24275 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
24276 code as correctness and size.
24277
77bcd272 242782008-03-28 Pavel Roskin <proski@gnu.org>
24279
24280 * kern/i386/pc/startup.S
24281 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
24282 data block address to the real mode, keep offset minimal. This
24283 works around a bug in AWARD BIOS on old Athlon systems, which
24284 makes CD detection hang.
24285
c5dfd43b 242862008-03-26 Pavel Roskin <proski@gnu.org>
24287
24288 * normal/color.c (grub_parse_color_name_pair): Make `name' a
24289 const.
24290 * include/grub/normal.h: Add grub_parse_color_name_pair()
24291 declaration.
24292
bf962df2 242932008-03-24 Bean <bean123ch@gmail.com>
24294
24295 * disk/i386/pc/biosdisk.c (cd_start): Removed.
24296 (cd_count): Removed.
24297 (cd_drive): New variable.
24298 (grub_biosdisk_get_drive): Don't check for (cdN) device.
24299 (grub_biosdisk_call_hook): Likewise.
24300 (grub_biosdisk_iterate): Change cdrom detection method.
24301 (grub_biosdisk_open): Replace cd_start with cd_drive.
24302 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
24303 detect cdrom device.
24304
24305 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
24306 Removed.
24307 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
24308 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
24309 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
24310 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
24311 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
24312 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
24313 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
24314 (grub_biosdisk_cdrp): New structure.
24315 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
24316
24317 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
24318
24319 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
24320 device.
24321
24322 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
24323 New function.
24324
68e7fc7a 243252008-03-20 Robert Millan <rmh@aybabtu.com>
24326
24327 Remove 2 TiB limit in ata.mod.
24328 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
24329 (grub_ata_dumpinfo): Print sector count with 0x%llx.
24330 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
24331 grub_uint64_t instead of grub_uint32_t.
24332
38ad2cf5 243332008-03-05 Bean <bean123ch@gmail.com>
24334
24335 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
24336 (grub_multiboot): Set boot device.
24337
24338 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
24339
2b89344e 243402008-03-02 Bean <bean123ch@gmail.com>
24341
24342 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
24343 symlink_buffer.
24344
87a95d1f 243452008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
24346
24347 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
24348 texinfo.tex.
24349
24350 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
24351 modified.
24352
24353 * docs/fdl.texi: New file.
f19dbdb7 24354
87a95d1f 24355 * docs/mdate-sh: New file. Copied from gnulib.
24356 * docs/texinfo.tex: Likewise.
24357
24358 * config.guess: Updated from gnulib.
24359 * install-sh: Likewise.
24360
7dc15d8e 243612008-02-28 Robert Millan <rmh@aybabtu.com>
24362
24363 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
24364 (aout_mod_SOURCES): New variable.
24365 (aout_mod_CFLAGS): Likewise.
24366 (aout_mod_LDFLAGS): Likewise.
24367
24368 * conf/i386-ieee1275.rmk: Likewise.
24369
b00ab696 243702008-02-28 Robert Millan <rmh@aybabtu.com>
24371
24372 * util/update-grub.in: Reorganise terminal validity check. Accept
24373 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
24374 Based on suggestion by Franklin PIAT.
24375
79ca2d78 243762008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
24377
24378 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
24379 function.
24380 * util/getroot.c (grub_util_check_block_device): New function that
24381 returns the given argument if it is a block device and returns NULL else.
24382 * util/grub-probe.c (argument_is_device): New variable.
24383 (probe): Promote device_name from a variable to an argument. Receive
24384 device_name from grub_util_check_block_device() if path is NULL and from
24385 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 24386 (options): Introduce new parameter '-d, --device'.
79ca2d78 24387 (main): Add description of the new parameter to the help screen.
24388 Rename path variable to argument. Set argument_is_device if the '-d'
24389 option is given. Pass argument to probe() depending on
24390 argument_is_device.
24391
0d16e571 243922008-02-24 Bean <bean123ch@gmail.com>
24393
24394 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
24395 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
24396 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
24397 (GRUB_ISO9660_VOLDESC_PART): Likewise.
24398 (GRUB_ISO9660_VOLDESC_END): Likewise.
24399 (grub_iso9660_primary_voldesc): New member escape.
24400 (grub_iso9660_data): New member joliet.
24401 (grub_iso9660_convert_string): New function.
24402 (grub_iso9660_mount): Detect joliet extension.
24403 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
24404 (grub_iso9660_iso9660_label): Likewise.
24405
24406 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
24407 (grub_setup_SOURCES): Add fs/udf.c.
24408 (grub_fstest_SOURCES): Likewise.
24409 (udf_mod_SOURCES): New variable.
24410 (udf_mod_CFLAGS): Likewise.
24411 (udf_mod_LDFLAGS): Likewise.
24412
24413 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
24414 (grub_emu_SOURCES): Likewise.
24415
24416 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24417
24418 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24419
24420 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24421
24422 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24423
24424 * fs/udf.c: New file.
24425
8a594a17 244262008-02-24 Robert Millan <rmh@aybabtu.com>
24427
24428 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
24429 (normal/lexer.c_DEPENDENCIES): New variables.
24430 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
24431 (normal/lexer.c_DEPENDENCIES): Likewise.
24432 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
24433 (normal/lexer.c_DEPENDENCIES): Likewise.
24434 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
24435 (normal/lexer.c_DEPENDENCIES): Likewise.
24436 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
24437 (normal/lexer.c_DEPENDENCIES): Likewise.
24438 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
24439 (normal/lexer.c_DEPENDENCIES): Likewise.
24440
2dc33c03 244412008-02-23 Robert Millan <rmh@aybabtu.com>
24442
24443 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
24444 since they were intended to be in hex. This didn't break previously
24445 because of a bug in gpt_partition_map_iterate() (see below).
24446
24447 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
24448 when checking the validity of GPT header.
24449 Remove `partno', since it always provides the same information as `i'.
24450
f6f4cfb0 244512008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
24452
24453 * include/grub/efi/time.h: Fix a wrong comment.
24454
79ff665f 244552008-02-19 Pavel Roskin <proski@gnu.org>
24456
24457 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
24458 message.
24459
d38e24c2 244602008-02-19 Bean <bean123ch@gmail.com>
24461
24462 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
24463 (aout_mod_SOURCES): New variable.
24464 (aout_mod_CFLAGS): Likewise.
24465 (aout_mod_LDFLAGS): Likewise.
24466 (_bsd_mod_SOURCES): New variable.
24467 (_bsd_mod_CFLAGS): Likewise.
24468 (_bsd_mod_LDFLAGS): Likewise.
24469 (bsd_mod_SOURCES): New variable.
24470 (bsd_mod_CFLAGS): Likewise.
24471 (bsd_mod_LDFLAGS): Likewise.
24472
24473 * include/grub/aout.h: New file.
24474
24475 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
24476
24477 * include/grub/i386/bsd.h: New file.
24478
24479 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
24480 to make it public.
24481
24482 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
24483 function is called, so that it's possible to change it inside the hook.
24484 (grub_elf64_load): Likewise.
24485 (grub_elf_file): Don't close the file if elf header is not found.
24486 (grub_elf_close): Close the file if grub_elf_file fails (The new
24487 grub_elf_file won't close it).
24488 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
24489 (grub_elf64_size): Likewise.
24490
24491 * kern/i386/loader.S (grub_unix_real_boot): New function.
24492
24493 * loader/aout.c: New file.
24494
24495 * loader/i386/bsd.c: New file.
24496
24497 * loader/i386/bsd_normal.c: New file.
24498
24499 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
24500
24501 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 24502 can test other formats.
d38e24c2 24503
b93bdb0f 245042008-02-19 Robert Millan <rmh@aybabtu.com>
24505
24506 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
24507 (grub_gpt_partition_type_empty): Redefine with macro from
24508 `<grub/gpt_partition.h>'.
24509 (gpt_partition_map_iterate): Adjust partition type comparison.
24510
24511 Export `entry' as partmap-specific `part.data' struct.
24512 (grub_gpt_header, grub_gpt_partentry): Move from here ...
24513
24514 * include/grub/gpt_partition.h (grub_gpt_header)
24515 (grub_gpt_partentry): ... to here (new file).
24516
24517 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
24518
24519 (grub_gpt_partition_type_bios_boot): New const variable, defined
24520 with macro from `<grub/gpt_partition.h>'.
24521
24522 (setup): Replace `first_start' with `embed_region', which keeps
24523 track of the embed region (and is partmap-agnostic).
24524
24525 Replace find_first_partition_start() with find_usable_region(),
24526 which finds a usable region for embedding using partmap-specific
24527 knowledge (supports PC/MSDOS and GPT).
24528
24529 Fix all assumptions that the embed region start at sector 1, using
24530 `embed_region.start' from now on. Similarly, use `embed_region.end'
24531 rather than `first_start' to calculate available size.
24532
24533 In grub_util_info() message, replace "into after the MBR" with an
24534 indication of the specific sector our embed region starts at.
24535
66cb40f6 245362008-02-19 Robert Millan <rmh@aybabtu.com>
24537
24538 * DISTLIST: Replace `commands/ieee1275/halt.c' and
24539 `commands/ieee1275/reboot.c' with `commands/halt.c' and
24540 `commands/reboot.c'.
24541 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
24542 (halt_mod_SOURCES): Likewise.
24543 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
24544 (halt_mod_SOURCES): Likewise.
24545
b7202015 245462008-02-17 Christian Franke <franke@computer.org>
24547
24548 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
24549
32b0fc49 245502008-02-17 Robert Millan <rmh@aybabtu.com>
24551
24552 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
24553 set `first_start' to 0 for non-PC/MSDOS partition maps.
24554
aca63502 245552008-02-16 Robert Millan <rmh@aybabtu.com>
24556
24557 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
24558 do not assume partition map is PC/MSDOS before performing checks that
24559 are specific to that layout.
24560
0de8be86 245612008-02-13 Robert Millan <rmh@aybabtu.com>
24562
24563 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
24564 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
24565 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
24566
c3db8364 245672008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
24568
24569 * configure.ac: Only a cosmetic change on the handling of
24570 -fno-stack-protector.
24571
f714229e 245722008-02-12 Alexandre Boeglin <alex@boeglin.org>
24573
c3db8364 24574 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
24575 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
24576 reboot.c.
f714229e 24577 (grub_install_SOURCES): Add halt.mod and reboot.mod.
24578 (halt_mod_SOURCES): New variable.
24579 (halt_mod_CFLAGS): Likewise.
24580 (halt_mod_LDFLAGS): Likewise.
24581 (reboot_mod_SOURCES): Likewise.
24582 (reboot_mod_CFLAGS): Likewise.
24583 (reboot_mod_LDFLAGS): Likewise.
24584
c3db8364 24585 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
24586 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
24587 reboot.c.
f714229e 24588 (halt_mod_SOURCES): Likewise.
24589 (reboot_mod_SOURCES): Likewise.
24590
c3db8364 24591 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
24592 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 24593 (reboot_mod_SOURCES): Likewise.
24594
24595 * commands/i386/pc/reboot.c: merge this file ...
24596
24597 * commands/ieee1275/reboot.c: ... and this file ...
24598
24599 * commands/reboot.c: ... to this file.
c3db8364 24600 Add some precompiler directive to include the correct header for
24601 each machine.
f714229e 24602
24603 * commands/ieee1275/halt.c: move this file ...
24604
24605 * commands/halt.c: ... to here.
c3db8364 24606 Add some precompiler directive to include the correct header for
24607 each machine.
f714229e 24608
24609 * include/grub/efi/efi.h (grub_reboot): New function declaration.
24610 (grub_halt): Likewise.
24611
24612 * kern/efi/efi.c (grub_reboot): New function.
24613 (grub_halt): Likewise.
24614
c74493e0 246152008-02-12 Robert Millan <rmh@aybabtu.com>
24616
24617 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
24618 /dev (like it is done for /dev/mapper). This doesn't provide support
24619 for EVMS, but at least it is now easy to identify the problem when it
24620 arises.
24621
d0db4b04 246222008-02-11 Robert Millan <rmh@aybabtu.com>
24623
24624 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
24625 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
24626 comparing it with -1, not 0.
24627
bf748642 246282008-02-10 Robert Millan <rmh@aybabtu.com>
24629
24630 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
24631 `disk/lvm.c'.
24632 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24633 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24634
24635 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
24636 `disk/lvm.c' to the end of the list.
24637 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24638 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24639
b5db202a 246402008-02-10 Robert Millan <rmh@aybabtu.com>
24641
24642 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
24643 grub_print_error() instead. This will let user know why we're entering
24644 rescue mode.
24645 Based on suggestions from Sam Morris.
24646
83abee31 246472008-02-10 Alexandre Boeglin <alex@boeglin.org>
24648
24649 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
24650 on remaining N args, instead of "--" arg N times.
24651
78d5a08b 246522008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
24653
24654 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
24655 (fill_with_default_glyph): Changed to use unknown_glyph for fill
24656 pattern for unknown glyphs.
24657
68807e5f 246582008-02-09 Robert Millan <rmh@aybabtu.com>
24659
24660 * configure.ac: Probe for `help2man'.
24661 * Makefile.in (builddir): New variable.
24662 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
24663 or otherwise add a few flags/options to it.
24664 (install-local): For every executable utility or script that is
24665 installed, invoke $(HELP2MAN) to install a manpage based on --help
24666 output.
24667
24668 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
24669 that it doesn't prevent --help from working in build tree.
24670
24671 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
24672 with `bug-grub@gnu.org'.
24673 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
24674 * util/update-grub.in (usage): New function.
24675 Implement proper argument check, with support for --help and --version
24676 (as well as existing -y).
24677
246782008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 24679
24680 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
24681 avoid overwriting previous output.
24682 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
24683
c1962162 246842008-02-09 Robert Millan <rmh@aybabtu.com>
24685
24686 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
24687 drawing the menu.
24688
3dac2e3f 246892008-02-09 Robert Millan <rmh@aybabtu.com>
24690
24691 * commands/sleep.c: New file.
24692 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
24693 (sleep_mod_SOURCES): New variable.
24694 (sleep_mod_CFLAGS): Likewise.
24695 (sleep_mod_LDFLAGS): Likewise.
24696
7a634e08 246972008-02-09 Robert Millan <rmh@aybabtu.com>
24698
24699 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
24700 situations in which we can deduce the RAID size and the superblock
24701 doesn't match it.
24702
b92f0c18 247032008-02-09 Robert Millan <rmh@aybabtu.com>
24704
24705 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
24706 and return a grub_diskmemberlist_t composed of LVM physical volumes.
24707 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
24708
24709 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
24710 and return a grub_diskmemberlist_t composed of physical array members.
24711 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
24712
24713 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
24714 prototype.
24715 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
24716 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
24717 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
24718
24719 * util/grub-probe.c (probe): Move partmap probing code from here ...
24720 (probe_partmap): ... to here.
24721 (probe): Use probe_partmap() once for the disk we're probing, and
24722 additionally, when such disk contains a memberlist() struct member,
24723 once for each disk that is contained in the structure returned by
24724 memberlist().
24725
91a4bf68 247262008-02-09 Robert Millan <rmh@aybabtu.com>
24727
24728 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
24729 environment variable to 'all' in order to obtain debug output from
24730 non-util/ code.
24731 * util/i386/pc/grub-setup.c (main): Likewise.
24732
a96f9caa 247332008-02-08 Robert Millan <rmh@aybabtu.com>
24734
24735 * disk/raid.c (grub_raid_scan_device): Check for
24736 `array->device[sb.this_disk.number]' rather than for
24737 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 24738 guaranteed to be accessible.
a96f9caa 24739
b37a9222 247402008-02-08 Robert Millan <rmh@aybabtu.com>
24741
24742 * disk/raid.c: Update copyright.
24743 * fs/cpio.c: Likewise.
24744 * include/grub/raid.h: Likewise.
24745 * loader/i386/pc/multiboot.c: Likewise.
24746 * util/hostfs.c: Likewise.
24747
5626aee1 247482008-02-08 Robert Millan <rmh@aybabtu.com>
24749
24750 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
24751 to a grub_disk_t array.
24752 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
24753 `device[x]'.
24754 (grub_raid_scan_device): Replace `device[x].name' accesses with
24755 `device[x]->name'. Simplify initialization of `array->device[x]'.
24756
554f0187 247572008-02-08 Robert Millan <rmh@aybabtu.com>
24758
24759 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
24760 grub_dprintf() calls.
24761 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
24762 error message.
24763
1ec8425d 247642008-02-07 Christian Franke <franke@computer.org>
24765
24766 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
24767 instead of fseek and ftell to support large files.
24768 (grub_hostfs_read): Likewise.
24769
f2156fda 247702008-02-07 Robert Millan <rmh@aybabtu.com>
24771
24772 Patch from Jeroen Dekkers.
24773 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 24774 failure, since successfully reading all array members might not be
f2156fda 24775 required.
24776
9216e0e7 247772008-02-06 Robert Millan <rmh@aybabtu.com>
24778
24779 * util/grub-probe.c (probe): Simplify partmap probing (with the
24780 assumption that the first word up to the underscore equals to
24781 the module name).
24782
b0dfd29a 247832008-02-06 Christian Franke <franke@computer.org>
24784
24785 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
24786 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
24787 last block of a cpio or tar stream.
24788 Check for "TRAILER!!!" instead of any empty data
24789 block to detect last block of a cpio stream.
24790 (grub_cpio_dir): Fix constness of variable np.
24791 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
24792 cpio or tar trailer is detected. This fixes a crash
24793 on open of a non existing file.
24794
c32865bf 247952008-02-05 Bean <bean123ch@gmail.com>
24796
24797 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
24798 address of entry.
24799 (grub_multiboot_load_elf64): Likewise.
24800 (grub_multiboot): Initialize mbi structure.
24801
24802 * util/grub-fstest.c: Don't include unused header file script.h.
24803
fe6b695a 24804 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 24805 of file.
24806 (grub_fstest_SOURCES): Likewise.
24807
409480b7 248082008-02-05 Robert Millan <rmh@aybabtu.com>
24809
24810 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
24811 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
24812 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
24813 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
24814
24815 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
24816 (translation_table): Replace hardcoded values with macros
24817 provided by `<grub/term.h>'.
24818
24819 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
24820 (keyboard_map): Correct/add a few values, with macros provided
24821 by `<grub/term.h>'.
24822 (keyboard_map_shift): Zero values that don't differ from their
24823 `keyboard_map' equivalents.
24824 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
24825 Discard the second scan code that is always sent by Caps lock.
24826 Only use `keyboard_map_shift' when it provides a non-zero value,
24827 otherwise fallback to `keyboard_map'.
24828
99fadbaa 248292008-02-04 Bean <bean123ch@gmail.com>
24830
24831 * Makefile.in (enable_grub_fstest): New variable.
24832
24833 * conf/common.rmk (grub_fstest_init.lst): New rule.
24834 (grub_fstest_init.h): Likewise.
24835 (grub_fstest_init.c): Likewise.
24836 (util/grub-fstest.c_DEPENDENCIES): New variable.
24837 (grub_fstest_SOURCES): Likewise.
24838
24839 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
24840
24841 * util/grub-fstest.c: New file.
24842
bf567c50 248432008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
24844
24845 Make grub-setup handle a separate root device.
f19dbdb7 24846
bf567c50 24847 * util/i386/pc/grub-setup.c (setup): Always open the root device,
24848 so that the root device can be compared with the destination
24849 device.
24850 When embedding the core image, if the root and destination devices
24851 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
24852 0xFF.
24853 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 24854
9be6b98b 248552008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
24856
24857 Add support for having a grub directory in a different drive. This
24858 is still only the data handling part.
f19dbdb7 24859
9be6b98b 24860 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
24861 (codestart): Save %dh in GRUB_ROOT_DRIVE.
24862 (grub_root_drive): New variable.
24863
24864 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
24865 instead of GRUB_BOOT_DRIVE to construct a device name. Set
24866 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
24867 as it was.
24868
24869 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
24870
24871 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
24872 macro.
24873 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
24874
24875 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
24876 is bogus, because PXE booting does not specify any drive
24877 correctly.
24878
24879 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
24880 am not sure if this is really correct.
24881
24882 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
24883 is always identical to the boot drive when booting from a CD.
24884
24885 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
24886 longer.
24887 (root_drive): New variable.
24888 (real_start): Unconditionally set %dh to ROOT_DRIVE.
24889 (setup_sectors): Push %dx right after popping it, because %dh will
24890 be modified later.
24891 (copy_buffer): Restore %dx.
24892
e0ca0677 248932008-02-03 Robert Millan <rmh@aybabtu.com>
24894
24895 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
24896 use `cdboot.img' for cdrom images.
24897
3b3f6629 248982008-02-03 Robert Millan <rmh@aybabtu.com>
24899
24900 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
24901 only setup gfxterm when `font' command has succeeded.
24902
d42b3672 249032008-02-03 Robert Millan <rmh@aybabtu.com>
24904
24905 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
24906 (grub_rescue_cmd_multiboot_loader)
24907 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
24908
fa370ea6 249092008-02-03 Pavel Roskin <proski@gnu.org>
24910
e0c5dacb 24911 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 24912 %edx and %esi from stack only after grub_gate_a20() is called.
24913 grub_gate_a20() clobbers %edx.
24914
f2a76e1d 249152008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
24916
24917 * configure.ac (AC_INIT): Bumped to 1.96.
24918
24919 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
24920 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
24921 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
24922 video/readers/png.c.
24923
90fd32d1 249242008-02-03 Bean <bean123ch@gmail.com>
9be665dd 24925
24926 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
24927 (cdboot_img_SOURCES): New variable.
24928 (cdboot_img_ASFLAGS): New variable.
24929 (cdboot_img_LDFLAGS): New variable.
24930
24931 * boot/i386/pc/cdboot.S: New file.
24932
24933 * disk/i386/pc/biosdisk.c (cd_start): New variable.
24934 (cd_count): Likewise.
24935 (grub_biosdisk_get_drive): Add support for cd device.
24936 (grub_biosdisk_call_hook): Likewise.
24937 (grub_biosdisk_iterate): Likewise.
24938 (grub_biosdisk_open): Likewise.
24939 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
24940 (grub_biosdisk_rw): Support reading from cd device.
24941 (GRUB_MOD_INIT): Iterate cd devices.
24942
24943 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
24944 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
24945 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
24946
24947 * kern/i386/pc/init.c (make_install_device): Check for cd device.
24948
4020aa53 249492008-02-02 Robert Millan <rmh@aybabtu.com>
24950
24951 * commands/read.c: New file.
24952 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
24953 (read_mod_SOURCES): New variable.
24954 (read_mod_CFLAGS): Likewise.
24955 (read_mod_LDFLAGS): Likewise.
24956
e03a1132 249572008-02-02 Robert Millan <rmh@aybabtu.com>
24958
24959 * normal/main.c (grub_normal_execute): Check for `menu->size' when
24960 determining whether menu has to be displayed.
24961
58c69220 249622008-02-02 Marco Gerards <marco@gnu.org>
24963
24964 * bus/pci.c: New file.
24965
24966 * include/grub/pci.h: Likewise.
24967
24968 * include/grub/i386/pc/pci.h: Likewise.
24969
24970 * commands/lspci.c: Likewise.
24971
24972 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
24973 `lspci.mod'.
24974 (pci_mod_SOURCES): New variable.
24975 (pci_mod_CFLAGS): Likewise.
24976 (pci_mod_LDFLAGS): Likewise.
24977 (lspci_mod_SOURCES): Likewise.
24978 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 24979 (lspci_mod_LDFLAGS): Likewise.
58c69220 24980
c004e1b4 249812008-02-02 Bean <bean123ch@gmail.com>
24982
24983 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
24984 (grub_ufs_get_file_block): Fix indirect block calculation problem.
24985
24986 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
24987 (grub_xfs_btree_node): New structure.
24988 (grub_xfs_btree_root): New structure.
24989 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
24990 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
24991 (GRUB_XFS_EXTENT_BLOCK): Likewise.
24992 (GRUB_XFS_EXTENT_SIZE): Likewise.
24993 (grub_xfs_read_block): Support btree format type.
24994 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
24995 Use directory block as basic unit.
24996
24997 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
24998
24999 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
25000 __attribute__ ((__regparm__ (1))).
25001
f95562bf 250022008-02-01 Robert Millan <rmh@aybabtu.com>
25003
25004 Correct a mistake in previous commit.
25005
25006 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
25007 top.
25008 (normal/command.c_DEPENDENCIES): New variable.
25009
7d31f41f 250102008-02-01 Robert Millan <rmh@aybabtu.com>
25011
25012 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
25013 top.
25014 (normal/command.c_DEPENDENCIES): New variable.
25015 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
25016 * conf/i386-ieee1275.rmk: Likewise.
25017 * conf/i386-linuxbios.rmk: Likewise.
25018 * conf/i386-pc.rmk: Likewise.
25019 * conf/sparc64-ieee1275.rmk: Likewise.
25020 * conf/powerpc-ieee1275.rmk: Likewise.
25021 (grub_emu_SOURCES): Add `fs/fshelp.c'.
25022
25023 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
25024
60b6be74 250252008-02-01 Robert Millan <rmh@aybabtu.com>
25026
25027 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
25028 call at beginning of function.
25029
078522ab 250302008-01-31 Pavel Roskin <proski@gnu.org>
25031
25032 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 25033 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
25034 (grub_mkrescue_SOURCES): Likewise.
078522ab 25035 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
25036
ccaa8a5f 250372008-01-30 Robert Millan <rmh@aybabtu.com>
25038
25039 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
25040 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
25041 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
25042 (grub_probe_SOURCES): ... to here.
25043
25044 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
25045 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
25046 * conf/i386-ieee1275.rmk: Likewise.
25047 * conf/i386-linuxbios.rmk: Likewise.
25048 * conf/powerpc-ieee1275.rmk: Likewise.
25049
ae5a9cd7 250502008-01-30 Tristan Gingold <gingold@free.fr>
25051
25052 * kern/rescue.c: Silently accept empty lines.
25053
70bc2ef2 250542008-01-29 Bean <bean123ch@gmail.com>
25055
25056 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
25057 (real_code_2): Code cleanup and change comment style.
25058 (move_memory): Avoid using 32-bit address mode.
25059
6a4d50ea 250602008-01-29 Bean <bean123ch@gmail.com>
25061
25062 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
25063 (png_mod_SOURCES): New variable.
25064 (png_mod_CFLAGS): Likewise.
25065 (png_mod_LDFLAGS): Likewise.
25066
25067 * video/readers/png.c: New file.
25068
11cc30ac 250692008-01-28 Robert Millan <rmh@aybabtu.com>
25070
25071 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
25072 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
25073 `ifndef GRUB_MOD_GAP' hack.
25074 * util/elf/grub-mkimage.c (add_segments): Likewise.
25075
3abc589f 250762008-01-27 Robert Millan <rmh@aybabtu.com>
25077
25078 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
25079 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 25080 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 25081
e1907778 250822008-01-27 Robert Millan <rmh@aybabtu.com>
25083
25084 Get grub-emu to build again (including parallel builds).
25085
25086 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
25087 Split into ...
25088 (util/grub-emu.c_DEPENDENCIES): ... this, ...
25089 (normal/execute.c_DEPENDENCIES): ... this, ...
25090 (grub-emu_DEPENDENCIES): ... and this.
25091
25092 * conf/i386-efi.rmk: Likewise.
25093 * conf/i386-linuxbios.rmk: Likewise.
25094 * conf/i386-ieee1275.rmk: Likewise.
25095 * conf/powerpc-ieee1275.rmk: Likewise.
25096 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
25097
2216b101 250982008-01-27 Robert Millan <rmh@aybabtu.com>
25099
25100 * NEWS: Add a few items.
25101
f75172d9 251022008-01-27 Robert Millan <rmh@aybabtu.com>
25103
25104 Fix parallel builds with grub-emu. Based on earlier commit for
25105 grub-probe and grub-setup.
25106
25107 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25108 (util/grub-emu.c_DEPENDENCIES): ... this.
25109 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25110 (util/grub-emu.c_DEPENDENCIES): ... this.
25111 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25112 (util/grub-emu.c_DEPENDENCIES): ... this.
25113 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25114 (util/grub-emu.c_DEPENDENCIES): ... this.
25115 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25116 (util/grub-emu.c_DEPENDENCIES): ... this.
25117
3f51de77 251182008-01-27 Pavel Roskin <proski@gnu.org>
25119
25120 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
25121 to create a gap between _end and the modules added to the image
25122 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
25123 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
25124 * util/elf/grub-mkimage.c (add_segments): Likewise.
25125
2033f53e 251262008-01-26 Pavel Roskin <proski@gnu.org>
25127
25128 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
25129 just return an error.
25130
22da1f6f 251312008-01-26 Bean <bean123ch@gmail.com>
25132
25133 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
25134 (grub_reiserfs_get_item): Save offset of the next item.
25135 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
25136
2a9525e6 251372008-01-25 Robert Millan <rmh@aybabtu.com>
25138
25139 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
25140 make all filesystem sources appear together (possibly fixing omissions
25141 while at it).
25142 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25143 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25144 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25145 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25146
25147 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
25148 add `kern/file.c'.
25149 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
25150 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
25151 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
25152 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
25153
25154 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
25155 (probe): Add a sanity check to make sure of our ability to read
25156 requested files when probing for filesystem type.
25157
25158 * genmk.rb: Update copyright year (2007).
25159
25160 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
25161 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
25162 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
25163 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
25164 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
25165 : Remove function prototypes.
25166
b95f71b5 251672008-01-25 Robert Millan <rmh@aybabtu.com>
25168
25169 Revert my previous commits (based on wrong assumption of how grub_errno
25170 works).
25171
fe6b695a 25172 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 25173 * kern/file.c (grub_file_open): Likewise.
25174
d08bbb49 251752008-01-24 Pavel Roskin <proski@gnu.org>
25176
25177 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
25178 that hang if GRUB tries to setup colors.
25179 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
25180 colors for firmwares that don't support it.
25181 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
25182 Recognize Open Hack'Ware, set flags to work around its
25183 limitations.
25184
605e36ed 251852008-01-24 Robert Millan <rmh@aybabtu.com>
25186
25187 * kern/file.c (grub_file_open): Do not account previous failures of
25188 unrelated functions when grub_errno is checked for.
25189 Reported by Oleg Strikov.
25190
bac332a1 251912008-01-24 Bean <bean123ch@gmail.com>
25192
25193 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
25194 (grub_ufs_sblock): New member volume name.
25195 (grub_ufs_find_file): Fix string copy bug.
25196 (grub_ufs_label): Implement this function properly.
25197
25198 * fs/hfs.c (grub_hfs_cnid_type): New enum.
25199 (grub_hfs_iterate_records): Use the correct file number for extents
25200 and catalog file. Fix problem in next index calculation.
25201 (grub_hfs_find_node): Replace recursive function call with loop.
25202 (grub_hfs_iterate_dir): Replace recursive function call with loop.
25203
15c80c09 252042008-01-23 Robert Millan <rmh@aybabtu.com>
25205
25206 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
25207 `<grub/symbol.h>' and `<grub/multiboot.h>'.
25208 (grub_multiboot2_real_boot): New function prototype.
25209
25210 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
25211 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
25212
25213 * kern/i386/ieee1275/init.c (grub_os_area_addr)
25214 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
25215
305338fd 252162008-01-23 Robert Millan <rmh@aybabtu.com>
25217
25218 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
25219 #ifdef'ed out grub_printf().
25220
3ea52685 252212008-01-23 Robert Millan <rmh@aybabtu.com>
25222
25223 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
25224 grub_dprintf calls, since they make "debug=all" mode unusable.
25225 (grub_console_checkkey): Likewise.
25226
5882ae4b 252272008-01-23 Robert Millan <rmh@aybabtu.com>
25228
25229 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
25230 `term/i386/pc/at_keyboard.c'.
25231 (pkglib_MODULES): Add `serial.mod'.
25232 (serial_mod_SOURCES): New variable.
25233 (serial_mod_CFLAGS): Likewise.
25234 (serial_mod_LDFLAGS): Likewise.
25235
25236 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
25237 `<grub/powerpc/ieee1275/console.h>'.
25238 (grub_keyboard_controller_init): New function prototype.
25239 (grub_console_checkkey): Likewise.
25240 (grub_console_getkey): Likewise.
25241
25242 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
25243 keyboard on i386.
25244
25245 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
25246 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
25247
06ab5303 252482008-01-23 Robert Millan <rmh@aybabtu.com>
25249
25250 * kern/i386/pc/init.c (make_install_device): When memdisk image is
25251 present, "(memdisk)/boot/grub" becomes the default prefix.
25252
25253 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
25254 a memdisk tarball with all the modules. Add --overlay=DIR option that
25255 allows users to overlay additional files into the image.
25256
dbb475a4 252572008-01-23 Robert Millan <rmh@aybabtu.com>
25258
25259 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
25260 and `machine/memory.h'.
25261 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
25262 (_multiboot_mod_SOURCES): New variable.
25263 (_multiboot_mod_CFLAGS): Likewise.
25264 (_multiboot_mod_LDFLAGS): Likewise.
25265 (multiboot_mod_SOURCES): Likewise.
25266 (multiboot_mod_CFLAGS): Likewise.
25267 (multiboot_mod_LDFLAGS): Likewise.
25268
25269 * include/grub/i386/ieee1275/loader.h: New file.
25270
25271 * include/grub/i386/ieee1275/machine.h: Likewise.
25272
25273 * include/grub/i386/ieee1275/memory.h: Likewise.
25274
25275 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
25276 variable declaration.
25277 (grub_os_area_size): Likewise.
25278
25279 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
25280 (grub_lower_mem, grub_upper_mem): New variables.
25281 (grub_stop_floppy): New function (just to make
25282 grub_multiboot2_real_boot() happy).
25283
25284 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
25285 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
25286 (grub_stop): New function.
25287 Include `"../realmode.S"' and `"../loader.S"'.
25288
25289 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
25290 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
25291
25292 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
25293 rely on grub_multiboot2_real_boot() for final boot.
25294
25638629 252952008-01-22 Robert Millan <rmh@aybabtu.com>
25296
25297 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
25298 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
25299 device that doesn't look like an SD card.
25300 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
25301 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
25302 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
25303 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
25304 found.
25305
9dad816d 253062008-01-22 Robert Millan <rmh@aybabtu.com>
25307
25308 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
25309 avoid claiming over our own code.
25310
34842f2d 253112008-01-22 Bean <bean123ch@gmail.com>
25312
25313 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
25314 (jpeg_mod_SOURCES): New variable.
25315 (jpeg_mod_CFLAGS): Likewise.
25316 (jpeg_mod_LDFLAGS): Likewise.
25317
25318 * video/readers/jpeg.c : New file.
25319
44023a28 253202008-01-22 Bean <bean123ch@gmail.com>
25321
25322 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
25323 there are no more items.
25324
bc2d8ac6 253252008-01-21 Robert Millan <rmh@aybabtu.com>
25326
25327 * kern/mm.c (grub_mm_init_region): Improve debug message.
25328
261bd4bc 253292008-01-21 Robert Millan <rmh@aybabtu.com>
25330
25331 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
25332 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
25333 address.
25334 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
25335 a C macro.
25336 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
25337 Indicates start of upper memory.
25338 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
25339 (generate_image): Abort when image size is big enough to corrupt
25340 upper memory.
25341
25342 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
25343 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
25344 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
25345 instead of hardcoding 0xA0000.
25346 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
25347 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
25348 instead of hardcoding 0xA0000.
25349
f970b55e 253502008-01-21 Robert Millan <rmh@aybabtu.com>
25351
25352 * disk/memdisk.c (memdisk_size): New variable.
25353 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
25354 `memdisk_size'.
25355 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
25356 image to dynamic memory.
25357 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
25358 `memdisk_size'. Free memdisk block.
25359
1a8b0526 253602008-01-21 Robert Millan <rmh@aybabtu.com>
25361
25362 Fix detection of very small filesystems (like tar).
25363
25364 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
25365 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
25366 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
25367 a problem with this disk).
25368
6e9b4aab 253692008-01-21 Robert Millan <rmh@aybabtu.com>
25370
25371 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
25372 on grub_biosdisk_rw_standard() error.
25373
0d8837b2 253742008-01-21 Robert Millan <rmh@aybabtu.com>
25375
25376 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
25377 recent changes.
25378 * kern/elf.c: Likewise.
25379 * kern/ieee1275/ieee1275.c: Likewise.
25380 * kern/powerpc/ieee1275/openfw.c: Likewise.
25381 * term/ieee1275/ofconsole.c: Likewise.
25382
ffd36e34 253832008-01-21 Robert Millan <rmh@aybabtu.com>
25384
25385 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
25386
3f0093d0 25387 * include/grub/kernel.h (grub_arch_memdisk_addr)
25388 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 25389
3f0093d0 25390 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
25391 (grub_arch_memdisk_size): ... to here.
ffd36e34 25392
6c391b21 253932008-01-21 Robert Millan <rmh@aybabtu.com>
25394
25395 Mostly based on bugfix from Bean.
25396
25397 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
25398 attribute with hook() parameter.
25399 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
25400 declaration.
25401 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
25402 attribute with hook() parameter.
25403 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
25404 declaration.
25405
55a581dc 254062008-01-21 Robert Millan <rmh@aybabtu.com>
25407
25408 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
25409 (pkglib_MODULES): Add `memdisk.mod'.
25410 (memdisk_mod_SOURCES): New variable.
25411 (memdisk_mod_CFLAGS): Likewise.
25412 (memdisk_mod_LDFLAGS): Likewise.
25413
25414 * disk/memdisk.c: New file.
25415
25416 * include/grub/disk.h (grub_disk_dev_id): Add
25417 `GRUB_DISK_DEVICE_MEMDISK_ID'.
25418
25419 * include/grub/i386/pc/kernel.h
25420 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
25421 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
25422 (grub_kernel_image_size): New variable declaration.
25423 (grub_total_module_size): Likewise.
25424 (grub_memdisk_image_size): Likewise.
25425
25426 * include/grub/i386/pc/memory.h
25427 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
25428
25429 * include/grub/kernel.h: Include `<grub/symbol.h>'.
25430 (grub_arch_memdisk_addr): New variable declaration.
25431 (grub_arch_memdisk_size): Likewise.
25432
25433 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
25434 (grub_arch_memdisk_size): Likewise.
25435
25436 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
25437 (codestart): Replace hardcoded `0x100000' with
25438 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
25439
25440 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
25441 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
25442 not NULL, append the contents of the file it refers to, at the end of
25443 the compressed kernel image. Initialize `grub_memdisk_image_size'
25444 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
25445 (options): Add "memdisk"|'m' option.
25446 (main): Parse --memdisk|-m option, and pass user-provided path as
25447 parameter to generate_image().
25448
3d7f54c9 254492008-01-20 Robert Millan <rmh@aybabtu.com>
25450
25451 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
25452 grub_dprintf() calls from here ...
25453 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
25454
0bf74728 254552008-01-20 Robert Millan <rmh@aybabtu.com>
25456
25457 Fix detection of "real mode" when /options/real-mode? doesn't exist.
25458
25459 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
25460 declaration.
25461 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
25462 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
25463 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 25464 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 25465 property).
25466 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
25467 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
25468
33bf70a7 254692008-01-19 Robert Millan <rmh@aybabtu.com>
25470
fe6b695a 25471 Get rid of confusing function (superseded by
33bf70a7 25472 `grub_ieee1275_get_integer_property')
25473 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
25474 prototype.
25475 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
25476 function.
25477 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
25478 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 25479 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 25480
e2da7d26 254812008-01-19 Robert Millan <rmh@aybabtu.com>
25482
25483 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
25484 command after "shut-down", since implementations differ on which
25485 the command for halt is.
25486
59f1fd8d 254872008-01-19 Robert Millan <rmh@aybabtu.com>
25488
25489 * include/grub/i386/linuxbios/console.h: Add header protection.
25490 (grub_keyboard_controller_init): New function prototype.
25491 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
25492 (KEYBOARD_COMMAND_READ): Likewise.
25493 (KEYBOARD_COMMAND_WRITE): Likewise.
25494 (KEYBOARD_SCANCODE_SET1): Likewise.
25495 (grub_keyboard_controller_write): New function.
25496 (grub_keyboard_controller_read): Likewise.
25497 (grub_keyboard_controller_init): Likewise.
25498
25499 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
25500 (grub_console_init): On coreboot/LinuxBIOS, call
25501 grub_keyboard_controller_init().
25502
5f5a7c15 255032008-01-19 Robert Millan <rmh@aybabtu.com>
25504
25505 PowerPC changes provided by Pavel Roskin.
25506
25507 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
25508 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
25509 don't rely on cmain() doing it.
25510 * kern/i386/ieee1275/startup.S (_start): Store %eax in
25511 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
25512
1210e168 255132008-01-16 Robert Millan <rmh@aybabtu.com>
25514
25515 * include/grub/i386/linuxbios/memory.h
25516 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
25517 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
25518 receive `table_header' as argument. Instead, probe for it in the
25519 known memory ranges where it can be present.
25520 (grub_available_iterate): Do not pass a fixed `table_header' address
25521 to grub_linuxbios_table_iterate().
25522
3d04eab8 255232008-01-15 Robert Millan <rmh@aybabtu.com>
25524
25525 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
25526 * conf/i386-ieee1275.rmk: New file.
25527 * include/grub/i386/ieee1275/console.h: Likewise.
25528 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
25529 * include/grub/i386/ieee1275/kernel.h: Likewise.
25530 * include/grub/i386/ieee1275/time.h: Likewise.
25531 * kern/i386/ieee1275/init.c: Likewise.
25532 * kern/i386/ieee1275/startup.S: Likewise.
25533
d1bc1b73 255342008-01-15 Robert Millan <rmh@aybabtu.com>
25535
25536 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
25537 when pointers are 32-bit (but still do set it to one when they are
25538 64-bit).
25539
66a65807 255402008-01-15 Robert Millan <rmh@aybabtu.com>
25541
25542 * include/grub/ieee1275/ieee1275.h
25543 (grub_ieee1275_get_integer_property): New function prototype.
25544
25545 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
25546 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 25547 grub_ieee1275_get_property() to handle endianness.
66a65807 25548
25549 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
25550 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 25551 where appropriate.
66a65807 25552 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
25553 (grub_map): Likewise.
25554 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
25555
a83ccafd 255562008-01-15 Bean <bean123ch@gmail.com>
25557
25558 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
25559 (grub_script_execute_cmdline): Reset grub_errno.
25560
25561 * normal/main.c (read_config_file): Reset grub_errno.
25562
25563 * normal/parse.y (script_init): New.
25564 (script): Move function and menuentry here.
25565 (delimiter): New.
25566 (command): Add delimiter at the end of command.
25567 (commands): Adjust to match the new command.
25568 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 25569 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 25570 (if): Use the new commands.
25571
25572 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
25573
df6ecfc6 255742008-01-15 Robert Millan <rmh@aybabtu.com>
25575
25576 * normal/menu.c (run_menu): Move timeout message from here ...
25577 (print_timeout): ... to here.
25578 (run_menu): Use print_timeout() once during initial draw to print
25579 the whole message, and again in every clock tick to update only
25580 the number of seconds.
25581
87ae25eb 255822008-01-15 Robert Millan <rmh@aybabtu.com>
25583
25584 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
25585 actual size of `available' from grub_ieee1275_get_property(), and
25586 restrict parsing to that bound.
25587
47bf09a4 255882008-01-15 Christian Franke <franke@computer.org>
25589
25590 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
25591 (argp_program_version): Remove variable.
25592 (argp_program_bug_address): Likewise.
25593 (options): Convert from struct argp_option to struct option.
25594 (struct arguments): Remove.
25595 (parse_opt): Remove.
25596 (usage): New function.
25597 (main): Replace struct args members by simple variables.
25598 Replace argp_parse() by getopt_long().
25599 Add switch to evaluate options.
25600 Add missing "(...)" around root_dev in prefix string.
25601
c86f1469 256022008-01-14 Robert Millan <rmh@aybabtu.com>
25603
25604 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
25605 for grub_ieee1275_exit(), in order to improve portability.
25606
e622c559 256072008-01-14 Robert Millan <rmh@aybabtu.com>
25608
25609 * util/grub.d/10_linux.in (prefix): Define.
25610 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
25611
44cb1ec8 256122008-01-13 Pavel Roskin <proski@gnu.org>
25613
25614 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
25615 grub_errno if no errors have been detected.
25616
1eb8c802 256172008-01-12 Robert Millan <rmh@aybabtu.com>
25618
25619 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
25620 (grub_util_get_dev_abstraction): New function prototype.
25621
25622 * util/getroot.c: Include `<grub/util/getroot.h>'
25623 (grub_util_get_grub_dev): Move detection of abstraction type to ...
25624 (grub_util_get_dev_abstraction): ... here (new function).
25625
25626 * util/grub-probe.c: Convert PRINT_* to an enum. Add
25627 `PRINT_ABSTRACTION'.
25628 (probe): Probe for abstraction type when requested.
25629 (main): Understand `--target=abstraction'.
25630
25631 * util/i386/efi/grub-install.in: Add abstraction module to core
25632 image when it is found to be necessary.
25633 * util/i386/pc/grub-install.in: Likewise.
25634 * util/powerpc/ieee1275/grub-install.in: Likewise.
25635
25636 * util/update-grub_lib.in (font_path): Return system path without
25637 converting to GRUB path.
25638 * util/update-grub.in: Convert system path returned by font_path()
25639 to a GRUB path. Use `grub-probe -t abstraction' to determine what
25640 abstraction module is needed for loading fonts (if any). Export
25641 that as `GRUB_PRELOAD_MODULES'.
25642 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
25643 insmod commands).
25644
52bd3de9 256452008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
25646
25647 Remove some unused code from reiserfs.
f19dbdb7 25648
52bd3de9 25649 * fs/reiserfs.c (struct grub_reiserfs_key)
25650 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
25651 (struct grub_reiserfs_node_body): Removed.
25652 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
25653 Likewise.
25654 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
25655 Likewise.
25656 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
25657 Likewise.
25658 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
25659 Likewise.
25660 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
25661 Likewise.
25662 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
25663 Likewise.
25664 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
25665 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
25666 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
25667
2f80039d 256682008-01-10 Robert Millan <rmh@aybabtu.com>
25669
25670 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
25671 Determines if a file is garbage left by packaging systems, etc.
25672 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
25673 for processing /etc/grub.d scripts.
25674 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
25675 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
25676 as a condition for processing Linux images.
25677
87888032 256782008-01-10 Pavel Roskin <proski@gnu.org>
25679
25680 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
25681 to compile reiserfs.c on PowerPC.
25682
7e54fced 256832008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 25684
25685 * kern/device.c (grub_device_iterate): Do not abort device iteration
25686 when one of the devices cannot be opened.
25687 * kern/disk.c (grub_disk_open): Do not account previous failures of
25688 unrelated functions when grub_errno is checked for.
25689
5aa541e6 256902008-01-08 Robert Millan <rmh@aybabtu.com>
25691
25692 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
25693 `! grub_linux_is_bzimage', change order of address comparison to make
25694 it more intuitive, and improve "too big zImage" error message.
25695
7076340d 256962008-01-08 Robert Millan <rmh@aybabtu.com>
25697
25698 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
25699 `$(update-grub_DATA)'.
25700 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
25701 targets.
25702
9ca70333 257032008-01-07 Robert Millan <rmh@aybabtu.com>
25704
25705 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
25706 which instruction is modified by grub-setup during installation
25707 (since it wasn't obvious by only looking at this file).
25708
38ccf575 257092008-01-07 Robert Millan <rmh@aybabtu.com>
25710
25711 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
25712 listing actual TODO items.
25713
f5db4291 257142008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
25715
868967cf 25716 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
25717 correctly.
25718 (grub_reiserfs_get_key_offset): Likewise.
25719 (grub_reiserfs_set_key_offset): Likewise.
25720 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 25721 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 25722
25723 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
25724 better to remove the bitfield version completely.
f19dbdb7 25725
868967cf 257262008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 25727
f5db4291 25728 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
25729 allocated from the heap, due to the fshelp implementation.
25730 (grub_reiserfs_dir): Free NODE, due to the same reason.
25731
492e6d9d 257322008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
25733
25734 Mostly from Vincent Pelletier:
f19dbdb7 25735
492e6d9d 25736 * fs/reiserfs.c: New file.
f19dbdb7 25737
492e6d9d 25738 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
25739 (reiserfs_mod_SOURCES): New variable.
25740 (reiserfs_mod_CFLAGS): Likewise.
25741 (reiserfs_mod_LDFLAGS): Likewise.
25742
25743 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
25744 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
25745 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
25746 normal/color.c.
25747
9ce3e7c1 257482008-01-06 Robert Millan <rmh@aybabtu.com>
25749
25750 * normal/color.c: Remove `<grub/env.h>'.
25751
f3b58148 257522008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
25753
25754 * include/grub/normal.h: Include <grub/env.h>.
25755
7ac3bcfa 257562008-01-05 Robert Millan <rmh@aybabtu.com>
25757
25758 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
25759 usage example with `(hd0,1)'.
fb358190 25760 Reported by Samuel Thibault.
7ac3bcfa 25761
c8ee99d7 257622008-01-05 Robert Millan <rmh@aybabtu.com>
25763
25764 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
25765 (grub_linux_boot_zimage): Rename to ...
25766 (grub_linux_boot): ... this.
25767 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
25768 (grub_linux_boot_zimage): Conditionalize zImage copy.
25769
25770 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
25771 (grub_linux_boot_bzimage): Remove prototype.
25772 (grub_linux_boot_zimage): Rename to ...
25773 (grub_linux_boot): ... this.
25774
25775 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
25776 (grub_linux_boot): Remove function.
25777
0ece25b1 257782008-01-05 Robert Millan <rmh@aybabtu.com>
25779
25780 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
25781 (grub_env_write_color_highlight): Likewise.
25782 (grub_wait_after_message): Likewise.
25783
25784 * normal/color.c: New file.
25785
25786 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
25787 (normal_mod_DEPENDENCIES): Likewise.
25788
25789 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
25790 (normal_mod_DEPENDENCIES): Likewise.
25791
25792 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
25793 (normal_mod_DEPENDENCIES): Likewise.
25794
25795 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
25796 (normal_mod_DEPENDENCIES): Likewise.
25797
25798 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
25799 for waiting after a message is printed.
25800 * normal/main.c (read_config_file): Likewise.
25801 (grub_normal_init): Register grub_env_write_color_normal() and
25802 grub_env_write_color_highlight() hooks. Mark `color_normal' and
25803 `color_highlight' variables as global.
25804
25805 * normal/menu.c (grub_wait_after_message): New function.
25806 (grub_color_menu_normal): New variable. Replaces ...
25807 (GRUB_COLOR_MENU_NORMAL): ... this macro.
25808 (grub_color_menu_highlight): New variable. Replaces ...
25809 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
25810 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
25811 `GRUB_TERM_COLOR_STANDARD'.
25812 (print_message): Use `grub_setcolorstate' to reload colors. Rename
25813 `normal_code' and `highlight_code' to `old_color_normal' and
25814 `old_color_highlight', respectively.
25815 (grub_menu_init_page): Update colors when drawing the menu, based on
25816 `menu_color_normal' and `menu_color_highlight' variables.
25817 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
25818 a message is printed.
25819
182dd4e5 258202008-01-05 Robert Millan <rmh@aybabtu.com>
25821
25822 * kern/env.c (grub_env_context_open): Propagate hooks for global
25823 variables to new context.
25824
25825 * kern/main.c (grub_set_root_dev): Export `root' variable.
25826
ddf8f6ad 258272008-01-05 Robert Millan <rmh@aybabtu.com>
25828
25829 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 25830 discs unconditionally, since udev and others have options to provide
ddf8f6ad 25831 them.
25832
d8b43d9b 258332008-01-05 Robert Millan <rmh@aybabtu.com>
25834
25835 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
25836
2bff2de3 258372008-01-04 Christian Franke <franke@computer.org>
25838
25839 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
25840 of eisa_mmap.
25841
97eab917 258422008-01-03 Pavel Roskin <proski@gnu.org>
25843
25844 * kern/i386/linuxbios/init.c: Put "void" to all function
25845 declarations with no arguments.
25846 * kern/powerpc/ieee1275/init.c: Likewise.
25847 * term/i386/pc/at_keyboard.c: Likewise.
25848 * term/i386/pc/vga_text.c: Likewise.
25849 * util/grub-mkdevicemap.c: Likewise.
25850
b9416d00 258512008-01-02 Robert Millan <rmh@aybabtu.com>
25852
25853 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
25854 message when loaded image is out of bounds.
25855 (grub_multiboot_load_elf64): Likewise.
25856
92695df9 258572008-01-02 Pavel Roskin <proski@gnu.org>
25858
25859 * util/grub.d/10_linux.in: Try version without ".old" when
25860 looking for initrd. It's better to use initrd from the newer
25861 kernel of the same version than no initrd at all.
25862
d98d9cad 258632008-01-01 Robert Millan <rmh@aybabtu.com>
25864
25865 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
25866
dbfdce36 258672008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
25868
f19dbdb7 25869 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 25870 grub_video_get_active_render_target.
25871 (grub_video_adapter): Added unmap_color and get_active_render_target.
25872
f19dbdb7 25873 * video/video.c: Added grub_video_unmap_color and
dbfdce36 25874 grub_video_get_active_render_target.
25875 (grub_video_get_info): Changed method to accept NULL pointer as an
25876 argument to allow detection of active video adapter.
25877
25878 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
25879 grub_video_vbe_unmap_color_int.
25880 Added grub_video_vbe_unmap_color and
25881 grub_video_vbe_get_active_render_target.
25882 (grub_video_vbe_adapter): Added unmap_color and
25883 get_active_render_target.
25884
f19dbdb7 25885 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 25886 with grub_video_vbe_unmap_color_int.
25887
25888 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
25889 (DEFAULT_NORMAL_COLOR): Likewise.
25890 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
25891 (DEFAULT_FG_COLOR): Removed.
25892 (DEFAULT_BG_COLOR): Likewise.
25893 (DEFAULT_CURSOR_COLOR): Changed value.
25894 (grub_virtual_screen): Added standard_color_setting,
25895 normal_color_setting, highlight_color_setting and term_color.
25896 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
25897 (bitmap_width): Added.
25898 (bitmap_height): Likewise.
25899 (bitmap): Likewise.
25900 (set_term_color): Likewise.
25901 (grub_virtual_screen_setup): Changed to use new terminal coloring
25902 settings.
25903 (grub_gfxterm_init): Added init for bitmap.
25904 (grub_gfxterm_fini): Added destroy for bitmap.
25905 (redraw_screen_rect): Updated to use background bitmap and new
25906 terminal coloring.
25907 (scroll_up): Added optimization for case when there is no bitmap.
25908 (grub_gfxterm_cls): Fixed to use correct background color.
25909 (grub_virtual_screen_setcolorstate): Changed to use new terminal
25910 coloring.
25911 (grub_virtual_screen_setcolor): Likewise.
25912 (grub_virtual_screen_getcolor): Added.
25913 (grub_gfxterm_background_image_cmd): Likewise.
25914 (grub_video_term): Added setcolor and getcolor.
25915 (MOD_INIT): Added registration of background_image command.
25916 (MOD_TERM): Added unregistration for background_image command.
25917
c3c20931 259182007-12-30 Pavel Roskin <proski@gnu.org>
25919
25920 * loader/multiboot_loader.c: Fix multiboot command
25921 unregistration. Fix all typos in the word "multiboot".
25922
df266716 259232007-12-29 Pavel Roskin <proski@gnu.org>
94239199 25924
25925 * util/grub.d/10_linux.in: Refactor search for initrd. Add
25926 support for initrd names used in Fedora.
25927
fc6e896c 259282007-12-26 Bean <bean123ch@gmail.com>
25929
25930 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
25931 (cpio_mod_SOURCES): New variable.
25932 (cpio_mod_CFLAGS): Likewise.
25933 (cpio_mod_LDFLAGS): Likewise.
25934
25935 * fs/cpio.c: New file.
25936
25937 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
25938
25939 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25940
25941 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25942
25943 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25944
533110ad 259452007-12-25 Robert Millan <rmh@aybabtu.com>
25946
25947 * include/grub/term.h (struct grub_term): Add `getcolor' function.
25948 (grub_getcolor): New function.
25949
25950 * kern/term.c (grub_getcolor): New function.
25951 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
25952 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
25953 (print_entry): Set normal and highlight colors to
25954 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
25955 respectively, before printing and restore them to old
25956 values afterwards.
25957 (grub_menu_init_page): Likewise. Fill an additional colored space
25958 that would otherwise be left blank.
25959
25960 * term/efi/console.c (grub_console_getcolor): New function.
25961 (struct grub_console_term.getcolor): New variable.
25962 * term/i386/pc/console.c (grub_console_getcolor): New function.
25963 (struct grub_console_term.getcolor): New variable.
25964 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
25965 (struct grub_console_term.getcolor): New variable.
25966
25967 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
25968 (struct grub_console_term.setcolor): Remove variable.
25969 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
25970 (struct grub_console_term.setcolor): Remove variable.
25971 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
25972 (struct grub_console_term.setcolor): Remove variable.
25973 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
25974 (struct grub_console_term.setcolor): Remove variable.
25975
4931827f 259762007-12-25 Robert Millan <rmh@aybabtu.com>
25977
25978 * configure.ac: Search for possible unifont.hex locations, and
25979 define UNIFONT_HEX if found.
25980
25981 * Makefile.in (UNIFONT_HEX): Define variable.
25982 (DATA): Rename to ...
25983 (PKGLIB): ... this. Update all users.
25984 (PKGDATA): New variable.
25985 (pkgdata_IMAGES): Rename to ...
25986 (pkglib_IMAGES): ... this. Update all users.
25987 (pkgdata_MODULES): Rename to ...
25988 (pkglib_MODULES): ... this. Update all users.
25989 (pkgdata_PROGRAMS): Rename to ...
25990 (pkglib_PROGRAMS): ... this. Update all users.
25991 (pkgdata_DATA): Rename to ...
25992 (pkglib_DATA): ... this. Update all users.
25993 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
25994 (unicode.pff, ascii.pff): New rules.
25995 (all-local): Add `$(PKGDATA)' dependency.
25996 (install-local): Process `$(PKGDATA)'.
25997
25998 * util/update-grub_lib.in (font_path): Search for *.pff files in
25999 a few more locations, including `${pkgdata}'.
26000
57e57e31 260012007-12-23 Robert Millan <rmh@aybabtu.com>
26002
26003 Patch from Bean <bean123ch@gmail.com>:
26004 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
26005 `size'.
26006
4bc72aa9 260072007-12-21 Bean <bean123ch@gmail.com>
26008
26009 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
26010 (ntfscomp_mod_SOURCES): New variable.
26011 (ntfscomp_mod_CFLAGS): Likewise.
26012 (ntfscomp_mod_LDFLAGS): Likewise.
26013
26014 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
26015 (grub_probe_SOURCES): Likewise.
26016 (grub_emu_SOURCES): Likewise.
26017
26018 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26019 (grub_emu_SOURCES): Likewise.
26020
26021 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26022 (grub_emu_SOURCES): Likewise.
26023
26024 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26025 (grub_emu_SOURCES): Likewise.
26026
26027 * fs/ntfs.c (grub_ntfscomp_func): New variable.
26028 (read_run_list): Renamed to grub_ntfs_read_run_list.
26029 (decomp_nextvcn): Moved to ntfscomp.c.
26030 (decomp_getch): Likewise.
26031 (decomp_get16): Likewise.
26032 (decomp_block): Likewise.
26033 (read_block): Likewise.
26034 (read_data): Partially moved to ntfscomp.c.
26035 (fixup): Change unsigned to grub_uint16_t.
26036 (read_mft): Change unsigned long to grub_uint32_t.
26037 (read_attr): Likewise.
26038 (read_data): Likewise.
26039 (read_run_data): Likewise.
26040 (read_run_list): Likewise.
26041 (read_mft): Likewise.
26042
26043 * fs/ntfscomp.c: New file.
26044
26045 * include/grub/ntfs.h: New file.
26046
af680a87 260472007-12-16 Robert Millan <rmh@aybabtu.com>
26048
26049 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
26050 IDE disk check, since Linux is known to support 20 IDE disks.
26051 Reported by Colin Watson.
26052
84be7599 260532007-12-15 Bean <bean123ch@gmail.com>
26054
26055 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
26056 (lnxboot_img_SOURCES): New variable.
26057 (lnxboot_img_ASFLAGS): Likewise.
26058 (lnxboot_img_LDFLAGS): Likewise.
26059
26060 * boot/i386/pc/lnxboot.S: New file.
26061
6af9db01 260622007-11-24 Pavel Roskin <proski@gnu.org>
26063
26064 * configure.ac: Test if '--build-id=none' is supported by the
26065 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
26066 objcopy to generate incorrect binary files (binutils
26067 2.17.50.0.18-1 as shipped by Fedora 8).
26068 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
26069 linking, so that build ID doesn't break the test.
26070
7361cfe6 260712007-11-24 Pavel Roskin <proski@gnu.org>
26072
26073 * include/grub/i386/time.h: use "void" in the argument list
26074 of grub_cpu_idle().
26075 * include/grub/powerpc/time.h: Likewise.
26076 * include/grub/sparc64/time.h: Likewise.
26077
1593e10c 260782007-11-18 Christian Franke <franke@computer.org>
26079
26080 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
26081 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
26082 This fixes the problem that function keys did not work in grub-emu.
26083
3b8db1a8 260842007-11-18 Christian Franke <franke@computer.org>
26085
26086 * disk/host.c (grub_host_open): Remove attribute unused from
26087 name parameter. Add check for "host". This fixes the problem
26088 that grub-emu does not find partitions.
26089
2e29408d 260902007-11-18 Christian Franke <franke@computer.org>
26091
26092 * util/hostfs.c (is_dir): New function.
26093 (grub_hostfs_dir): Handle missing dirent.d_type case.
26094 (grub_hostfs_read): Add missing fseek().
26095 (grub_hostfs_label): Clear label pointer. This fixes a crash
26096 of grub-emu on "ls (host)".
26097
398cd047 260982007-11-18 Christian Franke <franke@computer.org>
26099
26100 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
26101 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
26102 to 64 bit boundary by default.
26103
c405c391 261042007-11-18 Bean <bean123ch@gmail.com>
26105
26106 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
26107 (hexdump_mod_SOURCES): New variable.
26108 (hexdump_mod_CFLAGS): Likewise.
26109 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 26110
c405c391 26111 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26112
26113 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26114
26115 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26116
26117 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26118
26119 * include/grub/hexdump.h: New file.
26120
26121 * commands/hexdump.c: New file.
26122
5cced7fd 261232007-11-10 Robert Millan <rmh@aybabtu.com>
26124
26125 * commands/i386/pc/play.c (beep_off): Switch order of arguments
26126 in grub_outb() calls.
26127 (beep_on): Likewise.
26128
8b714eb0 261292007-11-10 Christian Franke <franke@computer.org>
26130
26131 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
26132 (grub_menu_run): Likewise.
26133
ce0f1839 261342007-11-10 Robert Millan <rmh@aybabtu.com>
26135
26136 * include/grub/i386/efi/machine.h: New file.
26137 * include/grub/i386/linuxbios/machine.h: Likewise.
26138 * include/grub/i386/pc/machine.h: Likewise.
26139 * include/grub/powerpc/ieee1275/machine.h: Likewise.
26140 * include/grub/sparc64/ieee1275/machine.h: Likewise.
26141
26142 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
26143 (serial_hw_io_addr): New variable.
26144 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
26145 instead of `(unsigned short *) 0x400'.
26146
270c237d 261472007-11-10 Bean <bean123ch@gmail.com>
26148
26149 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
26150
a87783bf 261512007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
26152
26153 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
26154 (vga_mod_SOURCES): Added.
26155 (vga_mod_CFLAGS): Likewise.
26156 (vga_mod_LDFLAGS): Likewise.
26157
26158 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
26159 grub_outb() calls.
26160 (set_map_mask): Likewise.
26161 (set_read_map): Likewise.
26162 (set_read_address): Likewise.
26163 (vga_font): Removed variable.
26164 (get_vga_glyph): Removed function.
26165 (invalidate_char): Likewise.
26166 (write_char): Changed to use grub_font_get_glyph() for font
26167 information.
26168 (grub_vga_putchar): Likewise.
26169 (grub_vga_getcharwidth): Likewise.
26170
6433b448 261712007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
26172
26173 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
26174 flags.
26175 (pxeboot_img_LDFLAGS): Likewise.
26176 (diskboot_img_LDFLAGS): Likewise.
26177 (kernel_img_LDFLAGS): Likewise.
26178
49178511 261792007-11-06 Robert Millan <rmh@aybabtu.com>
26180
26181 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
26182 in grub_outb() calls.
26183 (serial_hw_init): Likewise.
26184
53b052de 261852007-11-05 Robert Millan <rmh@aybabtu.com>
26186
26187 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
26188 spaces. Skip non-regular files.
26189
5ab33bba 261902007-11-05 Robert Millan <rmh@aybabtu.com>
26191
26192 * kern/disk.c (grub_disk_firmware_fini)
26193 (grub_disk_firmware_is_tainted): New variables.
26194
26195 * include/grub/disk.h (grub_disk_firmware_fini)
26196 (grub_disk_firmware_is_tainted): Likewise.
26197
26198 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
26199 (grub_disk_biosdisk_fini): ... to here.
26200 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
26201 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
26202 is set. Register grub_disk_biosdisk_fini() in
26203 `grub_disk_firmware_fini'.
26204
26205 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
26206 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
26207 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
26208 to finish existing firmware disk interface.
26209
26210 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
26211 (ata_mod_SOURCES): New variable.
26212 (ata_mod_CFLAGS): Likewise.
26213 (ata_mod_LDFLAGS): Likewise.
26214
0149ab7c 262152007-11-05 Robert Millan <rmh@aybabtu.com>
26216
26217 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
26218 (grub_ata_wait): Reimplement using grub_millisleep().
26219
26220 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
26221 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
26222
be7ac41e 262232007-11-03 Marco Gerards <marco@gnu.org>
26224
26225 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
26226 (CRTC_ADDR_PORT): New macro.
26227 (CRTC_DATA_PORT): Likewise.
26228 (CRTC_CURSOR): Likewise.
26229 (CRTC_CURSOR_ADDR_HIGH): Likewise.
26230 (CRTC_CURSOR_ADDR_LOW): Likewise.
26231 (update_cursor): New function.
26232 (grub_console_real_putchar): Call `update_cursor'.
26233 (grub_console_gotoxy): Likewise.
26234 (grub_console_cls): Set the default color when clearing the
26235 screen.
26236 (grub_console_setcursor): Implemented.
26237
bb06ab2e 262382007-11-03 Marco Gerards <marco@gnu.org>
26239
26240 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
26241 become activate.
26242 (grub_ata_pio_write): Likewise.
26243
26244 (grub_atapi_identify): Wait after issuing an ATA command.
26245 (grub_atapi_packet): Likewise.
26246 (grub_ata_identify): Likewise.
26247 (grub_ata_readwrite): Likewise.
26248
cf8f780b 262492007-11-03 Marco Gerards <marco@gnu.org>
26250
26251 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
26252 (grub_ata_pio_write): Likewise.
26253 (grub_ata_readwrite): Use `grub_error', instead of
26254 returning `grub_errno'.
26255
ed649e54 262562007-11-03 Marco Gerards <marco@gnu.org>
26257
26258 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
26259 grub_ata_pio_write once for every single sector, instead of for
26260 multiple sectors.
26261
ca25d8f0 262622007-10-31 Robert Millan <rmh@aybabtu.com>
26263
26264 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
26265
26266 * conf/i386-linuxbios.rmk: New file.
26267
26268 * kern/i386/pc/hardware.c: Likewise.
26269 * term/i386/pc/at_keyboard.c: Likewise.
26270 * term/i386/pc/vga_text.c: Likewise.
26271
26272 * include/grub/i386/linuxbios/boot.h: Likewise.
26273 * include/grub/i386/linuxbios/console.h: Likewise.
26274 * include/grub/i386/linuxbios/init.h: Likewise.
26275 * include/grub/i386/linuxbios/kernel.h: Likewise.
26276 * include/grub/i386/linuxbios/loader.h: Likewise.
26277 * include/grub/i386/linuxbios/memory.h: Likewise.
26278 * include/grub/i386/linuxbios/serial.h: Likewise.
26279 * include/grub/i386/linuxbios/time.h: Likewise.
26280
26281 * kern/i386/linuxbios/init.c: Likewise.
26282 * kern/i386/linuxbios/startup.S: Likewise.
26283 * kern/i386/linuxbios/table.c: Likewise.
26284
e911ecc1 262852007-10-31 Marco Gerards <marco@gnu.org>
26286
26287 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
26288 (ata_mod_SOURCES): New variable.
26289 (ata_mod_CFLAGS): Likewise.
26290 (ata_mod_LDFLAGS): Likewise.
26291
26292 * disk/ata.c: New file.
26293
26294 * include/grub/disk.h (grub_disk_dev_id): Add
26295 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 26296
7f66d0e0 262972007-10-31 Robert Millan <rmh@aybabtu.com>
26298
26299 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
26300 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
26301
26302 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
26303 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
26304
26305 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
26306 `<grub/types.h>'.
26307
26308 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
26309
5cd7dd46 263102007-10-27 Robert Millan <rmh@aybabtu.com>
26311
3236ca65 26312 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 26313
2ebfc90f 263142007-10-22 Robert Millan <rmh@aybabtu.com>
26315
26316 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
26317 `"../realmode.S"'.
26318 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
26319
73fcb0f3 263202007-10-22 Robert Millan <rmh@aybabtu.com>
26321
26322 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
26323 (pkgdata_MODULES): Add `biosdisk.mod'.
26324 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
26325 variables.
26326
26327 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
26328 (grub_biosdisk_init): Replace with ...
26329 (GRUB_MOD_INIT(biosdisk)): ... this.
26330 (grub_biosdisk_fini): Replace with ...
26331 (GRUB_MOD_FINI(biosdisk)): ... this.
26332
26333 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
26334 (grub_machine_init): Remove call to grub_biosdisk_init().
26335 (grub_machine_fini): Remove call to grub_machine_fini().
26336
26337 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
26338
3381d274 263392007-10-22 Robert Millan <rmh@aybabtu.com>
26340
26341 * include/grub/time.h: New file.
26342 * include/grub/i386/time.h: Likewise.
26343 * include/grub/powerpc/time.h: Likewise.
26344 * include/grub/sparc64/time.h: Likewise.
26345
26346 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
26347 instances to ...
26348 (KERNEL_MACHINE_TIME_HEADER): ... this.
26349 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
26350 instances to ...
26351 (KERNEL_MACHINE_TIME_HEADER): ... this.
26352 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
26353 instances to ...
26354 (KERNEL_MACHINE_TIME_HEADER): ... this.
26355
26356 * kern/i386/efi/init.c: Include `<grub/time.h>'.
26357 (grub_millisleep): New function.
26358 * kern/i386/pc/init.c: Include `<grub/time.h>'.
26359 (grub_millisleep): New function.
26360 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
26361 Remove `grub/machine/time.h' include.
26362 (grub_millisleep): New function.
26363 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
26364 Remove `grub/machine/time.h' include.
26365 (grub_millisleep): New function.
26366
26367 * include/grub/misc.h (grub_div_roundup): New function.
26368
26369 * kern/misc.c: Include `<grub/time.h>'.
26370 (grub_millisleep_generic): New function.
26371
26372 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
26373 Add `time.h'.
26374 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
26375 Add `time.h'.
26376 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
26377 `machine/time.h'. Add `time.h'.
26378 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
26379
a39a0312 263802007-10-21 Robert Millan <rmh@aybabtu.com>
26381
26382 * include/grub/misc.h (grub_max): New function.
26383
2aad70e2 263842007-10-21 Robert Millan <rmh@aybabtu.com>
26385
26386 * util/misc.c (grub_util_info): Call fflush() before returning.
26387
54b71c4b 263882007-10-20 Robert Millan <rmh@aybabtu.com>
26389
26390 * genmk.rb (Image): Copy `extra_flags' from here ...
26391 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
26392
26393 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
26394 to `argc' and `args' arguments.
26395
a979f513 263962007-10-17 Robert Millan <rmh@aybabtu.com>
26397
26398 * kern/i386/loader.S: New file.
26399
26400 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
26401 * kern/i386/loader.S (grub_linux_prot_size)... to here.
26402 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
26403 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
26404 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
26405 * kern/i386/loader.S (grub_linux_real_addr)... to here.
26406 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
26407 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
26408 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
26409 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
26410 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
26411 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
26412 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
26413 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
26414
26415 * kern/i386/realmode.S: New file.
26416
26417 * kern/i386/pc/startup.S (protstack): Moved from here ...
26418 * kern/i386/realmode.S (protstack)... to here.
26419 * kern/i386/pc/startup.S (gdt): Moved from here ...
26420 * kern/i386/realmode.S (gdt)... to here.
26421 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
26422 * kern/i386/realmode.S (prot_to_real)... to here.
26423
26424 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
26425 `kern/i386/realmode.S'.
26426
825fc8fd 264272007-10-17 Robert Millan <rmh@aybabtu.com>
26428
26429 * include/grub/i386/loader.h: New file.
26430
26431 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
26432 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
26433 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
26434 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
26435 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
26436 * include/grub/i386/loader.h (grub_linux_prot_size)
26437 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
26438 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
26439 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
26440 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
26441
26442 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
26443
e179b2f4 264442007-10-15 Robert Millan <rmh@aybabtu.com>
26445
26446 * normal/misc.c (grub_normal_print_device_info): Do not probe for
26447 filesystem when dev->disk is unset.
26448 Do probe for filesystem even when dev->disk->has_partitions is set.
26449 In case a filesystem is found, always report it.
26450 In case it isn't, if dev->disk->has_partitions is set, report that
26451 a partition table was found instead of reporting that no filesystem
26452 could be identified.
26453
5db82af6 264542007-10-12 Robert Millan <rmh@aybabtu.com>
26455
26456 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
26457 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
26458
68f6ac74 26459 * include/grub/types.h (grub_host_to_target16): New macro.
26460 (grub_host_to_target32): Likewise.
26461 (grub_host_to_target64): Likewise.
26462 (grub_target_to_host16): Likewise.
26463 (grub_target_to_host32): Likewise.
26464 (grub_target_to_host64): Likewise.
5db82af6 26465
26466 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
26467 Renamed from to ...
26468 (GRUB_MOD_ALIGN): ...this. Update all users.
26469
68f6ac74 26470 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
26471 grub_host_to_target32.
26472 Replace grub_be_to_cpu32 with grub_target_to_host32.
26473 (load_modules): Likewise.
26474 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
26475 Replace grub_be_to_cpu32 with grub_target_to_host32.
26476 Replace grub_cpu_to_be16 with grub_host_to_target16.
26477 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 26478
3cf497cc 264792007-10-12 Robert Millan <rmh@aybabtu.com>
26480
26481 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
26482 * util/elf/grub-mkimage.c: ... here.
26483
26484 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
26485 `util/powerpc/ieee1275/grub-mkimage.c'.
26486
c8cc3692 264872007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 26488
c8cc3692 26489 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
26490 and make it easier to figure out.
26491 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
26492 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
26493 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
26494 leave us with less than HEAP_MIN_SIZE total heap.
26495 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 26496
5c58b791 264972007-10-03 Robert Millan <rmh@aybabtu.com>
26498
26499 * include/grub/i386/io.h: New file.
26500 * commands/i386/pc/play.c (inb): Removed.
26501 (outb): Removed.
26502 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
26503 with grub_outb().
afcd2ef8 26504 * term/i386/pc/serial.c (inb): Removed.
26505 (outb): Removed.
26506 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
26507 with grub_outb().
26508 * term/i386/pc/vga.c (inb): Removed.
26509 (outb): Removed.
26510 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
26511 with grub_outb().
5c58b791 26512
1a477ed6 265132007-10-02 Robert Millan <rmh@aybabtu.com>
26514
26515 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
26516 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26517 Reported by Marcin Kurek.
26518
6b5d80fa 265192007-09-07 Robert Millan <rmh@aybabtu.com>
26520
26521 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
26522 SmartFirmware version updates (as released by Sven Luther), and avoid
26523 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
26524 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
26525 known broken.
26526
5618afbf 265272007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
26528
26529 From Hitoshi Ozeki:
26530 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
26531 when merging two regions.
26532
6139dcd9 265332007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
26534
508e39ee 26535 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
26536 * normal/completion.c (grub_normal_do_completion): Likewise.
26537 Reported by Hitoshi Ozeki.
26538
265392007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 26540
6139dcd9 26541 Do not use devices at boot in chainloading.
f19dbdb7 26542
6139dcd9 26543 * loader/i386/pc/chainloader.c (boot_drive): New variable.
26544 (boot_part_addr): Likewise.
26545 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
26546 with BOOT_DRIVE and BOOT_PART_ADDR.
26547 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
26548 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
26549
38da6516 265502007-08-29 Robert Millan <rmh@aybabtu.com>
26551
26552 Patch from Simon Peter <dn.tlp@gmx.net>:
26553 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
26554 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
26555 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
26556 util/i386/pc/grub-setup.c_DEPENDENCIES.
26557 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
26558 util/grub-probe.c_DEPENDENCIES.
26559 * conf/powerpc-ieee1275.rmk: Likewise.
26560
29d0928c 265612007-08-28 Robert Millan <rmh@aybabtu.com>
26562
26563 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
26564 to tell grub-mkdevicemap how to name devices.
26565 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
26566 feature).
26567
26568 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
26569 util/i386/get_disk_name.c.
26570 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
26571 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
26572 util/ieee1275/get_disk_name.c.
26573
26574 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
26575
26576 * DISTLIST: Add util/i386/get_disk_name.c and
26577 util/ieee1275/get_disk_name.c.
26578
26579 * util/grub-mkdevicemap.c: Replace device naming logic with
26580 grub_util_get_disk_name() calls.
26581
5a0d3cca 265822007-08-20 Robert Millan <rmh@aybabtu.com>
26583
26584 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
26585 (so that it works for both plural and singular quantities).
26586
8b72db2f 265872007-08-05 Robert Millan <rmh@aybabtu.com>
26588
26589 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
26590 so that [xz] isn't taken into account when determining order.
26591
352466bf 265922007-08-02 Marco Gerards <marco@gnu.org>
26593
26594 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
26595 `include/multiboot2.h', `include/grub/elfload.h',
26596 `include/multiboot.h', `include/grub/multiboot.h',
26597 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
26598 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
26599 `kern/elf.c', `loader/multiboot_loader.c',
26600 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
26601 `loader/i386/pc/multiboot2.c',
26602 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
26603 `util/i386/pc/grub-mkrescue.in'. Remove
26604 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
26605 `include/grub/i386/pc/util/biosdisk.h' and
26606 `include/grub/powerpc/ieee1275/multiboot.h'.
26607
8f096014 266082007-08-02 Bean <bean123ch@gmail.com>
26609
26610 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
26611 (ntfs_mod_SOURCES): New variable.
26612 (ntfs_mod_CFLAGS): Likewise.
26613 (ntfs_mod_LDFLAGS): Likewise.
26614
26615 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
26616 (grub_probe_SOURCES): Likewise.
26617 (grub_emu_SOURCES): Likewise.
26618
26619 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
26620 (grub_emu_SOURCES): Likewise.
26621
26622 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
26623 (grub_emu_SOURCES): Likewise.
f19dbdb7 26624
8f096014 26625 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
26626
26627 * fs/ntfs.c: New file.
26628
9959f7db 266292007-08-02 Bean <bean123ch@gmail.com>
26630
26631 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
26632
26633 * file.h (grub_file): Likewise.
26634
26635 * fshelp.h (grub_fshelp_read_file): Likewise.
26636
26637 * util/i386/pc/grub-setup.c (setup): Likewise.
26638 (save_first_sector): Likewise.
26639 (save_blocklists): Likewise.
f19dbdb7 26640
9959f7db 26641 * fs/affs.c (grub_affs_read_file): Likewise.
26642
26643 * fs/ext2.c (grub_ext2_read_file): Likewise.
26644
26645 * fs/fat.c (grub_fat_read_data): Likewise.
26646
26647 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
26648
26649 * fs/hfs.c (grub_hfs_read_file): Likewise.
26650
26651 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
26652
26653 * fs/jfs.c (grub_jfs_read_file): Likewise.
26654
26655 * fs/minix.c (grub_minix_read_file): Likewise.
26656
26657 * fs/sfs.c (grub_sfs_read_file): Likewise.
26658
26659 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 26660
9959f7db 26661 * fs/xfs.c (grub_xfs_read_file): Likewise.
26662
26663 * command/blocklist.c (read_blocklist): Likewise.
26664 (print_blocklist): Likewise.
26665
0a203f83 266662007-08-02 Marco Gerards <marco@gnu.org>
26667
26668 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
26669 `util/hostfs.c'.
26670
26671 * disk/host.c: New file.
26672
26673 * util/hostfs.c: Likewise.
26674
26675 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
26676 return `GRUB_ERR_BAD_FS'.
26677 * fs/sfs.c (grub_sfs_mount): Likewise.
26678 * fs/xfs.c (grub_xfs_mount): Likewise.
26679
26680 * include/grub/disk.h (enum grub_disk_dev_id): Add
26681 `GRUB_DISK_DEVICE_HOST_ID'.
26682
26683 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
26684
e5dfe777 266852007-07-24 Jerone Young <jerone@gmail.com>
26686
f19dbdb7 26687 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 26688 modules for compilation.
26689 * conf/powerpc-ieee1275.rmk: Likewise.
26690
26691 * include/multiboot.h: Move multiboot definitions to one file. Rename
26692 many definitions to not get grub specific.
26693 * include/multiboot2.h: Create header with multiboot 2 definitions.
26694 * include/grub/multiboot.h: Header for grub specific function
26695 prototypes and definitions.
26696 * include/grub/multiboot2.h: Likewise.
26697 * include/grub/multiboot_loader.h: Likewise.
26698 * include/grub/i386/pc/multiboot.h: Removed.
26699 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
26700
26701 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
26702 and 2 to allow for one multiboot and module commands.
26703 * loader/multiboot2.c: Add multiboot2 functionality.
26704 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
26705 and definition names.
26706 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
26707 2 functions.
26708 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
26709 ieee1275 specific multiboot2 code.
26710
26711 * kern/i386/pc/startup.S: Change headers and definition names for
26712 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
26713
daf0f0ba 267142007-07-22 Robert Millan <rmh@aybabtu.com>
26715
26716 * geninitheader.sh: Process file specified in first parameter rather
26717 than hardcoding grub_modules_init.lst.
fe6b695a 26718 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 26719 than hardcoding grub_modules_init.h.
26720
26721 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
26722 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
26723 grub_probe_init.[ch] and grub_setup_init.[ch].
26724
26725 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
26726 grub_modules_init.h with grub_emu_init.h.
26727 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
26728 grub_probe_init.[ch] files.
26729 * conf/i386-efi.rmk: Likewise.
26730 * conf/i386-pc.rmk: Likewise.
26731 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
26732 grub_setup_init.[ch] files.
26733
26734 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
26735 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
26736 to initialize modules rather than a list of hardcoded functions.
26737 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
26738 grub_init_all() to initialize modules rather than a list of hardcoded
26739 functions.
26740
54cdc1cc 267412007-07-22 Robert Millan <rmh@aybabtu.com>
26742
26743 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
26744 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
26745
ad0686cc 267462007-07-22 Robert Millan <rmh@aybabtu.com>
26747
26748 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
26749 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
26750 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
26751 flag when running on SmartFirmware.
26752 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
26753 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
26754 was set.
26755
26756 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
26757 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
26758 rather than decreasing it.
26759
26760 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
26761 there's not enough space to do it, fail in the same way as when it
26762 can't be done because there are no partitions.
26763
26764 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
26765 when nvsetenv failed.
26766
969c02ec 267672007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
26768
26769 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
26770 because this rule is automatically generated.
26771 (grub-mkrescue): Removed for the same reason as above.
26772
5a79f472 267732007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
26774
26775 Migrate to GNU General Public License Version 3.
f19dbdb7 26776
5a79f472 26777 * COPYING: Replaced with the plain text version of GPLv3.
26778
26779 * config.guess: Updated from gnulib.
26780 * config.sub: Likewise.
26781
26782 * geninit.sh: Output a GPLv3 copyright notice.
26783 * geninitheader.sh: Likewise.
26784 * genmodsrc.sh: Likewise.
26785 * gensymlist.sh.in: Likewise.
26786
26787 * boot/i386/pc/boot.S: Upgraded to GPLv3.
26788 * boot/i386/pc/diskboot.S: Likewise.
26789 * boot/i386/pc/pxeboot.S: Likewise.
26790 * commands/blocklist.c: Likewise.
26791 * commands/boot.c: Likewise.
26792 * commands/cat.c: Likewise.
26793 * commands/cmp.c: Likewise.
26794 * commands/configfile.c: Likewise.
26795 * commands/echo.c: Likewise.
26796 * commands/help.c: Likewise.
26797 * commands/ls.c: Likewise.
26798 * commands/search.c: Likewise.
26799 * commands/terminal.c: Likewise.
26800 * commands/test.c: Likewise.
26801 * commands/videotest.c: Likewise.
26802 * commands/i386/cpuid.c: Likewise.
26803 * commands/i386/pc/halt.c: Likewise.
26804 * commands/i386/pc/play.c: Likewise.
26805 * commands/i386/pc/reboot.c: Likewise.
26806 * commands/i386/pc/vbeinfo.c: Likewise.
26807 * commands/i386/pc/vbetest.c: Likewise.
26808 * commands/ieee1275/halt.c: Likewise.
26809 * commands/ieee1275/reboot.c: Likewise.
26810 * commands/ieee1275/suspend.c: Likewise.
26811 * disk/loopback.c: Likewise.
26812 * disk/lvm.c: Likewise.
26813 * disk/raid.c: Likewise.
26814 * disk/efi/efidisk.c: Likewise.
26815 * disk/i386/pc/biosdisk.c: Likewise.
26816 * disk/ieee1275/ofdisk.c: Likewise.
26817 * font/manager.c: Likewise.
26818 * fs/affs.c: Likewise.
26819 * fs/ext2.c: Likewise.
26820 * fs/fat.c: Likewise.
26821 * fs/fshelp.c: Likewise.
26822 * fs/hfs.c: Likewise.
26823 * fs/hfsplus.c: Likewise.
26824 * fs/iso9660.c: Likewise.
26825 * fs/jfs.c: Likewise.
26826 * fs/minix.c: Likewise.
26827 * fs/sfs.c: Likewise.
26828 * fs/ufs.c: Likewise.
26829 * fs/xfs.c: Likewise.
26830 * hello/hello.c: Likewise.
26831 * include/grub/acorn_filecore.h: Likewise.
26832 * include/grub/arg.h: Likewise.
26833 * include/grub/bitmap.h: Likewise.
26834 * include/grub/boot.h: Likewise.
26835 * include/grub/cache.h: Likewise.
26836 * include/grub/device.h: Likewise.
26837 * include/grub/disk.h: Likewise.
26838 * include/grub/dl.h: Likewise.
26839 * include/grub/elfload.h: Likewise.
26840 * include/grub/env.h: Likewise.
26841 * include/grub/err.h: Likewise.
26842 * include/grub/file.h: Likewise.
26843 * include/grub/font.h: Likewise.
26844 * include/grub/fs.h: Likewise.
26845 * include/grub/fshelp.h: Likewise.
26846 * include/grub/gzio.h: Likewise.
26847 * include/grub/hfs.h: Likewise.
26848 * include/grub/kernel.h: Likewise.
26849 * include/grub/loader.h: Likewise.
26850 * include/grub/lvm.h: Likewise.
26851 * include/grub/misc.h: Likewise.
26852 * include/grub/mm.h: Likewise.
26853 * include/grub/net.h: Likewise.
26854 * include/grub/normal.h: Likewise.
26855 * include/grub/parser.h: Likewise.
26856 * include/grub/partition.h: Likewise.
26857 * include/grub/pc_partition.h: Likewise.
26858 * include/grub/raid.h: Likewise.
26859 * include/grub/rescue.h: Likewise.
26860 * include/grub/script.h: Likewise.
26861 * include/grub/setjmp.h: Likewise.
26862 * include/grub/symbol.h: Likewise.
26863 * include/grub/term.h: Likewise.
26864 * include/grub/terminfo.h: Likewise.
26865 * include/grub/tparm.h: Likewise.
26866 * include/grub/types.h: Likewise.
26867 * include/grub/video.h: Likewise.
26868 * include/grub/efi/api.h: Likewise.
26869 * include/grub/efi/chainloader.h: Likewise.
26870 * include/grub/efi/console.h: Likewise.
26871 * include/grub/efi/console_control.h: Likewise.
26872 * include/grub/efi/disk.h: Likewise.
26873 * include/grub/efi/efi.h: Likewise.
26874 * include/grub/efi/pe32.h: Likewise.
26875 * include/grub/efi/time.h: Likewise.
26876 * include/grub/i386/linux.h: Likewise.
26877 * include/grub/i386/setjmp.h: Likewise.
26878 * include/grub/i386/types.h: Likewise.
26879 * include/grub/i386/efi/kernel.h: Likewise.
26880 * include/grub/i386/efi/loader.h: Likewise.
26881 * include/grub/i386/efi/time.h: Likewise.
26882 * include/grub/i386/pc/biosdisk.h: Likewise.
26883 * include/grub/i386/pc/boot.h: Likewise.
26884 * include/grub/i386/pc/chainloader.h: Likewise.
26885 * include/grub/i386/pc/console.h: Likewise.
26886 * include/grub/i386/pc/init.h: Likewise.
26887 * include/grub/i386/pc/kernel.h: Likewise.
26888 * include/grub/i386/pc/loader.h: Likewise.
26889 * include/grub/i386/pc/memory.h: Likewise.
26890 * include/grub/i386/pc/multiboot.h: Likewise.
26891 * include/grub/i386/pc/serial.h: Likewise.
26892 * include/grub/i386/pc/time.h: Likewise.
26893 * include/grub/i386/pc/vbe.h: Likewise.
26894 * include/grub/i386/pc/vbeblit.h: Likewise.
26895 * include/grub/i386/pc/vbefill.h: Likewise.
26896 * include/grub/i386/pc/vbeutil.h: Likewise.
26897 * include/grub/i386/pc/vga.h: Likewise.
26898 * include/grub/ieee1275/ieee1275.h: Likewise.
26899 * include/grub/ieee1275/ofdisk.h: Likewise.
26900 * include/grub/powerpc/libgcc.h: Likewise.
26901 * include/grub/powerpc/setjmp.h: Likewise.
26902 * include/grub/powerpc/types.h: Likewise.
26903 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
26904 * include/grub/powerpc/ieee1275/console.h: Likewise.
26905 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
26906 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26907 * include/grub/powerpc/ieee1275/loader.h: Likewise.
26908 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
26909 * include/grub/powerpc/ieee1275/time.h: Likewise.
26910 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
26911 * include/grub/sparc64/libgcc.h: Likewise.
26912 * include/grub/sparc64/setjmp.h: Likewise.
26913 * include/grub/sparc64/types.h: Likewise.
26914 * include/grub/sparc64/ieee1275/console.h: Likewise.
26915 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
26916 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26917 * include/grub/sparc64/ieee1275/time.h: Likewise.
26918 * include/grub/util/biosdisk.h: Likewise.
26919 * include/grub/util/getroot.h: Likewise.
26920 * include/grub/util/lvm.h: Likewise.
26921 * include/grub/util/misc.h: Likewise.
26922 * include/grub/util/raid.h: Likewise.
26923 * include/grub/util/resolve.h: Likewise.
26924 * io/gzio.c: Likewise.
26925 * kern/device.c: Likewise.
26926 * kern/disk.c: Likewise.
26927 * kern/dl.c: Likewise.
26928 * kern/elf.c: Likewise.
26929 * kern/env.c: Likewise.
26930 * kern/err.c: Likewise.
26931 * kern/file.c: Likewise.
26932 * kern/fs.c: Likewise.
26933 * kern/loader.c: Likewise.
26934 * kern/main.c: Likewise.
26935 * kern/misc.c: Likewise.
26936 * kern/mm.c: Likewise.
26937 * kern/parser.c: Likewise.
26938 * kern/partition.c: Likewise.
26939 * kern/rescue.c: Likewise.
26940 * kern/term.c: Likewise.
26941 * kern/efi/efi.c: Likewise.
26942 * kern/efi/init.c: Likewise.
26943 * kern/efi/mm.c: Likewise.
26944 * kern/i386/dl.c: Likewise.
26945 * kern/i386/efi/init.c: Likewise.
26946 * kern/i386/efi/startup.S: Likewise.
26947 * kern/i386/pc/init.c: Likewise.
26948 * kern/i386/pc/lzo1x.S: Likewise.
26949 * kern/i386/pc/startup.S: Likewise.
26950 * kern/ieee1275/ieee1275.c: Likewise.
26951 * kern/powerpc/cache.S: Likewise.
26952 * kern/powerpc/dl.c: Likewise.
26953 * kern/powerpc/ieee1275/cmain.c: Likewise.
26954 * kern/powerpc/ieee1275/crt0.S: Likewise.
26955 * kern/powerpc/ieee1275/init.c: Likewise.
26956 * kern/powerpc/ieee1275/openfw.c: Likewise.
26957 * kern/sparc64/cache.S: Likewise.
26958 * kern/sparc64/dl.c: Likewise.
26959 * kern/sparc64/ieee1275/init.c: Likewise.
26960 * kern/sparc64/ieee1275/openfw.c: Likewise.
26961 * loader/efi/chainloader.c: Likewise.
26962 * loader/efi/chainloader_normal.c: Likewise.
26963 * loader/i386/efi/linux.c: Likewise.
26964 * loader/i386/efi/linux_normal.c: Likewise.
26965 * loader/i386/pc/chainloader.c: Likewise.
26966 * loader/i386/pc/chainloader_normal.c: Likewise.
26967 * loader/i386/pc/linux.c: Likewise.
26968 * loader/i386/pc/linux_normal.c: Likewise.
26969 * loader/i386/pc/multiboot.c: Likewise.
26970 * loader/i386/pc/multiboot_normal.c: Likewise.
26971 * loader/powerpc/ieee1275/linux.c: Likewise.
26972 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
26973 * normal/arg.c: Likewise.
26974 * normal/cmdline.c: Likewise.
26975 * normal/command.c: Likewise.
26976 * normal/completion.c: Likewise.
26977 * normal/execute.c: Likewise.
26978 * normal/function.c: Likewise.
26979 * normal/lexer.c: Likewise.
26980 * normal/main.c: Likewise.
26981 * normal/menu.c: Likewise.
26982 * normal/menu_entry.c: Likewise.
26983 * normal/misc.c: Likewise.
26984 * normal/parser.y: Likewise.
26985 * normal/script.c: Likewise.
26986 * normal/i386/setjmp.S: Likewise.
26987 * normal/powerpc/setjmp.S: Likewise.
26988 * normal/sparc64/setjmp.S: Likewise.
26989 * partmap/acorn.c: Likewise.
26990 * partmap/amiga.c: Likewise.
26991 * partmap/apple.c: Likewise.
26992 * partmap/gpt.c: Likewise.
26993 * partmap/pc.c: Likewise.
26994 * partmap/sun.c: Likewise.
26995 * term/gfxterm.c: Likewise.
26996 * term/terminfo.c: Likewise.
26997 * term/efi/console.c: Likewise.
26998 * term/i386/pc/console.c: Likewise.
26999 * term/i386/pc/serial.c: Likewise.
27000 * term/i386/pc/vesafb.c: Likewise.
27001 * term/i386/pc/vga.c: Likewise.
27002 * term/ieee1275/ofconsole.c: Likewise.
27003 * util/biosdisk.c: Likewise.
27004 * util/console.c: Likewise.
27005 * util/genmoddep.c: Likewise.
27006 * util/getroot.c: Likewise.
27007 * util/grub-emu.c: Likewise.
27008 * util/grub-mkdevicemap.c: Likewise.
27009 * util/grub-probe.c: Likewise.
27010 * util/lvm.c: Likewise.
27011 * util/misc.c: Likewise.
27012 * util/raid.c: Likewise.
27013 * util/resolve.c: Likewise.
27014 * util/update-grub.in: Likewise.
27015 * util/update-grub_lib.in: Likewise.
27016 * util/grub.d/00_header.in: Likewise.
27017 * util/grub.d/10_hurd.in: Likewise.
27018 * util/grub.d/10_linux.in: Likewise.
27019 * util/i386/efi/grub-install.in: Likewise.
27020 * util/i386/efi/grub-mkimage.c: Likewise.
27021 * util/i386/pc/grub-install.in: Likewise.
27022 * util/i386/pc/grub-mkimage.c: Likewise.
27023 * util/i386/pc/grub-mkrescue.in: Likewise.
27024 * util/i386/pc/grub-setup.c: Likewise.
27025 * util/i386/pc/misc.c: Likewise.
27026 * util/powerpc/ieee1275/grub-install.in: Likewise.
27027 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
27028 * util/powerpc/ieee1275/misc.c: Likewise.
27029 * video/bitmap.c: Likewise.
27030 * video/video.c: Likewise.
27031 * video/i386/pc/vbe.c: Likewise.
27032 * video/i386/pc/vbeblit.c: Likewise.
27033 * video/i386/pc/vbefill.c: Likewise.
27034 * video/i386/pc/vbeutil.c: Likewise.
27035 * video/readers/tga.c: Likewise.
27036
3572d015 270372007-07-02 Robert Millan <rmh@aybabtu.com>
27038
27039 * conf/i386-efi.rmk: Replace obsolete reference to
27040 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
27041 with util/getroot.c.
27042 * conf/powerpc-ieee1275.rmk: Likewise.
27043 * conf/sparc64-ieee1275.rmk: Likewise.
27044
27045 * util/grub-emu.c (main): Fix unchecked pointer handling.
27046
2c2a681b 270472007-07-02 Robert Millan <rmh@aybabtu.com>
27048
27049 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
27050 invocation to fail, in order to support partition-less media.
27051
27052 * util/i386/pc/grub-install.in: Likewise.
27053
27054 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
27055 which fs or partmap modules are needed (akin to its sister scripts).
27056
27057 Also use grub-probe to get rid of unportable /proc/mounts check.
27058
27059 Print the same informational message that the other scripts do, before
fe6b695a 27060 exiting.
2c2a681b 27061
6193defe 270622007-06-23 Robert Millan <rmh@aybabtu.com>
27063
fe6b695a 27064 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 27065 a font file can be found and, if so, echo the GRUB path to it.
27066
27067 * util/update-grub.in: Handle multiple terminals depending on user
27068 input, platform availability and font file presence. Propagate
27069 variables of our findings to /etc/grub.d/ children.
27070
27071 * util/grub.d/00_header.in: Handle multiple terminals, based on
27072 environment setup by update-grub.
27073
eface1dc 270742007-06-23 Robert Millan <rmh@aybabtu.com>
27075
ba50d28f 27076 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 27077
bf697e28 270782007-06-21 Robert Millan <rmh@aybabtu.com>
27079
27080 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
27081 indicate end of data section in kernel image.
27082 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
27083 GRUB_KERNEL_MACHINE_DATA_END.
27084
27085 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
27086 space for it.
27087 * kern/i386/efi/startup.S: Likewise.
27088
27089 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
27090 during image generation. Implement --prefix option to override this
27091 patch.
27092 * util/i386/efi/grub-mkimage.c: Likewise.
27093
27094 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
27095 code to make path relative to its root into a separate function.
27096
27097 * util/i386/pc/grub-install.in: Use newly provided
27098 make_system_path_relative_to_its_root() to convert ${grubdir}, then
27099 pass the result to grub-install --prefix.
27100
baa574b4 271012007-06-13 Robert Millan <rmh@aybabtu.com>
27102
27103 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
27104 DEFAULT_DEVICE_MAP.
27105 * util/grub-emu.c: Use above definitions from misc.h instead of
27106 defining them.
27107 * util/grub-mkdevicemap.c: Likewise.
27108 * util/i386/pc/grub-setup.c: Likewise.
27109 * util/grub-probe.c: Likewise.
27110 (probe): Abort with grub_util_error() when either
27111 grub_guess_root_device or grub_util_get_grub_dev fails.
27112
0215dcbf 271132007-06-12 Robert Millan <rmh@aybabtu.com>
27114
27115 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
27116 "pager" assignment.
27117 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
27118 "pcdata".
27119 * util/grub-probe.c (probe): Likewise for "drive_name".
27120
8af2ab7b 271212007-06-11 Robert Millan <rmh@aybabtu.com>
27122
27123 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
27124 not just the cdrom one.
27125
59d31694 271262007-06-11 Robert Millan <rmh@aybabtu.com>
27127
27128 * util/i386/pc/grub-mkrescue.in: Add "set -e".
27129 Add --pkglibdir=DIR option to override pkglibdir.
27130 Mention --image-type=TYPE in help output.
27131 Fix --grub-mkimage (it was a no-op).
fe6b695a 27132 Abort gracefully when no parameter is given.
59d31694 27133
7ee367e4 271342007-06-11 Robert Millan <rmh@aybabtu.com>
27135
27136 * util/i386/pc/grub-mkrescue.in: New file.
27137 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
27138 * Makefile.in: Handle bin_SCRIPTS.
27139
29b0ed46 271402007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
27141
27142 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
27143 list of video modes.
27144
c0f90770 271452007-06-06 Robert Millan <rmh@aybabtu.com>
27146
27147 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
27148 file doesn't exist, or if it is in a filesystem grub can't read.
27149
27150 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
27151 not abort if GRUB_DRIVE could not be defined. Rearrange generated
27152 header comment to fit in 80 columns when the variables are resolved.
27153
27154 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
27155 could be identified by update-grub. Remove redundant check for
fe6b695a 27156 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 27157 handles that).
27158
fb36dc26 271592007-06-04 Robert Millan <rmh@aybabtu.com>
27160
27161 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
27162
27163 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
27164
27165 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
27166
0c68c93e 271672007-06-04 Robert Millan <rmh@aybabtu.com>
27168
27169 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
27170
27171 * include/grub/partition.h: Declare grub_apple_partition_map_init and
27172 grub_apple_partition_map_fini.
27173
27174 * util/biosdisk.c
27175 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
27176 to access >2 TiB disks).
27177
27178 Print disk->total_sectors with %llu instead of %lu, since this
27179 variable is always 64-bit (prevents wrong disk size from being displayed
27180 on either >2 TiB disk or big-endian CPU).
27181
27182 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
27183 into a generic case that supports all (sane) partition maps.
27184
27185 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
27186 breaks big-endian.
27187
27188 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
27189 and grub_apple_partition_map_fini() after that.
27190
0f23eb74 271912007-06-01 Robert Millan <rmh@aybabtu.com>
27192
27193 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
27194
27195 * util/grub.d/00_header.in: Only enable gfxterm when
27196 convert_system_path_to_grub_path() succeeds.
27197
42c71976 271982007-05-20 Robert Millan <rmh@aybabtu.com>
27199
27200 * util/update-grub_lib.in: New file.
27201 * DISTLIST: Add update-grub_lib.in.
27202 * conf/common.rmk: Generate update-grub_lib and install it in
27203 $(lib_DATA).
27204 * Makefile.in: Add install routine for $(lib_DATA).
27205
27206 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
27207 function provided by update-grub_lib to support arbitrary paths of
27208 unifont.pff.
27209 * util/update-grub.in: Use convert_system_path_to_grub_path() to
27210 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
27211
5beb2291 272122007-05-19 Robert Millan <rmh@aybabtu.com>
27213
27214 * commands/i386/cpuid.c: New module.
27215 * DISTLIST: Add it.
27216 * conf/i386-efi.rmk: Enable cpuid.mod.
27217 * conf/i386-pc.rmk: Likewise.
27218
7262eca1 272192007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
27220
27221 * kern/disk.c (grub_disk_read): Check return value of
27222 grub_realloc().
27223
260ba823 272242007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
27225
27226 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
27227 arrays.
27228 * disk/raid.c (grub_raid_open): Likewise.
27229
1ecb6cf2 272302007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
27231
27232 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
27233 stack instead of on the heap.
27234
27235 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
27236 before doing a read on it.
27237
27238 * configure.ac: Only use -fno-stack-protector for the target
27239 environment.
f19dbdb7 27240
21c8cbb1 272412007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
27242
27243 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
27244 __attribute_ ((unused)) to mode_type argument.
27245
27246 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 27247
21c8cbb1 27248 * kern/misc.c (memcmp): Fix prototype.
27249
27250 * include/grub/partition.h [GRUB_UTIL]
27251 (grub_gpt_partition_map_init): Add prototype.
27252 (grub_gpt_partition_map_fini): Likewise.
27253
27254 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
27255 at the right place.
27256
27257 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
27258 (grub_fat_read_data): Likewise.
27259 (grub_fat_find_dir): Likewise.
27260
27261 * font/manager.c (find_glyph): Make table a const.
27262 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 27263
849d55d3 272642007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
27265
27266 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
27267 code, first search for device in /dev/mapper, then in /dev.
27268 (grub_util_get_grub_dev): New function.
27269 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
27270 prototype.
27271 * util/grub-probe.c (probe): Remove check for RAID, call
27272 grub_util_get_grub_dev() instead of
27273 grub_util_biosdisk_get_grub_dev().
27274 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
27275 grub_util_biosdisk_get_grub_dev().
27276 * util/i386/pc/grub-setup.c (main): Likewise.
27277
8fff7c2f 272782007-05-16 Robert Millan <rmh@aybabtu.com>
27279
27280 * DISTLIST: Update for the latest changes.
27281 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
27282 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
27283 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
27284 grub/util/biosdisk.h.
27285 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
27286 grub/util/biosdisk.h.
27287
48e12b52 272882007-05-16 Robert Millan <rmh@aybabtu.com>
27289
27290 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
27291
46b9d128 272922007-05-16 Robert Millan <rmh@aybabtu.com>
27293
27294 * util/i386/efi/grub-install.in: New.
27295 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
27296 newly added grub-install.
27297 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
27298 include.
27299 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
27300 grub/util/biosdisk.h.
27301 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
27302 grub/util/biosdisk.h.
27303
2d1a40a9 273042007-05-16 Robert Millan <rmh@aybabtu.com>
27305
27306 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
27307 * include/grub/util/biosdisk.h: ... here.
27308 * util/i386/pc/biosdisk.c: Moved to ...
27309 * util/biosdisk.c: ... here.
27310 * util/i386/pc/getroot.c: Moved to ...
27311 * util/getroot.c: ... here.
27312 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
27313 * util/grub-mkdevicemap.c: ... here.
27314 * util/i386/pc/grub-probe.c: Moved to ...
27315 * util/grub-probe.c: ... here.
27316
9e26e3bc 273172007-05-15 Robert Millan <rmh@aybabtu.com>
27318
27319 * util/update-grub.in: Remove duplicated line in grub.cfg header
27320 message.
27321
57f96397 273222007-05-13 Robert Millan <rmh@aybabtu.com>
27323
27324 * util/update-grub.in: Fix a few assumptions about the devices holding
27325 /, /boot and /boot/grub being the same.
27326 * util/grub.d/00_header.in: Likewise.
27327 * util/grub.d/10_hurd.in: Likewise.
27328 * util/grub.d/10_linux.in: Likewise.
27329
27330 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
27331 patterns. Use that to define the `.old' suffix as older than `'.
27332
27333 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
27334
27335 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
27336 the grub.cfg header message.
27337
2e610d62 273382007-05-11 Robert Millan <rmh@aybabtu.com>
27339
27340 * util/update-grub.in: Create device.map if it doesn't already exist,
27341 before attempting to run grub-probe.
27342 Check for grub-probe and grub-mkdevicemap with the same code
27343 grub-install is using.
27344 Remove test mode.
27345
3f6a10ef 273462007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
27347
27348 * Makefile.in: Add the datarootdir autoconf variable.
27349
02e7b75e 273502007-05-09 Robert Millan <rmh@aybabtu.com>
27351
27352 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 27353 fail gracefully if dev->disk->partition == NULL.
02e7b75e 27354
75f396cc 273552007-05-07 Robert Millan <rmh@aybabtu.com>
27356
27357 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
27358 determine partition map module.
27359 * util/i386/pc/grub-install.in: Use this feature to decide which
27360 partition module to load, instead of hardcoding pc and gpt.
27361
da65cb36 273622007-05-07 Robert Millan <rmh@aybabtu.com>
27363
27364 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
27365 source directory differs from build directory.
27366
b57d6a91 273672007-05-05 Robert Millan <rmh@aybabtu.com>
27368
27369 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
27370 initialisation.
27371
509d00f1 273722007-05-05 Robert Millan <rmh@aybabtu.com>
27373
27374 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
27375
c48f23ef 273762007-05-05 Robert Millan <rmh@aybabtu.com>
27377
27378 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
27379 command-line arguments via ${GRUB_CMDLINE_LINUX}.
27380
20b97658 273812007-05-05 Robert Millan <rmh@aybabtu.com>
27382
27383 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
27384 (grub_probe_SOURCES): Likewise.
27385 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
27386 GPT and initialize dos_part and bsd_part accordingly.
27387 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
27388 install_bsd_part.
27389 (main): Activate gpt module for use during partition identification,
27390 and deactivate it afterwards.
27391 * util/i386/pc/grub-install.in: Add gpt module to core.img.
27392 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
27393 partition identification, and deactivate it afterwards.
27394
99123174 273952007-05-05 Robert Millan <rmh@aybabtu.com>
27396
27397 * term/i386/pc/console.c (grub_console_fini): Call
27398 grub_term_set_current() before grub_term_unregister().
27399
ebd97f6e 274002007-05-04 Robert Millan <rmh@aybabtu.com>
27401
27402 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
27403 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
27404 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
27405 and update-grub_DATA.
27406 * conf/common.rmk: Build and install update-grub components.
27407 * conf/common.mk: Regenerate.
27408 * util/update-grub.in: New. Core of update-grub.
27409 * util/grub.d/00_header.in: New. Generates grub.cfg header.
27410 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
27411 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
27412 * util/grub.d/README: New. Document grub.d directory layout.
27413
b06a264d 274142007-05-01 Robert Millan <rmh@aybabtu.com>
27415
27416 * util/grub-emu.c: Move initialization functions
27417 grub_util_biosdisk_init() and grub_init_all() before
27418 grub_util_biosdisk_get_grub_dev(), which relies on them.
27419
41f0050e 274202007-04-19 Robert Millan <rmh@aybabtu.com>
27421
27422 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
27423 it is used later.
27424
04582bb3 274252007-04-18 Jerone Young <jerone@gmail.com>
27426
f19dbdb7 27427 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 27428 stanza.
27429
08db4632 274302007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 27431
08db4632 27432 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
27433 continue on and look for device node with real device name.
27434
801b76be 274352007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 27436
fe6b695a 27437 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 27438 ability.
27439 * Makefile.in: Add autoconf package transformation code.
27440 * util/i386/pc/grub-install.in: Likewise.
27441 * util/powerpc/ieee1275/grub-install.in: Likewise.
27442
6795c4e1 274432007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
27444
27445 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
27446 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
27447 (EXT2_REVISION): Likewise.
27448 (EXT2_INODE_SIZE): Likewise.
27449 (struct grub_ext2_block_group): Added a missing member
27450 "used_dirs".
27451 (grub_ext2_read_inode): Divide by the inode size in a superblock
27452 instead of 128 to obtain INODES_PER_BLOCK.
27453 Use the macro EXT2_INODE_SIZE instead of directly using
27454 SBLOCK->INODE_SIZE.
27455
d70af616 274562007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
27457
27458 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
27459 superblock instead of the structure size to compute an
27460 offset. This fixes the problem that GRUB could not read a
27461 filesystem when inode size is different from 128-byte.
27462
3b801603 274632007-03-05 Marco Gerards <marco@gnu.org>
27464
27465 * normal/main.c (read_config_file): When "menu" is not set, create
27466 an initial context.
27467
4785bfe4 274682007-02-21 Hollis Blanchard <hollis@penguinppc.org>
27469
27470 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
27471 (HEAP_LIMIT): New macro.
27472 (grub_claim_heap): Claim memory up to `heaplimit'.
27473
a0cbb023 274742007-02-21 Hollis Blanchard <hollis@penguinppc.org>
27475
27476 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
27477 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
27478 (_start): Likewise.
27479 (grub_arch_modules_addr): Return address after `_end'.
27480 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
27481 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
27482 (add_segments): Calculate `_end' from phdr size and location.
27483 (ALIGN_UP): Moved to ...
27484 * include/grub/misc.h: here.
27485 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
27486 New macro.
27487 (GRUB_IEEE1275_MODULE_BASE): Removed.
27488
fd7d8eba 274892007-02-20 Hollis Blanchard <hollis@penguinppc.org>
27490
27491 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
27492 loop boundary.
27493
9b09e6fc 274942007-02-20 Hollis Blanchard <hollis@penguinppc.org>
27495
27496 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
27497 All users updated.
27498 (grub_elf64_load_hook_t): Likewise.
27499 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
27500 debug output.
27501
3ce27299 275022007-02-20 Hollis Blanchard <hollis@penguinppc.org>
27503
27504 * kern/mm.c: Update copyright.
27505 (grub_mm_debug): Correct syntax error.
27506 (grub_mm_dump_free): New function.
27507 (grub_debug_free): Call `grub_free'.
27508 * include/grub/mm.h: Update copyright.
27509 (grub_mm_dump_free): Add declaration.
27510
077d5fee 275112007-02-12 Hollis Blanchard <hollis@penguinppc.org>
27512
27513 * include/grub/ieee1275/ieee1275.h: Update copyright.
27514 * kern/powerpc/ieee1275/init.c: Likewise.
27515 * kern/powerpc/ieee1275/openfw.c: Likewise.
27516
27517 * loader/powerpc/ieee1275/linux.c: Likewise.
27518 * include/grub/elfload.h: Likewise.
27519 * kern/elf.c: Likewise.
27520 (grub_elf32_load): Pass `base' and `size' parameters. Update all
27521 callers.
27522 (grub_elf64_load): Likewise.
27523 (grub_elf32_load_segment): Move to a nested function.
27524 (grub_elf64_load_segment): Likewise.
27525
dc946850 275262007-02-12 Hollis Blanchard <hollis@penguinppc.org>
27527
27528 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
27529 prototype.
27530 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
27531 (grub_heap_len): Likewise.
27532 (HEAP_SIZE): New macro.
27533 (grub_claim_heap): New function.
27534 (grub_machine_init): Don't claim heap directly. Call
27535 `grub_claim_heap'.
27536 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
27537 (grub_available_iterate): New function.
27538
baa2a121 275392007-02-03 Thomas Schwinge <tschwinge@gnu.org>
27540
27541 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
27542 * configure.ac: Use it for testing the HOST and TARGET compilers.
27543
4fe9862e 275442006-12-13 Thomas Schwinge <tschwinge@gnu.org>
27545
27546 * Makefile.in (enable_grub_emu): New variable.
27547 * configure.ac (--enable-grub-emu): New option.
27548 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
27549 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
27550 * conf/i386-pc.rmk: Likewise.
27551 * conf/powerpc-ieee1275.rmk: Likewise.
27552 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
27553
a8aa5762 275542006-12-12 Marco Gerards <marco@gnu.org>
27555
27556 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
27557
27558 * kern/env.c (grub_env_unset): Don't free the member `value' when
27559 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
27560 pointer.
27561
27562 * normal/main.c (current_menu): Removed.
27563 (free_menu): Unset the `menu' environment variable.
27564 (grub_normal_menu_addentry): Make use of the environment variable
27565 `menu', instead of using the global `current_menu'. Allocate
27566 memory for the sourcecode of this entry.
27567 (read_config_file): New argument `nested', changed all callers.
27568 Only in the case of a new context, initialize a new menu. Set the
27569 `menu' environment variable.
27570 (grub_normal_execute): Don't set and unset the environment
27571 variable `menu' here anymore. Only free the menu when leaving the
27572 context.
27573
27574 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
27575 leak.
27576
957b3a3e 275772006-12-11 Marco Gerards <marco@gnu.org>
27578
27579 * normal/menu_entry.c (run): Fix off by one bug so the last line
27580 is executed. Move the loader check to outside the loop.
27581
ef875714 275822006-12-08 Hollis Blanchard <hollis@penguinppc.org>
27583
27584 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
27585
4e739985 275862006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
27587
27588 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
27589 the number of sectors. Reported by Andrey Shuvikov
27590 <mr_hyro@yahoo.com>.
f19dbdb7 27591
790707f2 275922006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
27593
27594 * kern/disk.c (grub_disk_read): When there is a read error, always
27595 try to read only the necessary data.
f19dbdb7 27596
790707f2 27597 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
27598 disk/raid.c.
27599 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
27600 prototype.
27601 [GRUB_UTIL] (grub_raid_fini): Likewise.
27602 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 27603 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 27604 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
27605 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
27606 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
27607 and grub_raid_fini().
f19dbdb7 27608
03e58196 276092006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
27610
27611 * include/grub/types.h (__unused): Rename to UNUSED.
27612 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
27613 (grub_elf64_size): Likewise.
f19dbdb7 27614
ae4f23bf 276152006-11-03 Hollis Blanchard <hollis@penguinppc.org>
27616
27617 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
27618 grub_error_push and grub_error_pop in the error-handling path.
27619 (grub_elf32_load_segment): Only call grub_file_read with non-zero
27620 length.
27621
2166cc83 276222006-11-03 Hollis Blanchard <hollis@penguinppc.org>
27623
27624 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
27625 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27626 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27627 (kernel_elf_SOURCES): Likewise.
27628 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
27629 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
27630 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
27631 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
27632 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
27633 (elf_mod_SOURCES): New variable.
27634 (elf_mod_CFLAGS): Likewise.
27635 (elf_mod_LDFLAGS): Likewise.
27636 * include/grub/types.h (__unused): New macro.
27637 * include/grub/elfload.h: New file.
27638 * kern/elf.c: Likewise.
27639 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
27640 (ELF32_LOADMASK): New macro.
27641 (ELF64_LOADMASK): Likewise.
27642 (vmlinux): Removed.
27643 (grub_linux_load32): New function.
27644 (grub_linux_load64): Likewise.
27645 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
27646 Use grub_elf_t instead of grub_file_t.
27647
a09d5aa5 276482006-11-02 Hollis Blanchard <hollis@penguinppc.org>
27649
27650 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
27651 `catch_result' to struct set_color_args.
27652
d976fc51 276532006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
27654
27655 * normal/menu.c: Include grub/script.h.
27656 * normal/menu_entry.c: Likewise.
27657 * include/grub/normal.h: Do not include grub/script.h.
27658
67507549 276592006-10-27 Hollis Blanchard <hollis@penguinppc.org>
27660
27661 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
27662
69203a99 276632006-10-27 Hollis Blanchard <hollis@penguinppc.org>
27664
27665 * kern/disk.c (grub_disk_open): Print debug messages when opening a
27666 disk.
27667 (grub_disk_close): Print debug messages when closing a disk.
27668 (grub_disk_read): Print debug messages when disk read fails.
27669 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
27670 filesystem type.
27671 * kern/partition.c: Include misc.h.
27672 (grub_partition_iterate): Print debug messages when detecting
27673 partition type.
27674
e2b8278c 276752006-10-27 Hollis Blanchard <hollis@penguinppc.org>
27676
27677 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
27678 is negative.
27679 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
27680
97b2f2ff 276812006-10-26 Hollis Blanchard <hollis@penguinppc.org>
27682
27683 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
27684 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
27685
6555d655 276862006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
27687
27688 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
27689 instead of sizeof(lv). Patch by Michael Guntsche.
27690
4d42b77f 276912006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
27692
27693 * disk/lvm.c: Rename VGS to VG_LIST.
27694 (grub_lvm_iterate): Change VGS->LV to VG-LV.
27695 (grub_lvm_open): Likewise.
27696 Thanks to Michael Guntsche for finding this bug.
27697
5d74d927 276982006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
27699
27700 * configure.ac (AC_INIT): Bumped to 1.95.
27701
a1bb27e4 277022006-10-14 Robert Millan <rmh@aybabtu.com>
27703
27704 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
27705 with "/dev/.static/dev/md".
27706
e0994b8b 277072006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
27708
27709 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
27710 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
27711 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
27712 DRIVE_NAME are always freed.
27713
27714 * util/i386/pc/biosdisk.c (make_device_name): Add one into
27715 DOS_PART, as a DOS partition is counted from one instead of zero
27716 now. Reported by Robert Millan.
27717
ddd5cee9 277182006-10-14 Robert Millan <rmh@aybabtu.com>
27719
27720 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
27721 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
27722 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
27723 string returned by grub_guess_root_device.
27724 * util/i386/pc/grub-setup.c: Likewise.
27725 * util/i386/pc/grub-probefs.c: Likewise.
27726
27727 * util/i386/pc/grub-probefs.c: Rename to ...
27728 * util/i386/pc/grub-probe.c: ... this.
27729 * DISTLIST: Remove grub-probefs, add grub-probe.
27730 * conf/i386-efi.rmk: Likewise.
27731 * conf/i386-pc.rmk: Likewise.
27732 * util/i386/pc/grub-install.in: Likewise.
27733
27734 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
27735 choose which information we want to print.
27736
2b002173 277372006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
27738
27739 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
27740 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
27741 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
27742 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
27743 video/readers/tga.c and video/i386/pc/vbeutil.c.
27744
277452006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
27746
27747 Added support for RAID and LVM.
f19dbdb7 27748
2b002173 27749 * disk/lvm.c: New file.
27750 * disk/raid.c: Likewise.
27751 * include/grub/lvm.h: Likewise.
f19dbdb7 27752 * include/grub/raid.h: Likewise.
2b002173 27753 * include/grub/util/lvm.h: Likewise.
27754 * include/grub/util/raid.h: Likewise.
27755 * util/lvm.c: Likewise.
27756 * util/raid.c: Likewise.
27757
27758 * include/grub/disk.h (grub_disk_dev_id): Add
27759 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
27760 (grub_disk_get_size): New prototype.
27761 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
27762 returns a partition.
27763 (grub_disk_get_size): New function.
f19dbdb7 27764
2b002173 27765 * kern/i386/pc/init.c (make_install_device): Copy the prefix
27766 verbatim if grub_install_dos_part is -2.
27767
27768 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
27769 and LVM devices.
27770
27771 * util/i386/pc/grub-setup.c (setup): New argument
27772 MUST_EMBED. Force embedding of GRUB when the argument is
27773 true. Close FILE before returning.
27774 (main): Add support for RAID and LVM.
f19dbdb7 27775
2b002173 27776 * conf/common.rmk: Add RAID and LVM modules.
27777 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
27778 util/lvm.c.
27779 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
27780
27781 * kern/misc.c (grub_strstr): New function.
27782 * include/grub/misc.h (grub_strstr): New prototype.
27783
050548d0 277842006-10-10 Tristan Gingold <tristan.gingold@bull.net>
27785
27786 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
27787
da849d2d 277882006-10-05 Tristan Gingold <tristan.gingold@bull.net>
27789
27790 * kern/misc.c (grub_strtoull): Guess the base only if not
27791 specified.
27792
97b2f2ff 277932006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 27794
27795 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
27796 PowerMac support.
27797
97b2f2ff 277982006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 27799
27800 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
27801
27802 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
27803 Remove `flags' argument. All callers changed.
27804 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
27805 (IEEE1275_IHANDLE_INVALID): New variable.
27806 (IEEE1275_CELL_INVALID): New variable.
27807 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
27808 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
27809 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
27810 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
27811 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
27812 codes from Open Firmware. All callers updated.
27813 (grub_ieee1275_next_property): Directly return Open Firmware return
27814 code.
27815 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
27816 Standardize error checking from `grub_ieee1275_get_property'.
27817 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
27818 `devalias' to `aliases'. Correct comments. Consolidate error paths.
27819
97b2f2ff 278202006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 27821
27822 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
27823 `instance_to_package_args' to `instance_to_path_args'.
27824
27825 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
27826 `grub_ieee1275_chosen'.
27827
27828 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
27829 `grub_ieee1275_interpret'.
27830
97b2f2ff 278312006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 27832
27833 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
27834
97b2f2ff 278352006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 27836
27837 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
27838 (__cmpdi): Likewise.
27839
27840 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
27841 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
27842 `grub_ssize_t'.
27843
02bb8acc 27844 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 27845
27846 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
27847 to type `grub_ssize_t'.
27848 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
27849
7f9a8531 278502006-09-22 Marco Gerards <marco@gnu.org>
27851
27852 * normal/script.c (grub_script_create_cmdmenu): Skip leading
27853 newlines.
27854
b5ef1102 278552006-09-22 Marco Gerards <marco@gnu.org>
27856
27857 * commands/echo.c: New file.
27858
27859 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
27860
27861 * conf/common.rmk (echo_mod_SOURCES): New variable.
27862 (echo_mod_CFLAGS): Likewise.
27863 (echo_mod_LDFLAGS): Likewise.
27864
2cff3677 278652006-09-22 Marco Gerards <marco@gnu.org>
27866
27867 * normal/main.c (get_line): Malloc memory instead of using
27868 preallocated memory. Removed the arguments `cmdline' and
27869 `max_len'. Updated all callers.
27870
6ba4688b 278712006-09-22 Marco Gerards <marco@gnu.org>
27872
27873 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
27874 (normal_mod_DEPENDENCIES): Likewise.
27875
27876 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
27877 (normal_mod_DEPENDENCIES): Likewise.
27878
27879 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
27880
e02ac02c 278812006-09-22 Johan Rydberg <jrydberg@gnu.org>
27882
27883 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
27884 programs.
27885 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
27886 (normal_mod_DEPENDENCIES): Likewise.
27887 * conf/i386-pc.mk: Regenerate.
27888 * conf/i386-efi.mk: Likewise
27889 * conf/common.mk: Likewise.
27890 * conf/powerpc-ieee1275.mk: Likewise.
27891 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 27892
8d252e44 278932006-09-22 Robert Millan <rmh@aybabtu.com>
27894
27895 Sync with i386 version.
27896 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
27897 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
27898
209bf7ac 278992006-09-21 Robert Millan <rmh@aybabtu.com>
27900
27901 Import from GRUB Legacy (lib/device.c):
27902 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
27903 (init_device_map) [__linux__]: Add support for I2O devices.
27904
6b146090 279052006-09-14 Marco Gerards <marco@gnu.org>
27906
27907 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
27908 `-melf_i386'.
27909
e38600a8 279102006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 27911
27912 * util/i386/pc/grub-install.in: Skip menu.lst when removing
27913 /boot/grub/*.lst.
78fa1790 27914
2952da5d 27915 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 27916
2952da5d 27917 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
27918 before adding it to device.map.
27919
01b82a64 279202006-08-15 Johan Rydberg <jrydberg@gnu.org>
27921
fe6b695a 27922 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 27923 compiles a file; using the -MD option.
27924 * conf/common.mk: Regenerate.
27925 * conf/i386-pc.mk: Likewise.
27926 * conf/i386-efi.mk: Likewise.
27927 * conf/powerpc-ieee1275.mk: Likewise.
27928 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 27929
1064790d 279302006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
27931
27932 Move the prototypes of grub_setjmp and grub_longjmp to
27933 cpu/setjmp.h, so that each architecture may specify different
27934 attributes.
f19dbdb7 27935
1064790d 27936 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
27937 (grub_longjmp): Likewise.
27938 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
27939 (grub_longjmp): Likewise.
27940 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
27941 (grub_longjmp): Likewise.
27942
27943 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
27944 [!GRUB_UTIL] (grub_longjmp): Removed.
27945
29dda3ed 279462006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
27947
27948 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
27949 "color!" method does not return any value.
27950
ad2a06ed 279512006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
27952
27953 * include/grub/bitmap.h: New file.
27954
27955 * include/grub/i386/pc/vbeutil.h: Likewise.
27956
27957 * video/bitmap.c: Likewise.
27958
27959 * video/readers/tga.c: Likewise.
27960
27961 * video/i386/pc/vbeutil.c: Likewise.
27962
27963 * commands/videotest.c: Code cleanup and updated to reflect to new
27964 video API.
27965
27966 * term/gfxterm.c: Likewise.
27967
27968 * video/video.c: Likewise.
27969
27970 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
27971 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
27972 (bitmap_mod_SOURCES): New entry.
27973 (bitmap_mod_CFLAGS): Likewise.
27974 (bitmap_mod_LDFLAGS): Likewise.
27975 (tga_mod_SOURCES): Likewise.
27976 (tga_mod_CFLAGS): Likewise.
27977 (tga_mod_LDFLAGS): Likewise.
27978
27979 * include/grub/video.h (grub_video_blit_operators): New enum type.
27980 (grub_video_render_target): Changed as forward declaration and moved
27981 actual definition to be video driver specific.
27982 (grub_video_adapter.blit_bitmap): Added blitting operator.
27983 (grub_video_adapter.blit_render_target): Likewise.
27984 (grub_video_blit_bitmap): Likewise.
27985 (grub_video_blit_render_target): Likewise.
27986
27987 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
27988 driver specific render target definition.
27989 (grub_video_vbe_map_rgba): Added driver internal helper.
27990 (grub_video_vbe_unmap_color): Updated to use
27991 grub_video_i386_vbeblit_info.
27992 (grub_video_vbe_get_video_ptr): Likewise.
27993
27994 * include/grub/i386/pc/vbeblit.h
27995 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
27996 grub_video_i386_vbeblit_info.
27997 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27998 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27999 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
28000 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
28001 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
28002 (grub_video_i386_vbeblit_index_index): Likewise.
28003 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
28004 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
28005 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
28006 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
28007 operator.
28008 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
28009 operator.
28010
28011 * video/i386/pc/vbeblit.c: Updated to reflect changes on
28012 include/grub/i386/pc/vbeblit.h.
28013
28014 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
28015 Updated to use grub_video_i386_vbeblit_info.
28016 (grub_video_i386_vbefill_R8G8B8): Likewise.
28017 (grub_video_i386_vbefill_index): Likewise.
28018 (grub_video_i386_vbefill): Added generic filler.
28019
28020 * video/i386/pc/vbefill.c: Updated to reflect changes on
28021 include/grub/i386/pc/vbefill.h.
28022
28023 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
28024 grub_video_i386_vbeblit_info.
28025 (grub_video_vbe_unmap_color): Likewise.
28026 (grub_video_vbe_blit_glyph): Likewise.
28027 (grub_video_vbe_scroll): Likewise.
28028 (grub_video_vbe_draw_pixel): Removed function.
28029 (grub_video_vbe_get_pixel): Likewise.
28030 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
28031 updated code to use it.
28032 (common_blitter): Added common blitter for render target and bitmap.
28033 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
28034 (grub_video_vbe_blit_render_target): Likewise.
28035
bc8c036d 280362006-07-30 Johan Rydberg <jrydberg@gnu.org>
28037
28038 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
28039 is in text mode if there is no console control protocol instance
28040 available.
28041
684a8eff 280422006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28043
28044 * include/grub/video.h: Code cleanup.
28045
28046 * include/grub/i386/pc/vbe.h: Likewise.
28047
28048 * video/i386/pc/vbe.c: Likewise.
28049
28050 * video/i386/pc/vbeblit.c: Likewise.
28051
28052 * video/i386/pc/vbefill.c: Likewise.
28053
28054 * video/video.c: Likewise. Also added more comments.
28055
5915059b 280562006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28057
28058 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
28059 (struct grub_biosdisk_dap): Likewise.
28060
28061 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
28062 linkage settings for all functions.
28063
90ce5d56 280642006-07-12 Marco Gerards <marco@gnu.org>
28065
28066 * configure.ac (--enable-mm-debug): Fix typo.
28067
28068 * genkernsyms.sh.in: Use proper quoting for `CC'.
28069
43e7f879 280702006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
28071
28072 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
28073 (normal_mod_ASFLAGS): Remove "-m32".
28074
4889bdec 280752006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
28076
28077 * util/misc.c: Include config.h.
28078 [!HAVE_MEMALIGN]: Do not include malloc.h.
28079 (grub_memalign): Use posix_memalign, if present. Then, use
28080 memalign, if present. Otherwise, emit an error.
28081
28082 * util/grub-emu.c: Do not include malloc.h.
28083
28084 * include/grub/util/misc.h: Include unistd.h. This is required for
28085 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
28086 D. Eades III <hde@foobar-qux.org>.
28087
28088 * configure.ac (AC_GNU_SOURCE): Added.
28089 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
28090 type.
28091
fd39d4da 280922006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
28093
28094 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
28095 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
28096
b786f3b5 280972006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
28098
28099 * include/grub/types.h (grub_host_addr_t): Rename to
28100 grub_target_addr_t.
28101 (grub_host_off_t): Rename to grub_target_off_t.
28102 (grub_host_size_t): Rename to grub_target_size_t.
28103 (grub_host_ssize_t): Rename to grub_target_ssize_t.
28104 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
28105
28106 * include/grub/kernel.h (struct grub_module_header): Change type
28107 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
28108 (grub_module_info): Likewise.
f19dbdb7 28109
051988bb 281102006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
28111
28112 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
28113 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
28114 Velazquez <jesus.velazquez@gmail.com>.
28115
deae281b 281162006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
28117
28118 Count partitions from 1 instead of 0 in the string representation
28119 of partitions. Still use 0-based internally.
f19dbdb7 28120
deae281b 28121 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
28122 (sun_partition_map_iterate): Use grub_partition_t instead of
28123 struct grub_partition *. Cast DESC->START_CYLINDER to
28124 grub_uint64_t after converting the endian.
28125 (sun_partition_map_probe): Subtract 1 for PARTNUM.
28126 (sun_partition_map_get_name): Add 1 to P->INDEX.
28127
28128 * partmap/pc.c (grub_partition_parse): Subtract 1 for
28129 PCDATA->DOS_PART.
28130 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
28131
28132 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
28133 zero instead of one.
28134 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
28135 (gpt_partition_map_get_name): Add 1 into P->INDEX.
28136
28137 * partmap/apple.c (apple_partition_map_iterate): Change the type
28138 of POS to unsigned.
28139 (apple_partition_map_probe): Subtract 1 for PARTNUM.
28140 (apple_partition_map_get_name): Add 1 into P->INDEX.
28141
28142 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
28143 of POS to unsigned.
28144 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
28145 calculate the offset of a partition.
28146 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
28147 (amiga_partition_map_get_name): Add 1 into P->INDEX.
28148
28149 * partmap/acorn.c (acorn_partition_map_find): Change the type of
28150 SECTOR to grub_disk_addr_t.
28151 (acorn_partition_map_iterate): Likewise.
28152 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
28153 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
28154 top.
28155 (acorn_partition_map_get_name): Add 1 into P->INDEX.
28156
28157 * kern/i386/pc/init.c (make_install_device): Add 1 into
28158 GRUB_INSTALL_DOS_PART.
28159
28160 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
28161 conditional.
28162
524a1e6a 281632006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
28164
28165 Clean up the code to support 64-bit addressing in disks and
28166 files. This change is not enough for filesystems yet.
f19dbdb7 28167
524a1e6a 28168 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
28169 type of "start" to grub_uint64_t.
28170 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
28171 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
28172 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
28173 convert addresses.
28174
28175 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
28176 to grub_disk_addr_t.
28177
28178 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
28179 string.
28180
28181 * partmap/pc.c (pc_partition_map_iterate): Likewise.
28182
28183 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
28184 to char *.
28185
28186 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
28187
28188 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
28189
28190 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
28191
28192 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
28193 to grub_off_t, to detect an error from grub_file_seek.
28194 (grub_multiboot_load_elf32): Likewise.
28195
28196 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
28197 maximum unsigned long value when an overflow is detected.
28198 (grub_strtoull): New function.
28199 (grub_divmod64): Likewise.
28200 (grub_lltoa): use grub_divmod64.
28201
28202 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
28203 grub_disk_addr_t.
28204 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
28205 the pointer to next character. Use grub_strtoull instead of
28206 grub_strtoul.
28207 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
28208 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
28209 respectively.
28210
fe6b695a 28211 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 28212 return value is signed.
28213 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
28214 test if OFFSET is less than zero, as OFFSET is unsigned now.
28215
28216 * kern/disk.c (struct grub_disk_cache): Change the type of
28217 "sector" to grub_disk_addr_t.
28218 (grub_disk_cache_get_index): Change the type of SECTOR to
28219 grub_disk_addr_t. Calculate the hash with SECTOR casted to
28220 unsigned after shifting.
28221 (grub_disk_cache_invalidate): Change the type of SECTOR to
28222 grub_disk_addr_t.
28223 (grub_disk_cache_unlock): Likewise.
28224 (grub_disk_cache_store): Likewise.
28225 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
28226 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
28227 grub_disk_addr_t and grub_uint64_t, respectively.
28228 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
28229 body, as the value of OFFSET is tweaked by
28230 grub_disk_check_range. Change the types of START_SECTOR, LEN and
28231 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
28232 respectively.
28233 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
28234 body, as the value of OFFSET is tweaked by
28235 grub_disk_check_range. Change the types of LEN and N to
28236 grub_size_t.
28237
28238 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
28239 and "saved_offset" to grub_off_t.
28240 (test_header): Cast BUF to char *.
28241 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
28242 to char *.
28243 (grub_gzio_read): Change the types of OFFSET and SIZE to
28244 grub_off_t and grub_size_t, respectively.
28245
28246 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
28247 Removed.
28248 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
28249 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
28250 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
28251 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
28252 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
28253
28254 * include/grub/types.h (grub_off_t): Unconditionally set to
28255 grub_uint64_t.
28256 (grub_disk_addr_t): Changed to grub_uint64_t.
28257
28258 * include/grub/partition.h (struct grub_partition): Change the
28259 types of "start", "len" and "offset" to grub_disk_addr_t,
28260 grub_uint64_t and grub_disk_addr_t, respectively.
28261 (grub_partition_get_start): Return grub_disk_addr_t.
28262 (grub_partition_get_len): Return grub_uint64_t.
28263
28264 * include/grub/misc.h (grub_strtoull): New prototype.
28265 (grub_divmod64): Likewise.
28266
28267 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
28268 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
28269 grub_off_t, respectively.
28270 All callers and references changed.
28271
28272 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
28273 grub_size_t in "read".
28274 All callers and references changed.
28275
28276 * include/grub/file.h (struct grub_file): Change the types of
28277 "offset" and "size" to grub_off_t and grub_off_t,
28278 respectively. Change the type of SECTOR to grub_disk_addr_t in
28279 "read_hook".
28280 (grub_file_read): Change the type of LEN to grub_size_t.
28281 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
28282 grub_off_t.
28283 (grub_file_size): Return grub_off_t.
28284 (grub_file_tell): Likewise.
28285 All callers and references changed.
28286
28287 * include/grub/disk.h (struct grub_disk_dev): Change the types of
28288 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
28289 "write".
28290 (struct grub_disk): Change the type of "total_sectors" to
28291 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 28292 "read_hook".
524a1e6a 28293 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
28294 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
28295 (grub_disk_write): Likewise.
28296 All callers and references changed.
28297
28298 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
28299 char * for grub_strncmp to silence gcc.
28300 (grub_iso9660_mount): Likewise.
28301 (grub_iso9660_mount): Likewise.
28302 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
28303 return statement.
28304 (grub_iso9660_iterate_dir): Likewise.
28305 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
28306
28307 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
28308 LEN to grub_disk_addr_t and grub_size_t, respectively.
28309
28310 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
28311
28312 * fs/jfs.c (grub_jfs_read_file): Likewise.
28313
28314 * fs/minix.c (grub_jfs_read_file): Likewise.
28315
28316 * fs/sfs.c (grub_jfs_read_file): Likewise.
28317
28318 * fs/ufs.c (grub_jfs_read_file): Likewise.
28319
28320 * fs/xfs.c (grub_jfs_read_file): Likewise.
28321
28322 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
28323 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
28324 respectively.
28325
28326 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
28327 BLKNR to -1 instead of returning GRUB_ERRNO.
28328 (grub_ext2_read_file): Change the types of SECTOR and
28329 LEN to grub_disk_addr_t and grub_size_t, respectively.
28330
28331 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
28332 LEN to grub_disk_addr_t and grub_size_t, respectively.
28333
28334 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
28335 grub_file_read.
28336
28337 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
28338 string. Do not cast SECTOR explicitly.
28339
28340 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
28341 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
28342 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
28343 grub_disk_addr_t and grub_size_t, respectively. If the sector is
28344 over 2TB and LBA mode is not supported, raise an error.
28345 (get_safe_sectors): New function.
28346 (grub_biosdisk_read): Use get_safe_sectors.
28347 (grub_biosdisk_write): Likewise.
28348
28349 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
28350 (grub_efidisk_write): Likewise.
28351
28352 * disk/loopback.c (delete_loopback): Cosmetic changes.
28353 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
28354 correctly.
28355 (grub_loopback_open): Likewise.
28356 (grub_loopback_read): Likewise. Also, change the type of POS to
28357 grub_off_t, and fix the usage of grub_memset.
28358
28359 * commands/i386/pc/play.c: Include grub/machine/time.h.
28360
28361 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
28362 print FILE->SIZE.
28363
28364 * commands/configfile.c: Include grub/env.h.
28365
28366 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
28367 GRUB_ERRNO directly instead. Change the type of POS to
28368 grub_off_t. Follow the coding standard.
28369
28370 * commands/blocklist.c: Include grub/partition.h.
28371 (grub_cmd_blocklist): Return an error if the underlying device is
28372 not a disk. Take the starting sector of a partition into account,
28373 if a partition is used.
28374
28375 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
28376 a length field.
28377 (lba_mode): Support 64-bit addresses.
28378 (chs_mode): Likewise.
28379 (copy_buffer): Adapted to the new offsets of a length field and a
28380 segment field.
28381 (blocklist_default_start): Allocate 64-bit space.
28382
28383 * boot/i386/pc/boot.S (force_lba): Removed.
28384 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 28385 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 28386 space.
28387 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
28388 is useless.
28389 (lba_mode): Refactored to support a 64-bit address. More size
28390 optimization.
28391 (setup_sectors): Likewise.
28392
53af98ad 283932006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
28394
28395 * DISTLIST: Added include/grub/i386/linux.h. Removed
28396 include/grub/i386/pc/linux.h
28397
28398 * configure.ac (AC_INIT): Bumped to 1.94.
28399
28400 * config.guess: Updated from gnulib.
28401 * config.sub: Likewise.
28402 * install-sh: Likewise.
28403 * mkinstalldirs: Likewise.
28404
b4c1940a 284052006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
28406
28407 * conf/common.rmk (grub_modules_init.lst): Depended on
28408 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
28409 MODSRCFILES.
28410
28411 * genmk.rb (PModule::rule): Reverted the previous change.
28412
cfca1cfd 284132006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
28414
28415 * conf/common.rmk (grub_modules_init.lst): Depends on
28416 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
28417 that the target does not exist before producing.
28418 (grub_modules_init.h): Remove the target before generating.
28419 (grub_emu_init.c): Likewise.
28420
28421 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
28422
aa6d7826 284232006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
28424
28425 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
28426 for the target-specific tests. Make sure that we also have the
28427 up-to-date target variables for those tests.
28428
26c607b9 284292006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
28430
28431 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
28432 (PModule::rule): Likewise.
28433
0162321a 284342006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
28435
28436 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
28437 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
28438 target-specific flags should be prefixed.
28439 (PModule::rule): Likewise.
28440
6c826348 284412006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
28442
28443 * configure.ac (CMP): Check if cmp is available explicitly.
28444
b977bf01 284452006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
28446
28447 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
28448 (target_cpu): New variable.
28449 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 28450
b977bf01 28451 * util/i386/pc/grub-install.in (host_cpu): Removed.
28452 (target_cpu): New variable.
28453 (pkglibdir): Use target_cpu instead of host_cpu.
28454
28455 * util/genmoddep.c: Removed.
f19dbdb7 28456
b977bf01 28457 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
28458 instead of GRUB_HOST_SIZEOF_VOID_P.
28459 * kern/dl.c: Likewise.
28460
28461 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
28462 ...
28463 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
28464 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
28465 (GRUB_TARGET_SIZEOF_LONG): ... this.
28466 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
28467 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
28468 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
28469 to ...
28470 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
28471 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
28472 (GRUB_TARGET_SIZEOF_LONG): ... this.
28473 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
28474 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
28475 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
28476 to ...
28477 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
28478 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
28479 (GRUB_TARGET_SIZEOF_LONG): ... this.
28480 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
28481 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
28482
28483 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
28484 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
28485 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
28486 instead of GRUB_HOST_SIZEOF_LONG.
28487 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
28488 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
28489 GRUB_CPU_WORDS_BIGENDIAN.
28490 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
28491 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
28492 grub_host_ssize_t.
28493
28494 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
28495 (genmoddep_SOURCES): Likewise.
28496 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
28497 (genmoddep_SOURCES): Likewise.
28498 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
28499 (genmoddep_SOURCES): Likewise.
28500 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
28501 Likewise.
28502 (genmoddep_SOURCES): Likewise.
28503
28504 * genmoddep.awk: New file.
28505
28506 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
28507 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
28508 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
28509 (PModule::rule): Likewise.
28510 (Program::rule): Likewise.
28511 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
28512 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
28513 respectively.
28514
28515 * configure.ac: Rewritten intensively to use host and target
28516 instead of build and host, respectively.
28517
28518 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
28519 (host_cpu): Removed.
28520 (target_cpu): New variable.
28521 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
28522 (BUILD_CC): Removed.
28523 (BUILD_CFLAGS): Likewise.
28524 (BUILD_CPPFLAGS): Likewise.
28525 (TARGET_CC): New variable.
28526 (TARGET_CFLAGS): Likewise.
28527 (TARGET_CPPFLAGS): Likewise.
28528 (TARGET_LDFLAGS): Likewise.
28529 (AWK): Likewise.
28530 (include): Use target_cpu instead of host_cpu.
28531 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 28532
b977bf01 28533 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
28534
f09771a1 285352006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
28536
28537 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
28538 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
28539 field 'false' to 'exec_on_false'.
28540 (grub_script_create_cmdif): Renamed argument names to reflect above
28541 changes.
28542
28543 * normal/execute.c (grub_script_execute_cmdif): Likewise.
28544
28545 * normal/script.c (grub_script_create_cmdif): Likewise.
28546
118f4fb3 285472006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
28548
28549 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
28550 top.
28551 (grub_hfsplus_btree_recptr): Likewise.
28552 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
28553 FILEBLOCK both to pass a block number and store next block
28554 number.
28555 (grub_hfsplus_read_block): Rewritten heavily to support an extent
28556 overflow file correctly. Specify errors appropriately, because
28557 fshelp expects that GRUB_ERRNO is set when fails. Reuse
28558 grub_hfsplus_btree_recptr to get the pointer to a found key.
28559 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
28560 is found.
28561
28562 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
28563 linux.mod.
28564 (_linux_mod_SOURCES): New variable.
28565 (_linux_mod_CFLAGS): Likewise.
28566 (_linux_mod_LDFLAGS): Likewise.
28567 (linux_mod_SOURCES): Likewise.
28568 (linux_mod_CFLAGS): Likewise.
28569 (linux_mod_LDFLAGS): Likewise.
28570
28571 * DISTLIST: Added loader/i386/efi/linux.c,
28572 loader/i386/efi/linux_normal.c and
28573 include/grub/i386/efi/loader.h.
28574
28575 * loader/i386/efi/linux.c: New file.
28576 * loader/i386/efi/linux_normal.c: Likewise.
28577 * include/grub/i386/efi/loader.h: Likewise.
28578
89a7d726 285792006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
28580
28581 * commands/blocklist.c: New file.
28582
28583 * DISTLIST: Added commands/blocklist.c.
28584
28585 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 28586 color for the background, and a darker color for the foreground.
89a7d726 28587 (grub_console_checkkey): Return READ_KEY.
28588 (grub_console_cls): Set the background to
28589 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
28590
28591 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
28592
28593 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
28594 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
28595
28596 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
28597 prototype.
28598
28599 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
28600 BG. The spec is wrong again.
28601
28602 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
28603 prototype.
28604 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
28605
28606 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
28607 commands/blocklist.c.
28608 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 28609
89a7d726 28610 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
28611 (blocklist_mod_SOURCES): New variable.
28612 (blocklist_mod_CFLAGS): Likewise.
28613 (blocklist_mod_LDFLAGS): Likewise.
28614
75c8f258 286152006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
28616
28617 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
28618 duplication.
28619 (lba_mode): Use %eax more intensively to reduce the code size.
28620
da2eb181 286212006-05-20 Marco Gerards <marco@gnu.org>
28622
28623 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
28624
28625 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
28626 for `menuentry'.
28627 (script): Accept leading newlines.
28628 (newlines): New rule to describe 0 or more newlines.
28629 (commands): Accept `command' with trailing newline. Fixed the
28630 order in which arguments were passed to `grub_script_add_cmd'.
28631 Accept commands separated by newlines.
28632 (function): Changed to accept newlines.
28633 (menuentry) Rewritten.
28634
28635 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
28636 front of the list, instead of to the end.
28637
577b4050 286382006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
28639
28640 * util/i386/pc/grub-install.in (bindir): New variable.
28641 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
28642 Shaver <lbgwjl@gmail.com>.
28643
0d6e1189 286442006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
28645
28646 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
28647 grub/machine/linux.h
28648 * loader/i386/pc/linux.c: Likewise.
28649
28650 * include/grub/i386/pc/linux.h: Moved to ...
28651 * include/grub/i386/linux.h: ... here.
28652
28653 * include/grub/i386/linux.h (struct linux_kernel_params): New
28654 struct.
f19dbdb7 28655
31b86e9f 286562006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
28657
28658 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
28659 checking.
28660 (grub_video_vbe_blit_glyph): Likewise.
28661 (grub_video_vbe_blit_bitmap): Likewise.
28662 (grub_video_vbe_blit_render_target): Likewise.
28663
83b984de 286642006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
28665
28666 * configure.ac (--with-platform): Properly quote the square
28667 brackets.
28668
5f0413bd 286692006-05-08 Marco Gerards <marco@gnu.org>
28670
28671 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
28672 this...
28673 (kernel_elf_HEADERS): ...to this. Updated all users.
28674 (grubof_symlist.c): Renamed from this...
28675 (kernel_elf_symlist.c): ...to this. Updated all users.
28676 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
28677 (grubof_SOURCES): Renamed from this...
28678 (kernel_elf_SOURCES): ...to this.
28679 (grubof_HEADERS): Renamed from this...
28680 (kernel_elf_HEADERS): ...to this.
28681 (grubof_CFLAGS): Renamed from this...
28682 (kernel_elf_CFLAGS): ...to this.
28683 (grubof_ASFLAGS): Renamed from this...
28684 (kernel_elf_ASFLAGS): ...to this.
28685 (grubof_LDFLAGS): Renamed from this...
28686 (kernel_elf_LDFLAGS): ...to this.
28687
28688 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
28689 this...
28690 (kernel_elf_HEADERS): ...to this. Updated all users.
28691 (grubof_symlist.c): Renamed from this...
28692 (kernel_elf_symlist.c): ...to this. Updated all users.
28693 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
28694 (grubof_SOURCES): Renamed from this...
28695 (kernel_elf_SOURCES): ...to this.
28696 (grubof_HEADERS): Renamed from this...
28697 (kernel_elf_HEADERS): ...to this.
28698 (grubof_CFLAGS): Renamed from this...
28699 (kernel_elf_CFLAGS): ...to this.
28700 (grubof_ASFLAGS): Renamed from this...
28701 (kernel_elf_ASFLAGS): ...to this.
28702 (grubof_LDFLAGS): Renamed from this...
28703 (kernel_elf_LDFLAGS): ...to this.
28704
28705 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
28706 `kernel.elf' instead of `grubof'.
28707
05568c2e 287082006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
28709
28710 Add --with-platform to configure. Use pkglibdir instead of
28711 pkgdatadir. This is reported by Roger Leigh.
28712
28713 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
28714 (host_vendor): Likewise.
28715 (host_os): Likewise.
28716 (pkgdatadir): Likewise.
28717 (platform): New variable.
28718 (pkglibdir): Likewise.
28719 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 28720
05568c2e 28721 * util/i386/pc/grub-install.in (datadir): Removed.
28722 (host_vendor): Likewise.
28723 (host_os): Likewise.
28724 (pkgdatadir): Likewise.
28725 (platform): New variable.
28726 (pkglibdir): Likewise.
28727 Use PKGLIBDIR instead of PKGDATADIR.
28728
28729 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
28730 instead of GRUB_DATADIR.
28731 (main): Likewise.
28732 * util/i386/pc/grub-mkimage.c (usage): Likewise.
28733 (main): Likewise.
28734 * util/i386/efi/grub-mkimage.c (usage): Likewise.
28735 (main): Likewise.
28736
28737 * configure.ac (--with-platform): New option.
28738 Use PLATFORM instead of HOST_VENDOR to specify a platform.
28739
28740 * Makefile.in: Include a makefile based on PLATFORM instead of
28741 HOST_VENDOR.
28742 (pkgdatadir): Not appended by the machine type.
28743 (pkglibdir): Appended by the machine type.
28744 (host_vendor): Removed.
28745 (platform): New variable.
28746 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
28747 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
28748 (uninstall): Likewise.
28749
4e93851c 287502006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
28751
28752 Use the environment context in the menu. Remove the commands
28753 "default" and "timeout", and use variables instead.
f19dbdb7 28754
4e93851c 28755 * normal/menu.c: Include grub/env.h.
28756 (print_entry): Cast TITLE to silence gcc.
28757 (get_timeout): New function.
28758 (set_timeout): Likewise.
28759 (get_entry_number): Likewise.
28760 (run_menu): Use a default entry, a fallback entry and a timeout
28761 in the environment variables "default", "fallback" and
28762 "timeout". Also, tweak the default entry if it is not within the
28763 current menu entries.
28764 (grub_menu_run): Use a fallback entry in the environment variable
28765 "fallback".
28766
28767 * normal/main.c (read_config_file): Do not initialize
28768 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
28769 NEWMENU->TIMEOUT.
28770 (grub_normal_execute): Use a data slot to store the menu.
28771
28772 * include/grub/normal.h (struct grub_menu): Removed default_entry,
28773 fallback_entry and timeout.
28774 (struct grub_menu_list): Removed.
28775 (grub_menu_list_t): Likewise.
28776 (struct grub_context): Likewise.
28777 (grub_context_t): Likewise.
28778 (grub_context_get): Likewise.
28779 (grub_context_get_current_menu): Likewise.
28780 (grub_context_push_menu): Likewise.
28781 (grub_context_pop_menu): Likewise.
28782 (grub_default_init): Likewise.
28783 (grub_default_fini): Likewise.
28784 (grub_timeout_init): Likewise.
28785 (grub_timeout_fini): Likewise.
28786
28787 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
28788 and timeout.mod.
28789 (normal_mod_SOURCES): Removed normal/context.c.
28790
28791 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
28792 commands/default.c, commands/timeout.c and normal/context.c.
28793 (normal_mod_SOURCES): Removed normal/context.c.
28794
28795 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
28796 commands/timeout.c and normal/context.c.
28797 (normal_mod_SOURCES): Removed normal/context.c.
28798
28799 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
28800 commands/default.c, commands/timeout.c and normal/context.c.
28801 (normal_mod_SOURCES): Removed normal/context.c.
28802
28803 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
28804 timeout.mod.
28805 (default_mod_SOURCES): Removed.
28806 (default_mod_CFLAGS): Likewise.
28807 (default_mod_LDFLAGS): Likewise.
28808 (timeout_mod_SOURCES): Removed.
28809 (timeout_mod_CFLAGS): Likewise.
28810 (timeout_mod_LDFLAGS): Likewise.
28811
28812 * DISTLIST: Removed commands/default.c, commands/timeout.c and
28813 normal/context.c.
28814
28815 * commands/default.c: Removed.
28816 * commands/timeout.c: Likewise.
28817 * normal/context.c: Likewise.
28818
1eb9cc1d 288192006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
28820
28821 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
28822
385bd9c1 288232006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
28824
28825 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
28826 "next" to "prev" for readability.
28827 (struct grub_env_sorted_var): New struct.
28828 (grub_env_context): Renamed to ...
28829 (initial_context): ... this.
28830 (grub_env_var_context): Renamed to ...
28831 (current_context): ... this.
28832 (grub_env_find): Look only at CURRENT_CONTEXT.
28833 (grub_env_context_open): Rewritten to copy exported variables from
28834 previous context.
28835 (grub_env_context_close): Rewritten according to the new
28836 scheme. Also, add an assertion to prevent the initial context from
28837 removed.
28838 (grub_env_insert): Removed the code for the sorted list.
28839 (grub_env_remove): Likewise.
28840 (grub_env_export): Simply mark the variable with
28841 GRUB_ENV_VAR_GLOBAL.
28842 (grub_env_set): A cosmetic change for naming consistency.
28843 (grub_env_get): Likewise.
28844 (grub_env_unset): Likewise.
28845 (grub_env_iterate): Rewritten to sort variables within this
28846 function.
28847 (grub_register_variable_hook): Fixed for naming consistency. Call
28848 grub_env_find again, only if NAME is not found at the first time.
28849 (mangle_data_slot_name): New function.
28850 (grub_env_set_data_slot): Likewise.
28851 (grub_env_get_data_slot): Likewise.
28852 (grub_env_unset_data_slot): Likewise.
28853
28854 * include/grub/env.h (grub_env_var_type): New enum.
28855 (GRUB_ENV_VAR_LOCAL): New constant.
28856 (GRUB_ENV_VAR_GLOBAL): Likewise.
28857 (GRUB_ENV_VAR_DATA): Likewise.
28858 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
28859 "type".
28860 (grub_env_set): Replace VAR with NAME for consistency.
28861 (grub_register_variable_hook): Likewise.
28862 (grub_env_export): Specify the name of the argument.
28863 (grub_env_set_data_slot): New prototype.
28864 (grub_env_get_data_slot): Likewise.
28865 (grub_env_unset_data_slot): Likewise.
28866
7f362539 288672006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
28868
28869 Extend the loader so that GRUB can accept a loader which comes
28870 back to GRUB when a loaded image exits. Also, this change adds
28871 support for a chainloader on EFI.
f19dbdb7 28872
7f362539 28873 * term/efi/console.c: Include grub/misc.h.
28874 (grub_console_checkkey): Display a scan code on the top for
28875 debugging. This will be removed once the EFI port gets stable.
28876 Correct the scan code mapping.
28877
28878 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
28879 allocate memory from larger regions, in order to reduce the number
28880 of allocated regions. Otherwise, the MacOSX loader panics.
28881 (filter_memory_map): Avoid less than 1MB for compatibility with
28882 other loaders.
28883 (add_memory_regions): Allocate from the tail of a region, if
28884 possible, to avoid allocating a region near to 1MB, for the MacOSX
28885 loader.
28886
28887 * kern/efi/init.c (grub_efi_set_prefix): Specify
28888 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
28889
28890 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
28891 argument IMAGE_HANDLE and specify it to get a loaded image.
28892 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
28893 grub_efi_get_loaded_image.
fe6b695a 28894 (grub_efi_get_filename): Divide the length by the size of
7f362539 28895 grub_efi_char16_t.
28896 (grub_efi_get_device_path): New function.
28897 (grub_efi_print_device_path): Print End Device Path nodes. Divide
28898 the length by the size of grub_efi_char16_t for a file path device
28899 path node.
28900
28901 * kern/loader.c (grub_loader_noreturn): New variable.
28902 (grub_loader_set): Accept a new argument NORETURN. Set
28903 GRUB_LOADER_NORETURN to NORETURN.
28904 All callers changed.
28905 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
28906 grub_machine_fini.
28907
28908 * include/grub/efi/efi.h (grub_efi_get_device_path): New
28909 prototype.
28910 (grub_efi_get_loaded_image): Take an argument to specify an image
28911 handle.
28912
28913 * include/grub/loader.h (grub_loader_set): Added one more argument
28914 NORETURN.
28915
28916 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
28917 instead of grub_efi_open_protocol.
28918 (grub_efidisk_get_device_name): Likewise.
28919 (grub_efidisk_close): Print a newline.
28920 (grub_efidisk_get_device_handle): Fixed to use
28921 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
28922 GRUB_EFI_DEVICE_PATH_TYPE.
28923
28924 * disk/efi/efidisk.c (device_path_guid): Moved to ...
28925 * kern/efi/efi.c (device_path_guid): ... here.
28926
28927 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
28928 chain.mod.
28929 (kernel_mod_HEADERS): Added efi/disk.h.
28930 (_chain_mod_SOURCES): New variable.
28931 (_chain_mod_CFLAGS): Likewise.
28932 (_chain_mod_LDFLAGS): Likewise.
28933 (chain_mod_SOURCES): Likewise.
28934 (chain_mod_CFLAGS): Likewise.
28935 (chain_mod_LDFLAGS): Likewise.
28936
28937 * DISTLIST: Added include/grub/efi/chainloader.h,
28938 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
28939
28940 * include/grub/efi/chainloader.h: New file.
28941 * loader/efi/chainloader.c: Likewise.
28942 * loader/efi/chainloader_normal.c: Likewise.
28943
c0111d6e 289442006-04-30 Marco Gerards <marco@gnu.org>
28945
28946 * commands/configfile.c (grub_cmd_source): New function.
28947 (GRUB_MOD_INIT): Register the commands `source' and `.'.
28948 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
28949
df5341da 289502006-04-30 Marco Gerards <marco@gnu.org>
28951
28952 * normal/execute.c (grub_script_execute_cmd): Change the return
28953 type to `grub_err_t'. Correctly return the error.
28954 (grub_script_execute_cmdline): In case a command line is not a
28955 command or a function, try to interpret it as an assignment.
28956
f85934bd 289572006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
28958
28959 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
28960 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
28961 skip a node whose name is obviously invalid as UTF-16,
28962 i.e. contains a NUL character. Stop the iteration when the last
28963 directory entry is found. Instead of using the return value of
28964 grub_hfsplus_btree_iterate_node, store the value in RET and use
28965 it, because the iterator can be stopped by the last directory
28966 entry.
28967
8f8a2cf8 289682006-04-30 Marco Gerards <marco@gnu.org>
28969
28970 * include/grub/env.h (grub_env_export): New prototype. Reported
28971 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
28972
a27e84ce 289732006-04-30 Marco Gerards <marco@gnu.org>
28974
28975 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
28976 size of the extents in a catalog file record.
28977
eaef0553 289782006-04-29 Marco Gerards <marco@gnu.org>
28979
28980 * commands/configfile.c (grub_cmd_configfile): Execute the
28981 configfile within its own context.
28982
28983 * include/grub/env.h (grub_env_context_open): New prototype.
28984 (grub_env_context_close): Likewise.
28985
28986 * kern/env.c (grub_env): Removed.
28987 (grub_env_sorted): Likewise.
28988 (grub_env_context): New variable.
28989 (grub_env_var_context): Likewise.
28990 (grub_env_find): Search both the active context and the global
28991 context.
28992 (grub_env_context_open): New function.
28993 (grub_env_context_close): Likewise.
28994 (grub_env_insert): Likewise.
28995 (grub_env_remove): Likewise.
28996 (grub_env_export): Likewise.
28997 (grub_env_set): Changed to use helper functions to avoid code
28998 duplication.
28999 (grub_env_iterate): Rewritten so both the current context and the
29000 global context are being used.
29001
29002 * normal/command.c (export_command): New function.
29003 (grub_command_init): Register the `export' function.
29004
7b455f4d 290052006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
29006
29007 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
29008 explicitly to suppress gcc's warnings.
29009 * fs/fat.c (grub_fat_find_dir): Likewise.
29010 (grub_fat_label): Likewise.
29011 * fs/xfs.c (grub_xfs_read_inode): Likewise.
29012 (grub_xfs_mount): Likewise.
29013 (grub_xfs_label): Likewise.
29014 * fs/affs.c (grub_affs_mount): Likewise.
29015 (grub_affs_label): Likewise.
29016 (grub_affs_iterate_dir): Likewise.
29017 * fs/sfs.c (grub_sfs_mount): Likewise.
29018 (grub_sfs_iterate_dir): Likewise.
29019 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
29020 * fs/hfs.c (grub_hfs_mount): Likewise.
29021 (grub_hfs_cmp_catkeys): Likewise.
29022 (grub_hfs_find_dir): Likewise.
29023 (grub_hfs_dir): Likewise.
29024 (grub_hfs_label): Likewise.
29025 * fs/jfs.c (grub_jfs_mount): Likewise.
29026 (grub_jfs_opendir): Likewise.
29027 (grub_jfs_getent): Likewise.
29028 (grub_jfs_lookup_symlink): Likewise.
29029 (grub_jfs_label): Likewise.
29030 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
29031 (grub_hfsplus_iterate_dir): Likewise.
29032 (grub_hfsplus_btree_iterate_node): Made static.
29033
29034 * util/grub-emu.c (prefix): New variable.
29035 (grub_machine_set_prefix): New function.
29036 (main): Do not set the environment variable "prefix" here. Only
29037 set PREFIX, which is used later by grub_machine_set_prefix.
29038
29039 * include/grub/video.h: Do not include grub/symbol.h.
29040 (grub_video_register): Not exported. This symbol is not defined in
29041 the kernel.
29042 (grub_video_unregister): Likewise.
29043 (grub_video_iterate): Likewise.
29044 (grub_video_setup): Likewise.
29045 (grub_video_restore): Likewise.
29046 (grub_video_get_info): Likewise.
29047 (grub_video_get_blit_format): Likewise.
29048 (grub_video_set_palette): Likewise.
29049 (grub_video_get_palette): Likewise.
29050 (grub_video_set_viewport): Likewise.
29051 (grub_video_get_viewport): Likewise.
29052 (grub_video_map_color): Likewise.
29053 (grub_video_map_rgb): Likewise.
29054 (grub_video_map_rgba): Likewise.
29055 (grub_video_fill_rect): Likewise.
29056 (grub_video_blit_glyph): Likewise.
29057 (grub_video_blit_bitmap): Likewise.
29058 (grub_video_blit_render_target): Likewise.
29059 (grub_video_scroll): Likewise.
29060 (grub_video_swap_buffers): Likewise.
29061 (grub_video_create_render_target): Likewise.
29062 (grub_video_delete_render_target): Likewise.
29063 (grub_video_set_active_render_target): Likewise.
29064
29065 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
29066 Undefined.
29067 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
29068
29069 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
29070 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29071 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29072 instead of $(srcdir)/genkernsyms.sh.
29073
29074 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
29075 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29076 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29077 instead of $(srcdir)/genkernsyms.sh.
29078
29079 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
29080 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29081 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29082 instead of $(srcdir)/genkernsyms.sh.
29083
29084 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
29085 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29086 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29087 instead of $(srcdir)/genkernsyms.sh.
29088
29089 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
29090 genkernsyms.sh.
29091
29092 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
29093 genkernsyms.sh.
29094 (gensymlist.sh): New target.
29095 (genkernsyms.sh): Likewise.
29096
29097 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
29098 genkernsyms.sh.in and gensymlist.sh.in.
29099
29100 * genkernsyms.sh: Removed.
29101 * gensymlist.sh: Likewise.
f19dbdb7 29102
7b455f4d 29103 * genkernsyms.sh.in: New file.
29104 * gensymlist.sh.in: Likewise.
29105
1885bb27 291062006-04-25 Hollis Blanchard <hollis@penguinppc.org>
29107
29108 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
29109 clobber "prefix", since we may have already set it manually.
29110
71538dff 291112006-04-25 Hollis Blanchard <hollis@penguinppc.org>
29112
29113 * kern/misc.c (abort): New alias for grub_abort.
29114
2965c7cc 291152006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
29116
29117 A new machine-specific function "grub_machine_set_prefix" is
29118 defined. This is called after loading modules, so that a prefix
29119 initialization can use modules. Also, this change adds an
29120 intensive debugging feature for the memory manager via the
29121 configure option "--enable-mm-debug".
f19dbdb7 29122
2965c7cc 29123 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
29124 PART.LEN.
29125
29126 * kern/sparc64/ieee1275/init.c (abort): Removed.
29127 (grub_stop): Likewise.
29128 (grub_exit): New function.
29129 (grub_set_prefix): Renamed to ...
29130 (grub_machine_set_prefix): ... this.
29131 (grub_machine_init): Do not call grub_set_prefix.
29132
29133 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
29134 (grub_machine_set_prefix): ... this.
29135 (grub_machine_init): Do not call grub_set_prefix.
29136
29137 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
29138 (grub_machine_init): Do not set the prefix here.
29139
29140 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
29141
29142 * kern/efi/init.c: Include grub/mm.h.
29143 (grub_efi_set_prefix): New function.
29144
29145 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
29146 (grub_efi_get_filename): New function.
29147 (grub_print_device_path): Renamed to ...
29148 (grub_efi_print_device_path): ... this.
29149
29150 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
29151 [MM_DEBUG] (grub_realloc): Likewise.
29152 [MM_DEBUG] (grub_free): Likewise.
29153 [MM_DEBUG] (grub_memalign): Likewise.
29154 [MM_DEBUG] (grub_mm_debug): New variable.
29155 [MM_DEBUG] (grub_debug_malloc): New function.
29156 [MM_DEBUG] (grub_debug_free): New function.
29157 [MM_DEBUG] (grub_debug_realloc): New function.
29158 [MM_DEBUG] (grub_debug_memalign): New function.
29159
29160 * kern/misc.c (grub_abort): Print a newline to distinguish
29161 the message.
29162
29163 * kern/main.c (grub_main): Call grub_machine_set_prefix and
29164 grub_set_root_dev after loading modules. This is necessary when
29165 setting a prefix depends on modules.
29166
29167 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
29168 (grub_efi_print_device_path): ... this.
29169 (grub_efi_get_filename): New prototype.
29170 (grub_efi_set_prefix): Likewise.
29171
29172 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
29173 and grub/disk.h.
29174 (grub_efidisk_get_device_handle): New prototype.
29175 (grub_efidisk_get_device_name): Likewise.
29176
29177 * include/grub/mm.h: Include config.h.
29178 (MM_DEBUG): Removed.
29179 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
29180 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
29181 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
29182 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
29183 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
29184 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
29185 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
29186 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
29187 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
29188
29189 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
29190
29191 * disk/efi/efidisk.c: Include grub/partition.h.
29192 (iterate_child_devices): New function.
29193 (add_device): First, compare only last device path nodes, so that
29194 devices are sorted by the types.
29195 (grub_efidisk_get_device_handle): New function.
29196 (grub_efidisk_get_device_name): Likewise.
29197
29198 * configure.ac (--enable-mm-debug): New option to enable the
29199 memory manager debugging feature. This makes the binary much
29200 bigger, so is disabled by default.
29201
9cacaa17 292022006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
29203
29204 Use grub_abort instead of grub_stop, and grub_exit must be
29205 define in each architecture now. Also, this change adds support
29206 for EFI disks.
f19dbdb7 29207
9cacaa17 29208 * util/i386/pc/grub-probefs.c: Include grub/term.h.
29209 (grub_getkey): New function.
29210 (grub_term_get_current): Likewise.
29211
29212 * util/i386/pc/grub-setup.c: Include grub/term.h.
29213 (grub_getkey): New function.
29214 (grub_term_get_current): Likewise.
29215
29216 * util/misc.c (grub_stop): Renamed to ...
29217 (grub_exit): ... this.
29218
29219 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
29220 (grub_exit): ... this.
29221 (grub_machine_init): Use grub_abort instead of abort.
29222 (grub_stop): Removed.
29223
29224 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
29225 abort.
29226
29227 * kern/i386/pc/startup.S (grub_exit): New function.
29228 (cold_reboot): New label.
29229
29230 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
29231 (grub_efi_init): Call grub_efidisk_init.
29232 (grub_efi_fini): Call grub_efidisk_fini.
29233
29234 * kern/efi/efi.c: Include grub/mm.h.
29235 (grub_efi_console_control_guid): Renamed to ...
29236 (console_control_guid): ... this.
29237 (grub_efi_loaded_image_guid): Renamed to ...
29238 (loaded_image_guid): ... this.
29239 (grub_efi_locate_handle): New function.
29240 (grub_efi_open_protocol): Likewise.
29241 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
29242 GRUB_EFI_CONSOLE_CONTROL_GUID.
29243 (grub_efi_exit): Removed.
29244 (grub_stop): Likewise.
29245 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
29246 (grub_exit): New function.
29247 (grub_print_device_path): Likewise.
29248
29249 * kern/rescue.c (grub_rescue_cmd_exit): New function.
29250 (grub_enter_rescue_mode): Register "exit".
29251
29252 * kern/misc.c (grub_real_dprintf): A cosmetic change.
29253 (grub_abort): New function.
29254
29255 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
29256
29257 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
29258
29259 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
29260
29261 * include/grub/efi/efi.h (grub_efi_exit): Removed.
29262 (grub_print_device_path): New prototype.
29263 (grub_efi_locate_handle): Likewise.
29264 (grub_efi_open_protocol): Likewise.
29265
29266 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
29267 * disk/efi/efidisk.c: Likewise.
29268
29269 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
29270
29271 * include/grub/efi/console_control.h
29272 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
29273
29274 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
29275 last 8 bytes as an array.
29276 (GRUB_EFI_DISK_IO_GUID): New macro.
29277 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
29278 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
29279 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
29280 grub_uint8_t.
29281 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
29282 (struct grub_efi_device_path): Rename the member "sub_type" to
29283 "subtype".
29284 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
29285 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
29286 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
29287 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
29288 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
29289 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
29290 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
29291 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
29292 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
29293 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
29294 (struct grub_efi_pci_device_path): New structure.
29295 (grub_efi_pci_device_path_t): New type.
29296 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
29297 (struct grub_efi_pccard_device_path): New structure.
29298 (grub_efi_pccard_device_path_t): New type.
29299 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
29300 (struct grub_efi_memory_mapped_device_path): New structure.
29301 (grub_efi_memory_mapped_device_path_t): New type.
29302 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
29303 (struct grub_efi_vendor_device_path): New structure.
29304 (grub_efi_vendor_device_path_t): New type.
29305 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
29306 (struct grub_efi_controller_device_path): New structure.
29307 (grub_efi_controller_device_path_t): New type.
29308 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
29309 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
29310 (struct grub_efi_acpi_device_path): New structure.
29311 (grub_efi_acpi_device_path_t): New type.
29312 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
29313 (struct grub_efi_expanded_acpi_device_path): New structure.
29314 (grub_efi_expanded_acpi_device_path_t): New type.
29315 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
29316 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
29317 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
29318 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
29319 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
29320 (struct grub_efi_atapi_device_path): New structure.
29321 (grub_efi_atapi_device_path_t): New type.
29322 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
29323 (struct grub_efi_fibre_channel_device_path): New structure.
29324 (grub_efi_fibre_channel_device_path_t): New type.
29325 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
29326 (struct grub_efi_1394_device_path): New structure.
29327 (grub_efi_1394_device_path_t): New type.
29328 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
29329 (struct grub_efi_usb_device_path): New structure.
29330 (grub_efi_usb_device_path_t): New type.
29331 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
29332 (struct grub_efi_usb_class_device_path): New structure.
29333 (grub_efi_usb_class_device_path_t): New type.
29334 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
29335 (struct grub_efi_i2o_device_path): New structure.
29336 (grub_efi_i2o_device_path_t): New type.
29337 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
29338 (struct grub_efi_mac_address_device_path): New structure.
29339 (grub_efi_mac_address_device_path_t): New type.
29340 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
29341 (struct grub_efi_ipv4_device_path): New structure.
29342 (grub_efi_ipv4_device_path_t): New type.
29343 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
29344 (struct grub_efi_ipv6_device_path): New structure.
29345 (grub_efi_ipv6_device_path_t): New type.
29346 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
29347 (struct grub_efi_infiniband_device_path): New structure.
29348 (grub_efi_infiniband_device_path_t): New type.
29349 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
29350 (struct grub_efi_uart_device_path): New structure.
29351 (grub_efi_uart_device_path_t): New type.
29352 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
29353 (struct grub_efi_vendor_messaging_device_path): New structure.
29354 (grub_efi_vendor_messaging_device_path_t): New type.
29355 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
29356 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
29357 (struct grub_efi_hard_drive_device_path): New structure.
29358 (grub_efi_hard_drive_device_path_t): New type.
29359 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
29360 (struct grub_efi_cdrom_device_path): New structure.
29361 (grub_efi_cdrom_device_path_t): New type.
29362 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
29363 (struct grub_efi_vendor_media_device_path): New structure.
29364 (grub_efi_vendor_media_device_path_t): New type.
29365 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
29366 (struct grub_efi_file_path_device_path): New structure.
29367 (grub_efi_file_path_device_path_t): New type.
29368 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
29369 (struct grub_efi_protocol_device_path): New structure.
29370 (grub_efi_protocol_device_path_t): New type.
29371 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
29372 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
29373 (struct grub_efi_bios_device_path): New structure.
29374 (grub_efi_bios_device_path_t): New type.
29375 (struct grub_efi_disk_io): New structure.
29376 (grub_efi_disk_io_t): New type.
29377 (struct grub_efi_block_io_media): New structure.
29378 (grub_efi_block_io_media_t): New type.
29379 (struct grub_efi_block_io): New structure.
29380 (grub_efi_block_io_t): New type.
29381
29382 * include/grub/misc.h (grub_stop): Removed.
29383 (grub_exit): New prototype.
29384 (grub_abort): Likewise.
29385
29386 * include/grub/disk.h (enum grub_disk_dev_id): Added
29387 GRUB_DISK_DEVICE_EFIDISK_ID.
29388
29389 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
29390 disk/efi/efidisk.c.
29391 (kernel_syms.lst): Remove the target if an error occurs.
29392
49986a9f 293932006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
29394
29395 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
29396 as it was simply too buggy.
29397
970d3b8a 293982006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
29399
29400 * kern/misc.c (grub_lltoa): New function.
29401 (grub_vsprintf): Added support for the long long suffix,
29402 i.e. "ll".
29403
ff04ec24 294042006-04-20 Hollis Blanchard <hollis@penguinppc.org>
29405
29406 * Makefile.in (LDFLAGS): Add variable.
29407 (LD): Remove variable.
29408 * configure.ac: Add -m32 to LDFLAGS.
29409 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
29410 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
29411 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
29412 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
29413 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
29414 variables.
29415 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
29416 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
29417 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
29418
37e5e1a4 294192006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
29420
29421 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
29422 length for unknown glyph.
29423
c352d8dd 294242006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
29425
2eab1c0d 29426 Add support for pre-loaded modules into the EFI port.
f19dbdb7 29427
2eab1c0d 29428 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
29429 completely. Accept one more argument DIR. The caller has changed.
29430
29431 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
29432
29433 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
29434 (grub_efi_loaded_image_guid): New variable.
29435 (grub_efi_get_loaded_image): New function.
29436 (grub_arch_modules_addr): Likewise.
29437
29438 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
29439 prototype.
29440
29441 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
29442 (struct grub_efi_loaded_image): New structure.
29443 (grub_efi_loaded_image_t): New type.
29444
294452006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 29446
c352d8dd 29447 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
29448 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
29449 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
29450
6d01d6b4 294512006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
29452
29453 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
29454
976a4ea0 294552006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
29456
29457 * DISTLIST: Added include/grub/efi/console.h,
29458 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
29459 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
29460
29461 * include/grub/efi/console.h: New file.
29462 * include/grub/efi/time.h: Likewise.
29463 * include/grub/i386/efi/kernel.h: Likewise.
29464 * kern/efi/init.c: Likewise.
29465 * kern/efi/mm.c: Likewise.
29466 * term/efi/console.c: Likewise.
f19dbdb7 29467
976a4ea0 29468 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
29469 (grub_stop): Removed.
29470 (grub_get_rtc): Likewise.
29471 (grub_machine_init): Simply call grub_efi_init.
29472 (grub_machine_fini): Call grub_efi_fini.
29473
29474 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
29475 (grub_efi_output_string): Removed.
29476 (grub_efi_stall): New function.
29477 (grub_stop): Likewise.
29478 (grub_get_rtc): Likewise.
29479
29480 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
29481 (grub_efi_stall): New prototype.
29482 (grub_efi_allocate_pages): Likewise.
29483 (grub_efi_free_pages): Likewise.
29484 (grub_efi_get_memory_map): Likewise.
29485 (grub_efi_mm_init): Likewise.
29486 (grub_efi_mm_fini): Likewise.
29487 (grub_efi_init): Likewise.
29488 (grub_efi_fini): Likewise.
29489
29490 * include/grub/i386/efi/time.h: Do not include
29491 grub/symbol.h. Include grub/efi/time.h.
29492 (GRUB_TICKS_PER_SECOND): Removed.
29493 (grub_get_rtc): Likewise.
29494
29495 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
29496 Added padding. The EFI spec is buggy.
29497 (GRUB_EFI_BLACK): New macro.
29498 (GRUB_EFI_BLUE): Likewise.
29499 (GRUB_EFI_GREEN): Likewise.
29500 (GRUB_EFI_CYAN): Likewise.
29501 (GRUB_EFI_RED): Likewise.
29502 (GRUB_EFI_MAGENTA): Likewise.
29503 (GRUB_EFI_BROWN): Likewise.
29504 (GRUB_EFI_LIGHTGRAY): Likewise.
29505 (GRUB_EFI_BRIGHT): Likewise.
29506 (GRUB_EFI_DARKGRAY): Likewise.
29507 (GRUB_EFI_LIGHTBLUE): Likewise.
29508 (GRUB_EFI_LIGHTGREEN): Likewise.
29509 (GRUB_EFI_LIGHTCYAN): Likewise.
29510 (GRUB_EFI_LIGHTRED): Likewise.
29511 (GRUB_EFI_LIGHTMAGENTA): Likewise.
29512 (GRUB_EFI_YELLOW): Likewise.
29513 (GRUB_EFI_WHITE): Likewise.
29514 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
29515 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
29516 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
29517 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
29518 (GRUB_EFI_BACKGROUND_RED): Likewise.
29519 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
29520 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
29521 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
29522 (GRUB_EFI_TEXT_ATTR): Likewise.
29523
29524 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
29525 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
29526 (kernel_mod_HEADERS): Added efi/time.h.
29527
83709125 295282006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
29529
29530 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
29531 include/grub/efi/api.h, include/grub/efi/console_control.h,
29532 include/grub/efi/efi.h, include/grub/efi/pe32.h,
29533 include/grub/i386/efi/time.h, kern/efi/efi.c,
29534 kern/i386/efi/init.c, kern/i386/efi/startup.S,
29535 and util/i386/efi/grub-mkimage.c.
29536
29537 * Makefile.in (RMKFILES): Added i386-efi.rmk.
29538
29539 * genmk.rb (PModule#rule): Do not export symbols if
29540 #{prefix}_EXPORTS is set to "no".
29541
29542 * conf/i386-efi.mk: New file.
29543 * conf/i386-efi.rmk: Likewise.
29544 * include/grub/efi/api.h: Likewise.
29545 * include/grub/efi/console_control.h: Likewise.
29546 * include/grub/efi/efi.h: Likewise.
29547 * include/grub/efi/pe32.h: Likewise.
29548 * include/grub/i386/efi/time.h: Likewise.
29549 * kern/efi/efi.c: Likewise.
29550 * kern/i386/efi/init.c: Likewise.
29551 * kern/i386/efi/startup.S: Likewise.
29552 * util/i386/efi/grub-mkimage.c: Likewise.
29553
295542006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 29555
29556 * include/grub/script.h: Include <grub/parser.h> and
29557 "grub_script.tab.h".
29558 (struct grub_lexer_param): New struct.
29559 (struct grub_parser_param): Likewise.
29560 (grub_script_create_arglist): Pass the state in an argument.
29561 (grub_script_add_arglist): Likewise.
29562 (grub_script_create_cmdline): Likewise.
29563 (grub_script_create_cmdblock): Likewise.
29564 (grub_script_create_cmdif): Likewise.
29565 (grub_script_create_cmdmenu): Likewise.
29566 (grub_script_add_cmd): Likewise.
29567 (grub_script_arg_add): Likewise.
29568 (grub_script_lexer_ref): Likewise.
29569 (grub_script_lexer_deref): Likewise.
29570 (grub_script_lexer_record_start): Likewise.
29571 (grub_script_lexer_record_stop): Likewise.
29572 (grub_script_mem_record): Likewise.
29573 (grub_script_mem_record_stop): Likewise.
29574 (grub_script_malloc): Likewise.
29575 (grub_script_yylex): Likewise.
29576 (grub_script_yyparse): Likewise.
29577 (grub_script_yyerror): Likewise.
29578 (grub_script_yylex): Likewise.
29579 (grub_script_lexer_init): Return the state.
29580
29581 * normal/lexer.c (grub_script_lexer_state): Removed variable.
29582 (grub_script_lexer_done): Likewise.
29583 (grub_script_lexer_getline): Likewise.
29584 (grub_script_lexer_refs): Likewise.
29585 (script): Likewise.
29586 (newscript): Likewise.
29587 (record): Likewise.
29588 (recording): Likewise.
29589 (recordpos): Likewise.
29590 (recordlen): Likewise.
29591 (grub_script_lexer_init): Return the state instead of setting
29592 global variables.
29593 (grub_script_lexer_ref): Use the newly added argument for state
29594 instead of globals.
29595 (grub_script_lexer_deref): Likewise.
29596 (grub_script_lexer_record_start): Likewise.
29597 (grub_script_lexer_record_stop): Likewise.
29598 (recordchar): Likewise.
29599 (nextchar): Likewise.
29600 (grub_script_yylex2): Likewise.
29601 (grub_script_yylex): Likewise.
29602 (grub_script_yyerror): Likewise.
29603
29604 * normal/parser.y (func_mem): Removed variable.
29605 (menu_entry): Likewise.
29606 (err): Likewise.
29607 (%lex-param): New parser option.
29608 (%parse-param): Likewise.
29609 (script): Always return the AST.
29610 (argument): Pass the state around.
29611 (arguments): Likewise.
29612 (grubcmd): Likewise.
29613 (commands): Likewise.
29614 (function): Likewise.
29615 (menuentry): Likewise.
29616 (if_statement): Likewise.
29617 (if): Likewise.
29618
29619 * normal/script.c (grub_script_memused): Removed variable.
29620 (grub_script_parsed): Likewise.
29621 (grub_script_malloc): Added a state argument. Use that instead of
29622 global variables.
29623 (grub_script_mem_record): Likewise.
29624 (grub_script_mem_record_stop): Likewise.
29625 (grub_script_arg_add): Likewise.
29626 (grub_script_add_arglist): Likewise.
29627 (grub_script_create_cmdline): Likewise.
29628 (grub_script_create_cmdif): Likewise.
29629 (grub_script_create_cmdmenu): Likewise.
29630 (grub_script_add_cmd): Likewise.
29631 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 29632
e2a8c904 296332006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 29634
29635 * normal/command.c (grub_command_init): Remove the title command.
29636
29637 * normal/lexer.c (grub_script_yylex): Renamed from this...
29638 (grub_script_yylex2): ... to this.
29639 (grub_script_yylex): New function. Temporary
29640 introduced to filter some tokens.
29641 (grub_script_yyerror): Print a newline.
29642
29643 * normal/main.c (read_config_file): Output information about the
29644 lines that contain errors. Wait for a key after all lines have
29645 been processed. Don't return an empty menu.
29646
29647 * normal/parser.y (func_mem): Don't initialize.
29648 (menu_entry): Likewise.
29649 (err): New variable.
29650 (script): Don't return anything when an error was encountered.
29651 (ws, returns): Removed rules.
29652 (argument): Disabled concatenated variable support.
29653 (arguments): Remove explicit separators.
29654 (grubcmd): Likewise.
29655 (function): Likewise.
29656 (menuentry): Likewise.
29657 (if): Likewise.
29658 (commands): Likewise. Add error handling.
29659
29660 * normal/script.c (grub_script_create_cmdline): If
29661 `grub_script_parsed' is 0, assume the parser encountered an error.
29662
c9a86192 296632006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
29664
29665 * configure.ac: Add support for EFI. Fix the typo
29666 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
29667
70f3b243 296682006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
29669
29670 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
29671 foreign multibyte characters should be shown correctly.
29672
65f201ad 296732006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
29674
29675 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
29676 calculation.
29677 (read_config_file): Made it to close file before returning.
29678
b4b93674 296792006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
29680
29681 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
29682 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
29683 video/i386/pc/vbefill.c.
29684
29685 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
29686 video/i386/pc/vbefill.c.
29687
29688 * include/grub/video.h (grub_video_blit_format): New enum.
29689 (grub_video_mode_info): Added new member blit_format.
29690 (grub_video_get_blit_format): New function prototype.
29691
29692 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
29693 function prototype.
29694 (grub_video_vbe_map_rgb): Likewise.
29695 (grub_video_vbe_unmap_color): Likewise.
29696
29697 * include/grub/i386/pc/vbeblit.h: New file.
29698
29699 * include/grub/i386/pc/vbefill.h: New file.
29700
29701 * video/video.c (grub_video_get_blit_format): New function.
29702 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
29703 (grub_video_vbe_map_rgb): Likewise.
29704 (grub_video_vbe_unmap_color): Likewise.
29705
29706 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
29707 optimized fills.
29708 (grub_video_vbe_blit_render_target): Changed to use more optimized
29709 blits.
29710 (grub_video_vbe_setup): Added detection for optimized settings.
29711 (grub_video_vbe_create_render_target): Likewise.
29712
29713 * video/i386/pc/vbeblit.c: New file.
29714
29715 * video/i386/pc/vbefill.c: New file.
29716
c2379b9c 297172006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
29718
29719 * font/manager.c (grub_font_get_glyph): Removed font fixup from
29720 here...
29721
29722 * util/unifont2pff.rb: ... and moved it to here. Improved argument
29723 parsing to support both hex and dec ranges. If filename was missing
29724 show usage information.
29725
bd0d7896 297262006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
29727
29728 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
29729 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
29730
29731 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
29732 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
29733 (video_mod_SOURCES): Added.
29734 (video_mod_CFLAGS): Likewise.
29735 (video_mod_LDFLAGS): Likewise.
29736 (gfxterm_mod_SOURCES): Likewise.
29737 (gfxterm_mod_CFLAGS): Likewise.
29738 (gfxterm_mod_LDFLAGS): Likewise.
29739 (videotest_mod_SOURCES): Likewise.
29740 (videotest_mod_CFLAGS): Likewise.
29741 (videotest_mod_LDFLAGS): Likewise.
29742 (vesafb_mod_SOURCES): Removed.
29743 (vesafb_mod_CFLAGS): Likewise.
29744 (vesafb_mod_LDFLAGS): Likewise.
29745 (vga_mod_SOURCES): Likewise.
29746 (vga_mod_CFLAGS): Likewise.
29747 (vga_mod_LDFLAGS): Likewise.
29748
29749 * commands/videotest.c: New file.
29750
29751 * font/manager.c (fill_with_default_glyph): Modified to use
29752 grub_font_glyph.
29753 (grub_font_get_glyph): Likewise.
29754 (fontmanager): Renamed from this...
29755 (font_manager): ... to this.
29756
29757 * include/grub/font.h (grub_font_glyph): Added new structure.
29758 (grub_font_get_glyph): Modified to use grub_font_glyph.
29759
29760 * include/grub/misc.h (grub_abs): Added as inline function.
29761
29762 * include/grub/video.h: New file.
29763
29764 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
29765 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
29766 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
29767 (grub_vbe_get_controller_info): Renamed from this...
29768 (grub_vbe_bios_get_controller_info): ... to this.
29769 (grub_vbe_get_mode_info): Renamed from this...
29770 (grub_vbe_bios_get_mode_info): ... to this.
29771 (grub_vbe_set_mode): Renamed from this...
29772 (grub_vbe_bios_set_mode): ... to this.
29773 (grub_vbe_get_mode): Renamed from this...
29774 (grub_vbe_bios_get_mode): ... to this.
29775 (grub_vbe_set_memory_window): Renamed from this...
29776 (grub_vbe_bios_set_memory_window): ... to this.
29777 (grub_vbe_get_memory_window): Renamed from this...
29778 (grub_vbe_bios_get_memory_window): ... to this.
29779 (grub_vbe_set_scanline_length): Renamed from this...
29780 (grub_vbe_set_scanline_length): ... to this.
29781 (grub_vbe_get_scanline_length): Renamed from this...
29782 (grub_vbe_bios_get_scanline_length): ... to this.
29783 (grub_vbe_set_display_start): Renamed from this...
29784 (grub_vbe_bios_set_display_start): ... to this.
29785 (grub_vbe_get_display_start): Renamed from this...
29786 (grub_vbe_bios_get_display_start): ... to this.
29787 (grub_vbe_set_palette_data): Renamed from this...
29788 (grub_vbe_bios_set_palette_data): ... to this.
29789 (grub_vbe_set_pixel_rgb): Removed.
29790 (grub_vbe_set_pixel_index): Likewise.
29791
29792 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
29793 from this...
29794 (grub_vbe_bios_get_controller_info): ... to this.
29795 (grub_vbe_get_mode_info): Renamed from this...
29796 (grub_vbe_bios_get_mode_info): ... to this.
29797 (grub_vbe_set_mode): Renamed from this...
29798 (grub_vbe_bios_set_mode): ... to this.
29799 (grub_vbe_get_mode): Renamed from this...
29800 (grub_vbe_bios_get_mode): ... to this.
29801 (grub_vbe_set_memory_window): Renamed from this...
29802 (grub_vbe_bios_set_memory_window): ... to this.
29803 (grub_vbe_get_memory_window): Renamed from this...
29804 (grub_vbe_bios_get_memory_window): ... to this.
29805 (grub_vbe_set_scanline_length): Renamed from this...
29806 (grub_vbe_set_scanline_length): ... to this.
29807 (grub_vbe_get_scanline_length): Renamed from this...
29808 (grub_vbe_bios_get_scanline_length): ... to this.
29809 (grub_vbe_set_display_start): Renamed from this...
29810 (grub_vbe_bios_set_display_start): ... to this.
29811 (grub_vbe_get_display_start): Renamed from this...
29812 (grub_vbe_bios_get_display_start): ... to this.
29813 (grub_vbe_set_palette_data): Renamed from this...
29814 (grub_vbe_bios_set_palette_data): ... to this.
29815 (grub_vbe_bios_get_controller_info): Fixed problem with registers
29816 getting corrupted after calling it. Added more pushes and pops.
29817 (grub_vbe_bios_set_mode): Likewise.
29818 (grub_vbe_bios_get_mode): Likewise.
29819 (grub_vbe_bios_get_memory_window): Likewise.
29820 (grub_vbe_bios_set_scanline_length): Likewise.
29821 (grub_vbe_bios_get_scanline_length): Likewise.
29822 (grub_vbe_bios_get_display_start): Likewise.
29823 (grub_vbe_bios_set_palette_data): Likewise.
29824
29825 * normal/cmdline.c (cl_set_pos): Refresh the screen.
29826 (cl_insert): Likewise.
29827 (cl_delete): Likewise.
29828
29829 * term/gfxterm.c: New file.
29830
29831 * term/i386/pc/vesafb.c: Removed file.
29832
29833 * video/video.c: New file.
29834
29835 * video/i386/pc/vbe.c (real2pm): Added new function.
29836 (grub_video_vbe_draw_pixel): Likewise.
29837 (grub_video_vbe_get_video_ptr): Likewise.
29838 (grub_video_vbe_get_pixel): Likewise
29839 (grub_video_vbe_init): Likewise.
29840 (grub_video_vbe_fini): Likewise.
29841 (grub_video_vbe_setup): Likewise.
29842 (grub_video_vbe_get_info): Likewise.
29843 (grub_video_vbe_set_palette): Likewise.
29844 (grub_video_vbe_get_palette): Likewise.
29845 (grub_video_vbe_set_viewport): Likewise.
29846 (grub_video_vbe_get_viewport): Likewise.
29847 (grub_video_vbe_map_color): Likewise.
29848 (grub_video_vbe_map_rgb): Likewise.
29849 (grub_video_vbe_map_rgba): Likewise.
29850 (grub_video_vbe_unmap_color): Likewise.
29851 (grub_video_vbe_fill_rect): Likewise.
29852 (grub_video_vbe_blit_glyph): Likewise.
29853 (grub_video_vbe_blit_bitmap): Likewise.
29854 (grub_video_vbe_blit_render_target): Likewise.
29855 (grub_video_vbe_scroll): Likewise.
29856 (grub_video_vbe_swap_buffers): Likewise.
29857 (grub_video_vbe_create_render_target): Likewise.
29858 (grub_video_vbe_delete_render_target): Likewise.
29859 (grub_video_vbe_set_active_render_target): Likewise.
29860 (grub_vbe_set_pixel_rgb): Remove function.
29861 (grub_vbe_set_pixel_index): Likewise.
29862 (index_color_mode): Remove static variable.
29863 (active_mode): Likewise.
29864 (framebuffer): Likewise.
29865 (bytes_per_scan_line): Likewise.
29866 (grub_video_vbe_adapter): Added new static variable.
29867 (framebuffer): Likewise.
29868 (render_target): Likewise.
29869 (initial_mode): Likewise.
29870 (mode_in_use): Likewise.
29871 (mode_list): Likewise.
29872
5f97350b 298732006-03-10 Marco Gerards <marco@gnu.org>
29874
29875 * configure.ac (AC_INIT): Bumped to 1.93.
29876
29877 * DISTLIST: Added `include/grub/hfs.h'.
29878
a3c5c6f8 298792006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
29880
29881 * boot/i386/pc/boot.S (general_error): Before looping, try INT
29882 18H, which might help the BIOS falling back to next boot media.
29883
6de53d26 298842006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
29885
29886 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
29887 Poe Chen <poe.poechen@gmail.com>.
29888
77c4a393 298892006-01-17 Marco Gerards <marco@gnu.org>
29890
29891 * include/grub/normal.h: Include <grub/script.h>.
29892 (grub_command_list): Removed struct.
29893 (grub_command_list_t): Removed type.
29894 (grub_menu_entry): Remove members `num' and `command_list'. Add
29895 members `commands' and `sourcecode'.
29896 * include/grub/script.h: Add inclusion guards.
29897 (grub_script_cmd_menuentry): New struct.
29898 (grub_script_execute_menuentry): New prototype.
29899 (grub_script_lexer_record_start): Likewise.
29900 (grub_script_lexer_record_stop): Likewise.
29901 * normal/execute.c (grub_script_execute_menuentry): New function.
29902 * normal/lexer.c (record, recording, recordpos, recordlen): New
29903 variables.
29904 (grub_script_lexer_record_start): New function.
29905 (grub_script_lexer_record_stop): Likewise.
29906 (recordchar): Likewise.
29907 (nextchar): Likewise.
29908 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
29909 2048 as the buffer size. Add the tokens `menuentry' and `@'.
29910 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
29911 (current_menu): New variable.
29912 (free_menu): Mainly rewritten.
29913 (grub_normal_menu_addentry): New function.
29914 (read_config_file): Rewritten.
29915 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 29916 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 29917 the menu entry.
29918 (run): Mainly rewritten.
29919 * normal/parser.y (menu_entry): New variable.
29920 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
29921 (menuentry): New rule.
29922 (command): Add `menuentry'.
29923 (if_statement): Allow additional returns before `fi'.
29924 * normal/script.c (grub_script_create_cmdmenu): New function.
29925
144f1f98 299262006-01-03 Marco Gerards <marco@gnu.org>
29927
29928 * INSTALL: GNU Bison is required.
29929 * configure.ac: Rewritten the test to detect Bison.
29930 * Makefile.in (YACC): New variable. Reported by Xun Sun
29931 <xun.sun.cn@gmail.com>.
29932
af4b2d89 299332006-01-03 Marco Gerards <marco@gnu.org>
29934
29935 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
29936 the HFS+ filesystem to filesystem blocks.
29937 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
29938 GCC warning is silenced.
29939
15643b71 299402006-01-03 Marco Gerards <marco@gnu.org>
29941
29942 * partmap/apple.c (apple_partition_map_iterate): Convert the data
29943 read from disk from big endian to host byte order.
29944
00905879 299452006-01-03 Hollis Blanchard <hollis@penguinppc.org>
29946
29947 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
29948 documentation.
29949 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
29950 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
29951 embedded HFS+ filesystem.
29952 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
29953 (grub_hfs_sblock): Move from here...
29954 * include/grub/hfs.h: To here... New file.
29955 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
29956 documentation.
29957 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
29958 New macros.
29959 (grub_hfsplus_volheader): Change type of member `magic' to
29960 `grub_uint16_t'.
29961 (grub_hfsplus_data): Add new member `embedded_offset'.
29962 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
29963 returned block.
29964 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
29965 Calculate the offset.
29966
8899bc3e 299672005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
29968
29969 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
29970 Removed.
29971 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
29972
ae8c0277 299732005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
29974
29975 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
29976 ENV->NAME is NULL after allocating ENV->VALUE.
29977
07084456 299782005-12-25 Marco Gerards <marco@gnu.org>
29979
29980 * kern/env.c (grub_env_set): Rewritten the error handling code.
29981
4750f5f1 299822005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
29983
29984 * geninit.sh: Made more robust, and more portable.
29985
50214199 299862005-12-25 Marco Gerards <marco@gnu.org>
29987
29988 Add support for Apple HFS+ filesystems.
f19dbdb7 29989
50214199 29990 * fs/hfsplus.c: New file.
29991
29992 * DISTLIST: Added `fs/hfsplus.c'.
29993
29994 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
29995 (hfsplus_mod_SOURCES): New variable.
29996 (hfsplus_mod_CFLAGS): Likewise.
29997 (hfsplus_mod_LDFLAGS): Likewise.
29998 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
29999 (grub_setup_SOURCES): Likewise.
30000 (grub_mkdevicemap_SOURCES): Likewise.
30001 (grub_emu_SOURCES): Likewise.
30002 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30003
30004 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
30005
30006 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
30007
befaed6c 300082005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30009
30010 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
30011 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
30012 include/grub/parser.h, include/grub/script.h, kern/parser.c,
30013 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
30014 normal/lexer.c, normal/parser.y, normal/script.c, and
30015 partmap/gpt.c.
30016 Removed kern/sparc64/cache.c.
30017
30018 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
30019 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
30020 grub_emu_init.c.
30021
30022 * configure.ac (AC_INIT): Bumped to 1.92.
30023
6a124103 300242005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
30025
30026 * kern/err.c (grub_error_push): Added new function to support error
30027 stacks.
30028 (grub_error_pop): Likewise.
30029 (grub_error_stack_items): New local variable to support error stacks.
30030 (grub_error_stack_pos): Likewise.
30031 (grub_error_stack_assert): Likewise.
30032 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
30033 stack depth.
30034 (grub_print_error): Added support to print errors from error stack.
30035
30036 * include/grub/err.h (grub_error_push): Added function prototype.
30037 (grub_error_pop): Likewise.
30038
be973c1b 300392005-12-09 Hollis Blanchard <hollis@penguinppc.org>
30040
30041 * configure.ac: Accept `powerpc64' as host_cpu.
30042 (amd64): Rename to `biarch32'.
30043
30044 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
30045 non-cacheline-aligned addresses.
30046
30047 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
30048 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
30049 if `size' is non-zero.
30050
b04216ab 300512005-12-03 Marco Gerards <mgerards@xs4all.nl>
30052
30053 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
30054 and `cd' to make sure the filename is not prefixed with a
30055 directory name.
30056 (pkgdata_MODULES): Add `gpt.mod'.
30057 (gpt_mod_SOURCES): New variable.
30058 (gpt_mod_CFLAGS): Likewise.
30059 (gpt_mod_LDFLAGS): Likewise.
30060
30061 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
30062
30063 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
30064 New macro.
30065
30066 * partmap/gpt.c: New file.
30067
30068 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
30069 GPT partition map is detected.
30070
41730ed9 300712005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
30072
30073 * commands/i386/pc/play.c: New file.
30074 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
30075 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
30076 macros.
f19dbdb7 30077
95dc3643 300782005-11-27 Marco Gerards <mgerards@xs4all.nl>
30079
30080 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
30081 ((unused))' to silence gcc warning.
30082
1569ec51 300832005-11-26 Hollis Blanchard <hollis@penguinppc.org>
30084
30085 * configure.ac: Correct `AC_PROG_YACC' test.
30086
9abde152 300872005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30088
30089 * util/powerpc/ieee1275/grub-install.in: Run the mount point
30090 check before installing files.
30091
44b83271 300922005-11-22 Mike Small <smallm@panix.com>
30093
30094 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
30095 number regex so multidigit numbers are recognized correctly.
30096
300972005-11-22 Mike Small <smallm@panix.com>
30098
30099 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
30100 debugging message before attempting to claim memory.
30101 (grub_rescue_cmd_initrd): Add a claim debugging message and try
30102 multiple addresses in case of failure.
30103
9c12956b 301042005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30105
30106 * term/tparm.c (get_space): Remove empty `if' statement.
30107
30108 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
30109
30110 * kern/parser.c (check_varstate): Rename `state' to 's'.
30111
aeaf81d9 301122005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30113
30114 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
30115 variable definitions to the beginning of each function. Sort stack
30116 variables by size.
30117 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
30118 `buf' argument to `char *'.
30119
79bbb63f 301202005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30121
30122 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
30123 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 30124 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 30125 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
30126 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
30127 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
30128 configfile.mod, search.mod, gzio.mod and test.mod.
30129 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
30130 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
30131 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
30132 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
30133 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
30134 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
30135 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
30136 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
30137 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
30138 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
30139 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
30140 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
30141 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
30142 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
30143 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
30144 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
30145 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
30146 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
30147 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
30148 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
30149 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
30150 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
30151 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
30152
30153 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
30154 `grep --include'.
30155 (pkgdata_MODULES): Add test.mod.
30156
233b1628 301572005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
30158
30159 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
30160 appending to variables with "+=".
30161 (PModule): Use full pathname to generate *.lst filenames.
30162
30163 * Makefile.in: Fixed list rules moved from genmk.rb.
30164 (.DELETE_ON_ERROR): New special target.
30165 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
30166
30167 * conf/i386-pc.rmk: Include conf/common.mk.
30168 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 30169 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 30170 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
30171 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
30172 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
30173 configfile.mod, search.mod, gzio.mod and test.mod.
30174 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
30175 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
30176 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
30177 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
30178 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
30179 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
30180 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
30181 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
30182 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
30183 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
30184 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
30185 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
30186 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
30187 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
30188 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
30189 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
30190 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
30191 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
30192 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
30193 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
30194 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
30195 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
30196 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
30197 here...
30198 * conf/common.rmk: ... to here. New file.
30199
30200 * conf/common.mk: New file.
30201
16f820c8 302022005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
30203
30204 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
30205 (grub_script.tab.c): ... here.
30206
30207 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
30208 (grub_script.tab.c): ... here.
30209
30210 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
30211 (grub_script.tab.c): ... here.
30212
30213 * normal/command.c (grub_command_find): Fixed a memory leak of
30214 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
30215
63ba1554 302162005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
30217
30218 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
30219 "@" which marks the start of a comment on ARM.
30220 (VARIABLE): Likewise.
30221
7f67dc13 302222005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
30223
79bbb63f 30224 Add support for Linux/ADFS partition tables.
7f67dc13 30225
30226 * partmap/acorn.c: New file.
30227
30228 * include/grub/acorn_filecore.h: Likewise.
30229
30230 * DISTLIST: Added `partmap/acorn.c' and
30231 `include/grub/acorn_filecore.h'.
f19dbdb7 30232
7f67dc13 30233 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30234 `partmap/acorn.c'.
30235 (pkgdata_MODULES): Add `acorn.mod'.
30236 (acorn_mod_SOURCES): New variable.
30237 (acorn_mod_CFLAGS): Likewise.
30238
30239 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
30240 `partmap/acorn.c'.
30241 (pkgdata_MODULES): Add `acorn.mod'.
30242 (acorn_mod_SOURCES): New variable.
30243 (acorn_mod_CFLAGS): Likewise.
30244
30245 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
30246 (pkgdata_MODULES): Add `acorn.mod'.
30247 (acorn_mod_SOURCES): New variable.
30248 (acorn_mod_CFLAGS): Likewise.
30249 (acorn_mod_LDFLAGS): Likewise.
30250
30251 * include/types.h (grub_disk_addr_t): New typedef.
30252
6d099807 302532005-11-13 Marco Gerards <mgerards@xs4all.nl>
30254
30255 * geninit.sh: New file.
30256
30257 * geninitheader.sh: Likewise.
30258
30259 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
30260 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
30261 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
30262 * commands/configfile.c (grub_configfile_init)
30263 (grub_configfile_fini): Likewise.
30264 * commands/default.c (grub_default_init, grub_default_fini):
30265 Likewise.
30266 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
30267 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
30268 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
30269 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
30270 Likewise.
30271 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
30272 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
30273 Likewise.
30274 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 30275 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 30276 Likewise.
30277 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
30278 Likewise.
fe6b695a 30279 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 30280 Likewise.
30281 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
30282 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
30283 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
30284 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
30285 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
30286 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
30287 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
30288 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
30289 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
30290 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
30291 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
30292 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
30293 * partmap/amiga.c (grub_amiga_partition_map_init)
30294 (grub_amiga_partition_map_fini): Likewise.
30295 * partmap/apple.c (grub_apple_partition_map_init)
30296 (grub_apple_partition_map_fini): Likewise.
30297 * partmap/pc.c (grub_pc_partition_map_init)
30298 (grub_pc_partition_map_fini): Likewise.
30299 * partmap/sun.c (grub_sun_partition_map_init,
30300 grub_sun_partition_map_fini): Likewise.
30301 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
30302 Likewise.
30303
30304 * util/grub-emu.c: Include <grub_modules_init.h>.
30305 (main): Don't initialize and de-initialize any modules directly,
30306 use `grub_init_all' and `grub_fini_all' instead.
30307
30308 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
30309 `grub_vesafb_mod_init'.
30310 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
30311 all users.
30312 * term/i386/pc/vga.c (grub_vga_init): Renamed to
30313 `grub_vga_mod_init'. Updated all users.
30314 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 30315
6d099807 30316 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
30317 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
30318 rules.
30319
30320 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
30321 Generate a function to initialize the module in utilities.
30322 Updated all callers.
30323 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
30324 initialize the module in utilities. Updated all callers.
30325
9046bcf0 303262005-11-09 Hollis Blanchard <hollis@penguinppc.org>
30327
30328 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
30329 escape sequence and a literal ^L to clear the screen.
30330
30331 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
30332 when returning from Open Firmware.
30333
d13ea639 303342005-11-09 Hollis Blanchard <hollis@penguinppc.org>
30335
30336 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
30337 (grub_ofconsole_height): Likewise.
30338 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
30339 manually insert a '\n'.
30340 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
30341 `grub_ofconsole_height'. Return early if these are already set.
30342
a8fcf206 303432005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
30344
30345 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
30346 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
30347 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
30348 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
30349 and `normal/script.c'.
30350 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
30351 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
30352 (test_mod_SOURCES): New variable.
30353 (test_mod_CFLAGS): Likewise.
30354 (test_mod_LDFLAGS): Likewise.
30355 (pkgdata_MODULES): Add `test.mod'.
30356 (grub_script.tab.c): New rule.
30357 (grub_script.tab.h): Likewise.
30358
b6b32745 303592005-11-07 Marco Gerards <mgerards@xs4all.nl>
30360
30361 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30362 `commands/test.c', `normal/execute.c', `normal/lexer.c',
30363 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
30364 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
30365 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
30366 (test_mod_SOURCES): New variable.
30367 (test_mod_CFLAGS): Likewise.
30368 (pkgdata_MODULES): Add `test.mod'.
30369 (grub_script.tab.c): New rule.
30370 (grub_script.tab.h): Likewise.
30371
daac212a 303722005-11-06 Marco Gerards <mgerards@xs4all.nl>
30373
30374 Add initial scripting support.
30375
30376 * commands/test.c: New file.
30377 * include/grub/script.h: Likewise.
30378 * normal/execute.c: Likewise.
30379 * normal/function.c: Likewise.
30380 * normal/lexer.c: Likewise.
30381 * normal/parser.y: Likewise.
30382 * normal/script.c: Likewise.
30383
30384 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 30385
daac212a 30386 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
30387 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
30388 `normal/function.c' and `normal/script.c'.
30389 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
30390 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 30391 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
30392 variables.
daac212a 30393 (pkgdata_MODULES): Add `test.mod'.
30394 (grub_script.tab.c): New rule.
30395 (grub_script.tab.h): Likewise.
30396
30397 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
30398
30399 * include/grub/normal.h (grub_test_init): New prototype.
30400 (grub_test_fini): Likewise.
f19dbdb7 30401
daac212a 30402 * normal/command.c: Include <grub/script.h>.
30403 (grub_command_execute): Rewritten.
f19dbdb7 30404
daac212a 30405 * util/grub-emu.c (main): Call `grub_test_init' and
30406 `grub_test_fini'.
30407
77500b2b 304082005-11-03 Hollis Blanchard <hollis@penguinppc.org>
30409
30410 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
30411 to 0.
30412 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
30413 there are no pending characters.
30414
e45deb9e 304152005-11-03 Hollis Blanchard <hollis@penguinppc.org>
30416
30417 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
30418 `grub_strndup' to drop device arguments. Replace unnecessary
30419 `grub_strndup' with `grub_strdup'.
30420
4ce32619 304212005-11-03 Hollis Blanchard <hollis@penguinppc.org>
30422
30423 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
30424 `debug' environment variable has been set.
30425
304262005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 30427
4ce32619 30428 * Makefile.in (install-local): Use $(DATA).
30429 (uninstall): Likewise.
30430 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
30431 (sbin_UTILITIES): ... to here.
30432 (sbin_SCRIPTS): New variable.
30433 (grub_install_SOURCES): New variable.
30434 * util/powerpc/ieee1275/grub-install.in: New file.
30435 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
30436 variable.
30437 (add_segments): Call `grub_util_get_path'.
30438
25fe6f03 304392005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
30440
30441 From Timothy Baldwin:
30442 * commands/ls.c (grub_ls_list_files): Close FILE with
30443 grub_file_close.
30444 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
30445
04ccf3ec 304462005-10-24 Marco Gerards <mgerards@xs4all.nl>
30447
30448 * include/grub/parser.h: New file.
30449
30450 * kern/parser.c: Likewise.
30451
30452 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
30453 (grub_setup_SOURCES): Likewise.
30454 (grub_probefs_SOURCES): Likewise.
30455 (grub_emu_SOURCES): Likewise.
30456 (kernel_img_HEADERS): Add `parser.h'.
30457
30458 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
30459 (grub_emu_SOURCES): Add `kern/parser.c'.
30460 (grubof_SOURCES): Likewise.
30461
30462 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
30463 (grubof_SOURCES): Add `kern/parser.c'.
30464
30465 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
30466
30467 * kern/misc.c (grub_split_cmdline): Removed function.
30468
30469 * kern/rescue.c: Include <grub/parser.h>.
30470 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
30471 of `grub_split_cmdline'.
30472
30473 * normal/command.c: Include <grub/parser.h>.
30474 (grub_command_execute): Use `grub_parser_split_cmdline' instead
30475 of `grub_split_cmdline'.
30476
30477 * normal/completion.c: Include <grub/parser.h>.
30478 (cmdline_state): New variable.
30479 (iterate_dir): End the filename with a quote depending on the
30480 command line state.
30481 (get_state): new function.
30482 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
30483 split the arguments and determine the current argument. When the
30484 argument string is not quoted, escape all spaces.
30485
6d8f4b0e 304862005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
30487
30488 * normal/sparc64/setjmp.S: New file.
30489
15cf03ed 304902005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
30491
30492 * include/grub/sparc64/libgcc.h: New file.
30493 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
30494 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
30495 normal/sparc64/setjmp.c.
30496
03e8661a 304972005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
30498
30499 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
30500 * kern/sparc64/cache.S: New file.
30501 * kern/sparc64/cache.c: Removed.
30502 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
30503 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
30504 -mtune=ultrasparc.
30505 (COMMON_LDFLAGS): Add -melf64_sparc.
30506 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
30507 (grubof_SOURCES): Use cache.S instead of cache.c.
30508 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
30509 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
30510 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
30511 commented though.
30512 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
30513 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
30514 (linux_mod_CFLAGS): Commented out.
30515 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
30516 out because module isn't built.
30517 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
30518 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
30519 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
30520 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
30521 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
30522 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
30523 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
30524 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
30525 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
30526 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
30527 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
30528 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
30529 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
30530 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
30531
34eeec8a 305322005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
30533
30534 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
30535 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
30536 longer, because HFS should not be used on PC.
30537
708367a3 305382005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
30539
30540 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
30541 consistently within the loop.
30542
6fa1251a 305432005-10-15 Marco Gerards <mgerards@xs4all.nl>
30544
30545 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
30546 directory can not be read.
30547
4801580b 305482005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
30549
30550 * configure.ac (AC_INIT): Increase the version number to 1.91.
30551
30552 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
30553 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
30554 term/i386/pc/serial.c.
30555
219ad426 305562005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
30557
30558 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
30559 file size must be permitted.
30560
30561 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
30562 between %ah and %al.
30563
688e5699 305642005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
30565
30566 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
30567 grub_uint64_t.
30568 Call the hook with a NUL-terminated filename.
30569 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
30570 grub_cpu_to_be32.
30571
30572 * kern/term.c (cursor_state): New variable.
30573 (grub_term_set_current): Reset the cursor state on a new
30574 terminal.
30575 (grub_setcursor): Rewritten to use CURSOR_STATE.
30576 (grub_getcursor): New function.
30577
30578 * include/grub/term.h (grub_getcursor): New prototype.
30579
30580 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
30581 integers on ARM. Reported by Timothy Baldwin
30582 <T.E.Baldwin99@members.leeds.ac.uk>.
30583
bb34586c 305842005-10-11 Marco Gerards <mgerards@xs4all.nl>
30585
30586 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
30587 allocated.
30588 (grub_sfs_dir): Likewise.
30589
9a909877 305902005-10-09 Marco Gerards <mgerards@xs4all.nl>
30591
30592 Add support for the SFS filesystem.
30593
30594 * fs/sfs.c: New file.
30595
30596 * DISTLIST: Added `fs/sfs.c'.
30597
30598 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
30599 (grub_probefs_SOURCES): Likewise.
30600 (grub_emu_SOURCES): Likewise.
30601 (pkgdata_MODULES): Add `sfs.mod'.
30602 (sfs_mod_SOURCES): New variable.
30603 (sfs_mod_CFLAGS): Likewise.
30604 (sfs_mod_LDFLAGS): Likewise.
30605
30606 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
30607 (pkgdata_MODULES): Add `sfs.mod'.
30608 (sfs_mod_SOURCES): New variable.
30609 (sfs_mod_CFLAGS): Likewise.
30610
30611 * util/grub-emu.c (main): Call `grub_sfs_init' and
30612 `grub_sfs_fini'.
30613
30614 * include/grub/fs.h (grub_sfs_init): New prototype.
30615 (grub_sfs_fini): Likewise.
30616
57bdbde3 306172005-10-07 Marco Gerards <mgerards@xs4all.nl>
30618
30619 Add support for the AFFS filesystem.
30620
30621 * fs/affs.c: New file.
30622
30623 * DISTLIST: Added `fs/affs.c'.
30624
30625 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
30626 (grub_probefs_SOURCES): Likewise.
30627 (grub_emu_SOURCES): Likewise.
30628 (pkgdata_MODULES): Add `affs.mod'.
30629 (affs_mod_SOURCES): New variable.
30630 (affs_mod_CFLAGS): Likewise.
30631 (affs_mod_LDFLAGS): Likewise.
30632
30633 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
30634 (pkgdata_MODULES): Add `affs.mod'.
30635 (affs_mod_SOURCES): New variable.
30636 (affs_mod_CFLAGS): Likewise.
30637
30638 * util/grub-emu.c (main): Call `grub_affs_init' and
30639 `grub_affs_fini'.
30640
30641 * include/grub/fs.h (grub_affs_init): New prototype.
30642 (grub_affs_fini): Likewise.
30643
047b67e0 306442005-10-01 Marco Gerards <mgerards@xs4all.nl>
30645
30646 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
30647
59b8208a 306482005-10-01 Marco Gerards <mgerards@xs4all.nl>
30649
30650 * configure.ac: Accept `x86_64' as host_cpu. In that case add
30651 `-m32' to CFLAGS.
30652
30653 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
30654 linking.
f19dbdb7 30655
59b8208a 30656 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
30657 (COMMON_LDFLAGS): New variable.
30658 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
30659 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
30660 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
30661 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
30662 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
30663 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
30664 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
30665 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
30666 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
30667 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
30668 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
30669 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
30670 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
30671 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
30672 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
30673 variables.
30674 (normal_mod_ASFLAGS): Add `-m32'.
30675
30676 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
30677 (grub_host_size_t, grub_host_ssize_t): New types.
30678 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 30679 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 30680 `GRUB_HOST_SIZEOF_VOID_P'.
30681
30682 * include/grub/kernel.h (struct grub_module_header): Type of
30683 member offset changed to `grub_host_off_t'. Type of member size
30684 changed to `grub_host_size_t'.
30685 (struct grub_module_info): Type of member offset changed to
30686 `grub_host_off_t'. Type of member size changed to
30687 `grub_host_size_t'.
30688
b4093103 306892005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
30690
30691 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 30692
b4093103 30693 * kern/i386/pc/startup.S (multiboot_header): New label.
30694 (multiboot_entry): Likewise.
30695 (multiboot_trampoline): Likewise.
30696
30697 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
30698 Increased to 0x4A0.
30699
30700 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
30701 put parentheses after a question mark.
30702 [!GRUB_UTIL] (my_mod): New variable.
30703
30704 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
30705
b2499b29 307062005-09-28 Marco Gerards <mgerards@xs4all.nl>
30707
30708 Adds support for the XFS filesystem. Btrees are not supported
30709 yet.
30710
30711 * fs/xfs.c: New file.
30712
30713 * DISTLIST: Added `fs/xfs.c'.
30714
30715 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
30716 (grub_probefs_SOURCES): Likewise.
30717 (grub_emu_SOURCES): Likewise.
30718 (pkgdata_MODULES): Add `xfs.mod'.
30719 (xfs_mod_SOURCES): New variable.
30720 (xfs_mod_CFLAGS): Likewise.
30721
30722 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
30723 (pkgdata_MODULES): Add `xfs.mod'.
30724 (xfs_mod_SOURCES): New variable.
30725 (xfs_mod_CFLAGS): Likewise.
30726
30727 * util/grub-emu.c (main): Call `grub_xfs_init' and
30728 `grub_xfs_fini'.
30729
30730 * include/grub/fs.h (grub_xfs_init): New prototype.
30731 (grub_xfs_fini): Likewise.
30732
f19dbdb7 30733
83d37a62 307342005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
30735
30736 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
30737 color modes, allow greater than 16 colors to be configured as
30738 a default palette.
30739
47d2d65e 307402005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
30741
30742 * normal/completion.c (complete_arguments): Add the qualifier
30743 const into OPTIONS.
30744
30745 From Omniflux <omniflux+lists@omniflux.com>:
30746 * include/grub/terminfo.h: New file.
30747 * include/grub/tparm.h: Likewise.
30748 * include/grub/i386/pc/serial.h: Likewise.
30749 * term/terminfo.c: Likewise.
30750 * term/tparm.c: Likewise.
30751 * term/i386/pc/serial.c: Likewise.
30752 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
30753 serial.mod.
30754 (terminfo_mod_SOURCES): New variable.
30755 (terminfo_mod_CFLAGS): Likewise.
30756 (serial_mod_SOURCES): Likewise.
30757 (serial_mod_CFLAGS): Likewise.
30758
48b671ff 307592005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
30760
30761 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
30762 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
30763 and kern/powerpc/ieee1275/cmain.c, respectively.
30764
30765 * boot/powerpc/ieee1275/crt0.S: Moved to ...
30766 * kern/powerpc/ieee1275/crt0.S: ... here.
30767
30768 * boot/powerpc/ieee1275/cmain.c: Moved to ...
30769 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 30770
48b671ff 30771 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
30772 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
30773 instead of boot/powerpc/ieee1275/crt0.S and
30774 boot/powerpc/ieee1275/cmain.c, respectively.
30775
30776 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
30777 sectors. It was not used anyway.
30778
09fc77a7 307792005-08-30 Hollis Blanchard <hollis@penguinppc.org>
30780
30781 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
30782 `unused parameter' warning.
30783
003789c7 307842005-08-30 Hollis Blanchard <hollis@penguinppc.org>
30785
30786 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
30787 function.
30788 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
30789 getcharwidth.
30790
67f44c86 307912005-08-28 Marco Gerards <metgerards@student.han.nl>
30792
30793 * include/grub/normal.h (enum grub_completion_type): Added
30794 `GRUB_COMPLETION_TYPE_ARGUMENT'.
30795
30796 * normal/cmdline.c (print_completion): Handle
30797 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
30798 * normal/menu_entry.c (store_completion): Likewise.
30799
30800 * normal/completion.c (complete_arguments): New function.
30801 (grub_normal_do_completion): Call `complete_arguments' when the
30802 current words start with a dash.
30803
0b5abe02 308042005-08-27 Marco Gerards <metgerards@student.han.nl>
30805
30806 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
30807 `gzio.mod' instead of `io.mod').
30808
d9864ee1 308092005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
30810
30811 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
30812 (DISTDIRS): Added io and video.
30813 Rewrite the search routine to make an output consistently.
30814
30815 * DISTLIST: Added conf/sparc64-ieee1275.mk,
30816 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
30817 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
30818 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
30819 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
30820 util/powerpc/ieee1275/misc.c.
f19dbdb7 30821
d9864ee1 30822 * include/grub/gzio.h: New file.
30823 * io/gzio.c: Likewise.
f19dbdb7 30824
d9864ee1 30825 * kern/file.c (grub_file_close): Call grub_device_close only if
30826 FILE->DEVICE is not NULL.
30827
30828 * include/grub/mm.h [!NULL] (NULL): New macro.
30829
30830 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
30831
30832 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
30833 (pkgdata_MODULES): Added gzio.mod.
30834 (gzio_mod_SOURCES): New variable.
30835 (gzio_mod_CFLAGS): Likewise.
30836
30837 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
30838 (pkgdata_MODULES): Added gzio.mod.
30839 (gzio_mod_SOURCES): New variable.
30840 (gzio_mod_CFLAGS): Likewise.
30841
30842 * commands/cat.c: Include grub/gzio.h.
30843 (grub_cmd_cat): Use grub_gzfile_open instead of
30844 grub_file_open.
f19dbdb7 30845
d9864ee1 30846 * commands/cmp.c: Include grub/gzio.h.
30847 (grub_cmd_cmp): Use grub_gzfile_open instead of
30848 grub_file_open.
30849
30850 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
30851 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
30852 grub_file_open.
30853 (grub_rescue_cmd_module): Likewise.
30854
fa46f4b5 308552005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
30856
30857 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
30858 kern/sparc64/ieee1275/init.c because it contains _start.
30859 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
30860
e9211b5d 308612005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
30862
30863 * configure.ac: Add support for sparc64 host with ieee1275
30864 firmware.
30865 * configure: Generated from configure.ac.
30866 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
30867 instead of int.
30868 (grub_ofdisk_read): Likewise.
30869 (grub_ofdisk_open): Use %p to print pointer values, and cast the
30870 pointers as (void *) to remove a warning.
30871 (grub_ofdisk_close): Likewise.
30872 (grub_ofdisk_read): Likewise.
30873 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
30874 returns, so make it return void to remove a warning.
30875 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
30876 Corresponding prototype change.
30877 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
30878 values, and cast the pointers as (void *) to remove a warning.
30879 (grub_mm_dump): Likewise.
30880 * conf/sparc64-ieee1275.mk: New file.
30881 * conf/sparc64-ieee1275.rmk: Likewise.
30882 * include/grub/sparc64/setjmp.h: Likewise.
30883 * include/grub/sparc64/types.h: Likewise.
30884 * include/grub/sparc64/ieee1275/console.h: Likewise.
30885 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
30886 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
30887 * include/grub/sparc64/ieee1275/time.h: Likewise.
30888 * kern/sparc64/cache.c: Likewise.
30889 * kern/sparc64/dl.c: Likewise.
30890 * kern/sparc64/ieee1275/init.c: Likewise.
30891 * kern/sparc64/ieee1275/openfw.c: Likewise.
30892
385c6a92 308932005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
30894
30895 * util/console.c (grub_ncurses_putchar): If C is greater than
30896 0x7f, set C to a question mark.
30897 (grub_ncurses_getcharwidth): New function.
30898 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
30899 getcharwidth.
30900
30901 * normal/menu.c (print_entry): Made aware of Unicode. First,
30902 convert TITLE to UCS-4, and predict the cursor position by
30903 grub_getcharwidth.
30904
30905 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
30906 const to SRC.
30907 * kern/misc.c (grub_utf16_to_utf8): Likewise.
30908
16ccb8b1 309092005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
30910
30911 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
30912 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
30913 grub_strcat.
30914
30915 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
30916 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
30917 grub_strcpy and grub_strlen. Take it into account that a space
30918 character is inserted as a delimiter.
30919
6a85ce79 309202005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
30921
30922 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 30923 invalid magic in the error.
6a85ce79 30924
30925 * commands/search.c: New file.
f19dbdb7 30926
6a85ce79 30927 * util/grub-emu.c (main): Call grub_search_init and
30928 grub_search_fini.
30929
30930 * kern/rescue.c (grub_rescue_print_disks): Removed.
30931 (grub_rescue_print_devices): New function.
30932 (grub_rescue_cmd_ls): Use grub_device_iterate with
30933 grub_rescue_print_devices instead of grub_disk_dev_iterate with
30934 grub_rescue_print_disks.
30935
30936 * kern/partition.c (grub_partition_iterate): Return the result of
30937 PARTMAP->ITERATE instead of GRUB_ERRNO.
30938
30939 * kern/device.c: Include grub/partition.h.
30940 (grub_device_iterate): New function.
30941
30942 * include/grub/partition.h (grub_partition_iterate): Return int
30943 instead of grub_err_t.
30944
30945 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
30946 prototype.
30947 [GRUB_UTIL] (grub_search_fini): Likewise.
30948
30949 * include/grub/device.h (grub_device_iterate): New prototype.
30950
30951 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
30952 commands/search.c.
30953 (pkgdata_MODULES): Added search.mod.
30954 (search_mod_SOURCES): New variable.
30955 (search_mod_CFLAGS): Likewise.
30956
30957 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
30958 (pkgdata_MODULES): Added search.mod.
30959 (search_mod_SOURCES): New variable.
30960 (search_mod_CFLAGS): Likewise.
30961
30962 * commands/ls.c (grub_ls_list_disks): Renamed to ...
30963 (grub_ls_list_devices): ... this, and use grub_device_iterate.
30964 All callers changed.
30965
30966 * DISTLIST: Added commands/search.c.
30967
ef095434 309682005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
30969
30970 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
30971 conversion.
30972 (grub_getcharwidth): New function.
30973
30974 * kern/misc.c (grub_utf8_to_ucs4): New function.
30975
30976 * include/grub/term.h (struct grub_term): Added a new member
30977 "getcharwidth".
30978 (grub_getcharwidth): New prototype.
30979
30980 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
30981
30982 * term/i386/pc/console.c (map_char): New function. Segregated from
30983 grub_console_putchar.
30984 (grub_console_putchar): Use map_char.
30985 (grub_console_getcharwidth): New function.
30986 (grub_console_term): Specified grub_console_getcharwidth as
30987 getcharwidth.
30988
30989 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
30990 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
30991
30992 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
30993 GRUB_ERRNO.
30994 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
30995 on grub_strtoul completely.
30996 (write_char): Declare local variables in the beginning of the
30997 function.
30998 (grub_vesafb_getcharwidth): New function.
30999 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
31000 getcharwidth.
31001
1f0a95e4 310022005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
31003
31004 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
31005 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
31006 commands/i386/pc/vbetest.c.
31007
31008 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
31009 call grub_vbe_get_controller_info again, because the returned
31010 information is volatile.
31011 (grub_vbe_set_video_mode): Mostly rewritten.
31012 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
31013 grub_vbe_status_t correctly.
31014 (grub_vbe_get_video_mode_info): Likewise.
31015 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
31016 several if statements.
31017
31018 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
31019 * commands/i386/pc/vbeinfo.c: ... this.
31020
31021 * commands/i386/pc/vbe_test.c: Renamed to ...
31022 * commands/i386/pc/vbetest.c: ... this.
31023
31024 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
31025 ...
31026 (grub_cmd_vbeinfo): ... this. Save video modes before
31027 iterating. Skip a video mode, if it is not available, not enough
31028 information is given or it is monochrome. Show the memory
31029 model. Leave the interpretation of MODEVAR to grub_strtoul
31030 completely.
31031 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
31032 (GRUB_MOD_FINI): Likewise.
31033
31034 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
31035 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
31036 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
31037 duplicated grub_env_get. Leave the interpretation of MODEVAR to
31038 grub_strtoul completely.
31039 (real2pm): Removed.
31040 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
31041 (GRUB_MOD_FINI): Likewise.
31042
31043 * normal/misc.c: Include grub/mm.h.
31044
31045 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
31046 vbe_list_modes with vbetest.mod and vbeinfo.mod.
31047 (vbe_list_modes_mod_SOURCES): Removed.
31048 (vbe_list_modes_mod_CFLAGS): Likewise.
31049 (vbe_test_mod_SOURCES): Likewise.
31050 (vbe_test_mod_CFLAGS): Likewise.
31051 (vbeinfo_mod_SOURCES): New variable.
31052 (vbeinfo_mod_CFLAGS): Likewise.
31053 (vbetest_mod_SOURCES): Likewise.
31054 (vbetest_mod_CFLAGS): Likewise.
31055
992ffbbe 310562005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
31057
31058 * normal/misc.c: New file.
31059
31060 * DISTLIST: Added normal/misc.c.
f19dbdb7 31061
992ffbbe 31062 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
31063 DISK to HOOK. Call HOOK with DISK.
31064 * partmap/apple.c (apple_partition_map_iterate): Likewise.
31065 * partmap/pc.c (pc_partition_map_iterate): Likewise.
31066 * partmap/sun.c (sun_partition_map_iterate): Likewise.
31067
31068 * normal/menu_entry.c (struct screen): Added a new member
31069 "completion_shown".
31070 (completion_buffer): New global variable.
31071 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
31072 (store_completion): New function.
31073 (complete): Likewise.
31074 (clear_completions): Likewise.
31075 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
31076 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
31077 a tab, call complete.
31078
31079 * normal/completion.c (disk_dev): Removed.
31080 (print_simple_completion): Likewise.
31081 (print_partition_completion): Likewise.
31082 (print_func): New global variable.
31083 (add_completion): Do not take the arguments WHAT or PRINT any
31084 longer. Added a new argument TYPE. Instead of printing directly,
31085 call PRINT_FUNC if not NULL.
31086 All callers changed.
31087 (complete_device): Use a local variable DEV instead of
31088 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
31089 (grub_normal_do_completion): Take a new argument HOOK. Do not
31090 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
31091 empty string, return NULL instead.
31092 All callers changed.
31093
31094 * normal/cmdline.c (print_completion): New function.
31095
31096 * kern/partition.c (grub_partition_iterate): Add an argument DISK
31097 to HOOK.
31098 All callers changed.
31099
31100 * kern/disk.c (grub_print_partinfo): Removed.
31101
31102 * include/grub/partition.h (struct grub_partition_map): Add a new
31103 argument DISK into HOOK of ITERATE.
31104 (grub_partition_iterate): Add a new argument DISK to HOOK.
31105
31106 * include/grub/normal.h (enum grub_completion_type): New enum.
31107 (grub_completion_type_t): New type.
31108 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
31109 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
31110 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
31111 (GRUB_COMPLETION_TYPE_FILE): Likewise.
31112 (grub_normal_do_completion): Added a new argument HOOK.
31113 (grub_normal_print_device_info): New prototype.
31114
31115 * include/grub/disk.h (grub_print_partinfo): Removed.
31116
31117 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
31118 (normal_mod_SOURCES): Likewise.
31119 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31120 (normal_mod_SOURCES): Likewise.
31121
31122 * commands/ls.c (grub_ls_list_disks): Use
31123 grub_normal_print_device_info instead of grub_print_partinfo. Free
31124 PNAME.
31125 (grub_ls_list_files): Use grub_normal_print_device_info instead of
31126 duplicating the code.
31127
0bd41162 311282005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
31129
31130 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 31131 follow GCS more precisely.
31132 * commands/i386/pc/vbe_test.c: Likewise.
31133 * include/grub/i386/pc/vbe.h: Likewise.
31134 * term/i386/pc/vesafb.c: Likewise.
31135 * video/i386/pc/vbe.c: Likewise.
0bd41162 31136
6323696a 311372005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
31138
31139 * DISTLIST: Added term/i386/pc/vesafb.c
31140 DISTLIST: Added video/i386/pc/vbe.c
31141 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
31142 DISTLIST: Added commands/i386/pc/vbe_test.c.
31143 * commands/i386/pc/vbe_list_modes.c: New file.
31144 * commands/i386/pc/vbe_test.c: Likewise.
31145 * term/i386/pc/vesafb.c: Likewise.
31146 * video/i386/pc/vbe.c: Likewise.
31147 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
31148 (grub_vbe_probe) Added prototype.
31149 (grub_vbe_set_video_mode) Likewise.
31150 (grub_vbe_get_video_mode) Likewise.
31151 (grub_vbe_get_video_mode_info) Likewise.
31152 (grub_vbe_set_pixel_rgb) Likewise.
31153 (grub_vbe_set_pixel_index) Likewise.
31154 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
31155 (pkgdata_MODULES): Added vesafb.mod.
31156 (pkgdata_MODULES): Added vbe_list_modes.mod.
31157 (pkgdata_MODULES): Added vbe_test.mod.
31158 (vbe_mod_SOURCES): Added.
31159 (vbe_mod_CFLAGS): Likewise.
31160 (vesafb_mod_SOURCES): Likewise.
31161 (vesafb_mod_CFLAGS): Likewise.
31162 (vbe_list_modes_mod_SOURCES): Likewise.
31163 (vbe_list_modes_mod_CFLAGS): Likewise.
31164 (vbe_test_mod_SOURCES): Likewise.
31165 (vbe_test_mod_CFLAGS): Likewise.
31166
0a74e62f 311672005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
31168
0a74e62f 31169 * normal/command.c (grub_command_execute): If INTERACTIVE is
31170 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
31171 CMDLINE. Disable the pager if INTERACTIVE is true.
31172 All callers are changed.
31173
31174 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
31175 before reading a config file.
31176 * normal/main.c (read_config_file): Even if a command is not
31177 found, register it if it is within an entry.
31178
31179 * util/grub-emu.c: Include sys/types.h and unistd.h.
31180 (options): Added --hold.
31181 (struct arguments): Added a new member "hold".
31182 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
31183 missing.
31184 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
31185 cleared by a debugger, if it is not zero.
31186
31187 * include/grub/normal.h (grub_command_execute): Add an argument
31188 INTERACTIVE.
31189
e51f85ae 311902005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
31191
31192 * DISTLIST: Added include/grub/i386/pc/vbe.h.
31193
e9c6f39b 311942005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
31195
31196 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
31197 program with another one, because the old one didn't detect a bug
31198 in gcc-3.4. Always use regparm 2, because the new test is still
31199 not enough for gcc-4.0. Someone must investigate a simple test
31200 case which detects a bug in gcc-4.0.
31201
8de3495c 312022005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
31203
31204 * DISTLIST: Added normal/completion.c.
31205
31206 * normal/completion.c: New file.
f19dbdb7 31207
8de3495c 31208 * term/i386/pc/console.c (grub_console_getwh): New function.
31209 (grub_console_term): Assign grub_console_getwh to getwh.
31210
31211 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
31212 function is defined in normal/completion.c as
31213 grub_normal_do_completion.
31214 (grub_cmdline_get): Use grub_normal_do_completion instead of
31215 grub_tab_complete.
31216
31217 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
31218 returns non-zero, otherwise return 0.
31219 (grub_partition_iterate): First, probe the partition map. Then,
31220 call ITERATE only for this partition map.
31221
31222 * kern/misc.c (grub_strncmp): Rewritten.
31223
31224 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
31225 returns non-zero. Otherwise return 0.
31226
31227 * include/grub/partition.h (grub_partition_map_iterate): Return
31228 int instead of void.
31229
31230 * include/grub/normal.h (grub_normal_do_completion): New prototype.
31231
31232 * include/grub/misc.h (grub_strncmp): Change the type of N to
31233 grub_size_t.
31234
31235 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
31236 of void.
31237
31238 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 31239 unsigned explicitly before comparing it with I.
8de3495c 31240
31241 * kern/main.c (grub_env_write_root): Add the attribute unused into
31242 VAR.
31243
31244 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
31245 normal/completion.c.
31246 (normal_mod_SOURCES): Likewise.
31247 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31248 (normal_mod_SOURCES): Likewise.
31249
31250 * normal/command.c (grub_iterate_commands): If ITERATE returns
31251 non-zero, return one immediately.
31252
e85e144b 312532005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
31254
31255 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
31256 * kern/i386/pc/startup.S: Updated Global Descriptor table's
31257 descriptions.
31258 (grub_vbe_get_controller_info): New function.
31259 (grub_vbe_get_mode_info): Likewise.
31260 (grub_vbe_set_mode): Likewise.
31261 (grub_vbe_get_mode): Likewise.
31262 (grub_vbe_set_memory_window): Likewise.
31263 (grub_vbe_get_memory_window): Likewise.
31264 (grub_vbe_set_scanline_length): Likewise.
31265 (grub_vbe_get_scanline_length): Likewise.
31266 (grub_vbe_set_display_start): Likewise.
31267 (grub_vbe_get_display_start): Likewise.
31268 (grub_vbe_set_palette_data): Likewise.
31269 * include/grub/i386/pc/vbe.h: New file.
31270
c46153d2 312712005-08-08 Hollis Blanchard <hollis@penguinppc.org>
31272
31273 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
31274 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
31275 * DISTLIST: Likewise.
31276 * kern/ieee1275/of.c: Moved to ...
31277 * kern/ieee1275/ieee1275.c: ... here.
31278
0cb90c45 312792005-08-08 Hollis Blanchard <hollis@penguinppc.org>
31280
31281 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
31282 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
31283 Pass 0 as `end' parameter to grub_strtoul().
31284
a19fb360 312852005-08-08 Hollis Blanchard <hollis@penguinppc.org>
31286
31287 * include/grub/powerpc/ieee1275/console.h: Do not include
31288 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
31289 ifdef.
31290 (grub_console_cur_color): Remove i386-specific prototype.
31291 (grub_console_real_putchar): Likewise.
31292 (grub_console_checkkey): Likewise.
31293 (grub_console_getkey): Likewise.
31294 (grub_console_getxy): Likewise.
31295 (grub_console_gotoxy): Likewise.
31296 (grub_console_cls): Likewise.
31297 (grub_console_setcursor): Likewise.
31298 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
31299 Include <grub/machine/console.h>.
31300 * term/ieee1275/ofconsole.c: Likewise.
31301
4ac9bd04 313022005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
31303
31304 * Makefile.in (LIBLZO): New variable.
31305
31306 * configure.ac: Check for LZO version 2.
31307
31308 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
31309 lzo/lzo1x.h instead of lzo1x.h.
31310
31311 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
31312 of -llzo.
31313
31314 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
31315 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
31316
31317 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
31318 copying the data from PARTITION to P.
31319
f4917dfd 313202005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
31321
31322 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
31323 negative, unload the module.
31324
31325 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
31326 map is "pc_partition_map" but not "pc".
31327 (usage): Fix the description. The options are --boot-image and
31328 --core-image but not --boot-file or --core-file.
31329 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
31330 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
31331 DEFAULT_DIRECTORY.
31332
31333 * util/i386/pc/grub-install.in: Do not specify --boot-file or
31334 --core-file. Specify INSTALL_DEVICE as an argument.
31335
31336 * util/console.c: Include config.h.
31337 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
31338 [HAVE_NCURSES_H]: Include ncurses.h.
31339 [HAVE_CURSES_H]: Include curses.h.
31340 [!A_NORMAL] (A_NORMAL): Defined as zero.
31341 [!A_STANDOUT] (A_STANDOUT): Likewise.
31342
31343 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
31344 -lncurses.
31345 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
31346
31347 * configure.ac: Check for curses libraries and headers.
31348
31349 * Makefile.in (LIBCURSES): New variable.
31350
31351 * genmk.rb (Script::rule): Set the executable bits.
31352
31353 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
31354 name of the PC partition map is "pc_partition_map" but not "pc".
31355
0e143073 313562005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
31357
31358 * util/i386/pc/grub-install.in (grub_probefs): New variable.
31359 (modules): Likewise.
31360 (usage): Added descriptions for --modules and --grub-probefs.
31361 Handle --modules and --grub-probefs. Save the arguments in MODULES
31362 and GRUB_PROBEFS, respectively.
31363 Auto-detect a filesystem module against GRUBDIR. If the result is
31364 empty and modules are not specified explicitly, abort the
31365 installation. Add the result to MODULES.
31366
31367 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
31368 disk/powerpc/ieee1275/ofdisk.c,
31369 include/grub/powerpc/ieee1275/init.h and
31370 term/powerpc/ieee1275/ofconsole.c.
31371 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
31372 term/ieee1275/ofconsole.c.
31373
31374 * include/grub/powerpc/ieee1275/console.h: Resurrected.
31375
31376 * COPYING: Upgraded to the latest version. Only the address of the
31377 FSF office has changed.
f19dbdb7 31378
efd6e6d5 313792005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
31380
31381 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
31382 kern/ieee1275.c with kern/ieee1275/of.c.
31383
31384 * kern/ieee1275.c: Moved to ...
31385 * kern/ieee1275/of.c: ... here.
31386
8ceafda2 313872005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
31388
31389 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 31390 readability.
8ceafda2 31391
31392 * config.guess: Updated to the latest version from gnulib.
31393 * config.sub: Likewise.
31394 * install.sh: Likewise.
31395 * mkinstalldirs: Likewise.
31396
31397 * include/grub/console.h: Removed. This file is arch-specific. Do
31398 not put this in include/grub.
31399
31400 * include/grub/i386/pc/console.h: Resurrected.
31401
31402 * util/console.c: Include grub/machine/console.h instead of
31403 grub/console.h.
31404 * util/grub-emu.c: Likewise.
31405
267f6cd9 314062005-08-04 Marco Gerards <metgerards@student.han.nl>
31407
31408 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
31409 hardcoded value.
f19dbdb7 31410
267f6cd9 31411 From Vincent Pelletier <subdino2004@yahoo.fr>
31412 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
31413 Redefined to use grub_getwh.
31414 (grub_term): New member named getwh.
31415 (grub_getwh): New prototype.
31416 * kern/term.c (grub_getwh): New function.
31417 * term/i386/pc/console.c (grub_console_getwh): New function.
31418 (grub_console_term): New member `getwh'.
31419 * term/i386/pc/vga.c (grub_vga_getwh): New function.
31420 (grub_vga_term): New member `getwh'.
0b5abe02 31421 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 31422 grub_ssize_t.
31423 (grub_ofconsole_getw): New function.
31424 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
31425 (grub_ofconsole_term): New field named getwh and new initial
31426 value.
31427
3be7266d 314282005-08-03 Hollis Blanchard <hollis@penguinppc.org>
31429
31430 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
31431 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
31432 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
31433 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
31434 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
31435 of <grub/machine/ieee1275.h>.
31436 * commands/ieee1275/reboot.c: Likewise.
31437 * boot/powerpc/ieee1275/ieee1275.c: Move ...
31438 * kern/ieee1275.c: ... to here. All users updated. Change all
31439 parameter structs to use new type `grub_ieee1275_cell_t'.
31440 * term/powerpc/ieee1275/ofconsole.c: Move ...
31441 * term/ieee1275/ofconsole.c: ... to here. All users updated.
31442 * disk/powerpc/ieee1275/ofdisk.c: Move ...
31443 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
31444 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
31445 to return int.
31446 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
31447 Remove unused prototypes. All users updated.
31448 * include/grub/powerpc/ieee1275/console.h: Removed.
31449 * include/grub/powerpc/ieee1275/ieee1275.h: Define
31450 `grub_ieee1275_cell_t'.
31451 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
31452 Cast comparisons with -1 to the correct type.
31453 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
31454 type to match `grub_ieee1275_entry_fn'.
31455
8b5f3938 314562005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
31457
31458 * DISTLIST: Added util/i386/pc/grub-probefs.c.
31459
31460 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
31461 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
31462 partmap/sun.c.
31463 (grub_probefs_SOURCES): New variable.
31464
31465 * util/i386/pc/grub-probefs.c: New file.
31466
31467 * util/i386/pc/grub-setup.c (main): Call
31468 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
31469 grub_hfs_init and grub_jfs_init to initialize the system. Call
31470 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
31471 grub_pc_partition_map_fini to finish the system.
31472
ea409713 314732005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
31474
31475 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
31476 function.
31477 (grub_multiboot_load_elf32): Likewise.
31478 (grub_multiboot_is_elf64): Likewise.
31479 (grub_multiboot_load_elf64): Likewise.
31480 (grub_multiboot_load_elf): Likewise.
31481 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
31482 an ELF32 or ELF64 file.
31483 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
31484
31485 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
31486 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
31487 NULL before calling FS->LABEL.
31488 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
31489 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
31490 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
31491 before calling FS->LABEL.
31492
141a288b 314932005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
31494
31495 * util/i386/pc/grub-install.in (datadir): New variable.
31496 (libdir): Removed.
31497 (pkgdatadir): New variable.
31498 (pkglibdir): Removed.
31499
0d5f8a54 315002005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
31501
31502 * DISTLIST: Added util/i386/pc/grub-install.in.
31503
31504 * util/i386/pc/grub-install.in: New file.
31505
31506 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
31507 (grub_install_SOURCES): Likewise.
31508
31509 * genmk.rb: Added support for scripts.
31510 (Script): New class.
31511 (scripts): New variable.
31512
31513 * Makefile.in (install-local): Install sbin_SCRIPTS by
31514 INSTALL_SCRIPT.
31515 (uninstall): Remove sbin_SCRIPTS.
31516
31517 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
31518 device, try to get a GRUB device by
31519 grub_util_biosdisk_get_grub_dev.
31520 Free DEST_DEV.
31521
31522 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
31523 description for --device-map.
31524
5f968e1e 315252005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
31526
31527 Change the semantics of variable hooks. They now return strings
31528 instead of error values.
f19dbdb7 31529
5f968e1e 31530 * util/i386/pc/grub-setup.c: Include grub/env.h.
31531 (setup): Use grub_device_set_root instead of grub_env_set.
31532
31533 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
31534 grub_env_get instead of grub_device_set_root and
31535 grub_device_get_root, respectively.
31536
31537 * kern/main.c (grub_env_write_root): New function.
31538 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
31539 grub_env_set instead of grub_device_set_root.
31540
31541 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
31542 many variables.
31543 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
31544 rather than calling ENV->WRITE_HOOK afterwards.
31545 (grub_env_get): Return the result of ENV->READ_HOOK rather than
31546 passing a pointer of a pointer.
31547 (grub_register_variable_hook): Change the types of "read_hook" and
31548 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
31549 respectively.
31550 Allocate the default empty string on the heap, because this string
31551 may be freed later.
31552
31553 * kern/device.c: Include grub/env.h.
31554 (grub_device_set_root): Removed.
31555 (grub_device_get_root): Likewise.
31556 (grub_device_open): Use grub_env_get instead of
31557 grub_device_get_root.
31558
31559 * include/grub/env.h (grub_env_read_hook_t): New type.
31560 (grub_env_write_hook_t): Likewise.
31561 (grub_env_var): Change the types of "read_hook" and "write_hook"
31562 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
31563 (grub_register_variable_hook): Likewise.
31564
31565 * include/grub/device.h (grub_device_set_root): Removed.
31566 (grub_device_set_root): Likewise.
31567
31568 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
31569 make sure that DIRNAME terminates with '/', so that
31570 grub_fat_find_dir will fail if PATH is not a directory.
31571
31572 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
31573 from DIRNAME.
31574 Use the qualifier auto for print_files and print_files_long.
31575 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
31576 as a regular file.
31577 Put a newline only if there is no error.
31578 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
31579 used.
31580
896f0afd 315812005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
31582
31583 * kern/partition.c (grub_partition_probe): Initialize PART to
31584 NULL. Otherwise, when no partition map is registered, this returns
31585 a garbage.
31586
b28b81b2 315872005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
31588
31589 * partmap/apple.c (apple_partition_map_iterate): Check if POS
31590 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
31591 valid.
31592
5f3607e0 315932005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
31594
31595 * commands/ls.c (grub_ls_list_disks): Print the filesystem
31596 information on each device, if it does not have partitions. Print
31597 "Device" instead of "Disk", because this function is not specific
31598 to disk devices.
31599
31600 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
31601 static to ensure that it is put on the memory rather than a
31602 register.
31603
502c87e8 316042005-07-17 Yoshinori Okuji <okuji@enbug.org>
31605
31606 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
31607 (grub_cat_init): Likewise.
31608 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
31609 (options): Likewise.
31610 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
31611 (grub_configfile_init): Likewise.
31612 * font/manager.c (GRUB_MOD_INIT): Likewise.
31613 * commands/help.c (GRUB_MOD_INIT): Likewise.
31614 (grub_help_init): Likewise.
31615 * normal/command.c (grub_command_init): Likewise.
31616 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
31617 * disk/loopback.c (grub_loop_init): Likewise.
31618 (GRUB_MOD_INIT): Likewise.
31619 * commands/ls.c (grub_ls_init): Likewise.
31620 (GRUB_MOD_INIT): Likewise.
31621 (options): Likewise.
31622 * commands/boot.c (grub_boot_init): Likewise.
31623 (GRUB_MOD_INIT): Likewise.
31624 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
31625 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
31626 (GRUB_MOD_INIT): Likewise.
31627 * commands/cmp.c (grub_cmp_init): Likewise.
31628 (GRUB_MOD_INIT): Likewise.
31629
31630 * normal/arg.c: Use <> instead of "" to include header files.
31631 (SHORT_ARG_HELP): New macro.
31632 (SHORT_ARG_USAGE): Likewise.
31633 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
31634 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
31635 descriptions.
31636 (find_short): Check if C is 'h' or 'u' explicitly.
31637 (grub_arg_show_help): Use space characters instead of tabs. Treat
31638 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
31639 are shown with --help and --usage only if they are not used for
31640 the command itself.
31641 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
31642 'h' and 'u'.
31643
31644 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
31645 const into "longarg". Change the type of "shortarg" to int.
31646
f806d18e 316472005-07-17 Yoshinori Okuji <okuji@enbug.org>
31648
31649 * boot/i386/pc/boot.S (boot_drive_check): New label.
31650
31651 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
31652 macro.
31653
31654 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
31655 which do not pass a boot drive correctly. Copied from GRUB Legacy.
31656
e293232b 316572005-07-17 Yoshinori Okuji <okuji@enbug.org>
31658
31659 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
31660 When turning off Gate A20, skip the check and return immediately,
31661 because this is not fatal usually.
31662
ebedfd00 316632005-07-17 Yoshinori Okuji <okuji@enbug.org>
31664
31665 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
31666 be 0x7C00 instead of 0x8000.
31667
31668 * boot/i386/pc/pxeboot.S: Rewritten.
31669
31670 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
31671 EXT_C.
31672 (gate_a20_check_state): Read a byte from 0x108000. Invert the
31673 result.
31674
654fc59f 316752005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
31676
31677 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
31678 robustness. This routine now supports a BIOS call and System
31679 Control Port A to modify the gate A20.
31680
31681 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
31682 Increased to 0x440.
31683
09f9923f 316842005-07-12 Hollis Blanchard <hollis@penguinppc.org>
31685
31686 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
31687 device path and resulting ihandle.
31688 (grub_ofdisk_close): dprintf the ihandle being closed.
31689 (grub_ofdisk_read): dprintf function parameters.
31690 * kern/mm.c (grub_mm_init_region): Likewise.
31691 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
31692 (grub_linux_boot): dprintf the Linux entry point, initrd address and
31693 size, and boot arguments.
31694 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
31695 before loading into memory.
31696 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
31697 before loading into memory.
31698
7ef504d8 316992005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
31700
31701 * kern/mm.c: Added much documentation.
31702 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
31703 8, set to 5 instead of 8.
31704
e0f050c2 317052005-07-10 Yoshinori Okuji <okuji@enbug.org>
31706
31707 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
31708
31709 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
31710 (grub_mkdevicemap_SOURCES): New variable.
31711
31712 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
31713 lib/device.c of GRUB Legacy.
31714
7224189a 317152005-07-10 Yoshinori Okuji <okuji@enbug.org>
31716
31717 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
31718 instead of PATH is NULL.
31719
68c864eb 317202005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
31721
31722 * commands/cmp.c (BUFFER_SIZE): New macro.
31723 (grub_cmd_cmp): Close the right file at the right time. Compare
31724 only data just read. Don't report files of different size as
31725 identical. Dynamically allocate buffers. Move variable
31726 declarations at the beginning of function.
31727
e6f3e614 317282005-07-09 Yoshinori Okuji <okuji@enbug.org>
31729
31730 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
31731 reverse.
31732
f8f1559a 317332004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
31734
31735 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
31736 when backspace is pressed at beginning of line.
31737
39c9d41d 317382005-07-03 Yoshinori Okuji <okuji@enbug.org>
31739
31740 * DISTLIST: Added genfslist.sh.
31741
31742 * normal/main.c (fs_module_list): New variable.
31743 (autoload_fs_module): New function.
31744 (read_fs_list): Likewise.
31745 (grub_normal_execute): Call read_fs_list.
31746
31747 * kern/fs.c (grub_fs_autoload_hook): New variable.
31748 (grub_fs_probe): Added support for auto-loading.
31749
31750 * include/grub/normal.h (struct grub_fs_module_list): New struct.
31751 (grub_fs_module_list_t): New type.
31752
31753 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
31754 (grub_fs_autoload_hook): New prototype.
31755
31756 * genfslist.sh: New file.
f19dbdb7 31757
39c9d41d 31758 * genmk.rb: Added a rule to generate a filesystem list.
31759
121c1d83 317602005-06-30 Marco Gerards <metgerards@student.han.nl>
31761
31762 * configure.ac: Fix the test for cross-compiling.
31763
31764 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
31765 define GRUB_UTIL anymore.
31766
31767 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
31768 so this function works on other systems than just big endian.
31769 (load_modules): Likewise.
31770 (add_segments): Likewise.
31771
e75d76e1 317722005-06-23 Hollis Blanchard <hollis@penguinppc.org>
31773
31774 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
31775 contains `l' modifier, get a long from va_arg().
31776
50b5a0a7 317772005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
31778
31779 * kern/mm.c (grub_free): If the next free block which is being
31780 merged is the first free block, set the first block to the block
31781 being freed.
31782 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
31783
89371b20 317842005-05-08 Hollis Blanchard <hollis@penguinppc.org>
31785
31786 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
31787 `grub_ieee1275_chosen'.
31788
168d6e58 317892005-05-08 Hollis Blanchard <hollis@penguinppc.org>
31790
31791 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
31792 (grub_ieee1275_chosen): New variable.
31793 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
31794 `chosen'.
31795 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
31796 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
31797 Rename first argument to `phandle' for consistency.
31798 (grub_ieee1275_get_property_length): Likewise.
31799 (grub_ieee1275_next_property): Likewise. Change type of first argument
31800 to grub_ieee1275_phandle_t.
31801 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
31802 Move export next to declaration.
31803 (grub_ieee1275_chosen): New variable.
31804 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
31805 Correct cosmetic typo.
31806 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
31807 `grub_ieee1275_chosen'.
31808 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
31809 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
31810 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
31811 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
31812 `grub_ieee1275_chosen'.
31813
ca5baa3f 318142005-05-10 Hollis Blanchard <hollis@penguinppc.org>
31815
31816 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
31817 /chosen/bootargs.
31818 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
31819 /chosen/bootargs as "variable=value" pairs.
31820
708b345f 318212005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
31822
31823 * include/grub/misc.h (grub_dprintf): New macro.
31824 (grub_real_dprintf): New prototype.
31825 (grub_strword): Likewise.
31826 (grub_iswordseparator): Likewise.
31827 * kern/misc.c (grub_real_dprintf): New function.
31828 (grub_strword): Likewise.
31829 (grub_iswordseparator): Likewise.
31830
f4c5e67c 318312005-04-30 Hollis Blanchard <hollis@penguinppc.org>
31832
31833 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
31834 (roundup): Remove macro.
31835 (grub_ieee1275_flags): Make static.
31836 (grub_ieee1275_realmode): Remove.
31837 (grub_ieee1275_test_flag): New function.
31838 (grub_ieee1275_set_flag): Likewise.
31839 (find_options): Rename to `grub_ieee1275_find_options'; update
31840 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
31841 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
31842 (cmain): New prototype.
31843 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
31844 `grub_ieee1275_flags' directly.
31845 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
31846 machine/biosdisk.h.
31847 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
31848 Don't include grub/machine/init.h.
31849 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
31850 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
31851 Remove prototype.
31852 (grub_ieee1275_realmode): Likewise.
31853 (grub_ieee1275_flag): New enum.
31854 (grub_ieee1275_test_flag): New prototype.
31855 (grub_ieee1275_set_flag): New prototype.
31856 * include/grub/powerpc/ieee1275/init.h: Remove file.
31857 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
31858 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
31859 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
31860 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
31861 comment.
31862 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
31863 `grub_ieee1275_test_flag'.
31864 (grub_ieee1275_encode_devname): Likewise.
31865
ed16607e 318662005-04-21 Hollis Blanchard <hollis@penguinppc.org>
31867
31868 * include/grub/powerpc/ieee1275/ieee1275.h
31869 (grub_ieee1275_encode_devname): New prototype.
31870 (grub_ieee1275_get_filename): Likewise.
31871 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
31872 function.
31873 (grub_set_prefix): Likewise.
31874 (grub_machine_init): Call grub_set_prefix.
31875 * kern/powerpc/ieee1275/openfw.c: Fix typos.
31876 (grub_parse_type): New enum.
31877 (grub_ieee1275_get_devargs): New function.
31878 (grub_ieee1275_get_devname): Likewise.
31879 (grub_ieee1275_parse_args): Likewise.
31880 (grub_ieee1275_get_filename): Likewise.
31881 (grub_ieee1275_encode_devname): Likewise.
31882
be369920 318832005-03-30 Marco Gerards <metgerards@student.han.nl>
31884
31885 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
31886 `grub_loader_unset'.
31887
a5ce3a4a 318882005-03-26 Hollis Blanchard <hollis@penguinppc.org>
31889
31890 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
31891 instead of grub_ieee1275_interpret.
31892 (grub_halt_init): New function.
31893 (grub_halt_fini): Likewise.
31894 (GRUB_MOD_INIT): Correct message grammar.
31895 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
31896 instead of grub_ieee1275_interpret.
31897 (grub_reboot_init): New function.
31898 (grub_reboot_fini): Likewise.
31899 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
31900 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
31901 util/i386/pc/misc.c with commands/ieee1275/halt.c,
31902 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
31903 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
31904 function.
31905 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
31906 Add prototype.
31907 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
31908 prototype.
31909 (grub_halt): Likewise.
31910 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
31911 (cmain): Remove __attribute__((unused)).
31912 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
31913 (grub_heap_len): Likewise.
31914 (grub_machine_fini): New function.
31915 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
31916 (grub_halt): Likewise.
31917 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
31918 function.
31919 * util/powerpc/ieee1275/misc.c: New file.
31920
0058f771 319212005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
31922
31923 * DISTLIST: New file.
31924 * gendistlist.sh: Likewise.
f19dbdb7 31925
0058f771 31926 * Makefile.in (COMMON_DISTFILES): Removed.
31927 (BOOT_DISTFILES): Likewise.
31928 (CONF_DISTFILES): Likewise.
31929 (DISK_DISTFILES): Likewise.
31930 (FS_DISTFILES): Likewise.
31931 (INCLUDE_DISTFILES): Likewise.
31932 (KERN_DISTFILES): Likewise.
31933 (LOADER_DISTFILES): Likewise.
31934 (TERM_DISTFILES): Likewise.
31935 (UTIL_DISTFILES): Likewise.
31936 (DISTFILES): Likewise.
31937 (uninstall): Uninstall files in $(pkgdata_DATA).
31938 (DISTLIST): New target.
31939 (distdir): Use the contents of the file DISTLIST to get a list of
31940 distributed files.
31941
46b3b8a5 319422005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
31943
31944 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
31945 descriptor. This is ported from GRUB Legacy.
31946
31947 * gencmdlist.sh: Added an extra semicolon to make it work with
31948 old sed versions. Reported by Robert Bihlmeyer
31949 <robbe@orcus.priv.at>.
31950
5822ff87 319512005-03-08 Yoshinori Okuji <okuji@enbug.org>
31952
31953 Automatic loading of commands is supported.
f19dbdb7 31954
5822ff87 31955 * normal/main.c (read_command_list): New function.
31956 (grub_normal_execute): Call read_command_list.
31957
31958 * normal/command.c (grub_register_command): Return zero or CMD.
31959 Allocate CMD->NAME from the heap.
31960 Initialize CMD->MODULE_NAME to zero.
31961 Find the same name as well. If the same command is found and it is
31962 a dummy command, overwrite members. If it is not a dummy command,
31963 return zero.
31964 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
31965 (grub_command_find): If a dummy command is found, load a module
31966 and retry to find a command only once.
31967
31968 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
31969 make sure that each command is loaded.
31970
31971 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
31972 macro.
31973 (struct grub_command): Remove const from the member `name'.
31974 Add a new member `module_name'.
31975 (grub_register_command): Return grub_command_t.
31976
31977 * commands/help.c (grub_cmd_help): Call grub_command_find to make
31978 sure that each command is loaded.
31979
31980 * genmk.rb (PModule::rule): Specify a module name without the
31981 suffix ".mod" to gencmdlist.sh.
31982
7b1f4b57 319832005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
31984
31985 * gencmdlist.sh: New file.
f19dbdb7 31986
7b1f4b57 31987 * genmk.rb (PModule::rule): Generate a rule for a command list.
31988 Clean command.lst.
31989 Generate command.lst from $(COMMANDFILES).
31990
31991 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
31992 (DATA): Added $(pkgdata_DATA).
31993 (install-local): Install files in $(pkgdata_DATA).
31994
062aaf39 319952005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
31996
31997 * term/i386/pc/vga.c (debug_command): Removed.
31998 (GRUB_MOD_INIT): Do not register the command "debug".
31999
32000 From Hollis Blanchard:
32001 * commands/configfile.c: New file.
32002 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
32003 commands/configfile.c.
32004 (pkgdata_MODULES): Added configfile.mod.
32005 (configfile_mod_SOURCES): New variable.
32006 (configfile_mod_CFLAGS): Likewise.
32007 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
32008 commands/configfile.c.
32009 (pkgdata_MODULES): Added configfile.mod.
32010 (configfile_mod_SOURCES): New variable.
32011 (configfile_mod_CFLAGS): Likewise.
32012 * util/grub-emu.c (main): Call grub_configfile_init and
32013 grub_configfile_fini.
32014 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
32015 prototype.
32016 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 32017
cee01aa6 320182005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
32019
32020 * normal/arg.c (grub_arg_show_help): Do not show the bug report
32021 address.
32022
32023 * commands/help.c (grub_cmd_help): Do not print newlines after
32024 the last command in print_command_help.
32025
93f3a1d8 320262005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
32027
32028 * commands/default.h: New file.
32029 * commands/timeout.h: Likewise.
32030 * normal/context.c: Likewise.
f19dbdb7 32031
93f3a1d8 32032 * util/misc.c: Do not include sys/times.h.
32033 Include sys/time.h and grub/machine/time.h.
32034 (grub_get_rtc): Rewritten with gettimeofday.
32035
32036 * util/grub-emu.c (main): Call grub_default_init and
32037 grub_timeout_init before grub_normal_init, and call
32038 grub_timeout_fini and grub_default_fini after grub_main.
32039
32040 * util/console.c (grub_ncurses_checkkey): Return the read
32041 character or -1.
32042
32043 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
32044 timeouts.
32045
32046 * normal/main.c (read_config_file): Push MENU. If this fails,
32047 print an error and wait for a user input.
32048 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
32049 If a menu is empty or an error occurs, pop MENU.
32050 (grub_normal_execute): Pop and free MENU after grub_menu_run
32051 returns.
32052
32053 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
32054
32055 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
32056 include time.h.
32057 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
32058 without GRUB_UTIL.
32059 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
32060 time.h.
32061 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
32062 without GRUB_UTIL.
32063
32064 * include/grub/normal.h (struct grub_menu_list): New struct.
32065 (grub_menu_list_t): New type.
32066 (struct grub_context): New struct.
32067 (grub_context_t): New type.
32068 (grub_register_command): Got rid of EXPORT_FUNC.
32069 (grub_unregister_command): Likewise.
32070 (grub_context_get): New prototype.
32071 (grub_context_get_current_menu): Likewise.
32072 (grub_context_push_menu): Likewise.
32073 (grub_context_pop_menu): Likewise.
32074 [GRUB_UTIL] (grub_default_init): Likewise.
32075 [GRUB_UTIL] (grub_default_fini): Likewise.
32076 [GRUB_UTIL] (grub_timeout_init): Likewise.
32077 [GRUB_UTIL] (grub_timeout_fini): Likewise.
32078
32079 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
32080 commands/timeout.c and normal/context.c.
32081 (pkgdata_MODULES): Added default.mod and timeout.mod.
32082 (normal_mod_SOURCES): Added normal/context.c.
32083 (default_mod_SOURCES): New variable.
32084 (default_mod_CFLAGS): Likewise.
32085 (timeout_mod_SOURCES): Likewise.
32086 (timeout_mod_CFLAGS): Likewise.
32087 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
32088 conf/i386-pc.rmk.
32089 (pkgdata_MODULES): Added default.mod and timeout.mod.
32090 (normal_mod_SOURCES): Added normal/context.c.
32091 (default_mod_SOURCES): New variable.
32092 (default_mod_CFLAGS): Likewise.
32093 (timeout_mod_SOURCES): Likewise.
32094 (timeout_mod_CFLAGS): Likewise.
32095
32096 * Makefile.in (all-local): Added $(MKFILES).
32097
4ed2e1dd 320982005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
32099
32100 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
32101 (grub_emu_SOURCES): Likewise.
32102 (pkgdata_MODULES): Add `sun.mod'.
32103 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
32104 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
32105 `partmap/sun.c'.
32106 (pkgdata_MODULES): Add `sun.mod'.
32107 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
32108 * include/grub/partition.h (grub_sun_partition_map_init): New
32109 prototype.
32110 (grub_sun_partition_map_fini): Likewise.
32111 * partmap/sun.c: New file.
32112 * util/grub-emu.c (main): Initialize and de-initialize the sun
32113 partitionmap support.
32114
4d4e372e 321152005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
32116
32117 This implements an Emacs-like menu entry editor.
f19dbdb7 32118
4d4e372e 32119 * normal/menu_entry.c: New file.
f19dbdb7 32120
4d4e372e 32121 * util/console.c (grub_ncurses_putchar): Translate some Unicode
32122 characters to ASCII.
32123 (saved_char): New variable.
32124 (grub_ncurses_checkkey): Rewritten completely.
32125 (grub_ncurses_getkey): Likewise.
32126 (grub_ncurses_init): Call raw instead of cbreak.
32127
32128 * normal/menu.c (print_entry): Do not put a space.
32129 (init_page): Renamed to ...
32130 (grub_menu_init_page): ... this. All callers changed.
32131 (edit_menu_entry): Removed.
32132 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
32133
32134 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
32135
32136 * kern/misc.c (grub_vprintf): Call grub_refresh.
32137
32138 * normal/menu.c (DISP_LEFT): Renamed to ...
32139 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
32140 * normal/menu.c (DISP_UP): Renamed to ...
32141 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
32142 * normal/menu.c (DISP_RIGHT): Renamed to ...
32143 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
32144 * normal/menu.c (DISP_DOWN): Renamed to ...
32145 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
32146 * normal/menu.c (DISP_HLINE): Renamed to ...
32147 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
32148 * normal/menu.c (DISP_VLINE): Renamed to ...
32149 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
32150 * normal/menu.c (DISP_UL): Renamed to ...
32151 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
32152 * normal/menu.c (DISP_UR): Renamed to ...
32153 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
32154 * normal/menu.c (DISP_LL): Renamed to ...
32155 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
32156 * normal/menu.c (DISP_LR): Renamed to ...
32157 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
32158 * normal/menu.c (TERM_WIDTH): Renamed to ...
32159 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
32160 * normal/menu.c (TERM_HEIGHT): Renamed to ...
32161 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
32162 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
32163 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
32164 * normal/menu.c (TERM_MARGIN): Renamed to ...
32165 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
32166 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
32167 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
32168 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
32169 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
32170 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
32171 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
32172 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
32173 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
32174 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
32175 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
32176 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
32177 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
32178 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
32179 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
32180 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
32181 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
32182 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
32183 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
32184 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
32185 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
32186 All callers changed.
32187
32188 * include/grub/normal.h: New prototype.
32189
32190 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
32191 normal/menu_entry.c.
32192 (normal_mod_SOURCES): Likewise.
32193 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32194 (normal_mod_SOURCES): Likewise.
32195
e6b92c8a 321962005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
32197
32198 * include/grub/normal.h (grub_halt_init): New prototype.
32199 (grub_halt_fini): Likewise.
32200 (grub_reboot_init): Likewise.
32201 (grub_reboot_fini): Likewise.
32202
32203 * util/grub-emu.c: Include signal.h.
32204 (main_env): New global variable.
32205 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
32206 catch C-c.
32207 (grub_machine_fini): New function.
32208 (main): Call grub_halt_init and grub_reboot_init before
32209 grub_main, and grub_reboot_fini and grub_halt_fini after it.
32210 Call setjmp with MAIN_ENV to go back afterwards.
32211 Call grub_machine_fini right before return.
32212
32213 * include/grub/util/misc.h: Include setjmp.h.
32214 (main_env): New prototype.
32215
32216 * include/grub/kernel.h (grub_machine_fini): New prototype.
32217 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
32218 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
32219
32220 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
32221 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
32222 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 32223
e6b92c8a 32224 * util/i386/pc/misc.c: New file.
f19dbdb7 32225
e6b92c8a 32226 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
32227 util/i386/pc/misc.c, commands/i386/pc/halt.c and
32228 commands/i386/pc/reboot.c.
32229
c642636f 322302005-02-14 Guillem Jover <guillem@hadrons.org>
32231
32232 * include/grub/dl.h (grub_dl_check_header): New prototype.
32233 (grub_arch_dl_check_header): Change return type to grub_err_t,
32234 remove size parameter and export function. Update all callers.
32235 * kern/dl.c (grub_dl_check_header): New function.
32236 (grub_dl_load_core): Use `grub_dl_check_header' instead of
32237 `grub_arch_dl_check_header'. Check ELF type. Check if sections
32238 are inside the core.
32239 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
32240 independent ELF header checks.
32241 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
32242 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
32243 `grub_dl_check_header' instead of explicit checks. Check for the
32244 ELF type.
32245 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
32246 `grub_dl_check_header' instead of explicit checks. Remove arch
32247 specific ELF header checks.
32248
e6b92c8a 32249 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
32250 argument SIZE.
32251
5eabe94b 322522005-02-13 Hollis Blanchard <hollis@penguinppc.org>
32253
32254 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
32255 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
32256
1b14a681 322572005-02-12 Hollis Blanchard <hollis@penguinppc.org>
32258
32259 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 32260 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 32261 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 32262 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 32263 * partmap/amiga.c (amiga_partition_map_iterate): Return
32264 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
32265 * partmap/apple.c (apple_partition_map_iterate): Likewise.
32266
aca108aa 322672005-02-01 Guillem Jover <guillem@hadrons.org>
32268
32269 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
32270 help info.
32271
c9f9c556 322722005-01-31 Marco Gerards <metgerards@student.han.nl>
32273
32274 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
32275 Removed prototype.
32276 (grub_rescue_cmd_linux): New prototype.
32277 (grub_rescue_cmd_initrd): Likewise.
32278 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
32279 `bi_rec'.
32280 (grub_linux_release_mem): Release the memory for the initrd.
32281 (grub_load_linux): Renamed from this...
32282 (grub_rescue_cmd_linux): ...To this. Changed all callers.
32283 Changed `entry' not to be static. Loop over memory regions to
32284 find another one when the default fails.
32285 (grub_rescue_cmd_initrd): New function.
32286 (grub_linux_init): Remove function.
32287 (grub_linux_fini): Likewise.
32288 (GRUB_MOD_INIT): Register `initrd'.
32289 (GRUB_MOD_FINI): Unregister `initrd'.
32290 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
32291 Function removed.
32292 (grub_linux_normal_fini): Likewise.
32293 (GRUB_MOD_INIT): Register `initrd'.
32294 (GRUB_MOD_FINI): Unregister `initrd'.
32295
990cf3aa 322962005-01-31 Marco Gerards <metgerards@student.han.nl>
32297
32298 * commands/help.c: New file.
32299 * normal/arg.c (show_help): Renamed to...
32300 (grub_arg_show_help): ... this.
32301 * commands/i386/pc/halt.c: New file.
32302 * commands/i386/pc/reboot.c: Likewise.
32303 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
32304 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
32305 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
32306 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
32307 variables.
32308 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
32309 `commands/help.c'.
32310 (pkgdata_MODULES): Add `help.mod'.
32311 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
32312 * grub/i386/pc/init.h (grub_reboot): New prototype.
32313 (grub_halt): Likewise.
32314 * include/grub/normal.h (grub_arg_show_help): New prototype.
32315 (grub_help_init): Likewise.
32316 (grub_help_fini): Likewise.
32317 * util/grub-emu.c (main): Initialize and deinitialize the help
32318 command.
32319
32320 * normal/cmdline.c (grub_cmdline_get): Doc fix.
32321
32322 * normal/command.c (grub_command_init): Fixed the description of
32323 the `set' and `unset' commands.
32324
323252005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 32326
32327 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
32328 function.
32329 * commands/ieee1275/halt.c: New file.
32330 * commands/ieee1275/reboot.c: Likewise.
32331 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
32332 `__attribute__ ((unused))'. Some GCS related fixed.
32333 (grub_suspend_init) [GRUB_UTIL]: Function removed.
32334 (grub_suspend_fini): Likewise.
32335 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
32336 and `halt.mod'.
32337 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
32338 (halt_mod_CFLAGS): New variables.
32339 * include/grub/powerpc/ieee1275/ieee1275.h
32340 (grub_ieee1275_interpret): New prototype.
32341
1ab09cc7 323422005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
32343
32344 * include/grub/misc.h (memmove): New prototype.
32345 (memcpy): Likewise.
32346
8b8cbdb2 323472005-01-22 Hollis Blanchard <hollis@penguinppc.org>
32348
32349 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
32350 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
32351
e3741a27 323522005-01-22 Marco Gerards <metgerards@student.han.nl>
32353
32354 * kern/misc.c (grub_strndup): Function rewritten.
32355
776bd780 323562005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
32357
32358 * normal/menu.c (TERM_WIDTH): Macro redefined.
32359 (TERM_TOP_BORDER_Y): Likewise.
32360 (draw_border): Replaced while-loop by a for-loop. Make the number
32361 of lines consistent with the number of lines displayed in
32362 print_entries. Added a margin below the rectangle.
32363 (print_entry): Make the entry fit in the rectangle.
32364 (print_entries): Display the scroll arrows next to the right
32365 border.
32366
78026bce 323672005-01-21 Marco Gerards <metgerards@student.han.nl>
32368
32369 * fs/minix.c (grub_minix_find_file): Reserve more space for
32370 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
32371 `grub_strncpy' to copy `path' into it.
32372
67bbaf0f 323732005-01-21 Marco Gerards <metgerards@student.han.nl>
32374
32375 Add the loopback device, a device via which files can be accessed
32376 as devices.
f19dbdb7 32377
67bbaf0f 32378 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
32379 (pkgdata_MODULES): Add loopback.mod.
32380 (loopback_mod_SOURCES): New variable.
32381 (loopback_mod_CFLAGS): Likewise.
32382 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
32383 `disk/loopback.c'.
32384 (pkgdata_MODULES): Add loopback.mod.
32385 (loopback_mod_SOURCES): New variable.
32386 (loopback_mod_CFLAGS): Likewise.
32387 * disk/loopback.c: new file.
32388 * include/grub/normal.h (grub_loop_init): New prototype.
32389 (grub_loop_fini): New prototype.
32390 * util/grub-emu.c (main): Initialize and de-initialize loopback
32391 support.
32392 * include/grub/disk.h (grub_disk_dev_id): Add
32393 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
32394
6f1c18bd 323952005-01-20 Hollis Blanchard <hollis@penguinppc.org>
32396
32397 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
32398 function.
32399 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
32400 (suspend_mod_SOURCES): New variable.
32401 (suspend_mod_CFLAGS): Likewise.
32402 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
32403 New prototype.
32404 * commands/ieee1275/suspend.c: New file.
32405
b38551da 324062005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
32407
32408 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 32409 ((unused))' to `__attribute__ ((used))'.
b38551da 32410 (GRUB_MOD_FINI): Likewise.
32411 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
32412 * genmk.rb (PModule): Assign space to common symbols when linking
32413 modules.
32414
777aff39 324152005-01-20 Marco Gerards <metgerards@student.han.nl>
32416
32417 * include/grub/mm.h (grub_mm_init_region): Change the type of the
32418 `unsigned' arguments to `grub_size_t'.
32419 (grub_malloc): Likewise.
32420 (grub_realloc): Likewise.
32421 (grub_memalign): Likewise.
32422 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
32423 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
32424 * util/misc.c (grub_malloc): Likewise.
32425 (grub_realloc): Likewise.
32426 * kern/mm.c (get_header_from_pointer): Change the casts to
32427 `unsigned' into a cast to `grub_size_t'.
32428
32429 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
32430 point to `currnode' when `currnode' is changed.
32431
32432 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
32433 Schottelius <nico-linux@schottelius.org>.
32434
d0ff18e1 324352005-01-09 Hollis Blanchard <hollis@penguinppc.org>
32436
32437 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
32438 (note_path): Remove variable.
32439 (GRUB_IEEE1275_NOTE_NAME): New macro.
32440 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
32441 (grub_ieee1275_note_hdr): New structure.
32442 (grub_ieee1275_note_desc): Likewise.
32443 (grub_ieee1275_note): Likewise.
32444 (load_note): Remove `dir' argument. All callers updated. Remove
32445 `note_img' and `path'. Do not load a file from `note_path'.
32446 Initialize a struct grub_ieee1275_note and write that to `out'.
32447 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
32448
4ca7004c 324492005-01-05 Marco Gerards <metgerards@student.han.nl>
32450
32451 * util/misc.c (grub_util_read_image): Revert last change. It
32452 called `grub_util_read_at', which seeks from the beginning of the
32453 file.
32454
0b412211 324552005-01-04 Hollis Blanchard <hollis@penguinppc.org>
32456
32457 * TODO: Add note about endianness in grub-mkimage.
32458 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
32459 section.
32460 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
32461 (grub_mkimage_SOURCES): New target.
32462 * include/grub/kernel.h (grub_start_addr): Remove variable.
32463 (grub_end_addr): Likewise.
32464 (grub_total_module_size): Likewise.
32465 (grub_kernel_image_size): Likewise.
32466 (GRUB_MODULE_MAGIC): New constant.
32467 (grub_module_info): New structure.
32468 (grub_arch_modules_addr): New prototype.
32469 (grub_get_end_addr): Remove prototype.
32470 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
32471 * include/grub/powerpc/ieee1275/kernel.h: New file.
32472 * include/grub/util/misc.h (grub_util_get_fp_size): New
32473 prototype.
32474 (grub_util_read_at): Likewise.
32475 (grub_util_write_image_at): Likewise.
32476 * kern/main.c (grub_get_end_addr): Remove function.
32477 (grub_load_modules): Call grub_arch_modules_addr instead of using
32478 grub_end_addr. Look for a grub_module_info struct in memory. Use
32479 the grub_module_info fields instead of calling grub_get_end_addr
32480 as loop conditions. Move grub_add_unused_region code here.
32481 (grub_add_unused_region): Remove function.
32482 * kern/i386/pc/init.c: Include grub/cache.h.
32483 (grub_machine_init): Remove call to grub_get_end_addr. Remove
32484 one call to add_mem_region.
32485 (grub_arch_modules_addr): New function.
32486 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
32487 (grub_total_module_size): Likewise.
32488 Include grub/machine/kernel.h.
32489 (grub_arch_modules_addr): New function.
32490 * util/grub-emu.c (grub_end_addr): Remove variable.
32491 (grub_total_module_size): Likewise.
32492 (grub_arch_modules_addr): New function.
32493 * util/misc.c: Include unistd.h.
32494 (grub_util_get_fp_size): New function.
32495 (grub_util_read_at): Likewise.
32496 (grub_util_write_image_at): Likewise.
32497 (grub_util_read_image): Call grub_util_read_at.
32498 (grub_util_write_image): Call grub_util_write_image_at.
32499 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
32500 additional memory in kernel_img for a struct grub_module_info.
32501 Fill in that grub_module_info.
32502 * util/powerpc/ieee1275/grub-mkimage.c: New file.
32503
458786f8 325042005-01-03 Hollis Blanchard <hollis@penguinppc.org>
32505
32506 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
32507 New function.
32508 * include/grub/powerpc/ieee1275/ieee1275.h
32509 (grub_ieee1275_milliseconds): New prototype.
32510 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
32511 Change to 1000.
32512 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
32513 grub_ieee1275_milliseconds.
32514
ac507d1b 325152005-01-03 Hollis Blanchard <hollis@penguinppc.org>
32516
32517 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
32518 variable.
32519 (find_options): New function.
32520 (cmain): Call find_options.
32521 * include/grub/powerpc/ieee1275/ieee1275.h
32522 (grub_ieee1275_realmode): New extern variable.
32523 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
32524 grub_map if grub_ieee1275_realmode is false.
32525
6b8fd1c4 325262004-12-29 Marco Gerards <metgerards@student.han.nl>
32527
32528 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
32529 lines are inserted and make it work like readline. Reported by
32530 Vincent Pelletier <subdino2004@yahoo.fr>.
32531
8514a1e0 325322004-12-28 Marco Gerards <metgerards@student.han.nl>
32533
32534 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
32535
32536 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
32537 `kern/powerpc/cache.S'.
32538
924b6140 325392004-12-27 Marco Gerards <metgerards@student.han.nl>
32540
32541 * genmk.rb: Handle the `Program' class in the main loop. Written
32542 by Johan Rydberg <jrydberg@gnu.org>.
32543 (Program): New class.
32544 (programs): New variable.
32545 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
32546 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
32547 instead of "grub/kernel.h". Include <grub/machine/init.h>.
32548 (help_arch): Function removed.
32549 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
32550 `powerpc/libgcc.h' and `loader.h'.
32551 (pkgdata_PROGRAMS): New variable.
32552 (sbin_UTILITIES): Variable removed.
32553 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
32554 (grubof_SOURCES): Variable re-defined so it only includes the
32555 core functionality.
32556 (grubof_CFLAGS): Remove `-DGRUBOF'.
32557 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
32558 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
32559 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
32560 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
32561 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
32562 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
32563 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
32564 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
32565 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
32566 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
32567 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
32568 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
32569 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
32570 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
32571 (pc_mod_CFLAGS): New variables.
32572 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
32573 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
32574 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
32575 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
32576 Moved from here...
32577 * include/grub/i386/pc/init.h (grub_os_area_addr)
32578 (rub_os_area_size): ... to here.
32579 * include/grub/powerpc/ieee1275/ieee1275.h
32580 (grub_ieee1275_entry_fn): Export symbol.
32581 * include/grub/powerpc/ieee1275/init.h: New file.
32582 * include/grub/powerpc/libgcc.h: Likewise.
32583 * include/grub/cache.h: Likewise.
32584 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
32585 <hollis@penguinppc.org>.
32586 * kern/dl.c: Include <grub/cache.h>.
32587 (grub_dl_flush_cache): New function.
32588 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
32589 for this module.
32590 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
32591 (grub_console_init): Removed prototypes.
32592 (grub_machine_init): Don't initialize the modules anymore.
32593 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
32594 static.
32595 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
32596 Macro undef removed.
32597 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
32598 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
32599 relocation `R_PPC_REL32'. Return an error when the relocation is
32600 unknown.
32601 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
32602 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
32603 * util/misc.c (grub_arch_sync_caches): Likewise.
32604
e4b47e0c 326052004-12-19 Marco Gerards <metgerards@student.han.nl>
32606
32607 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
32608 `symlist.c', add `grubof_symlist.c'.
32609 (symlist.c): Variable removed.
32610 (grubof_HEADERS): Variable added.
32611 (grubof_symlist.c): New target.
32612 (kernel_syms.lst): Use `grubof_HEADERS' instead of
32613 `kernel_img_HEADERS'.
32614 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
32615 * kern/powerpc/dl.c: New file.
32616 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
32617 Function removed.
32618 (grub_arch_dl_relocate_symbols): Likewise.
32619 (grub_register_exported_symbols): Likewise.
32620
4ceb3636 326212004-12-13 Marco Gerards <metgerards@student.han.nl>
32622
32623 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
32624 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
32625 to fail instead. Reported by Vincent Pelletier
32626 <subdino2004@yahoo.fr>.
32627
32628 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
32629 it is not allocated. Reported by Vincent Pelletier
32630 <subdino2004@yahoo.fr>.
32631
32632 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
32633 output so the output looks better.
f19dbdb7 32634
3f1578fe 326352004-12-04 Marco Gerards <metgerards@student.han.nl>
32636
32637 Modulize the partition map support and add support for the amiga
32638 partition map.
f19dbdb7 32639
3f1578fe 32640 * commands/ls.c: Include <grub/partition.h> instead of
32641 <grub/machine/partition.h>.
32642 * kern/disk.c: Likewise.
32643 * kern/rescue.c: Likewise.
32644 * loader/i386/pc/chainloader.c: Likewise.
32645 * normal/cmdline.c: Likewise.
32646 * kern/powerpc/ieee1275/init.c: Likewise.
32647 (grub_machine_init): Call `grub_pc_partition_map_init',
32648 `grub_amiga_partition_map_init' and
32649 `grub_apple_partition_map_init'.
32650 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
32651 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
32652 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
32653 `partition.h' and `pc_partition.h'.
32654 (grub_setup_SOURCES): Remove
32655 `disk/i386/pc/partition.c'. Add `kern/partition.c',
32656 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
32657 (grub_emu_SOURCES): Likewise.
32658 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
32659 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
32660 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
32661 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
32662 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
32663 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
32664 (grubof_SOURCES): Likewise.
32665 * disk/i386/pc/partition.c: File removed.
32666 * disk/powerpc/ieee1275/partition.c: Likewise.
32667 * include/grub/powerpc/ieee1275/partition.h: Likewise.
32668 * include/grub/i386/pc/partition.h: Likewise.
32669 * kern/partition.c: New file.
32670 * partmap/amiga.c: Likewise.
32671 * partmap/apple.c: Likewise.
32672 * partmap/pc.c: Likewise.
32673 * include/grub/partition.h: Likewise..
32674 * include/grub/pc_partition.h: Likewise.
32675 * util/grub-emu.c: Include <grub/partition.h> instead of
32676 <grub/machine/partition.h>.
32677 (main): Call `grub_pc_partition_map_init',
32678 `grub_amiga_partition_map_init' and
32679 `grub_apple_partition_map_init' and deinitialize afterwards.
32680 * util/i386/pc/biosdisk.c: Include `#include
32681 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
32682 `<grub/machine/partition.h>'.
32683 * util/i386/pc/grub-setup.c: Likewise.
32684 * util/i386/pc/biosdisk.c: Likewise.
32685 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
32686 partition information in case of a PC partition.
32687 * util/i386/pc/grub-setup.c: Include `#include
32688 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
32689 `<grub/machine/partition.h>'.
32690 (setup): Only access the PC specific partition information in case
32691 of a PC partition.
32692
0ef4ced9 326932004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 32694
0ef4ced9 32695 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
32696 (grub_longjmp): Likewise.
32697 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
32698 20.
32699 * normal/powerpc/setjmp.S: New file.
32700 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
32701 `normal/powerpc/setjmp.S'.
32702 (grubof_CFLAGS): Add `-DGRUBOF'.
32703 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
32704 [GRUB_UTIL && !GRUBOF].
f19dbdb7 32705
19950e29 327062004-11-16 Marco Gerards <metgerards@student.han.nl>
32707
32708 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
32709 property named `name'. Correctly handle the error returned by
32710 `grub_ieee1275_finddevice' if a device can not be opened.
32711
a2fea427 327122004-11-02 Hollis Blanchard <hollis@penguinppc.org>
32713
32714 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
32715 `actual' for negativity.
32716 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
32717 kern/fshelp.c.
32718
41ea0ea3 327192004-11-01 Marco Gerards <metgerards@student.han.nl>
32720
32721 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
32722 (PAGE_OFFSET): New macro.
32723 (CRTC_ADDR_PORT): Likewise.
32724 (CRTC_DATA_PORT): Likewise.
32725 (START_ADDR_HIGH_REGISTER): Likewise.
32726 (START_ADDR_LOW_REGISTER): Likewise.
32727 (GRAPHICS_ADDR_PORT): Likewise.
32728 (GRAPHICS_DATA_PORT): Likewise.
32729 (READ_MAP_REGISTER): Likewise.
32730 (INPUT_STATUS1_REGISTER): Likewise.
32731 (INPUT_STATUS1_VERTR_BIT): Likewise.
32732 (page): New variable.
32733 (wait_vretrace): New function.
32734 (set_read_map): Likewise.
32735 (set_start_address): Likewise.
32736 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
32737 the right page.
32738 (check_vga_mem): Take the page into account.
32739 (write_char): Likewise.
32740 (write_cursor): Likewise.
32741 (scroll_up): Likewise. Copy the page to the page that is not
32742 shown and switch between both pages.
32743 (grub_vga_putchar): Fix off by one error.
32744 (grub_vga_cls): Wait for the vertical retrace. Take the page into
32745 account.
32746
ad0bd20b 327472004-11-01 Marco Gerards <metgerards@student.han.nl>
32748
32749 Add support for iso9660 (including rockridge).
f19dbdb7 32750
ad0bd20b 32751 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
32752 (iso9660_mod_SOURCES): New variable.
32753 (iso9660_mod_CFLAGS): Likewise.
32754 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
32755 * include/grub/fs.h (grub_iso9660_init): New prototype.
32756 * util/grub-emu.c (main): Call `grub_iso9660_init'.
32757 * fs/iso9660.c: New file.
32758
32759 * include/grub/misc.h (grub_strncat): New prototype.
32760 * kern/misc.c (grub_strncat): New function.
f19dbdb7 32761
ad0bd20b 32762 * fs/hfs.c (grub_hfs_mount): Translate the error
32763 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
32764 * fs/jfs.c (grub_jfs_mount): Likewise.
32765 * fs/ufs.c (grub_ufs_mount): Likewise.
32766
a5477a59 327672004-10-28 Hollis Blanchard <hollis@penguinppc.org>
32768
32769 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
32770 which initialized BAT registers.
32771 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
32772 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
32773 Move from here...
32774 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
32775 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
32776 ... to here.
32777 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
32778 (grub_mapclaim): Likewise.
32779 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
32780 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
32781 hand.
32782
9304c1f8 327832004-10-19 Hollis Blanchard <hollis@penguinppc.org>
32784
32785 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
32786 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
32787 -ffreestanding and -msoft-float.
32788
86f4ae25 327892004-10-15 Hollis Blanchard <hollis@penguinppc.org>
32790
32791 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
32792 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
32793 set in grub_ieee1275_flags.
32794
38912228 327952004-10-14 Hollis Blanchard <hollis@penguinppc.org>
32796
32797 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
32798 prototype.
32799 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
32800 grub_console_init first.
32801 Change the memory range used for grub_ieee1275_claim and
32802 grub_mm_init_region.
32803 Print an error message if the claim fails.
32804 Include <grub/misc.h>.
32805
d1923dc8 328062004-10-13 Hollis Blanchard <hollis@penguinppc.org>
32807
32808 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
32809 Call grub_children_iterate for device nodes of type `scsi',
32810 `ide', or `ata'.
32811 (grub_ofdisk_open): Remove manual device alias resolution.
32812 Fix memory leak when device cannot be opened.
f19dbdb7 32813 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 32814 (grub_children_iterate): New prototype.
32815 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
32816 New function.
32817 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
32818 Return -1 if args.size was -1.
32819
4512e4f3 328202004-10-11 Hollis Blanchard <hollis@penguinppc.org>
32821
32822 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
32823 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
32824 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
32825 Open Firmware's memory for it; claim memory from _start to _end.
32826 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
32827 (_end): New extern.
32828 (_start): Zero BSS from __bss_start to _end.
32829 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
32830 New extern.
32831 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
32832
4d61feb0 328332004-10-11 Hollis Blanchard <hollis@penguinppc.org>
32834
ad0bd20b 32835 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
32836 -1 if args.base was -1.
4d61feb0 32837
026fa2f9 328382004-10-08 Hollis Blanchard <hollis@penguinppc.org>
32839
32840 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
32841 escape sequence instead of a literal ^L. Also call
32842 grub_ofconsole_gotoxy.
32843
9f2220ef 328442004-10-03 Hollis Blanchard <hollis@penguinppc.org>
32845
32846 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
32847 void * arguments to grub_addr_t. All callers updated. Also make
32848 the `result' argument optional.
32849 (grub_ieee1275_release): change void * arguments to grub_addr_t.
32850 All callers updated.
32851
8a572cd7 328522004-09-22 Hollis Blanchard <hollis@penguinppc.org>
32853
32854 * commands/ls.c (grub_ls_list_files): Use the string following the
32855 initial ')', if present, as the filesystem path.
32856 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
32857
32858 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
32859
18aa81f2 328602004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
32861
32862 Make the source code of the menu interface more readable.
f19dbdb7 32863
18aa81f2 32864 * normal/menu.c: Include grub/mm.h.
32865 (TERM_WIDTH): New macro.
32866 (TERM_HEIGHT): Likewise.
32867 (TERM_INFO_HEIGHT): Likewise.
32868 (TERM_MARGIN): Likewise.
32869 (TERM_SCROLL_WIDTH): Likewise.
32870 (TERM_TOP_BORDER_Y): Likewise.
32871 (TERM_LEFT_BORDER_X): Likewise.
32872 (TERM_BORDER_WIDTH): Likewise.
32873 (TERM_MESSAGE_HEIGHT): Likewise.
32874 (TERM_BORDER_HEIGHT): Likewise.
32875 (TERM_NUM_ENTRIES): Likewise.
32876 (TERM_FIRST_ENTRY_Y): Likewise.
32877 (TERM_ENTRY_WIDTH): Likewise.
32878 (TERM_CURSOR_X): Likewise.
32879 (draw_border): Use macros instead of magic numbers.
32880 (print_entry): Likewise.
32881 (print_entries): Likewise.
32882 (run_menu): Likewise. Also, handle the key 'e'.
32883 (run_menu_entry): Ignore empty command lines.
32884 (print_message): Added a new argument EDIT. If EDIT is true,
32885 print a different message.
32886 (init_page): Likewise.
32887 (edit_menu_entry): New function. Not implemented yet.
32888
b47efe30 328892004-09-17 Marco Gerards <metgerards@student.han.nl>
32890
32891 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
32892 can be loaded from normal mode.
f19dbdb7 32893
b47efe30 32894 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
32895 `multiboot.mod'.
32896 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
32897 (multiboot_mod_CFLAGS): New variables.
32898 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 32899 * loader/i386/pc/multiboot_normal.c: Likewise.
32900
b47efe30 32901 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
32902 attribute `unused'.
f19dbdb7 32903
b47efe30 32904 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
32905 `fdiro' to read the mode information from instead of `diro'.
32906
32907 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
32908 looking up a symlink.
32909
32910 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
32911 macro.
32912 * normal/command.c (grub_command_execute): Don't parse the
32913 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
32914 flags of the command.
32915
32916 * normal/menu.c (grub_menu_run): Fix typo.
32917
da75ac71 329182004-09-14 Hollis Blanchard <hollis@penguinppc.org>
32919
32920 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
32921
32922 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
32923 `y + 1' instead of `y - 1'.
32924
32925 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 32926
062b24c2 329272004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
32928
32929 From Hollis Blanchard <hollis@penguinppc.org>:
32930 * kern/misc.c (memmove): New alias for grub_memmove.
32931 (memcmp): New alias for grub_memcmp.
32932 (memset): New alias for grub_memset.
f19dbdb7 32933 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 32934 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 32935 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 32936 (grub_ieee1275_get_property): Likewise.
f19dbdb7 32937
8ddad845 329382004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
32939
32940 Added normal mode command `chainloader' as module chain.mod, which
32941 depends on normal.mod and _chain.mod.
f19dbdb7 32942
8ddad845 32943 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
32944 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
32945 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
32946 Deleted prototype.
32947 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
32948 but arguments parsing moved to ...
32949 (grub_chainloader_cmd): ... here. New function.
32950 * include/grub/i386/pc/chainloader.h: New file.
32951 * loader/i386/pc/chainloader_normal.c: Likewise.
32952
2c1f4ce3 329532004-09-11 Marco Gerards <metgerards@student.han.nl>
32954
32955 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
32956 (grub_mkimage_LDFLAGS): Likewise.
32957 (grub_emu_SOURCES): Likewise.
32958 (kernel_img_HEADERS): Added fshelp.h.
32959 * fs/ext2.c: Include <grub/fshelp.h>.
32960 (FILETYPE_REG): New macro.
32961 (FILETYPE_INO_REG): Likewise.
32962 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
32963 Changed all users.
32964 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
32965 all users.
32966 (grub_fshelp_node): New struct.
32967 (grub_ext2_data): Added member `diropen'. Changed member `inode'
32968 to a pointer.
32969 (grub_ext2_get_file_block): Removed function.
32970 (grub_ext2_read_block): New function.
32971 (grub_ext2_read_file): Replaced parameter `data' by `node'.
32972 This function was written.
32973 (grub_ext2_mount): Read the root inode. Create a diropen struct.
32974 (grub_ext2_find_file): Removed function.
32975 (grub_ext2_read_symlink): New function.
32976 (grub_ext2_iterate_dir): Likewise.
32977 (grub_ext2_open): Rewritten.
32978 (grub_ext2_dir): Rewritten.
32979 * include/grub/fshelp.h: New file.
32980 * fs/fshelp.c: Likewise.
32981
3c52136a 329822004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
32983
32984 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
32985 (print_message): Add a missing newline.
32986 (run_menu): Added timeout support.
32987 (run_menu_entry): New local function.
32988 (grub_menu_run): Added support for booting.
32989
32990 * kern/loader.c (grub_loader_is_loaded): New function.
32991
32992 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
32993 (grub_get_rtc): Exported.
32994
32995 * include/grub/i386/pc/time.h: Include grub/symbol.h.
32996 (grub_get_rtc): Exported.
32997
32998 * include/grub/normal.h (struct grub_command_list): Remove
32999 constant from the member `command'.
33000
33001 * include/grub/loader.h (grub_loader_is_loaded): Declared.
33002
33003 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
33004
33005 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
33006
aa033560 330072004-08-28 Marco Gerards <metgerards@student.han.nl>
33008
33009 Add support for the JFS filesystem.
33010
33011 * fs/jfs.c: New file.
33012 * include/grub/fs.h (grub_jfs_init): New prototype.
33013 (grub_jfs_fini): New prototype.
33014 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
33015 (grub_emu_SOURCES): Likewise.
33016 (pkgdata_MODULES): Add jfs.mod.
33017 (jfs_mod_SOURCES): New variable.
33018 (jfs_mod_CFLAGS): Likewise.
33019 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
33020 (grubof_SOURCES): Likewise.
33021 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
33022
33023 * fs/fat.c (grub_fat_find_dir): Convert the filename little
33024 endian to the host endian.
33025 (grub_fat_utf16_to_utf8): Move function from there...
33026 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 33027 the endianness of the source string anymore.
aa033560 33028 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
33029
94bc45af 330302004-08-24 Marco Gerards <metgerards@student.han.nl>
33031
33032 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
33033 (grub_boot_fini) [GRUB_UTIL]: Likewise.
33034 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
33035 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 33036
94bc45af 33037 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
33038 (grub_hfs_iterate_dir): Make the function static. Add prototypes
33039 for `node_found' and `it_dir'.
33040 (grub_hfs_dir): Add prototype for `dir_hook'.
33041
33042 * fs/minix.c (grub_minix_get_file_block): Add prototype for
33043 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
33044 and `indir32' to silence a gcc warning.
33045
33046 * include/grub/fs.h (grub_hfs_init): New prototype.
33047 (grub_hfs_fini): Likewise.
f19dbdb7 33048
33049
97543f08 330502004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
33051
33052 Each disk device has its own id now. This is useful to make use
33053 of multiple disk devices.
f19dbdb7 33054
97543f08 33055 * include/grub/disk.h (grub_disk_dev_id): New enum.
33056 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
33057 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
33058
33059 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
33060 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
33061
33062 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
33063 GRUB_DISK_DEVICE_OFDISK_ID as an id.
33064
33065 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
33066 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
33067
33068 * include/grub/disk.h (struct grub_disk_dev): Added a new member
33069 "id" which is used by the cache manager.
33070
33071 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
33072 of just "GRUB".
33073
64372eb4 330742004-08-18 Marco Gerards <metgerards@student.han.nl>
33075
33076 * fs/hfs.c: New file.
33077 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
33078 (grub_emu_SOURCES): Likewise.
33079 (pkgdata_MODULES): Add hfs.mod.
33080 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
33081 (grubof_SOURCES): Likewise.
33082 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
33083
33084 * include/grub/misc.h (grub_strncasecmp): Add prototype.
33085 * kern/misc.c (grub_strncasecmp): Add function.
33086
cc61b58f 330872004-08-14 Marco Gerards <metgerards@student.han.nl>
33088
33089 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
33090 with parentheses.
33091
33092 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
33093 (grub_ext2_dir): In case the directory entry type is unknown, read
33094 it from the inode.
33095
0ef123f6 330962004-08-02 Peter Bruin <pjbruin@dds.nl>
33097
33098 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
33099 grub_load_linux instead of grub_rescue_cmd_linux as second
33100 argument of grub_rescue_register_command.
33101
33102 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
33103
a447c5df 331042004-07-27 Marco Gerards <metgerards@student.han.nl>
33105
33106 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
33107 function.
33108 * commands/boot.c: Remove the check for `GRUB_UTIL'.
33109 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
33110 `loader/powerpc/ieee1275/linux.c',
33111 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
33112 * include/grub/powerpc/ieee1275/ieee1275.h
33113 (grub_ieee1275_release): New prototype.
33114 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
33115 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
33116 normal, boot, linux and linux_normal.
33117 * loader/powerpc/ieee1275/linux.c: New file.
33118 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
33119
5a9e3546 331202004-07-12 Marco Gerards <metgerards@student.han.nl>
33121
33122 * normal/arg.c (grub_arg_parse): Correct error handling after
33123 reallocating the argumentlist (check if `argl' is not null instead
33124 of checking if `args' is not null).
33125 * kern/mm.c (grub_realloc): Return the same pointer when using the
33126 same region, instead of returning the header address.
33127
e15199cb 331282004-07-11 Marco Gerards <metgerards@student.han.nl>
33129
33130 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
33131 one block instead of two when looking for the initial partition.
33132 (grub_partition_probe): Initialize the local variable `p' with 0.
33133 Use base 10 for the grub_strtoul call.
33134 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
33135 need for one local variable.
33136 (grub_strtoul): Don't add the new value to `num', instead of that
33137 just assign it.
33138
020616c2 331392004-07-11 Marco Gerards <metgerards@student.han.nl>
33140
33141 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
33142 (pxeboot_img_SOURCES): New variable.
33143 (pxeboot_img_ASFLAGS): Likewise.
33144 (pxeboot_img_LDFLAGS): Likewise.
33145 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
33146 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
33147 <lode_leroy@hotmail.com>.
33148
6c51eb64 331492004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
33150
33151 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
33152 there was no input.
33153
cfb12aff 331542004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
33155
33156 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
33157 the history buffer logic.
33158
6eabba74 331592004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
33160
33161 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
33162 (FILETYPE_INO_SYMLINK): New macros.
33163 (grub_ext2_find_file): Check if the node is a directory using the
33164 inode stat information instead of using the filetype in the
33165 dirent. Exclude the first character of an absolute symlink.
33166 (grub_ext2_dir): Mask out the filetype part of the mode member of
33167 the inode.
33168
66e19ef8 331692004-05-24 Marco Gerards <metgerards@student.han.nl>
33170
33171 Add support for UFS version 1 and 2. Add support for the minix
33172 filesystem version 1 and 2, both the variants with 14 and 30 long
33173 filenames.
f19dbdb7 33174
66e19ef8 33175 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
33176 fs/minix.c.
33177 (grub_emu_SOURCES): Likewise.
33178 (pkgdata_MODULES): Add ufs.mod and minix.mod.
33179 (ufs_mod_SOURCES): New variable.
33180 (ufs_mod_CFLAGS): Likewise.
33181 (minix_mod_SOURCES): Likewise.
33182 (minix_mod_CFLAGS): Likewise.
33183 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
33184 fs/minix.c.
33185 (grubof_SOURCES): Likewise.
33186 * fs/ufs.c: New file.
33187 * fs/minix.c: New file.
33188 * include/grub/fs.h (grub_ufs_init): New prototype.
33189 (grub_ufs_fini): Likewise.
33190 (grub_minix_init): Likewise.
33191 (grub_minix_fini): Likewise.
33192 * util/grub-emu.c (main): Initialize and deinitialize UFS and
33193 minix fs.
33194
cc2e748a 331952004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
33196
33197 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
33198 commands/ls.c, commands/terminal.c, commands/boot.c,
33199 commands/cmp.c and commands/cat.c.
33200 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
33201
33202 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
33203 "env.h"
33204
4b13b216 332052004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
33206
33207 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
33208 and grub_, respectively. Because the conversion is trivial and
33209 mechanical, I omit the details here. Please refer to the CVS
33210 if you need more information.
33211
6a142551 332122004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
33213
33214 * include/pupa: Renamed to ...
33215 * include/grub: ... this.
33216 * util/i386/pc/pupa-mkimage.c: Renamed to ...
33217 * util/i386/pc/grub-mkimage.c: ... this.
33218 * util/i386/pc/pupa-setup.c: Renamed to ...
33219 * util/i386/pc/grub-setup.c: ... this.
33220 * util/pupa-emu.c: Renamed to ...
33221 * util/grub-emu.c: ... this.
33222
e56cdf21 332232004-03-29 Marco Gerards <metgerards@student.han.nl>
33224
33225 Add support for the newworld apple macintosh (PPC). This has been
33226 tested on the powerbook 2000 only. It only adds support for
33227 generic ieee1275 functions, console and disk support. This should
33228 be easy to port to other architectures with support for Open
33229 Firmware.
f19dbdb7 33230
e56cdf21 33231 * configure.ac: Accept the powerpc as host_cpu. In the case of
33232 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
33233 specific tests are only executed while building for the i386.
33234 Inverse test for crosscompile.
33235 * genmk.rb (Utility): Allow assembler files.
33236 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
33237 * conf/powerpc-ieee1275.rmk: New file.
33238 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
33239 * disk/powerpc/ieee1275/partition.c: Likewise.
33240 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
33241 * include/pupa/powerpc/ieee1275/console.h: Likewise.
33242 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
33243 * include/pupa/powerpc/ieee1275/time.h: Likewise.
33244 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
33245 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
33246 * include/pupa/powerpc/ieee1275/loader.h
33247 * include/pupa/powerpc/setjmp.h: Likewise.
33248 * include/pupa/powerpc/types.h: Likewise.
33249 * kern/powerpc/ieee1275/init.c: Likewise.
33250 * kern/powerpc/ieee1275/openfw.c: Likewise.
33251 * term/powerpc/ieee1275/ofconsole.c: Likewise.
33252
33253 These files were written by Johan Rydberg
33254 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 33255
e56cdf21 33256 * boot/powerpc/ieee1275/cmain.c: New file.
33257 * boot/powerpc/ieee1275/crt0.S: Likewise.
33258 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
33259 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
33260
8c8cc205 332612004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
33262
33263 * Makefile.in: Update copyright.
33264 * genmodsrc.sh: Likewise.
33265 * gensymlist.sh: Likewise.
33266 * term/i386/pc/vga.c: Indent correctly.
33267
33268 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
33269 bugreporting address.
33270 * util/i386/pc/pupa-setup.c (usage): Likewise,
33271 (main): Call pupa_ext2_init and pupa_ext2_fini.
33272
f19dbdb7 33273 * fs/fat.c (log2): Renamed to ...
8c8cc205 33274 (fat_log2): ... this.
33275 All callers changed.
33276 * kern/misc.c (memcpy): Alias to pupa_memmove.
33277 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
33278 lvalue cast.
33279 * util/console.c (pupa_ncurses_fini): Return 0.
33280
33281 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
33282 Move fail label here.
33283 [__GNU__]: Don't warn when using stat.
33284 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
33285 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
33286 long int. Use strtol instead of strtoul.
f19dbdb7 33287
db1771cf 332882004-03-14 Marco Gerards <metgerards@student.han.nl>
33289
33290 * commands/boot.c: New file.
33291 * commands/cat.c: Likewise.
33292 * commands/cmp.c: Likewise.
33293 * commands/ls.c: Likewise.
33294 * commands/terminal.c: Likewise.
33295 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
33296 (pupa_register_command): Changed interface to match the new
33297 argument parser.
33298 (pupa_command_execute): Changed (almost rewritten) so it uses
33299 pupa_split_command. Added support for setting variables using the
33300 syntax `foo=bar'.
33301 (rescue_command): Changed to work with the new argument parser.
33302 (terminal_command): Moved from here to commands/terminal.c.
33303 (set_command): New function.
33304 (unset_command): New function.
33305 (insmod_command): New function.
33306 (rmmod_command): New function.
33307 (lsmod_command): New function.
33308 (pupa_command_init): Don't initialize the command terminal
33309 anymore. Initialize the commands set, unset, insmod, rmmod and
33310 lsmod.
33311 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
33312 (kernel_img_HEADERS): Add arg.h and env.h.
33313 (pupa_mkimage_LDFLAGS): Add kern/env.c.
33314 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
33315 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
33316 normal/arg.c.
33317 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
33318 terminal.mod.
33319 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
33320 (boot_mod_SOURCES): New variable.
33321 (terminal_mod_SOURCES): Likewise.
33322 (ls_mod_SOURCES): Likewise.
33323 (cmp_mod_SOURCES): Likewise.
33324 (cat_mod_SOURCES): Likewise.
33325
33326 * normal/arg.c: New file.
33327 * kern/env.c: Likewise.
33328 * include/pupa/arg.h: Likewise.
33329 * include/pupa/env.h: Likewise.
33330 * font/manager.c (font_command): Changed to match argument parsing
33331 interface changes.
33332 (PUPA_MOD_INIT): Likewise.
33333 * hello/hello.c (pupa_cmd_hello): Likewise.
33334 (PUPA_MOD_INIT): Likewise.
33335 * include/pupa/disk.h: Include <pupa/device.h>.
33336 (pupa_print_partinfo): New prototype.
33337 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
33338 (pupa_dl_get_prefix): Likewise.
33339 * include/pupa/misc.h: Include <pupa/err.h>.
33340 (pupa_isgraph): New prototype.
33341 (pupa_isdigit): Likewise.
33342 (pupa_split_cmdline): Likewise.
33343 * include/pupa/normal.h: Include <pupa/arg.h>.
33344 (pupa_command): Changed the prototype of the member `func' to
33345 match the argument parsing interface. Added member `options'.
33346 (pupa_register_command): Updated to match function.
33347 (pupa_arg_parse): New prototype.
33348 (pupa_hello_init) [PUPA_UTIL]: New prototype.
33349 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
33350 (pupa_ls_init) [PUPA_UTIL]: Likewise.
33351 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
33352 (pupa_cat_init) [PUPA_UTIL]: Likewise.
33353 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
33354 (pupa_boot_init) [PUPA_UTIL]: Likewise.
33355 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
33356 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
33357 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
33358 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
33359 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
33360 * kern/disk.c: Include <pupa/file.h>.
33361 (pupa_print_partinfo): New function.
33362 * kern/dl.c: Include <pupa/env.h>.
33363 (pupa_dl_dir): Variable removed.
33364 (pupa_dl_load): Use the environment variable `prefix' instead of
33365 the variable pupa_dl_dir.
33366 (pupa_dl_set_prefix): Function removed.
33367 (pupa_dl_get_prefix): Likewise.
33368 * kern/i386/pc/init.c: Include <pupa/env.h>.
33369 (pupa_machine_init): Use the environment variable `prefix' instead of
33370 using pupa_dl_set_prefix to set the prefix.
33371 * kern/main.c: Include <pupa/env.h>.
33372 (pupa_set_root_dev): Use the environment variable `prefix' instead of
33373 using pupa_dl_get_prefix to get the prefix.
33374 * kern/misc.c: Include <pupa/env.h>.
33375 (pupa_isdigit): New function.
33376 (pupa_isgraph): Likewise.
33377 (pupa_ftoa): Likewise.
33378 (pupa_vsprintf): Added support for printing values of the type
33379 `double'. Make it possible to format variable output when using
33380 formatting like `%1.2%f'.
33381 (pupa_split_cmdline): New function.
33382 * kern/rescue.c: Include <pupa/env.h>.
33383 (next_word): Removed function.
33384 (pupa_rescue_cmd_prefix): Likewise.
33385 (pupa_rescue_cmd_set): New function.
33386 (pupa_rescue_cmd_unset): New function.
33387 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
33388 split the command line instead of splitting it here. Added
33389 support for setting variables using the syntax `foo=bar'. Don't
33390 initialize the prefix command anymore. Initialized the set and
33391 unset commands.
33392 * normal/cmdline.c: Include <pupa/env.h>.
33393 (pupa_tab_complete): Added prototypes for print_simple_completion,
33394 print_partition_completion, add_completion, iterate_commands,
33395 iterate_dev, iterate_part and iterate_dir. Moved code to print
33396 partition information from here to kern/disk.c.
fe6b695a 33397 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 33398 * normal/main.c: Include <pupa/env.h>.
33399 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
33400 instead of using pupa_dl_get_prefix to get the prefix.
33401 * term/i386/pc/vga.c: Include <pupa/arg.h>.
33402 (check_vga_mem): Cast pointers to `void *' to silence a gcc
33403 warning.
33404 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
33405 (pupa_vga_setcolor): Declare unused variables with `__attribute__
33406 ((unused))' to silence a gcc warning.
33407 (pupa_vga_setcolor): Likewise.
33408 (debug_command): Changed to match argument parsing
33409 interface changes.
33410 * util/pupa-emu.c: Include <pupa/env.h>.
33411 (options): Added 0's for unused fields to silence a gcc warning.
33412 (argp): Likewise.
33413 (main): Use the environment variable `prefix' instead of using
33414 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
33415 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
33416 and terminal.
33417
33418 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
33419 * util/misc.c: Include <malloc.h>.
33420 (pupa_malloc): Rewritten so errors are correctly reported.
33421 (pupa_realloc): Likewise.
33422 (pupa_memalign): Likewise.
33423 (pupa_mm_init_region): Declare unused variables with
33424 `__attribute__ ((unused))' to silence a gcc warning.
33425 * normal/i386/setjmp.S: Remove tab at the end of the file to
33426 silence a gcc warning.
33427 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
33428 variables with `__attribute__ ((unused))' to silence a gcc
33429 warning.
33430 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
33431 local variable i unsigned to silence a gcc warning.
33432
33433 * kern/term.c: Include <pupa/misc.h>.
33434 (pupa_more_lines): New variable.
33435 (pupa_more): Likewise.
33436 (pupa_putcode): When the pager is active pause at the end of every
33437 screen.
33438 (pupa_set_more): New function.
33439 * include/pupa/term.h (pupa_set_more): New prototype.
33440
33441
3b1139cb 334422004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
33443
33444 Now this project is GRUB 2 rather than PUPA. The location of
33445 the CVS repository was moved to GRUB's.
f19dbdb7 33446
3b1139cb 33447 * configure.ac: Use bug-grub as the reporting address.
33448 Use GRUB instead of PUPA.
33449 Change the version number to 1.90.
33450
8367695c 334512004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
33452
33453 * genkernsyms.sh: Updated copyright information.
33454 * genmk.rb: Likewise.
33455 * genmodsrc.sh: Likewise.
33456 * gensymlist.sh: Likewise.
33457 * boot/i386/pc/boot.S: Likewise.
33458 * boot/i386/pc/diskboot.S: Likewise.
33459 * disk/i386/pc/biosdisk.c: Likewise.
33460 * disk/i386/pc/partition.c: Likewise.
33461 * font/manager.c: Likewise.
33462 * fs/ext2.c: Likewise.
33463 * fs/fat.c: Likewise.
33464 * include/pupa/boot.h: Likewise.
33465 * include/pupa/device.h: Likewise.
33466 * include/pupa/disk.h: Likewise.
33467 * include/pupa/dl.h: Likewise.
33468 * include/pupa/elf.h: Likewise.
33469 * include/pupa/err.h: Likewise.
33470 * include/pupa/file.h: Likewise.
33471 * include/pupa/font.h: Likewise.
33472 * include/pupa/fs.h: Likewise.
33473 * include/pupa/kernel.h: Likewise.
33474 * include/pupa/loader.h: Likewise.
33475 * include/pupa/misc.h: Likewise.
33476 * include/pupa/mm.h: Likewise.
33477 * include/pupa/net.h: Likewise.
33478 * include/pupa/normal.h: Likewise.
33479 * include/pupa/rescue.h: Likewise.
33480 * include/pupa/setjmp.h: Likewise.
33481 * include/pupa/symbol.h: Likewise.
33482 * include/pupa/term.h: Likewise.
33483 * include/pupa/types.h: Likewise.
33484 * include/pupa/i386/setjmp.h: Likewise.
33485 * include/pupa/i386/types.h: Likewise.
33486 * include/pupa/i386/pc/biosdisk.h: Likewise.
33487 * include/pupa/i386/pc/boot.h: Likewise.
33488 * include/pupa/i386/pc/console.h: Likewise.
33489 * include/pupa/i386/pc/init.h: Likewise.
33490 * include/pupa/i386/pc/kernel.h: Likewise.
33491 * include/pupa/i386/pc/linux.h: Likewise.
33492 * include/pupa/i386/pc/loader.h: Likewise.
33493 * include/pupa/i386/pc/memory.h: Likewise.
33494 * include/pupa/i386/pc/multiboot.h: Likewise.
33495 * include/pupa/i386/pc/partition.h: Likewise.
33496 * include/pupa/i386/pc/time.h: Likewise.
33497 * include/pupa/i386/pc/vga.h: Likewise.
33498 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
33499 * include/pupa/util/getroot.h: Likewise.
33500 * include/pupa/util/misc.h: Likewise.
33501 * include/pupa/util/resolve.h: Likewise.
33502 * kern/device.c: Likewise.
33503 * kern/disk.c: Likewise.
33504 * kern/dl.c: Likewise.
33505 * kern/err.c: Likewise.
33506 * kern/file.c: Likewise.
33507 * kern/fs.c: Likewise.
33508 * kern/loader.c: Likewise.
33509 * kern/main.c: Likewise.
33510 * kern/misc.c: Likewise.
33511 * kern/mm.c: Likewise.
33512 * kern/rescue.c: Likewise.
33513 * kern/term.c: Likewise.
33514 * kern/i386/dl.c: Likewise.
33515 * kern/i386/pc/init.c: Likewise.
33516 * kern/i386/pc/lzo1x.S: Likewise.
33517 * kern/i386/pc/startup.S: Likewise.
33518 * loader/i386/pc/chainloader.c: Likewise.
33519 * loader/i386/pc/linux.c: Likewise.
33520 * loader/i386/pc/multiboot.c: Likewise.
33521 * normal/cmdline.c: Likewise.
33522 * normal/command.c: Likewise.
33523 * normal/main.c: Likewise.
33524 * normal/menu.c: Likewise.
33525 * normal/i386/setjmp.S: Likewise.
33526 * term/i386/pc/console.c: Likewise.
33527 * term/i386/pc/vga.c: Likewise.
33528 * util/console.c: Likewise.
33529 * util/genmoddep.c: Likewise.
33530 * util/misc.c: Likewise.
33531 * util/pupa-emu.c: Likewise.
33532 * util/resolve.c: Likewise.
33533 * util/unifont2pff.rb: Likewise.
33534 * util/i386/pc/biosdisk.c: Likewise.
33535 * util/i386/pc/getroot.c: Likewise.
33536 * util/i386/pc/pupa-mkimage.c: Likewise.
33537 * util/i386/pc/pupa-setup.c: Likewise.
33538
e6eced71 335392004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
33540
33541 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
33542 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
33543 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
33544 reading and reset it after reading.
33545 (pupa_ext2_close): Return PUPA_ERR_NONE.
33546
33547 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
33548 Correct value.
33549 (struct linux_kernel_header): Add kernel_version and
33550 initrd_addr_max.
33551 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
33552 pupa_file_read succeeds.
33553 (pupa_rescue_cmd_initrd): Implement.
33554
5aded270 335552003-12-03 Marco Gerards <metgerards@student.han.nl>
33556
33557 * fs/ext2.c (pupa_ext2_label): New function.
33558 (pupa_ext2_fs): Added label.
33559 * fs/fat.c (pupa_fat_label): New function.
33560 (pupa_fat_fs): Added label.
33561 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
33562
33563 * kern/misc.c (pupa_strndup): New function.
33564 * include/pupa/misc.h (pupa_strndup): New prototype.
33565
33566 * include/pupa/normal.h: Include <pupa/err.h>.
33567 (pupa_set_history): New prototype.
33568 (pupa_iterate_commands): New prototype.
33569 * normal/cmdline.c: Include <pupa/machine/partition.h>,
33570 <pupa/disk.h>, <pupa/file.h>.
33571 (hist_size): New variable.
33572 (hist_lines): Likewise.
33573 (hist_end): Likewise.
33574 (hist_used): Likewise.
33575 (pupa_set_history): New function.
33576 (pupa_history_get): Likewise.
33577 (pupa_history_add): Likewise.
33578 (pupa_history_replace): Likewise.
33579 (pupa_tab_complete): Likewise.
33580 (pupa_cmdline_run): Added tab completion and history buffer. Tab
33581 completion shows partitionnames while completing partitions, this
33582 feature was suggested by Jeff Bailey.
33583 * normal/command.c (pupa_iterate_commands): New function.
33584 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
33585 (pupa_normal_init): Initialize history buffer.
33586 (PUPA_MOD_INIT): Likewise.
33587 (pupa_normal_fini): Free the history buffer.
33588 (PUPA_MOD_FINI): Likewise.
33589
33590 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
33591 key.
33592
33593 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
33594 * configure.ac [i386]: Check for regparam bug.
33595 (NESTED_FUNC_ATTR) [! i386]: Defined.
33596
1f7315a3 335972003-11-17 Marco Gerards <metgerards@student.han.nl>
33598
33599 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
33600 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
33601 (pupa_emu_SOURCES): New variable.
33602 (pupa_emu_LDFLAGS): Likewise.
33603 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
33604 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
33605 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
33606 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
33607 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
33608 (pupa_jmp_buf): New typedef.
33609 (pupa_setjmp) [PUPA_UTIL]: New macro.
33610 (pupa_longjmp) [PUPA_UTIL]: Likewise.
33611 * include/pupa/term.h (struct pupa_term): New member `refresh'.
33612 (pupa_refresh): New prototype.
33613 * include/pupa/util/getroot.h: New file.
33614 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
33615 it.
33616 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
33617 (pupa_rescue_cmd_cat): Likewise.
33618 (pupa_rescue_cmd_ls): Likewise.
33619 (pupa_rescue_cmd_testload): Likewise.
33620 (pupa_rescue_cmd_lsmod): Likewise.
33621 * normal/cmdline.c (pupa_cmdline_get): Likewise.
33622 * normal/menu.c (run_menu): Likewise.
33623 * kern/term.c (pupa_cls): Likewise.
33624 (pupa_refresh): New function.
33625 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
33626 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
33627 * util/console.c: New file.
f19dbdb7 33628
1f7315a3 33629 * util/i386/pc/getroot.c: New file.
33630 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
33631 (pupa_putchar): New function.
33632 (pupa_refresh): Likewise.
33633 (xgetcwd): Function moved to ...
33634 (strip_extra_slashes): Likewise.
33635 (get_prefix): Likewise.
f19dbdb7 33636 * util/i386/pc/getroot.c: ... here.
1f7315a3 33637 (find_root_device): Function moved and renamed to...
33638 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
33639 Changed all callers.
33640 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
33641 and renamed to...
33642 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
33643 Changed all callers.
33644 * util/misc.c (pupa_memalign): New function.
33645 (pupa_mm_init_region): Likewise.
33646 (pupa_register_exported_symbols): Likewise.
33647 (pupa_putchar): Function removed.
33648 * util/pupa-emu.c: New file.
33649
9a5c1ade 336502003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
33651
33652 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
33653 (_multiboot_mod_SOURCES): New variable.
33654 (_multiboot_mod_CFLAGS): Likewise.
33655 * loader/i386/pc/multiboot.c: New file.
33656 * include/pupa/i386/pc/multiboot.h: Likewise.
33657 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
33658 (pupa_multiboot_real_boot): New function.
33659 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
33660 (pupa_multiboot_real_boot): New prototype.
33661 (pupa_rescue_cmd_multiboot): Likewise
33662 (pupa_rescue_cmd_module): Likewise.
33663
33664 * kern/loader.c (pupa_loader_set): Continue when
33665 pupa_loader_unload_func() fails.
33666 (pupa_loader_unset): New function.
33667 * include/pupa/loader.h (pupa_loader_unset): New prototype.
33668
33669 * kern/misc.c (pupa_stpcpy): New function.
33670 * include/pupa/misc.h (pupa_stpcpy): New prototype.
33671
8e72a9c0 336722003-11-12 Marco Gerards <metgerards@student.han.nl>
33673
33674 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
33675 for available extensions.
33676
33677 * include/pupa/i386/pc/time.h: New file.
33678 * kern/disk.c: Include <pupa/machine/time.h>.
33679 (PUPA_CACHE_TIMEOUT): New macro.
33680 (pupa_last_time): New variable.
33681 (pupa_disk_open): Flush the cache when there was a timeout.
33682 (pupa_disk_close): Reset the timer.
33683 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
33684 pupa_currticks.
33685 * util/misc.c: Include <sys/times.h>
33686 (pupa_get_rtc): New function.
33687
c4adbd32 336882003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
33689
33690 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
33691 as blocks.
33692 (pupa_ext2_get_file_block): Use blocks member.
33693
33694 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
33695 first block. Return -1 instead of pupa_errno on error.
33696
bfd30f06 336972003-10-27 Marco Gerards <metgerards@student.han.nl>
33698
33699 * README: In the pupa-mkimage example use _chain instead of chain
33700 and ext2 instead of fat.
33701 * TODO: Replace ext2fs with jfs as an example. Add an item for
33702 adding journal playback for ext2fs.
33703 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
33704 (pkgdata_MODULES): Added ext2.mod.
33705 (ext2_mod_SOURCES): New variable.
33706 (ext2_mod_CFLAGS): Likewise.
33707 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
33708 * include/pupa/misc.h (pupa_strncpy): New prototype.
33709 (pupa_strcat): Likewise.
33710 (pupa_strncmp): Likewise.
33711 * kern/misc.c (pupa_strcat): Enable function.
33712 (pupa_strncpy): New function.
33713 (pupa_strncmp): Likewise.
33714 * fs/ext2.c: New file.
f19dbdb7 33715
bfd30f06 33716 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
33717 when the read failed before retrying.
33718 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
33719 (_FILE_OFFSET_BITS): Likewise.
33720 * configure.ac: Added AC_SYS_LARGEFILE.
33721
98d15063 337222003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
33723
33724 * genmk.rb (PModule#rule): Make sure to get only symbol names
33725 from the output of nm.
59cad637 33726 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 33727
18d9c7cd 337282003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
33729
33730 I forgot to check in these changes for a long time. This adds
33731 incomplete support for VGA console, and this is still very
33732 buggy. Also, a lot of consideration is required for I18N,
33733 UNICODE, and VGA font issues. Therefore, assume that this is
33734 such that "better than nothing".
f19dbdb7 33735
18d9c7cd 33736 * font/manager.c: New file.
33737 * include/pupa/font.h: Likewise.
33738 * include/pupa/i386/pc/vga.h: Likewise.
33739 * term/i386/pc/vga.c: Likewise.
33740 * util/unifont2pff.rb: Likewise.
33741
33742 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
33743 (pkgdata_MODULES): Added vga.mod and font.mod.
33744 (vga_mod_SOURCES): New variables.
33745 (vga_mod_CFLAGS): Likewise.
33746 (font_mod_SOURCES): Likewise.
33747 (font_mod_CFLAGS): Likewise.
33748
33749 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
33750
33751 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 33752 (struct pupa_term): Added init and fini.
18d9c7cd 33753 Changed the argument of putchar to pupa_uint32_t.
33754
33755 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
33756 (pupa_console_real_putchar): New prototype.
33757 (pupa_console_putchar): Removed.
33758 (pupa_console_checkkey): Exported.
33759 (pupa_console_getkey): Likewise.
33760
33761 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
33762 characters.
33763
33764 * kern/term.c (pupa_term_set_current): Rewritten.
33765 (pupa_putchar): Likewise.
33766 (pupa_putcode): New function.
33767
33768 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
33769 (pupa_console_real_putchar): ... this.
33770 (pupa_vga_set_mode): New function.
33771 (pupa_vga_get_font): Likewise.
33772
33773 * normal/command.c: Include pupa/term.h.
33774 (terminal_command): New function.
33775 (pupa_command_init): Register the command "terminal".
33776
33777 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
33778 (DISP_UP): Likewise.
33779 (DISP_RIGHT): Likewise.
33780 (DISP_DOWN): Likewise.
33781 (DISP_HLINE): Likewise.
33782 (DISP_VLINE): Likewise.
33783 (DISP_UL): Likewise.
33784 (DISP_UR): Likewise.
33785 (DISP_LL): Likewise.
33786 (DISP_LR): Likewise.
33787
33788 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 33789
977329f5 337902003-02-08 NIIBE Yutaka <gniibe@m17n.org>
33791
33792 * util/resolve.c (pupa_util_resolve_dependencies): BUG
33793 FIX. Reverse the path_list.
33794
33795 * include/pupa/normal.h: Export pupa_register_command and
33796 pupa_unregister_command.
33797
33798 * hello/hello.c (pupa_cmd_hello): New module.
33799 * conf/i386-pc.rmk: Added hello.mod.
33800
1f5ab428 338012003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
33802
33803 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 33804
1f5ab428 33805 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
33806 (compress_kernel): New variable.
33807 (generate_image): Heavily modified to support compressing a
33808 large part of the core image.
33809
33810 * util/misc.c (pupa_util_read_image): Fix a file descriptor
33811 leak.
33812 (pupa_util_load_image): New function.
33813
33814 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
33815 (pupa_compressed_size): New variable.
33816 (codestart): Enable Gate A20 here.
33817 Decompress the compressed part of the core image.
33818 Rearrange the code to put functions and variables which are
33819 required for initialization in the non-compressed part.
33820 Include lzo1x.S.
33821
33822 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
33823 here.
33824
33825 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
33826
f19dbdb7 33827 * include/pupa/i386/pc/kernel.h
1f5ab428 33828 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
33829 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
33830 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
33831 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
33832 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
33833
33834 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
33835
33836 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
33837 (Utility#rule): Likewise.
33838
33839 * configure.ac: Check if LZO is available.
33840
ce5bf700 338412003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
33842
33843 * include/pupa/normal.h: New file.
33844 * include/pupa/setjmp.h: Likewise.
33845 * include/pupa/i386/setjmp.h: Likewise.
33846 * normal/cmdline.c: Likewise.
33847 * normal/command.c: Likewise.
33848 * normal/main.c: Likewise.
33849 * normal/menu.c: Likewise.
33850 * normal/i386/setjmp.S: Likewise.
f19dbdb7 33851
ce5bf700 33852 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
33853 (pupa_rescue_cmd_initrd): Likewise.
33854
33855 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
33856 Likewise.
33857
33858 * kern/i386/pc/startup.S (translation_table): New variable.
33859 (translate_keycode): New function.
33860 (pupa_console_getkey): Call translate_keycode.
33861
33862 * kern/rescue.c (attempt_normal_mode): New function.
33863 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
33864 it failed, print a message.
33865
33866 * kern/mm.c (pupa_real_malloc): Print more information when a
33867 free magic is broken.
33868 (pupa_free): If the first free header is not free actually, set
33869 it to P.
33870
33871 * kern/main.c (pupa_load_normal_mode): Just load the module
33872 "normal".
33873 (pupa_main): Don't print the message
33874 "Entering into rescue mode..." here.
33875
33876 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
33877 Declared.
33878 (pupa_rescue_cmd_initrd): Likewise.
33879 (pupa_rescue_cmd_initrd): Likewise.
33880
33881 * include/pupa/symbol.h (FUNCTION): Specify the type.
33882 (VARIABLE): Likewise.
33883
33884 * include/pupa/err.h (pupa_err_t): Added
33885 PUPA_ERR_UNKNOWN_COMMAND.
33886
33887 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
33888 (pupa_dl_get_prefix): Likewise.
33889
33890 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
33891 Added _chain.mod and _linux.mod instead of chain.mod and
33892 linux.mod.
33893 (chain_mod_SOURCES): Renamed to ...
33894 (_chain_mod_SOURCES): ... this.
33895 (chain_mod_CFLAGS): Renamed to ...
33896 (_chain_mod_CFLAGS): ... this.
33897 (linux_mod_SOURCES): Renamed to ...
33898 (_linux_mod_SOURCES): ... this.
33899 (linux_mod_CFLAGS): Renamed to ...
33900 (_linux_mod_CFLAGS): ... this.
33901 (normal_mod_SOURCES): New variable.
33902 (normal_mod_CFLAGS): Likewise.
33903 (normal_mod_ASFLAGS): Likewise.
33904
339052003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
33906
33907 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
33908 possible.
33909
fe6b695a 33910 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 33911 recursively.
33912 (pupa_dl_unref): Unrefer depending modules recursively.
33913 Don't call pupa_dl_unload implicitly, because PUPA can crash if
33914 a module is unloaded before one depending on that module is
33915 unloaded.
33916 (pupa_dl_unload): Unload depending modules explicitly,
33917 if possible.
33918
c04da074 339192003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
33920
33921 * include/pupa/i386/pc/linux.h: New file.
33922 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 33923
c04da074 33924 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
33925 Removed.
33926 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
33927 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
33928 of PUPA_CHAINLOADER_BOOT_SECTOR.
33929
33930 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
33931 (pupa_linux_prot_size): New variable.
33932 (pupa_linux_tmp_addr): Likewise.
33933 (pupa_linux_real_addr): Likewise.
33934 (pupa_linux_boot_zimage): New function.
33935 (pupa_linux_boot_bzimage): Likewise.
33936
33937 * kern/i386/pc/init.c (struct mem_region): New structure.
33938 (MAX_REGIONS): New macro.
33939 (mem_regions): New variable.
33940 (num_regions): Likewise.
33941 (pupa_os_area_addr): Likewise.
33942 (pupa_os_area_size): Likewise.
33943 (pupa_lower_mem): Likewise.
33944 (pupa_upper_mem): Likewise.
33945 (add_mem_region): New function.
33946 (compact_mem_regions): Likewise.
33947 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
33948 the size of the conventional memory and that of so-called upper
33949 memory (before the first memory hole).
33950 Instead of adding each found region to free memory, use
33951 add_mem_region and add them after removing overlaps.
33952 Also, add only 1/4 of the upper memory to free memory. The rest
33953 is used for loading OS images. Maybe this is ad hoc, but this
33954 makes it much easier to relocate OS images when booting.
33955
33956 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
33957 (pupa_enter_rescue_mode): Don't register initrd and module.
33958
33959 * kern/mm.c: Include pupa/dl.h.
33960
33961 * kern/main.c: Include pupa/file.h and pupa/device.h.
33962
33963 * kern/loader.c (pupa_loader_load_module_func): Removed.
33964 (pupa_loader_load_module): Likewise.
33965
33966 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
33967 ``.o''.
33968
33969 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
33970 (pupa_linux_tmp_addr): Likewise.
33971 (pupa_linux_real_addr): Likewise.
33972 (pupa_linux_boot_zimage): Likewise.
33973 (pupa_linux_boot_bzimage): Likewise.
33974
33975 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
33976 (pupa_upper_mem): Likewise.
33977 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
33978 module is too dangerous.
33979
33980 * include/pupa/loader.h (pupa_os_area_addr): Declared.
33981 (pupa_os_area_size): Likewise.
33982 (pupa_loader_set): Remove the first argument. Loader doesn't
33983 manage modules or initrd any longer.
33984 (pupa_loader_load_module): Removed.
33985
33986 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
33987 (linux_mod_SOURCES): New variable.
33988 (linux_mod_CFLAGS): Likewise.
33989
a13f9237 339902003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
33991
33992 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
33993 the length of a blocklist correctly.
33994
33995 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
33996 Use ioctl only if the OS file is a block device.
33997 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
33998 not very useful for normal files.
33999
34000 * kern/main.c (pupa_set_root_dev): New function.
34001 (pupa_load_normal_mode): Likewise.
34002 (pupa_main): Call those above.
34003
34004 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
34005 pupa_uint16_t.
34006
34007 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
34008
a5ffe966 340092003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34010
34011 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
34012 (setup): Configure the installed partition information and the
34013 dl prefix.
34014
34015 * loader/i386/pc/chainloader.c (my_mod): New variable.
34016 (pupa_chainloader_unload): New function.
34017 (pupa_rescue_cmd_chainloader): Refer itself.
34018 (PUPA_MOD_INIT): Save its own module in MY_MOD.
34019
34020 * kern/i386/pc/startup.S (install_partition): Removed.
34021 (version_string): Likewise.
34022 (config_file): Likewise.
34023 (pupa_install_dos_part): New variable.
34024 (pupa_install_bsd_part): Likewise.
34025 (pupa_prefix): Likewise.
34026 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
34027
34028 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
34029 and pupa/misc.h.
34030 (make_install_device): New function.
34031 (pupa_machine_init): Set the dl prefix.
34032
34033 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
34034 (buf): Renamed to ...
34035 (linebuf): ... this.
34036 (pupa_rescue_cmd_prefix): New function.
34037 (pupa_rescue_cmd_insmod): Likewise.
34038 (pupa_rescue_cmd_rmmod): Likewise.
34039 (pupa_rescue_cmd_lsmod): Likewise.
34040 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
34041 rmmod and lsmod.
34042
34043 * kern/mm.c (pupa_memalign): If failed even after invalidating
34044 disk caches, unload unneeded modules and retry.
34045
34046 * kern/misc.c (pupa_memmove): New function.
34047 (pupa_memcpy): Removed.
34048 (pupa_strcpy): New function.
34049 (pupa_itoa): Made static.
34050
34051 * kern/dl.c (pupa_dl_iterate): New function.
34052 (pupa_dl_ref): Likewise.
34053 (pupa_dl_unref): Likewise.
34054 (pupa_dl_unload): Return if succeeded or not.
34055 (pupa_dl_unload_unneeded): New function.
34056 (pupa_dl_unload_all): Likewise.
34057 (pupa_dl_init): Renamed to ...
34058 (pupa_dl_set_prefix): ... this.
34059 (pupa_dl_get_prefix): New function.
34060
34061 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
34062 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
34063 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
34064 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
34065 (pupa_install_dos_part): Declared.
34066 (pupa_install_bsd_part): Likewise.
34067 (pupa_prefix): Likewise.
34068 (pupa_boot_drive): Likewise.
34069
34070 * include/pupa/types.h: Fix a typo.
34071
34072 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
34073 pupa_memmove.
34074 (pupa_memmove): Declared.
34075 (pupa_strcpy): Likewise.
34076
34077 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
34078 pupa_mod_init takes one argument, its own module.
34079 (pupa_dl_unload_unneeded): Declared.
34080 (pupa_dl_unload_all): Likewise.
34081 (pupa_dl_ref): Likewise.
34082 (pupa_dl_unref): Likewise.
34083 (pupa_dl_iterate): Likewise.
34084 (pupa_dl_init): Renamed to ...
34085 (pupa_dl_set_prefix): ... this.
34086 (pupa_dl_get_prefix): Declared.
34087
34088 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 34089 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 34090 unloaded.
34091 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
34092 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
34093
34094 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
34095 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
34096
012d7999 340972003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
34098
34099 * util/i386/pc/pupa-setup.c (setup): Define the internal
34100 function find_first_partition_start at the top level, because GCC
34101 3.0.x cannot compile internal functions in deeper scopes
34102 correctly.
34103 (find_root_device): Use lstat instead of stat.
34104 Don't follow symbolic links.
34105 Fix the path-constructing code.
34106
34107 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
34108 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
34109 by a BLKGETSIZE ioctl first, because block devices don't fill
34110 the member st_mode of the structure stat on Linux.
34111 [__linux__] (linux_find_partition): Use a temporary buffer
34112 REAL_DEV for the working space. Copy it to DEV before returning.
34113 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
34114 buffer cache consistent.
34115 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
34116 strncmp. The previous value was merely wrong.
34117 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
34118
34119 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
34120 FAT size is 12. The previous value was merely wrong.
34121
34122 * kern/main.c (pupa_main): Don't split the starting message from
34123 newlines.
34124
34125 * kern/term.c (pupa_putchar): Put CR after LF instead of before
34126 LF, because BIOS goes crazy about character attributes in this
34127 case.
34128
1cc73a62 341292003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
34130
34131 * include/i386/pc/util/biosdisk.h: New file.
34132 * util/i386/pc/biosdisk.c: Likewise.
34133 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 34134
1cc73a62 34135 * Makefile.in (INCLUDE_DISTFILES): Added
34136 include/pupa/i386/pc/util/biosdisk.h.
34137 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
34138 directory util/i386/pc.
34139 (install-local): Added a rule for sbin_UTILITIES.
34140 (uninstall): Likewise.
34141
34142 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
34143
34144 * util/misc.c (xrealloc): New function.
34145 (pupa_malloc): Likewise.
34146 (pupa_free): Likewise.
34147 (pupa_realloc): Likewise.
34148 (pupa_stop): Likewise.
34149 (pupa_putchar): Likewise.
34150
34151 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
34152
34153 * include/pupa/util/misc.h (xrealloc): Declared.
34154
34155 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
34156 macro.
34157 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
34158 (PUPA_BOOT_MACHINE_BPB_END): ... this.
34159
34160 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
34161 [PUPA_UTIL] (pupa_fat_fini): Likewise.
34162
34163 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
34164 way should be implemented.
34165 [PUPA_UTIL] (pupa_fat_fini): Likewise.
34166
34167 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
34168 the size of NAME for safety.
34169 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
34170 0x88.
34171
34172 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
34173 (pupa_setup_SOURCES): Likewise.
34174
34175 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
34176
08b70fe8 341772002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
34178
34179 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
34180 bunch of pushl's from pusha, because this destroys the return
34181 value.
34182
62ddcc8f 341832002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
34184
34185 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
34186 This means that any missing prototypes could be fatal. Also, you
34187 must take care when writing assembly code. See the comments at
34188 the beginning of startup.S, for more details.
f19dbdb7 34189
62ddcc8f 34190 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
34191 compilation mechanism.
34192 (pupa_chainloader_real_boot): Likewise.
34193 (pupa_biosdisk_rw_int13_extensions): Likewise.
34194 (pupa_biosdisk_rw_standard): Likewise.
34195 (pupa_biosdisk_check_int13_extensions): Likewise.
34196 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
34197 (pupa_biosdisk_get_diskinfo_standard): Likewise.
34198 (pupa_get_memsize): Likewise.
34199 (pupa_get_mmap_entry): Likewise.
34200 (pupa_console_putchar): Likewise.
34201 (pupa_console_setcursor): Likewise.
34202 (pupa_getrtsecs): Use pushl instead of push.
34203
34204 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
34205 memory instead of the stack for a mmap entry, because some
34206 BIOSes may ignore the maximum size and overflow.
34207
34208 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
34209
34210 * genmk.rb (PModule#rule): Compile automatically generated
34211 sources with module-specific CFLAGS as well as other sources.
34212
9962ed99 342132002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
34214
34215 * configure.ac: Check ld.
34216 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
34217 respectively, before checking endianness and sizes.
34218
34219 * Makefile.in (LD): New variable.
f19dbdb7 34220
abdfc3c5 342212002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
34222
34223 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
34224
6a161fa9 342252002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
34226
34227 * Changelog: New file.
34228