]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* util/grub-mkimage.c (generate_image): Silence spurious warning.
[grub2.git] / ChangeLog
CommitLineData
3cb38f01
VS
12012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * util/grub-mkimage.c (generate_image): Silence spurious warning.
4
d9dbf11e
VS
52012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
8 avoid conflicts.
9
0c42a45d
VS
102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11
12 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
13
46c34eb0
VS
142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
15
16 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
17 and grub_file_close call.
18
99ce1597
VS
192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
20
21 Add LZSS Mach-O support (needed for new xnu kernelcache).
22
23 * grub-core/Makefile.core.def (xnu): Add file lzss.c
24 * grub-core/loader/lzss.c: New file.
25 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
26 on Mach-O open failure.
27 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
28 Don't free cmdsXX in uncompressedXX is set.
29 (grub_macho_file): Init new fields.
30 New argument is_64bit. All users updated.
31 Handle compressed. Error out if no suitable architecture is found.
32 Don't close file.
33 (grub_macho_open): New argument is_64bit. All users updated.
34 * grub-core/loader/macho32.c: Add defines for new fields.
35 * grub-core/loader/macho64.c: Likewise.
36 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
37 (grub_macho_parse): Handle compressed.
38 Defer actual processing if compressed.
39 (grub_macho_cmds_iterate): Decompress if compressed. New argument
40 "filename". All users updated.
41 (grub_macho_size): New argument "filename". All users updated.
42 (grub_macho_get_entry_point): Likewise.
43 (grub_macho_load): Handle compressed.
44 * include/grub/macho.h (grub_macho_lzss_header): New struct.
45 (GRUB_MACHO_LZSS_OFFSET): New define.
46 (grub_decompress_lzss): New proto.
47 * include/grub/machoload.h (grub_macho_file): New fields to handle
48 compressed.
49 (grub_macho_contains_macho64): Remove proto.
50 (grub_macho_contains_macho32): Likewise.
51 * util/grub.d/30_os-prober.in: Use kernel cache if available.
52
ebd17d6f
VS
532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
54
55 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
56
2702b4e4
VS
572012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
58
59 Fix make dist.
60
61 * Makefile.am (starfield_theme_files): New var.
62 (starfield_DATA): Use starfield_theme_files.
63 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
64 Add bootcheck-related files.
65 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
66 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
67 and font_char_metrics.txt.
68 * grub-core/Makefile.core.def (kernel): Update extra_dist.
69 (setjmp): Add lib/ia64/longjmp.S.
70 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
71 * po/POTFILES.in: Regenerate.
72 * po/Rules-swiss: use DISTFILES.common.extra2 and not
73 DISTFILES.common.extra1.
74 * util/devicemap.c: Removed.
75 * grub-core/lib/i386/relocator_backward.S: Likewise.
76 * util/import_gcry.py: Remove unused files. Add extra_dist for
77 ChangeLog.
78
cf1adfdf
VS
792012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
80
81 * grub-core/gettext/gettext.c (grub_mofile_open): Call
82 grub_gettext_delete_list before changing grub_gettext_max to avoid
83 running out of array bounds.
84
852012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
86
87 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
88 grub_vga_text_init/grub_vga_text_fini.
89
cf1adfdf 902012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
91
92 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
93
541d92e9
VS
942012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
95
96 * configure.ac: Bump to 2.00~beta0.
97
7931dddf
VS
982012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
99
100 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
101 missing initialisation.
102
f1b16fa3
VS
1032012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
104
105 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
106
83ddae23
VS
1072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
108
109 Support v2 xnu boot arguments.
110
111 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
112 New argument fsbfreq_out.
113 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
114 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
115 be used.
116 * grub-core/loader/machoXX.c (grub_macho_load): New argument
117 darwin_version.
118 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
119 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
120 (grub_xnu_boot_params): Rename to ...
121 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
122 (grub_xnu_boot_params_v2): New struct.
123
dc693fe6
VS
1242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
125
126 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
127 zeroing of CRC field before computing CRC.
128
5a6e39c2
VS
1292012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
130
131 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
132 Change order of allocations to decrease fragmentation.
133
6c21f5d7
VS
1342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
135
136 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
137
cfe456dc
CW
1382012-02-27 Colin Watson <cjwatson@ubuntu.com>
139
140 Use write-combining MTRR to speed up video with buggy BIOSes.
141
142 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
143 (cpuid): New define.
144 (rdmsr): Likewise.
145 (wrmsr): Likewise.
146 (mtrr_base): Likewise.
147 (mtrr_mask): Likewise.
148 (grub_vbe_enable_mtrr_entry): New function.
149 (grub_vbe_enable_mtrr): Likewise.
150 (grub_vbe_disable_mtrr): Likewise.
151 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
152 control off to BIOS.
153 (grub_video_vbe_init): Fill mtrr.
154 (grub_video_vbe_fini): Disable mtrr.
155 (grub_video_vbe_get_info_and_fini): Likewise.
156 (grub_video_vbe_setup): Enable mtrr.
157
e3c78337
CW
1582012-02-27 Colin Watson <cjwatson@ubuntu.com>
159
160 * include/grub/partition.h (grub_partition_map): Change prototype of
161 embed to take a maximum value for nsectors.
162 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
163 * include/grub/fs.h (grub_fs): Likewise.
164 * grub-core/partmap/msdos.c (embed_signatures): New array.
165 (pc_partition_map_embed): Check for and avoid sectors matching any
166 of the signatures in embed_signatures, up to max_nsectors.
167 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
168 returned sector map to max_nsectors.
169 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
170 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
171 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
172 * util/grub-setup.c (setup): Allow for the embedding area being
173 split into multiple blocklists. Tell dest_partmap->embed the
174 maximum number of sectors we care about.
175
1762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
177
178 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
179 Specify blocklist_install and reserver_first_sector for all fs.
180 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
181 blocklists.
182
984b973f
VS
1832012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
184
185 * util/grub-install.in: Clarify strings.
186 Fix source dir check.
187
f122e0d6
RL
1882012-02-27 Richard Laager <rlaager@wiktel.com>
189
190 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
191 "zfs" and "fuse.zfs" as synonyms.
192
071114bb
VS
1932012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
194
195 * configure.ac: Put platform and target_cpu substitutions back since
196 they are used for directories.
197
817e6abc
RL
1982012-02-27 Richard Laager <rlaager@wiktel.com>
1992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
200
201 * util/grub.d/10_linux.in: Add ZFS-related arguments.
202 * util/grub.d/20_linux_xen.in: Likewise.
203
897b7419
RL
2042012-02-27 Richard Laager <rlaager@wiktel.com>
205
206 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
207 with full paths.
208
a414bd15
RL
2092012-02-27 Richard Laager <rlaager@wiktel.com>
210
211 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
212 unescape.
213
30ac48c4
VS
2142012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
215
216 Don't use insecure popen in getroot.
217
218 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
219 (exec_pipe): ... here.
220 (find_root_devices_from_poolname): Use exec_pipe.
221
53f13848
VS
2222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
223
224 Remove platform and target_cpu replacement.
225
226 * configure.ac: Remove platform and target_cpu substitutions.
227 * tests/util/grub-shell.in: Use modinfo.
228 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
229 explicitly.
230
90cb2803
VS
2312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
232
233 Autodetect platform in grub-install but allow override.
234
235 * util/grub-install.in: Autodetect platform. Support --target and
236 --directory. Read platform from modinfo.sh.
237
b9136427
VS
2382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
239
240 Support btrfs multi-volume probe.
241
242 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
243 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
244 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
245 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
246 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
247 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
248 grub_find_root_devices_from_btrfs if on btrfs.
249
c36e5cd1
VS
2502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
251
252 Remove any awareness of *.c util files about target.
253
254 * Makefile.util.def (grub-setup): Split to ...
255 (grub-bios-setup): ... and this.
256 (grub-sparc64-setup): ... and this.
257 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
258 * docs/man/grub-setup.h2m: Split into ...
259 * docs/man/grub-sparc64-setup.h2m: ... this.
260 * docs/man/grub-bios-setup.h2m: ... and this.
261 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
262 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
263 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
264 (grub_target_addr_t): Remove.
265 (grub_target_size_t): Remove.
266 (grub_target_ssize_t): Remove.
267 * util/grub-install.in: Use new grub-*-setup.
268 * util/grub-mkimagexx.c (Elf_Word): New define.
269 (Elf_Half): Likewise.
270 (Elf_Section): Likewise.
271 (ELF_ST_TYPE): Likewise.
272 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
273 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
274
584b2f8a
VS
2752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
276
277 Replace grub_target_addr with more appropriate types.
278
279 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
280 grub_target_addr with grub_addr.
281 * grub-core/commands/iorw.c (grub_cmd_read): Replace
282 grub_target_addr with grub_port.
283 (grub_cmd_write): Likewise.
284 * grub-core/commands/memrw.c (grub_cmd_read): Replace
285 grub_target_addr with grub_addr.
286 (grub_cmd_write): Likewise.
287 * grub-core/video/efi_uga.c (find_line_len): Likewise.
288
5a0dc6fb
VS
2892012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
290
291 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
292 const qualifier for vendor_guid.
293
786aff6e
VS
2942012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
295
296 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
297 const qualifier.
298 (efiemu_memequal): Likewise.
299 (find_variable): Likewise.
300
49017b17
VS
3012012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
302
303 Fix missing console prototype on qemu-mips.
304
305 * include/grub/mips/qemu_mips/console.h: New file.
306
c5988629
MG
3072012-02-27 Matthew Garrett <mjg@redhat.com>
3082012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
309
310 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
311 * include/grub/efi/efi.h: Likewise.
312 * include/grub/efi/api.h: Add guid for EFI-specified variables.
313 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
314 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
315 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
316 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
317 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
318
e33f8d69
MG
3192012-02-27 Matthew Garrett <mjg@redhat.com>
320
321 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
322
fb312cd9
VS
3232012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
324
325 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
326 error.
327
7134247c
VS
3282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
329
330 * configure.ac: Remove inappropriate use of program_transform_name
331 on grubdir and bootdir but allow explicit specification of those
332 variables.
333
6a313124
VS
3342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
335
336 * util/grub-mknetdir.in (grub_prefix): Removed.
337 (subdir): Use @bootdirname@ and @grubdirname@.
338
2311c5ca
VS
3392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
340
341 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
342
7d5d60f7
VS
3432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
344
345 * po/POTFILES.in: Regenerated.
346
8151bc82
VS
3472012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
348
349 Remove improper use of program_transform_name on pkglibrootdir.
350
351 * configure.ac (pkglibrootdir): Removed.
352 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
353 * util/grub-mkimage.c: Likewise.
354
b4a6a533
VS
3552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
356
357 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
358 warning.
359
668f304f
VS
3602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
361
362 * util/grub-install.in: Use file identifier if no UUID is available
363 or user explicitly prompted for it.
364
665f2341
NP
3652012-02-27 Navdeep Parhar <nparhar@gmail.com>
366
367 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
368 (freebsd_get_zfs): New function.
369 (grub_freebsd_boot): Pass zfs UUID.
370 (grub_cmd_freebsd): Set zfs UUID.
371
8151bc82 3722012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
373
374 * conf/Makefile.common (platformdir): Base on pkglibdir and not
375 pkglibrootdir.
376
e4c498a1
MG
3772012-02-27 Mike Gilbert <floppym@gentoo.org>
378
379 Add configure flag to control libzfs integration.
380
381 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
382
1e9a9a3f
VS
3832012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
384
385 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
386 device.
387 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
388 small devices.
389
036985b8
VS
3902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
391
392 Remove grub_{modname}_init and grub_{modname}_fini. They should never
393 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
394 be used on non-modules.
395
396 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
397 Rename to grub_boot_init.
398 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
399 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
400 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
401 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
402 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
403 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
404 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
405 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
406 includes.
407 (grub_machine_init): Remove empty inits.
408 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
409 includes.
410 (grub_machine_init): Remove empty inits.
411 * grub-core/term/arc/console.c: Remove explicit proto.
412 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
413 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
414 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
415 grub_at_keyboard_fini.
416 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
417 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
418 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
419 grub_gfxterm_fini.
420 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
421 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
422 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
423 grub_vgatext_fini.
424 * grub-core/term/ieee1275/console.c: Remove explicit proto.
425 * grub-core/term/serial.c (GRUB_MOD_INIT)
426 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
427 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
428 grub_serial_fini.
429 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
430 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
431 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
432 grub_terminfo_fini.
433 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
434 (GRUB_MOD_FINI): Likewise.
435 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
436 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
437 (GRUB_MOD_FINI) [LOONGSON]: Rename to
438 grub_video_radeon_fuloong2e_fini.
439 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
440 [LOONGSON]: Rename to grub_video_sis315pro_init.
441 (GRUB_MOD_FINI) [LOONGSON]: Rename to
442 grub_video_sis315pro_fini.
443 * grub-core/video/sm712.c (GRUB_MOD_INIT)
444 [LOONGSON]: Rename to grub_video_sm712_init.
445 (GRUB_MOD_FINI) [LOONGSON]: Rename to
446 grub_video_sm712_fini.
447 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
448 (grub_at_keyboard_fini): Likewise.
449 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
450 Don't declare grub_{modname}_init.
451 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
452 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
453 New proto.
454 (grub_keylayouts_fini) [!EMU]: Likewise.
455 * include/grub/serial.h (grub_serial_init) [!EMU]:
456 New proto.
457 (grub_serial_fini) [!EMU]: Likewise.
458 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
459 New proto.
460 (grub_terminfo_fini) [!EMU]: Likewise.
461 * include/grub/video.h (grub_font_init) [!EMU]:
462 New proto.
463 (grub_font_fini) [!EMU]: Likewise.
464 (grub_gfxterm_init) [!EMU]: Likewise.
465 (grub_gfxterm_fini) [!EMU]: Likewise.
466 (grub_video_sm712_init) [!EMU]: Likewise.
467 (grub_video_sm712_fini) [!EMU]: Likewise.
468 (grub_video_sis315pro_init) [!EMU]: Likewise.
469 (grub_video_sis315pro_fini) [!EMU]: Likewise.
470 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
471 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
472
d5534665
VS
4732012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
474
475 Make nand a prefix for nand devices.
476
477 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
478
10133b5f
VS
4792012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
480
481 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
482 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
483
8e307a62
VS
4842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
485
486 * include/grub/env.h (grub_env_find): Remove prototype.
487 * grub-core/kern/env.c (grub_env_find): Make static.
488 (grub_env_set): Remove useless set.
489
a4c65f34
VS
4902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
491
492 * grub-core/kern/i386/realmode.S: Remove useless align.
493
d87893d5
VS
4942012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
495
496 * include/grub/dl.h (grub_dl_load_file): Don't export.
497
50159add
VS
4982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
499
500 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
501 grub_dprintf.
502
b2582b84
VS
5032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
504
505 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
506 grub_errors.
507 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
508 not reloading whole superblock but only the part which is really needed.
509 Remove useless grub_errors.
510 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
511 grub_errors.
512
e2a83395
VS
5132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
514
515 Don't export grub_get_rtc.
516
517 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
518 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
519
e7d2a906
VS
5202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
521
522 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
523
6cf1363b
VS
5242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
525
526 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 527 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 528
eece3349
VS
5292012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
530
531 Remove prio_list.
532
533 * include/grub/list.h (grub_prio_list): Removed.
534 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
535 GRUB_COMMAND_PRIO_MASK.
536 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
537 GRUB_COMMAND_FLAG_ACTIVE.
538 (grub_prio_list_insert): Removed.
539 (grub_prio_list_remove): Likewise.
540 (GRUB_AS_PRIO_LIST): Likewise.
541 (GRUB_AS_PRIO_LIST_P): Likewise.
542 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
543 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
544 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
545 * grub-core/kern/command.c (grub_register_command_prio): Inline
546 the prio_list code.
547 (grub_unregister_command): Likewise.
548
94f064b4
VS
5492012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
550
551 Fix interrupt mixup from previous commit.
552
553 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
554 (grub_realidt): New var.
555 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
556 Load idt.
557 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
558 New declaration.
559 (grub_relocator16_boot): Set grub_relocator16_idt.
560 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
561 (LOCAL(realidt)): ... this.
562 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
563 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
564 (grub_realidt): New variable.
565
27317084
VS
5662012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
567
568 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
569 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
570 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
571 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
572 Gettextize.
573 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
574 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
575 * po/POTFILES.in: Regenerate.
576
47b40053
VS
5772012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
578
579 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
580 errors.
581
2b343101
VS
5822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
583
584 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
585 \0.
586 (add_length): Likewise.
587
ff27c3dd
LK
5882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5892012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
590
591 GDB serial and backtrace support.
592
593 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
594 (prot_to_real): Likewise.
595 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
596 * grub-core/Makefile.core.def (backtrace): New module.
597 (gdb): Likewise.
598 * grub-core/gdb/cstub.c: New file.
599 * grub-core/gdb/gdb.c: Likewise.
600 * grub-core/gdb/i386/idt.c: Likewise.
601 * grub-core/gdb/i386/machdep.S: Likewise.
602 * grub-core/gdb/i386/signal.c: Likewise.
603 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 604 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
605 * include/grub/backtrace.h: Likewise.
606 * include/grub/gdb.h: Likewise.
607 * include/grub/i386/gdb.h: Likewise.
608
6092012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
610
611 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
612 New function.
613 (add_length): Likewise.
614 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
615 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
616 proto.
617 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
618 __argp_get_display_len.
619
ff27c3dd 6202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
621
622 $"..." support in scripts.
623
624 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
625 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
626 * grub-core/script/yylex.l: Likewise.
627 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
628 value.
629
ff27c3dd 6302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
631
632 * gentpl.py: Remove obsolete pkglib_DATA handling.
633
ff27c3dd 6342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
635
636 Don't transform PACKAGE_TARNAME following a discussion on autoconf
637 mailing list.
638
639 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
640 * util/grub-kbdcomp.in: Likewise.
641 * util/grub-mkconfig.in: Likewise.
642 * util/grub-mkconfig_lib.in: Likewise.
643 * util/grub-mknetdir.in: Likewise.
644 * util/grub-mkrescue.in: Likewise.
645 * util/grub-mkstandalone.in: Likewise.
646 * util/grub-reboot.in: Likewise.
647 * util/grub-set-default.in: Likewise.
648 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
649
ff27c3dd 6502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
651
652 Remove GRUB_PREFIX.
653
654 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
655 * util/grub.d/00_header.in: Compute prefix in the only place it's still
656 used for backward compatibility.
657
ff27c3dd 6582012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
659
660 Add new all_video module.
661
662 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
663 * grub-core/Makefile.core.def (all_video): New module.
664 * grub-core/genmoddep.awk: Generate dependency of all_video from
665 video.lst.
666 * grub-core/lib/fake_module.c: New file.
667 * grub-core/normal/main.c (features): Add feature_all_video_module.
668 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
669 don't do explicit search again.
47454da5 670 insmod all_video in load_video if available.
22c7ce85 671
ff27c3dd 6722012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
673
674 Another round of string clarification and adding TRANSLATORS comments.
675
ff27c3dd 6762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
677
678 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
679
ff27c3dd 6802012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
681
682 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
683 to grub_ssize_t.
684 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
685 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
686
ff27c3dd 6872012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
688
689 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
690 trailing newline implicitly. All users updated.
691
ff27c3dd 6922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
693
694 Implement serial on IEEE1275 and EFI.
695
696 * docs/grub.texi (Platform-specific limitations): Fix the columen video
697 on emu. Mention arc and emu as the only platforms without serial
698 support.
699 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
700 ieee1275 platforms.
701 * grub-core/term/efi/serial.c: New file.
702 * grub-core/term/ieee1275/serial.c: Likewise.
703 * grub-core/term/serial.c (grub_serial_find): Disable direct port
704 specification if no ns8250 driver is available.
705 (grub_cmd_serial): Likewise.
706 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
707 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
708 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
709 (grub_efi_parity_type_t): New type.
710 (grub_efi_stop_bits_t): Likewise.
711 (grub_efi_serial_io_interface): New struct.
712 * include/grub/serial.h (grub_serial_port): Make 'broken' field
713 available for all interfaces.
714 Add EFI and IEEE1275 fields.
715 (grub_ofserial_init): New proto.
716 (grub_efiserial_init): Likeiwse.
717 * util/grub.d/00_header.in: Don't check for the presence of serial
718 module.
719
ff27c3dd 7202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
721
722 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
723 name as if it was an alias.
724
114076ef
VS
7252012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
726
727 * grub-core/commands/lsacpi.c (options): Fix typo.
728
6a656b0e
VS
7292012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
730
731 Convert grub-emu to argp.
732
733 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
734 emu.
735 * util/argp_common.c: Rename to ...
736 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
737 Add missing includes.
738 * grub-core/kern/emu/main.c: Convert to argp.
739 * po/POTFILES.in: Regenerate.
740 * util/grub-install.in (usage): Make first letter lowcase in messages
741 for uniformity.
742 * util/grub-setup.c (options): Likewise.
743
1e3f8ae8
VS
7442012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
745
746 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
747 Put back accidently commented-out code.
748
ed167a80
VS
7492012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
750
751 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
752 loop check using Brent algorithm.
753 (grub_hfsplus_btree_search): Likewise.
754
6753c0ec
VS
7552012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
756
757 * util/grub-install.in: Fix usage of wrong device for PreP install.
758
4e27343f
VS
7592012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
760
761 * conf/Makefile.common (CFLAGS_GNULIB): Add
762 -Wno-unsafe-loop-optimizations.
763 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
764 on tools.
765 * grub-core/commands/legacycfg.c: Add pragma to skip
766 -Wunsafe-loop-optimizations.
767 (check_password_md5_real): Fix loop counter type.
768 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
769 reading.
770 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
771 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
772 loop condition.
773 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
774 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
775 * grub-core/net/net.c (grub_net_route_address): Add safety loop
776 condition.
777 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
778 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
779 avoid possible infinite loops.
780 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
781 and -Wunsafe-loop-optimizations.
782 * grub-core/script/yylex.l: Likewise.
783 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
784 (print_glyphs): Avoid infinite loops.
785 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
786
697f18b0
GS
7872012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
788
789 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
790 to avoid infinite loop.
791 (disp_acpi_rsdt_table): Likewise.
792
274416e8
VS
7932012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
794
795 * grub-core/font/font.c (grub_font_load): Add support for default
796 path for fonts ($prefix/fonts).
797 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
798 for checking if string is a path.
799 * grub-core/normal/main.c (features): Add feature_default_font_path.
800 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
801 * util/grub.d/00_header.in: Use default directory if possible.
802 * util/grub-install.in: Install unicode.pf2.
803
b3e08622
VS
8042012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
805
806 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
807 * po/Rules-swiss: New file.
808 * po/swiss.sed: Likewise.
809
fe42ce09
VS
8102012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
811
812 * grub-core/fs/btrfs.c (find_device): Fix typos.
813 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
814 * util/grub-mkrelpath.c (argp_parser): Likewise.
815 Reported by: Yuri Chornoivan.
816
72f1d065
DO
8172012-02-23 Dalet Omega <daletomega@gmail.com>
818
819 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
820 for usual informative messages.
821
c5884973
DO
8222012-02-23 Dalet Omega <daletomega@gmail.com>
823
824 Starfield theme.
825
826 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
827 * conf/Makefile.common: Define starfielddir.
828 * configure.ac: Configure starfield.
829 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
830 * themes/starfield/README: Likewise.
831 * themes/starfield/blob_w.png: Likewise.
832 * themes/starfield/boot_menu_c.png: Likewise.
833 * themes/starfield/boot_menu_e.png: Likewise.
834 * themes/starfield/boot_menu_n.png: Likewise.
835 * themes/starfield/boot_menu_ne.png: Likewise.
836 * themes/starfield/boot_menu_nw.png: Likewise.
837 * themes/starfield/boot_menu_s.png: Likewise.
838 * themes/starfield/boot_menu_se.png: Likewise.
839 * themes/starfield/boot_menu_sw.png: Likewise.
840 * themes/starfield/boot_menu_w.png: Likewise.
841 * themes/starfield/slider_c.png: Likewise.
842 * themes/starfield/slider_n.png: Likewise.
843 * themes/starfield/slider_s.png: Likewise.
844 * themes/starfield/src/blob_nw.xcf: Likewise.
845 * themes/starfield/src/bootmenu/: Likewise.
846 * themes/starfield/src/bootmenu/center.xcf: Likewise.
847 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
848 * themes/starfield/src/bootmenu/side.xcf: Likewise.
849 * themes/starfield/src/slider_c.xcf: Likewise.
850 * themes/starfield/src/slider_n.xcf: Likewise.
851 * themes/starfield/src/slider_s.xcf: Likewise.
852 * themes/starfield/src/terminalbox/: Likewise.
853 * themes/starfield/src/terminalbox/center.xcf: Likewise.
854 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
855 * themes/starfield/src/terminalbox/side.xcf: Likewise.
856 * themes/starfield/starfield.png: Likewise.
857 * themes/starfield/terminal_box_c.png: Likewise.
858 * themes/starfield/terminal_box_e.png: Likewise.
859 * themes/starfield/terminal_box_n.png: Likewise.
860 * themes/starfield/terminal_box_ne.png: Likewise.
861 * themes/starfield/terminal_box_nw.png: Likewise.
862 * themes/starfield/terminal_box_s.png: Likewise.
863 * themes/starfield/terminal_box_se.png: Likewise.
864 * themes/starfield/terminal_box_sw.png: Likewise.
865 * themes/starfield/terminal_box_w.png: Likewise.
866 * themes/starfield/theme.txt: Likewise.
867
17d73325
VS
8682012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
869
870 * util/grub.d/00_header.in: Add missing export theme.
871
dbebaf92
VS
8722012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
875 already included.
876 Reported by: Eren D.
877
3d68bffb
VS
8782012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
879
880 * conf/Makefile.common (grubdatadir): Removed.
881 (Makefile.am): Move eveything grubdata to pkgdata.
882
4b59234d
VS
8832012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
884
885 * grub-core/commands/acpihalt.c (get_sleep_type):
886 Remove unused variable.
887
463dcadc
VS
8882012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
889
890 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
891 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
892 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
893 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
894 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
895 i18n with gettext no-op.
896 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
897 GRUB_ACPI_OPCODE_STRING_CONST.
898 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
899 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
900
e5b90c82
VS
9012012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
902
903 * po/POTFILES.in: Regenerate.
904
2a704ca9
VS
9052012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
906
907 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
908 -Wno-error=missing-noreturn.
909
84f9d341
VS
9102012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
911
912 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
913 condition to avoid possibly infinite loops.
914 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
915 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
916
d46683f9
VS
9172012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
920 condition to avoid possibly infinite loops.
921
c44866b2
VS
9222012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
923
924 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
925 on show_error.
926
96790539
VS
9272012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
928
929 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
930
1ba7e295
VS
9312012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
932
933 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
934
21ffe8f1
VS
9352012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
936
937 * util/bin2h.c (usage): Add missing attribute noreturn.
938
0ccb6b3c
VS
9392012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
940
941 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
942 if the size isn't divisible by 512.
943
b00d7fb6
VS
9442012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
945
946 Make list_push and list_remove functions rather than inline functions
947 to decrease size and avoid aliasing violations.
948
949 * include/grub/list.h (grub_list_push): Move to ...
950 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
951 * include/grub/list.h (grub_list_remove): Move to ...
952 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
953
9d369087
VS
9542012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
955
956 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
957 and -Wunused-result.
958
af0250d9
VS
9592012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
960
961 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
962 Reported by: Seth Goldberg
963
aad32b14
VS
9642012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
965
966 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
967
ac96441c
ST
9682012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
969
970 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
971 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
972 command line.
973 * docs/grub.texi (Simple configuration): Document
974 GRUB_CMDLINE_GNUMACH.
975
9762012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
977
978 * conf/Makefile.common (platform_SCRIPTS): New variable.
979 (platform_PROGRAMS): Likewise.
980 * gentpl.py: Mark *,module and *.image for install.
981 * grub-core/gdb_grub.in: Add a notice of expected environment.
982 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
983 (gmodule.pl): Likewise.
984
ac96441c 9852012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
986
987 Replace grub_checkkey with grub_getkey_noblock.
988
989 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
990 (grub_getkey_noblock): ... this. All users updated.
991
ac96441c 9922012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
993
994 * grub-core/kern/emu/console.c: Move to ...
995 * grub-core/term/emu/console.c: ...here.
996 (grub_ncurses_getkey): Fix return value if no key is detected.
997
e51b5666
VS
9982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
1001 (grub_unit_test_fini): Likewise.
1002 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
1003
10042012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1005
1006 * include/grub/test.h (GRUB_UNIT_TEST)
1007
d9a62292
VS
10082012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1009
1010 * grub-core/script/execute.c (grub_script_break): Clarify logic.
1011 Better error handling.
1012 (grub_script_return): Likewise.
1013 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
1014
77c9182f
VS
10152012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1016
1017 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
1018 rimplicit redifinition.
1019
edb13cf9
VS
10202012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1021
1022 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
1023 GRUB.
1024
a9e9dc7c
VS
10252012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
1028 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
1029 prompt here.
1030
b4ba8e02
VS
10312012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1032
1033 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
1034 as GRUB_ERR_BUG. Don't malloc if no device is available.
1035
dded5540
VS
10362012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
1039 Mark calling with invalid term as GRUB_ERR_BUG.
1040
0cf69874
VS
10412012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1042
1043 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
1044 packets rather than raising an error.
1045
59bfe502
VS
10462012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1047
1048 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
1049 in if.
1050
db5fc596
VS
10512012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
1054 diagnostic to dprintf.
1055 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1056
e4b7f404
VS
10572012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1058
1059 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
1060 device name.
1061
e7b02f9e
VS
10622012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1063
1064 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
1065 (grub_ntfs_iterate_dir): Likewise.
1066
0331e102
VS
10672012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1068
1069 Efiemu stylistic fixes and gettext.
1070
1071 * grub-core/efiemu/i386/loadcore32.c
1072 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
1073 * grub-core/efiemu/i386/loadcore64.c
1074 (grub_arch_efiemu_relocate_symbols64): Likewise.
1075 * grub-core/efiemu/i386/pc/cfgtables.c
1076 (grub_machine_efiemu_init_tables): Likewise.
1077 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
1078 (grub_efiemu_loadcore_initXX): Add a filename argument.
1079 All users updated.
1080 Improved error message.
1081 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
1082 Add a filename argument.
1083 All users updated.
1084 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
1085 Reclassify double relocation as GRUB_ERR_BUG.
1086
306fc074
VS
10872012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1088
1089 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
1090 handling.
1091
794d8ef2
VS
10922012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
1095 on partition.
1096
10972012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
1098
1099 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
1100
794d8ef2 11012012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
1102
1103 Improve string. Gettextize.
1104
78dde88e
VS
11052012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
1108 utils.
1109 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
1110
4786a90f
VS
11112012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1112
1113 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
1114 [GRUB_UTIL]: New function.
1115 (insert_array) [GRUB_UTIL]: Store partmaps.
1116 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
1117 partmaps.
1118 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
1119 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
1120 (probe_abstraction): Print diskfilter and not raid.
1121 Reported by: Lennart Sorensen
1122
0b6225bd
VS
11232012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1124
1125 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
1126 * util/grub-mkimagexx.c (MASK3): New define.
1127 (add_value_to_slot_20b): Use MASK3.
1128 (add_value_to_slot_21): Likewise.
1129 (relocate_addresses): Fix format specification.
1130 (load_image): Explicitly init symtab_section.
1131
b055f8f6
VS
11322012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1133
1134 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
1135 (grub_util_biosdisk_get_grub_dev): Fix format specification.
1136
b77c2fb7
VS
11372012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1138
1139 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
1140 on powerpc.
1141 Reported by: Lennart Sorensen
1142
e3ec28ab
VS
11432012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 * gentpl.py: Add missing license header.
1146 * docs/grub.texi: Update copyright year.
1147
c8d9ead6
GS
11482012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
1149
1150 Source grub-mkconfig_lib from the build directory at build time.
1151 Suggested by: Vladimir Serbinenko.
1152
1153 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
1154 * util/grub-install.in: Define pkgdatadir if not already set, and source
1155 grub-mkconfig_lib from there.
1156 * util/grub-kbdcomp.in: Likewise.
1157 * util/grub-mkconfig.in: Likewise.
1158 * util/grub-mknetdir.in: Likewise.
1159 * util/grub-mkrescue.in: Likewise.
1160 * util/grub-mkstandalone.in: Likewise.
1161 * util/grub-reboot.in: Likewise.
1162 * util/grub-set-default.in: Likewise.
1163 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1164
ebcecdf1
VS
11652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1166
1167 Increase warning level.
1168
1169 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
1170 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
1171 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
1172 (TARGET_CFLAGS): Likewise.
1173 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
1174 * grub-core/Makefile.core.def (decompressor_xz): Add
1175 -Wno-unreachable-code.
1176 (normal): Add -Wno-redundant-decls.
1177 (xzio): Add -Wno-unreachable-code.
1178 (lzopio): Add -Wno-redundant-decls -Wno-error.
1179 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
1180 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
1181 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
1182 * grub-core/kern/dl.c: Add exception to -Wcast-align.
1183 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
1184 * grub-core/kern/i386/coreboot/init.c: Add exception to
1185 -Wsuggest-attribute=noreturn.
1186 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
1187 * grub-core/kern/ia64/dl_helper.c: Likewise.
1188 * grub-core/kern/mips/dl.c: Likewise.
1189 * grub-core/kern/sparc64/dl.c: Likewise.
1190 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
1191 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
1192 (memcmp): Likewise.
1193 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
1194 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
1195 * grub-core/loader/mips/linux.c: Likewise.
1196 * grub-core/loader/multiboot_elfxx.c: Likewise.
1197 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
1198 * grub-core/video/sm712.c: Add exception to -Wcast-align.
1199 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
1200 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
1201 fixme.
1202 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
1203 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
1204 Fix prototype.
1205
37bb97fe
VS
12062012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1207
1208 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
1209 address.
1210
29a3550b
VS
12112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1212
1213 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
1214 Avoid improper use of strings.
1215 (grub_cmd_legacy_initrdnounzip): Likewise.
1216
dfdffd0d
VS
12172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1218
1219 * include/grub/emu/misc.h (grub_util_warn): Add missing format
1220 attribute.
1221 (grub_util_info): Likewise.
1222 (grub_util_error): Likewise.
1223
102fae4a
VS
12242012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1225
1226 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
1227 * util/grub-fstest.c (fstest): Likewise.
1228
7e94d044
VS
12292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1230
1231 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
1232 (grub_md_sha512_real): Likewise.
1233 (grub_util_get_geli_uuid): Likewise.
1234 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
1235 (grub_util_biosdisk_open): Fix format specification.
1236 Respect format security.
1237 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
1238 (xrealloc): Likewise.
1239 (xasprintf): Likewise.
1240
5ebd9769
VS
12412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * util/import_gcry.py: Include grub/crypto.h in init.c.
1244
495fc8c1
VS
12452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1246
1247 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
1248 (generate_image): Make prefix a const char *.
1249 Fix format specifications. Respect format security.
1250 Avoid void * arithmetics.
1251 Avoid shadowing.
1252 (argp_parser): Remove unused variable. Respect format security.
1253 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
1254 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
1255 (count_funcs): Remove unused variable.
1256 (relocate_addresses): Fix format specification.
1257 Disable x86-64 with elf32. Remove unused variables.
1258 (add_fixup_entry): Avoid shadowing.
1259 (make_reloc_section): Fix format specification.
1260 Use assert.
1261 (locate_sections): Fix format specifications.
1262 (load_image): Avoid shadowing.
1263
043c2ea3
VS
12642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1265
1266 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
1267 Fix format specifications. Respect format security.
1268 Don't translate already translated grub_errmsg.
1269 (argp_parser): Remove unused variable
1270
3ec65a81
VS
12712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
1274
a4d9fe4a
VS
12752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
1278 (main): Likewise. Use xmalloc. Respect format security.
1279
15b81d49
VS
12802012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1281
1282 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
1283 a const char *.
1284 (argp_parser): Remove unused variable.
1285
31731fc0
VS
12862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1287
1288 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
1289 (add_pixel): Make static.
1290 (add_font): Likewise.
1291 (write_string_section): Make name and str a const char *.
1292 (write_be16_section): Make name a const char *.
1293 (print_glyphs): Make static.
1294 (write_font_ascii_bitmap): Likewise.
1295 (write_font_width_spec): Likewise.
1296 (write_font_pf2): Likewise.
1297 (argp_parser): Remove unused variable.
1298 Respect format security.
1299 (main): Avoid shadowing. Respect format security.
1300
0809527b
VS
13012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 * util/grub-editenv.c (argp_parser): Make static.
1304 (create_envblk_file): Use xmalloc.
1305 (open_envblk_file): Likewise.
1306 Resepect format security.
1307 (set_variables): Respect format security.
1308
45b0c8b7
VS
13092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1310
1311 * util/getroot.c (grub_find_device): Respect format security.
1312 (get_mdadm_uuid): Remove unused variable.
1313 (grub_util_pull_device): Dont call gettext on already translated
1314 grub_errmsg.
1315 (find_system_device): Remove unused variable.
1316 (grub_util_get_grub_dev): Likewise.
1317 (grub_make_system_path_relative_to_its_root): Respect format security.
1318
1b024b4e
VS
13192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1320
1321 * util/grub-fstest.c (execute_command): Make first argument
1322 a const char *.
1323 (read_file): Avoid shadowing.
1324 Reuse underlying error message if device open fails.
1325 (cmd_cmp): Respect format security.
1326 (root): Make const char *.
1327 (fstest): Remove args argument and use global copy.
1328 Respect format security.
1329 (argp_parser): Make static.
1330 (main): Make default_root const char *.
1331
5d1d4e28
VS
13322012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1333
1334 * util/grub-mount.c (root): Make const char *.
1335 (execute_command): Make first argument a const char *.
1336 (fuse_init): Respect format security.
1337 (argp_parser): Make static. Remove unused variable.
1338 (main): Make default_root a const char *.
1339 Respect format security.
1340
36eb7379
VS
13412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1342
1343 * util/grub-probe.c (probe): Don't call gettext on already translated
1344 grub_errmsg.
1345 Remove unused variables.
1346 (argp_parser): Remove unused variable.
1347
76fb2ea9
VS
13482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1349
1350 * util/grub-script-check.c (argp_parser): Remove unused variable.
1351 (main): Rename read to curread to avoid shadowing.
1352
56c98584
VS
13532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1354
1355 * util/misc.c (grub_util_write_image_at): Fix format specification.
1356 (grub_util_write_image): Likewise.
1357 (grub_script_execute_argument_to_string): Removed (unused).
1358 (grub_script_execute_menuentry): Likewise.
1359 (grub_putchar): Likewise.
1360
164ebb48
VS
13612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1362
1363 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
1364 (FUNCTION) [GRUB_UTIL]: Likewise.
1365 (VARIABLE) [GRUB_UTIL]: Likewise.
1366
44318d61
VS
13672012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
1370 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
1371
31a26002
VS
13722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
1375 buffer.
1376
13772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1378
1379 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
1380 (LzmaEnc_SaveState): Removed (unused).
1381 (LzmaEnc_RestoreState): Likewise.
1382 (LzmaEnc_InitPriceTables): Made static.
1383 (LzmaEnc_Construct): Likewise.
1384 (LzmaEnc_FreeLits): Likewise.
1385 (LzmaEnc_Destruct): Likewise.
1386 (LzmaEnc_Init): Likewise.
1387 (LzmaEnc_InitPrices): Likewise.
1388 (LzmaEnc_Finish): Likewise.
1389 (LzmaEnc_PrepareForLzma2): Removed (unused).
1390 (LzmaEnc_MemPrepare): Likewise.
1391 (LzmaEnc_GetNumAvailableBytes): Likewise.
1392 (LzmaEnc_GetCurBuf): Likewise.
1393 (LzmaEnc_CodeOneMemBlock): Likewise.
1394
6fa67967
VS
13952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
1398 (grub_util_ldm_embed): Likewise.
1399
9a7428e6
VS
14002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 * util/grub-editenv.c (print_var): Rename name to varname to
1403 avoid shadowing.
1404 (main): Rename index to curindex to avoid shadowing.
31a26002 1405 Make filename a const char *.
9a7428e6 1406
4f96abd1
VS
14072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
1410 to arg_getline to avoid shadowing.
1411
44d10dad
VS
14122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1413
1414 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
1415 disk_ to avoid shadowing.
1416
340ba63e
VS
14172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1418
1419 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
1420 curindex to avoid shadowing.
1421 Make static.
1422 (MatchFinder_GetNumAvailableBytes): Make static.
1423
22965bce
VS
14242012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1425
1426 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
1427 avoid shadowing.
1428
7b5784d4
VS
14292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1430
1431 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
1432 argument from encrypt to do_encrypt to avoid shadowing.
1433
6f48ca01
VS
14342012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
1437 incorrect nesting of #if's.
1438
a4ea2dff
VS
14392012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
1442 checks which are always false on some platforms.
1443 (grub_cmd_lsacpi): Likewise.
1444 * grub-core/kern/misc.c (grub_strtoul): Likewise.
1445 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
1446 Likewise.
1447
def9fc1b
VS
14482012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1449
1450 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
1451 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
1452
a67b2a04
VS
14532012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1454
1455 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
1456 re_dfa_t to avoid breaking alignment invariants.
1457 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
1458 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
1459
44c6828d
VS
14602012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1461
1462 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
1463 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
1464
bebe0dd0
VS
14652012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1466
1467 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
1468 Fix declaration.
1469
a9cdb3cf
VS
14702012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1471
1472 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
1473 conserve alignment invariants.
1474 (grub_ehci_ehcc_read16): Likewise.
1475 (grub_ehci_oper_read32): Likewise.
1476 (grub_ehci_oper_write32): Likewise.
1477 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
1478 Conserve alignment invariants.
1479
ccc3b1b8
VS
14802012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1481
1482 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
1483 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
1484 declarations.
1485
987fbd95
VS
14862012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1487
1488 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
1489 Remove unused variable.
1490
0df363f3
VS
14912012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1492
1493 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
1494 Remove set in if.
1495
b2c0c4a6
VS
14962012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1497
1498 * include/grub/net.h: Remove double declarations.
1499
690c531f
VS
15002012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 Remove "payload" command in ia64 Linux loader since I couldn't
1503 find any evidence of it being used for anything.
1504 Replace "relocate" command with an environment variable
1505
1506 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
1507 fields.
1508 (ia64_boot_payload): Removed.
1509 (last_payload): Likewise.
1510 (RELOCATE_OFF): Likewise.
1511 (RELOCATE_ON): Likewise.
1512 (RELOCATE_FORCE): Likewise.
1513 (relocate): Likewise.
1514 (free_pages): Don't free payloads.
1515 (grub_load_elf64): Use common error messages.
1516 Use "linux_relocate" variable.
1517 Increase the space after boot_params.
1518 (grub_cmd_payload): Removed.
1519 (grub_cmd_relocate): Likewise.
1520 (grub_cmd_fpswa): Improve messages.
1521 (cmd_payload): Removed.
1522 (cmd_relocate): Likewise.
1523 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
1524 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
1525
01783768
VS
15262012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1527
1528 Convert UHCI to DMA framework.
1529
1530 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
1531 (grub_uhci_pci_iter): Fill new members
1532 (grub_alloc_td): Use P2V and V2P functions.
1533 (grub_free_queue): Likewise.
1534 (grub_alloc_qh): Likewise.
1535 (grub_uhci_setup_transfer): Likewise.
1536 (grub_uhci_check_transfer): Likewise.
1537
43206939
VS
15382012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1539
1540 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
1541 Remove assignment in if while on it.
1542
571e140e
VS
15432012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1544
1545 * util/grub-mkstandalone.in: Fix modules directory.
1546
a9d96eeb
VS
15472012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
1550 on i386-pc target.
1551 (argp_parser): Accept "auto" as compression specification.
1552
e4e37e8d
VS
15532012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 Fix `help' with unloaded modules.
1556
1557 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
1558 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
1559 (grub_dyncmd_dispatcher): Small stylistic fix.
1560 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
1561 explicit help is requested.
1562
e1ea3ade
VS
15632012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
1566 Explicitly init restart while on it.
1567
27556881
VS
15682012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1569
1570 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
1571 uninited variable.
1572
d65f6b36
VS
15732012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1574
1575 * util/grub-mknetdir.in: Use . rather than source for POSIX
1576 compatibility.
1577
0a1e473c
VS
15782012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1579
1580 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
1581
ce6647c8
VS
15822012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1583
1584 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
1585 variable.
1586
66747894
VS
15872012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1588
1589 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
1590 without quotes.
1591
71645f6e
VS
15922012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1593
1594 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
1595
0e1c1f61
VS
15962012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1597
1598 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
1599 iteration of partitions.
1600
9c4b5c13
VS
16012012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1602
1603 Improve gettext support. Stylistic fixes and error handling fixes while
1604 on it.
1605
215c90cb
VS
16062012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
1609 part. Instead setup the correct stack in RM.
1610 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
1611 for stack.
1612 * include/grub/i386/relocator_private.h: New file.
1613
b5c1f9bf
VS
16142012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1615
1616 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
1617 argument.
1618 * util/grub-fstest.c (options): Add missing DEVICE part.
1619
b525fd83
VS
16202012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1621
1622 Clarify and unify messages.
1623
1624 * grub-core/commands/hashsum.c (options): Unify messages.
1625 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
1626 literal-only message as translatable.
1627 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
1628 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
1629 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
1630 commands.
1631 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
1632 key, not the key used to unlock. Clarify what it's used for.
1633 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
1634 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
1635 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
1636 * util/grub-editenv.c (options): Unify "verbose" message.
1637 * util/grub-fstest.c (read_file): Unify error message.
1638 (fstest): Add quotes around commands.
1639 (options): Unify "verbose" message.
1640 * util/grub-install.in: Add quotes around variable name.
1641 * util/grub-kbdcomp.in: Unify error message.
1642 * util/grub-mkfont.c (main): Likewise.
1643 * util/grub-mkrescue.in: Likewise.
1644 * util/grub-mklayout.c (options): Unify "verbose" message.
1645 * util/grub-mkstandalone.in: Unify help and verbose messages.
1646 * util/grub-mount.c (options): Unify "verbose" message.
1647 * util/grub-probe.c (options): Likewise.
1648 * util/grub-script-check.c (options): Likewise.
1649 * util/grub-setup.c (setup): Unify no-terminator message.
1650 (options): Use DEVICE and not DEV.
1651 Unify "verbose" message.
1652 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
1653
0ae70393
VS
16542012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1655
1656 Improve and unify messages.
1657
1658 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
1659 name. All users updated.
1660 Print filename in error.
1661 (read_device_map): Print filename in error.
1662 * util/getroot.c (grub_guess_root_devices): Print filename in error.
1663 (grub_util_get_os_disk): Likewise.
1664 (grub_util_biosdisk_get_grub_dev): Likewise.
1665 (grub_util_check_block_device): Likewise.
1666 (grub_util_check_char_device): Likewise.
1667 (grub_make_system_path_relative_to_its_root): Likewise.
1668 * util/grub-editenv.c (create_envblk_file): Likewise.
1669 (open_envblk_file): Likewise.
1670 (write_envblk): Likewise.
1671 * util/grub-fstest.c (cmd_cp): Likewise.
1672 (cmd_cat): Likewise.
1673 (cmd_cmp): Likewise.
1674 * util/grub-menulst2cfg.c (main): Likewise.
1675 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
1676 (write_font_width_spec): Likewise.
1677 (write_font_pf2): Likewise.
1678 * util/grub-mkimage.c (generate_image): New argument outname.
1679 All users updated.
1680 Remove unreacheable message.
1681 (options): Unify messages.
1682 (help_filter): Likewise.
1683 * util/grub-mklayout.c (usage): Removed (unused).
1684 (main): Print filename in error.
1685 * util/grub-mkrescue.in: Fix wrong quoting.
1686 * util/grub-setup.c (setup): Print filename in error.
1687 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
1688 (check_sas): Likewise.
1689 * util/misc.c (grub_util_get_fp_size): Removed.
1690 (grub_util_get_image_size): Print filename in error.
1691 (grub_util_read_at): Removed.
1692 (grub_util_read_image): Print filename in error.
1693 (grub_util_load_image): Likewise.
1694 (grub_util_write_image_at): New argument filename. All users updated.
1695 Print filename in error.
1696 (grub_util_write_image): New argument filename. All users updated.
1697 Print filename in error.
1698 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
1699 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
1700
0a96117d
VS
17012012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1702
1703 * grub-core/Makefile.core.def (pxechain): New module.
1704 * grub-core/loader/i386/pc/pxechainloader.c: New file.
1705 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
1706 function.
1707 (grub_pc_net_config_real): Use grub_pxe_get_cached.
1708 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
1709
aca002f7
VS
17102012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1711
1712 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
1713 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
1714 * include/grub/err.h (grub_error_saved): New struct.
1715 (grub_errmsg): Make array size explicit.
1716 * include/grub/misc.h (grub_error_save): New function.
1717 (grub_error_load): Likewise.
1718 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
1719 (grub_error_push): Update `errno' member name.
1720 (grub_error_pop): Likewise
1721 * grub-core/net/tftp.c (tftp_data): New member save_err.
1722 (tftp_receive): Save error.
1723 (tftp_open): Restore error.
1724
a51dab13
VS
17252012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1726
1727 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
1728 to real mode down to execute A20-related code in protected mode as
1729 intended.
1730
eb6e6649
GS
17312012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
1732
1733 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
1734 NULL when the argument `level' has an unexpected value.
1735
92cd0f6e
VS
17362012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1737
1738 Move platform-dependent files from $prefix to $prefix/$platform.
1739
1740 * config.h.in (GRUB_TARGET_CPU): New definition.
1741 (GRUB_PLATFORM): Likewise.
1742 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
1743 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
1744 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
1745 * grub-core/kern/dl.c (grub_dl_load): Likewise.
1746 * grub-core/normal/autofs.c (read_fs_list): Likewise.
1747 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
1748 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
1749 * grub-core/normal/term.c (read_terminal_list): Likewise.
1750 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
1751 $prefix/locale.
1752 (grub_gettext_init_ext): Likewise.
1753 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
1754 grub_platform.
1755 * util/grub-install.in: Update directories.
1756 * util/grub-mknetdir.in: Likewise.
1757 * util/grub-mkrescue.in: Likewise.
1758
db606889
VS
17592012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1760
1761 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
1762 grub_error framework. All users updated.
1763
c39992a4
VS
17642012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1765
1766 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
1767 lists (by always binsearching), improve caching (cache strings
1768 used for binsearch, not only results), improve
1769 maintainability (by using more structured binary search) and correct
1770 error handling.
1771
1e5ec32f
VS
17722012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1773
1774 * grub-core/script/execute.c (grub_script_return): Fix warning.
1775
ac576cde
VS
17762012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1777
1778 * grub-core/script/execute.c (grub_script_return): Fix potential
1779 NULL-dereference.
1780 Reported by: Jim Meyering.
1781
498453f6
VS
17822012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1783
1784 * po/POTFILES.in: Regenerate.
1785 * util/grub-install.in: Gettextize the strings missed in first pass.
1786
8be63f2e
VS
17872012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1788
1789 * Makefile.util.def (grub-mkdevicemap): Removed.
1790 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
1791 * include/grub/util/deviceiter.h: Removed.
1792 * util/deviceiter.c: Likewise.
1793 * util/getroot.c (grub_util_get_os_disk): New function.
1794 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
1795 replacement for EFI.
1796 * util/grub-mkdevicemap.c: Removed.
1797 * util/grub-probe.c (probe): Handle PRINT_DISK.
1798 (argp_parser): Handle -t disk.
1799
8e1e4e39
VS
18002012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1801
1802 * util/grub-mkfont.c: Migrate to argp.
1803 * util/grub-mklayout.c: Likewise.
1804 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1805 * util/grub-mkrelpath.c: Likewise.
1806 * util/grub-probe.c: Likewise.
1807 * util/grub-script-check.c: Likewise.
1808
4459819a
VS
18092012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1810
1811 * util/grub-reboot.in: Add missing datarootdir.
1812 Add missing newline.
1813 * util/grub-set-default.in: Add missing datarootdir.
1814 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
1815 * util/grub-mkrescue.in: Likewise.
1816
f65741c7
VS
18172012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1818
1819 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
1820
c1a33466
VS
18212012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 * util/grub-kbdcomp.in: Add decent help and gettextize.
1824 * docs/man/grub-kbdcomp.h2m: New file.
1825
c76899a0
VS
18262012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1827
1828 Migrate grub-mkimage.c to argp.
1829
1830 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
1831 (grub-setup): Likewise.
1832 * util/grub-setup.c (print_version): Move to ...
1833 * util/argp_common.c (print_version): ... here.
1834 * util/grub-setup.c (argp_program_version_hook): Move to ...
1835 * util/argp_common.c (argp_program_version_hook): ... here.
1836 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
1837 safety.
1838 * util/grub-mkimage.c (main): Migrate to argp.
1839
57db0757
VS
18402012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1841
1842 * util/grub-mkrescue.in: Use same message as
1843 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
1844 for better translations.
1845
18534ad9
VS
18462012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1847
1848 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
1849 options with generic grub-mkrescue.in with the goal of future
1850 merge.
1851
c84ba308
VS
18522012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1853
1854 * grub-core/kern/mm.c: Add missing include of i18n.h
1855 * grub-core/lib/relocator.c: Likewise.
1856
347998c2
VS
18572012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1858
1859 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
1860 error.
1861 (allocate_pages): Check return value.
1862 Replace fatal with error.
1863 (grub_linux_boot): Replace printf with dprintf.
1864 Check find_mmap_size return value.
1865 Replace fatal with error.
1866 Don't call grub_machine_fini.
1867 (grub_load_elf64): Replace printf with dprintf.
1868 (grub_cmd_linux): Likewise.
1869 (grub_cmd_initrd): Likewise.
1870 (grub_cmd_payload): Likewise.
1871
c779226e
VS
18722012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1873
1874 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
1875 message.
1876 * grub-core/video/radeon_fuloong2e.c
1877 (grub_video_radeon_fuloong2e_setup): Likewise.
1878 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
1879 * grub-core/video/video.c (grub_video_set_mode): Don't override
1880 standard out of memory message.
1881
dc87d45a
GS
18822012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1883
1884 NetBSD disk wedge support.
1885
1886 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
1887 [__NetBSD__]: Handle NetBSD disk wedges.
1888 * util/getroot.c (convert_system_partition_to_system_disk)
1889 [__NetBSD__]: Likewise.
1890
055f856f
MW
18912012-02-03 Mark Wooding <mdw@distorted.org.uk>
1892
1893 * util/grub-mkconfig.in: Use umask rather than chmod to create
1894 grub.cfg.new to avoid insecure grub.cfg.
1895
4a9f8346
VS
18962012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1897
1898 * grub-core/commands/ls.c: Gettextize.
1899 * grub-core/commands/setpci.c: Likewise.
1900 * grub-core/commands/videotest.c: Likewise.
1901 * grub-core/disk/geli.c: Likewise.
1902 * grub-core/kern/mm.c: Likewise.
1903 * grub-core/lib/relocator.c: Likewise.
1904 * grub-core/loader/efi/appleloader.c: Likewise.
1905 * grub-core/loader/i386/xnu.c: Likewise.
1906 * grub-core/loader/ia64/efi/linux.c: Likewise.
1907 * grub-core/loader/xnu.c: Likewise.
1908 * grub-core/net/dns.c: Likewise.
1909 * grub-core/net/net.c: Likewise.
1910 * grub-core/script/lexer.c: Likewise.
1911 * grub-core/script/parser.y: Likewise.
1912 * grub-core/script/yylex.l: Likewise.
1913 * util/getroot.c: Likewise.
1914 * util/grub-setup.c: Likewise.
1915
a646a366
VS
19162012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1917
1918 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
1919 number.
1920
54e2be26
VS
19212012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1922
1923 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
1924
f7c71e68
VS
19252012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1926
1927 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
1928 macro.
1929 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
1930 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
1931
a32d5c71
VS
19322012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1933
1934 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
1935 * util/grub-install.in: Gettextize.
1936 * util/grub-mkconfig.in: Likewise.
1937 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
1938 if not available.
1939 (grub_warn): Gettextize.
1940 * util/grub-mknetdir.in: Gettextize.
1941 * util/grub-mkrescue.in: Likewise.
1942 * util/grub-mkstandalone.in: Likewise.
1943 * util/grub-reboot.in: Likewise.
1944 * util/grub-set-default.in: Likewise.
1945 * util/grub.d/00_header.in: Likewise.
1946 * util/grub.d/10_hurd.in: Likewise.
1947 * util/grub.d/10_kfreebsd.in: Likewise.
1948 * util/grub.d/10_linux.in: Likewise.
1949 * util/grub.d/10_netbsd.in: Likewise.
1950 * util/grub.d/10_windows.in: Likewise.
1951 * util/grub.d/20_linux_xen.in: Likewise.
1952 * util/grub.d/30_os-prober.in: Likewise.
1953 * po/POTFILES-shell.in: Regenerate.
1954
69edd81a
RL
19552012-02-03 Richard Laager <rlaager@wiktel.com>
1956
1957 * util/grub-mkimage.c (main): Fix format-security warning.
1958 * util/grub-mkrelpath.c (main): Likewise.
1959 * util/grub-probe.c (main): Likewise.
1960
65f08dbf
RL
19612012-02-03 Richard Laager <rlaager@wiktel.com>
1962
1963 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
1964 failure.
1965 Put back lost PRINT_DRIVE.
1966
e9084abe
RL
19672012-02-03 Richard Laager <rlaager@wiktel.com>
1968
1969 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
1970 (grub_guess_root_devices): Replace strlen with sizeof.
1971 Avoid crash.
1972 (find_root_devices_from_poolname): Remove unused variable.
1973 Handle raidzN.
1974
cf5f7ee7
VS
19752012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 Support install on multi-device filesystems.
1978
1979 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
1980 (grub_guess_root_devices): ...this. Return char **. All users updated.
1981 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
1982 Removed.
1983 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
1984 (find_root_devices_from_poolname): ... here.
1985 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
1986 Support zfs-fuse.
1987 (grub_guess_root_device): Rename to ...
1988 (grub_guess_root_devices): ... this. Return char **. All users updated.
1989 * util/grub-install.in: Handle multi-device filesystems.
1990 * util/grub-probe.c (probe). Make device_names a char **. Add delim
1991 argument. All users updated.
1992 Handle multi-device filesystems.
1993 Use 'delim' as separator.
1994 Remove device check to allow filesystems on file.
1995 (main): Support -0 argument. Handle multi-device.
1996 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
1997 Fix a cross-device check while on it.
1998 (arguments): Remove root_dev.
1999 (argp_parser): Remove -r.
2000 (main): Remove root_dev.
2001
2f53a9ed
VS
20022012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2003
2004 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
2005
17e1d934
VS
20062012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2007
2008 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
2009 symbol.
2010 Reported by: NODA, Kai <nodakai>.
2011
d3e3fab5
VS
20122012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2013
2014 Fix ehci on amd64.
2015
2016 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
2017 pointers.
2018 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
2019 (grub_ehci_setup_qh): Likewise.
2020 (grub_ehci_find_qh): Likewise.
2021 (grub_ehci_transaction): Likewise.
2022 (grub_ehci_setup_transfer): Likewise.
2023 (grub_ehci_check_transfer): Likewise.
2024 (grub_ehci_portstatus): Likewise.
2025 (grub_ehci_detect_dev): Likewise.
2026 (grub_ehci_transfer_controller_data): New field td_last_phys.
2027 (grub_ehci_setup_transfer): Fill td_last_phys.
2028 (grub_ehci_check_transfer): Use td_last_phys.
2029
3008675b
SG
20302012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
2031
2032 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
2033 if no submenu is present.
2034
fc9b5652
AN
20352012-02-01 Aleš Nesrsta <starous@volny.cz>
2036
2037 CBI support.
2038
2039 * include/grub/usb.h (grub_usbms_protocol_t): New values
2040 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
2041 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
2042 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
2043 (grub_usbms_dev): Add subclass, protocol and intrpt.
2044 Remove in_maxsz and out_maxsz.
2045 (grub_usbms_reset): Rename to ...
2046 (grub_usbms_bo_reset): .. this.
2047 (grub_usbms_cbi_cmd): New function.
2048 (grub_usbms_cbi_reset): Likewise.
2049 (grub_usbms_reset): Likewise.
2050 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
2051 (grub_usbms_transfer): Rename to ...
2052 (grub_usbms_transfer_bo): ... this.
2053 (grub_usbms_transfer_cbi): Likewise.
2054 (grub_usbms_transfer): Likewise.
2055
a2b81d53
AN
20562012-02-01 Aleš Nesrsta <starous@volny.cz>
20572012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2058
2059 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
2060 the support for the CS5536 modification thereos and few bugfixes.
2061
2062 * grub-core/Makefile.core.def (ehci): New module.
2063 * grub-core/bus/usb/ehci.c: New file.
2064 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
2065 port and hubaddr. All users updated.
2066 Save port and hubaddr into dev structure.
2067 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
2068 define.
2069 * include/grub/pci.h (grub_dma_phys2virt): New function.
2070 (grub_dma_virt2phys): Likewise.
2071 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
2072
b1d51f02
VS
20732012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2074
2075 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
2076 check as some mkfs implementations omit it.
2077
fc694106
VS
20782012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2079
2080 * docs/grub.texi (Unicode): Mention identifier and space limitations.
2081
6c0920e3
VS
20822012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2083
2084 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
2085 Add new member volname2.
2086 (grub_jfs_label): Use volname2 if available.
2087
d1a46f9a
VS
20882012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2089
2090 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
2091 over last_mounted as seen in image generated by mkfs.nilfs2.
2092 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
2093
dec8ed14
VS
20942012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2095
2096 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
2097 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
2098 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
2099
7397c69b
VS
21002012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2101
2102 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
2103 over the sector.
2104
b3fe42ad
VS
21052012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2106
2107 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
2108 subvolume name (by removing a bogus and useless check).
2109
10476bb0
VS
21102012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2111
2112 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
2113 sizeof while on it.
2114
9c08ad87
VS
21152012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2116
2117 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
2118 (grub_scsi_read_capacity10): ... this.
2119 (grub_scsi_read_capacity16): New function.
2120 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
2121 0xffffffff.
2122 Fix off-by-one error.
2123 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
2124 64-bit unsigned.
2125 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
2126 (grub_scsi_read_capacity10): ... this.
2127 (grub_scsi_read_capacity_data): Rename to ...
2128 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
2129 (grub_scsi_read_capacity16): New struct.
2130 (grub_scsi_read_capacity16_data): Likewise.
2131 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
2132 grub_scsi_cmd_read_capacity10.
2133 New command grub_scsi_cmd_read_capacity16.
2134
bc8d0f45
VS
21352012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2136
2137 SCSI >2TiB support.
2138
2139 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
2140 (grub_scsi_write16): Likewise.
2141 (grub_scsi_read): Use read16 when necessary.
2142 (grub_scsi_write): Likewise.
2143 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
2144 (grub_scsi_write16): Likewise.
2145 (grub_scsi_cmd_t): Add READ16 and WRITE16.
2146
cc774926
VS
21472012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2148
2149 SCSI write support (for usbms mainly).
2150
2151 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
2152 a const pointer.
2153 (grub_scsi_write): Implement.
2154 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
2155
67639fd7
VS
21562012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
2159 variable.
2160
9079d3ed
VS
21612012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2162
2163 * grub-core/lib/posix_wrap/string.h (memchr): New function.
2164
c6a6f204
VS
21652012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2166
2167 * po/POTFILES.in: Regenerate.
2168
ecbf8cd1
VS
21692012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2170
2171 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
2172 with grub_printf to avoid unnecessary fatal failure.
2173
0b3b3b38
VS
21742012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2175
2176 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
2177 (INT_MAX): Likewise.
2178 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
2179 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
2180 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
2181 (strcpy): Likewise.
2182 (strstr): Likewise.
2183 (strchr): Likewise.
2184 (strncpy): Likewise.
2185 (strcat): Likewise.
2186 (strncat): Likewise.
2187 (strcoll): Likewise.
2188 * include/grub/types.h (GRUB_SHRT_MAX): New define.
2189 (GRUB_INT_MAX): Likewise.
2190
db7337a3
VS
21912012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
2194 unexpected error.
2195 (optimize_utf8): Likewise.
2196 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
2197
f37c87e1
VS
21982012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2199
2200 * grub-core/boot/i386/pc/lnxboot.S: Use
2201 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
2202 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
2203 location.
2204 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
2205 definition.
2206 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
2207
63fe43f3
VS
22082012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2209
2210 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
2211 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
2212 now to avoid double free.
2213 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
2214 hostdisk.
2215 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
2216 * util/grub-probe.c (escape_of_path): Always return a new copy.
2217 (print_full_name): Escape path.
2218 (probe): Don't call grub_util_devname_to_ofpath on NULL.
2219 Fix hints on abstractions.
2220
ebe2c961
VS
22212012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2222
2223 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
2224 Don't add "root" line if no compatibility hont is available.
2225 Suggested by: Seth Goldberg.
2226
2b5336a2
VS
22272012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
2230 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
2231 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
2232 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
2233
74310bd8
VS
22342012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2235
2236 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
2237
c30582ba
VS
22382012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 * util/grub-pe2elf.c (ehdr): Make static.
2241 (shdr): Likewise.
2242 (num_sections): Likewise.
2243 (offset): Likewise.
2244
5f47782c
VS
22452012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2246
2247 Eliminate ofpath limits and possible overflows.
2248
2249 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
2250 (OF_PATH_MAX): Removed.
2251 (MAX_DISK_CAT): New const.
2252 (find_obppath): Use allocated rather than preallocated buffer.
2253 Return result. Argument of_path removed. All users updated.
2254 Add missing fdstat.
2255 (xrealpath): New function.
2256 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
2257 Allocate rather than use preallocated buffer. All users updated.
2258 (__of_path_common): Use allocated rather than preallocatecd buffer.
2259 Return result. Argument of_path removed. All users updated.
2260 (vendor_is_ATA): Read only needed part form the file.
2261 (check_sas): Allocate depending on contents rather than fixed.
2262 (main) [STANDALONE]: Handle NULL result.
2263
f990cbf9
VS
22642012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2265
2266 * grub-core/normal/completion.c (iterate_dev): Close the disk.
2267
9c6e84b8
VS
22682012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 Cryptodisk write support.
2271
2272 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
2273 (grub_cryptodisk_decrypt): Moved logic to ...
2274 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
2275 (grub_cryptodisk_write): Implement.
2276 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
2277 (grub_util_fd_write): ... this. Make global.
2278 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
2279
87cf9744
VS
22802012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2281
2282 * include/grub/list.h (grub_list_remove): Don't crash if element is
2283 removed twice.
2284
ca8c0baf
VS
22852012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2286
2287 Rename ofconsole to console.
2288
2289 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
2290 as sysnonym to console.
2291 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
2292 * grub-core/term/ieee1275/console.c: ... this. All users updated.
2293 Rename grub_ofconsole_ to grub_console_. All users updated
2294 (grub_console_term_output): Rename "ofconsole" to "console".
2295 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
2296 as "console".
2297
64c8b8f6
VS
22982012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2299
2300 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
2301 handling.
2302 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
2303 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
2304 GRUB_DISK_DEVICE_FILE_ID.
2305
f6c434d5
VS
23062012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2307
2308 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
2309 and improve performance.
2310
5858b42d
VS
23112012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2312
2313 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
2314 missing ieee1275/ prefix on whole disk.
2315
4ed3c26b
VS
23162012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2317
2318 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
2319 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
2320
df71143e
VS
23212012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2322
2323 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
2324
076e7c0f
VS
23252012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2326
2327 Merge common RAID and LVM logic to an abstract diskfilter.
2328 Add LDM support using the same framework.
2329
2330 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
2331 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
2332 (libgrubmods): Remove grub-core/disk/raid.c and
2333 grub-core/partmap/gpt.c.
2334 * grub-core/Makefile.core.def (ldm): New module.
2335 (raid): Renamed to diskfilter. All users updated.
2336 * grub-core/disk/raid.c: Moved to ...
2337 * grub-core/disk/diskfilter.c: ... here.
2338 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
2339 (lv_num): New var.
2340 (find_array): Renamed to ...
2341 (find_lv): ... this. Support multi-LV. Skip nameless LVs
2342 (grub_is_array_readable): Renamed to ...
2343 (grub_is_lv_readable): ... this. Support multinode hierarchy.
2344 (insert_array): New argument id.
2345 (is_node_readable): New function.
2346 (scan_device): Rename to ...
2347 (scan_disk): .. this. Restrict to one disk.
2348 (scan_devices): New function.
2349 (grub_diskfilter_iterate): Support multi-LV.
2350 Skip invisible and nameless LVs.
2351 (grub_diskfilter_memberlist): Support multi-LV.
2352 (grub_diskfilter_read_node): New function.
2353 (grub_raid_read): Most of logic moved to ...
2354 (read_segment): ... here
2355 (read_lv): New function.
2356 (grub_diskfilter_get_vg_by_uuid): New function.
2357 (grub_diskfilter_make_raid): Likewise.
2358 * grub-core/disk/ldm.c: New file.
2359 * grub-core/disk/lvm.c (vg_list): Removed.
2360 (lv_count): Likewise.
2361 (scan_depth): Likewise.
2362 (is_lv_readable): Likewise.
2363 (grub_lvm_getvalue): Advance pointer past the number.
2364 (find_lv): Removed.
2365 (do_lvm_scan): Refactored into ...
2366 (grub_lvm_detect): ... this. Support raid.
2367 (grub_lvm_iterate): Removed.
2368 (grub_lvm_memberlist): Likewise.
2369 (grub_lvm_open): Likewise.
2370 (grub_lvm_close): Likewise.
2371 (read_lv): Likewise.
2372 (read_node): Likewise.
2373 (is_node_readable): Likewise.
2374 (is_lv_readable): Likewise.
2375 (grub_lvm_read): Likewise.
2376 (grub_lvm_write): Likewise.
2377 (grub_lvm_dev): Use diskfilter
2378 (GRUB_MOD_INIT): Likewise.
2379 (GRUB_MOD_FINI): Likewise.
2380 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
2381 new interface.
2382 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
2383 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2384 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
2385 grub_diskfilter_read_node.
2386 Fix a bug with xor.
2387 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
2388 grub_diskfilter_read_node.
2389 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
2390 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
2391 (grub_disk_dev_iterate): Move from here...
2392 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
2393 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
2394 Make global.
2395 (grub_hostdisk_find_partition_start): Likewise.
2396 (grub_hostdisk_os_dev_to_grub_drive): New function.
2397 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
2398 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
2399 * util/getroot.c (make_device_name): ... here.
2400 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
2401 Move to ...
2402 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
2403 * grub-core/kern/emu/hostdisk.c
2404 (convert_system_partition_to_system_disk): Move to ...
2405 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
2406 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
2407 * util/getroot.c (device_is_wholedisk): ... here.
2408 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
2409 * util/getroot.c (find_system_device): ... here.
2410 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
2411 Move to ...
2412 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
2413 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
2414 Move to ...
2415 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
2416 Handle LDM.
2417 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
2418 Move to ...
2419 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
2420 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
2421 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
2422 DISKFILTER.
2423 * include/grub/raid.h: Renamed to ...
2424 * include/grub/diskfilter.h: ... this.
2425 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
2426 (GRUB_RAID_LAYOUT_*): Make into array.
2427 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
2428 (grub_diskfilter_vg): New struct.
2429 (grub_diskfilter_pv_id): Likewise.
2430 (grub_raid_member): Removed.
2431 (grub_raid_array): Likewise.
2432 (grub_diskfilter_pv): New struct.
2433 (grub_diskfilter_lv): Likewise.
2434 (grub_diskfilter_segment): Likewise.
2435 (grub_diskfilter_node): Likewise.
2436 (grub_diskfilter_get_vg_by_uuid): New proto.
2437 (grub_raid_register): Inline.
2438 (grub_diskfilter_unregister): Likewise.
2439 (grub_diskfilter_make_raid): New proto.
2440 (grub_diskfilter_vg_register): Likewise.
2441 (grub_diskfilter_read_node): Likewise.
2442 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
2443 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
2444 (grub_util_is_ldm): Likewise.
2445 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
2446 (grub_hostdisk_find_partition_start): Likewise.
2447 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
2448 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
2449 New definition.
2450 (grub_gpt_partition_map_iterate): New proto.
2451 * include/grub/lvm.h (grub_lvm_vg): Removed.
2452 (grub_lvm_pv): Likewise.
2453 (grub_lvm_lv): Likewise.
2454 (grub_lvm_segment): Likewise.
2455 (grub_lvm_node): Likewise.
2456 * util/getroot.c [...]
2457 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
2458 (probe_abstraction): Likewise.
2459 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
2460 (main): Remove dead logic.
2461
8a7f9b9c
VS
24622012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
2463
2464 Simplify root device discover and don't fail when trying to open
2465 incorrect devices.
2466
2467 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
2468 function.
2469 (get_diskname_from_path): Likewise.
2470 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
2471 of iterating.
2472
30545b85
VS
24732012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2474
2475 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
2476
28ea58cf
VS
24772012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
2480 pastthe end.
2481
692dabca
VS
24822012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 * util/grub-install.in: Add missing \.
2485 Reported by: gentoofan
2486
f6e4ea70
VS
24872012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
2488
2489 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
2490 (direct_read): Use correct compressed size.
2491 (grub_squash_read_data): Likewise.
2492
24932012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
2494
2495 * docs/grub.texi (Platform limitations): New section.
2496 (Platform-specific operations): Likewise.
2497 * docs/grub-dev.texi (Porting): Likewise.
2498
76261110
VS
24992012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 IEEE1275 disk write support.
2502
2503 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
2504 const void *.
2505 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
2506 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
2507 and seek loginc to ...
2508 (grub_ofdisk_prepare): ... here.
2509 (grub_ofdisk_write): Implement.
2510
fc36d603
VS
25112012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2512
2513 ARC disk write support.
2514
2515 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
2516 (reopen): New argument writable. All users updated.
2517 Handle required access mode.
2518 (grub_arcdisk_write): Implement.
2519 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
2520 (grub_arc_firmware_vector): Make buffer to write a const buffer.
2521
e06c2e7a
VS
25222012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
2525 (read_sblock): Don't attempt to read superblocks outside the disk size.
2526
ff447958
VS
25272012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2528
2529 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
2530 first superblock to find the second one when possible.
2531
9e88df39
VS
25322012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2533
2534 * util/grub-install.in: Fix an ARC bug.
2535 Print a warning if no platform-specific setup is available.
2536
bb26e4ff
VS
25372012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2538
2539 Use static allocation rather than scratch pointer in reed_solomon.
2540 It decreases its size significantly and avoids a variable in .text.
2541
2542 * grub-core/lib/reed_solomon.c (scratch): Removed.
2543 (chosenstat): New const or static array.
2544 (sigma): Likewise.
2545 (errpot): Likewise.
2546 (errpos): Likewise.
2547 (sy): Likewise.
2548 (mstat): Likewise.
2549 (errvals): Likewise.
2550 (eqstat): Likewise.
2551 (pol_evaluate): Replace x with log_x argument. All users updated.
2552 (syndroms): Removed.
2553 (gauss_solve): Use statically allocated arrays.
2554 (rs_recover): Likewise.
2555 Calculate syndroms directly.
2556 (decode_block): Use statically allocated arrays.
2557 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
2558 (main) [TEST]: Allow -DTEST -DSTANDALONE.
2559
2e13ede5
VS
25602012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2561
2562 Eliminate fixed limit on reed solomon decoder length.
2563
2564 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
2565 rather than hardcoding the address.
2566 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
2567 no_reed_solomon_length.
2568 Move gate_a20 to no-reed-solomon part.
2569 Don't force a particular size of no reed-solomon part.
2570 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
2571 Removed.
2572 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
2573 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
2574
f8a9ab12
VS
25752012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2576
2577 * grub-core/commands/wildcard.c (match_files): Handle filenames
2578 without explicit device.
2579 (wildcard_expand): Don't add explicit device if not already present.
2580 * tests/grub_script_echo1.in: Add a new expansion test.
2581
87edb894
VS
25822012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2583
2584 Replace single-linked with double-linked lists. It results in more
2585 compact and more efficient code.
2586
2587 * grub-core/kern/list.c (grub_list_push): Moved from here ...
2588 * include/grub/list.h (grub_list_push): ... to here. Set prev.
2589 (grub_list_remove): Moved from here ...
2590 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
2591 (grub_prio_list_insert): Set prev.
2592 * include/grub/list.h (grub_list): Add prev. All users updated.
2593
48b391e9
VS
25942012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2595
2596 Handle newer autotools. Add some missing quotes while on it.
2597
2598 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
2599 (pkglib_DATA): Move grub-mkconfig_lib from here ...
2600 (pkgdata_DATA): ... here.
2601 * Makefile.util.def (update-grub_lib): Removed.
2602 * conf/Makefile.common (pkglib_DATA): Removed.
2603 (pkglib_SCRIPTS): Likewise.
2604 (pkgdata_DATA): New variable.
2605 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
2606 needed.
2607 Add missing quotes.
2608 Remove unused variable while on it.
2609 * tests/util/grub-shell.in: Likewise.
2610 * util/grub-install.in: Likewise.
2611 * util/grub-mkconfig.in: Likewise.
2612 * util/grub-mknetdir.in: Likewise.
2613 * util/grub-mkrescue.in: Likewise.
2614 * util/grub-mkstandalone.in: Likewise.
2615 * util/grub.d/00_header.in: Likewise.
2616 * util/grub.d/10_hurd.in: Likewise.
2617 * util/grub.d/10_illumos.in: Likewise.
2618 * util/grub.d/10_kfreebsd.in: Likewise.
2619 * util/grub.d/10_linux.in: Likewise.
2620 * util/grub.d/10_netbsd.in: Likewise.
2621 * util/grub.d/10_windows.in: Likewise.
2622 * util/grub.d/20_linux_xen.in: Likewise.
2623 * util/grub.d/30_os-prober.in: Likewise.
2624 * util/update-grub_lib.in: Removed.
2625
26262012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
2627
2628 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
2629 a workaround for intel problem.
2630
66832792
PRP
26312012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
26322012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
26332012-01-23 pfsmorigo
2634
2635 * util/grub-install.in: Support dd'in into PreP partition.
2636 * util/grub-probe.c (probe): Support discovering partition type.
2637 (main): Support -t msdos_parttype.
2638
7816a17e
VS
26392012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
2640
2641 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
2642 infinite recursion using counter.
2643 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
2644 init to skip it if the magic check fails.
2645 (dec_stream_header): Init s->crc32.
2646
8f9d3a8c
ZB
26472012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26482012-01-22 Zachary Bedell <pendorbound@gmail.com>
26492012-01-22 Richard Laager <rlaager@wiktel.com>
2650
2651 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
2652 All users updated.
2653 (find_bestub): Determine correct size.
2654 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
2655 (scan_disk): Align the size down.
2656 Call check pool before find_bestub to have ashift.
2657
b055dd32
VS
26582012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2659
2660 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
2661 dprintf in no-malloc zone.
2662
d779e9bd
ML
26632012-01-22 Mario Limonciello <mario_limonciello@dell.com>
2664
2665 * configure.ac: Add back in test for limits.h.
2666
b508af69
VS
26672012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 Support 4K-sector NTFS.
2670
2671 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
2672 (grub_ntfs_data): Remove blocksize.
2673 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
2674 Remove data argument. All users updated.
2675
dad9c8b5
VS
26762012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2677
2678 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
2679 being in .text to avoid dprel references.
2680 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
2681 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
2682 (grub_arch_highmemsize): Likewise.
2683 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
2684 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
2685 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
2686
d43a777e
VS
26872012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2688
2689 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
2690
2691 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
2692 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
2693
34e4208f
VS
26942012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2695
2696 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
2697 GRUB_UTIL.
2698 (grub_set_datetime_cmos): Likewise.
2699
3ec0fc1c
VS
27002012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2701
2702 Make XZ compression parameters dependent on target and not host CPU.
2703
2704 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
2705 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
2706
22489834
VS
27072012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2708
2709 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
2710 set but not used variable.
2711
8502fbca
VS
27122012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2713
2714 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
2715 created when no uuid support is compiled into mkfs.reiser.
2716
76df2068
VS
27172012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2718
2719 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
2720 (utf8_to_macroman): Do the opposite.
2721 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
2722
64e3f8f6
VS
27232012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2724
2725 * configure.ac: Refise build qemu_mips w/o unifont.
2726
9c271078
VS
27272012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2728
2729 Eliminate grub_min/grub_max prone to overflow usage.
2730
2731 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
2732 (poll_nonroot_hub): Likewise.
2733 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
2734 (grub_affs_label): Likewise.
2735 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
2736 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
2737 (grub_hfs_label): Likewise.
2738 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
2739 * grub-core/fs/zfs/zfs.c (MIN): Remove.
2740 (zap_leaf_array_equal): Use grub_size. Remove MIN.
2741 (zap_leaf_array_get): Likewise.
2742 (dnode_get_path): Likewise.
2743 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
2744 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
2745 * grub-core/script/execute.c (grub_script_break): Likewise.
2746 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
2747 grub_max.
2748 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
2749 * include/grub/misc.h (grub_min): Removed.
2750 (grub_max): Likewise.
2751
80662dbc
VS
27522012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
2753
2754 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
2755 direct.inode = 0.
2756
e6da1467
VS
27572012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2758
2759 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
2760
b1ac4cb1
VS
27612012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2762
2763 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
2764
b4bf7c3b
VS
27652012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2766
2767 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
2768 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
2769
8ee1101a
VS
27702012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2771
2772 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
2773 rather than a hack for grub_strncasemap.
2774
27752012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 Support multiple initrds
2778 Note: part of this was accidently committed in r3739.
2779
2780 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
2781 initrd.
2782 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
2783 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
2784 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
2785 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2786 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2787
4d1e2bc9
VS
27882012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2789
2790 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
2791 disks with unknown size.
2792 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
2793
75b49ebe
VS
27942012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2795
2796 Remove defines pertaining to arbitrary limits not affecting GRUB
2797 anymore.
2798
2799 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
2800 (EXT2_MAX_SYMLINKCNT): Likewise.
2801 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
2802 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
2803 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
2804 (GRUB_PXE_MAX_BLKSIZE): Likewise.
2805 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
2806 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
2807 (DN_MAX_OBJECT_SHIFT): Likewise.
2808 (DN_MAX_OFFSET_SHIFT): Likewise.
2809 (DN_MAX_OBJECT): Likewise.
2810 (DNODES_PER_LEVEL_SHIFT): Likewise.
2811 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
2812 (SPA_MAXBLOCKSIZE): Likewise.
2813 (SPA_BLOCKSIZES): Likewise.
2814 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
2815 (MZAP_MAX_BLKSZ): Likewise.
2816
74a1dce7
VS
28172012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2818
2819 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
2820 handle NULL appropriately.
2821 Remove MIN.
2822
30c7d3ce
VS
28232012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2824
2825 Fix efiemu.
2826
2827 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
2828 cpu/types.h.
2829 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
2830 * configure.ac: Fix efiemu check.
2831
3c76ea0c
VS
28322012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2833
2834 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
2835 grub_probe.
2836 Reported by: adamwill
2837
7e532280
SG
28382012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
2839
2840 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
2841
30492374
VS
28422012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2843
2844 Fix handling of wide characters in gfxterm.
2845
2846 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
2847 (clear_char): Likewise.
2848 (paint_char): Skip code == NULL chars.
2849 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
2850
e70cb72f
VS
28512012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 * grub-core/normal/charset.c: Move comment to right place.
2854
5c827cf9
VS
28552012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2856
2857 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
2858 (GRUB_AFFS_FLAG_FFS): Put back where it was.
2859 (grub_affs_mount): Revert the correct version checking.
2860
53603892
VS
28612012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2862
2863 * docs/grub.texi (Unicode): Mention several other unsupported features.
2864
ff094b9b
VS
28652011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
2866
2867 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
2868 case statements as compile-time one.
2869 (direct_read): Prevent spurious warnings.
2870 (grub_squash_read_data): Likewise.
2871
c029da8a
VS
28722011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
2873
2874 Various squash4 fixes and LZO and XZ support.
2875
2876 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
2877 Add xzembed source files.
2878 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
2879 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
2880 (grub_squash_inode): New subtype long_dir.
2881 (SQUASH_TYPE_LONG_DIR): New inode type.
2882 (COMPRESSION): New enum.
2883 (XZBUFSIZ): New const.
2884 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
2885 (read_chunk): Use data->decompress.
2886 (zlib_decompress): New function.
2887 (lzo_decompress): Likewise.
2888 (xz_decompress): Likewise.
2889 (squash_mount): Set new data fields.
2890 (grub_squash_iterate_dir): Handle long dir.
2891 (squash_unmount): Free xzdec and xzbuf.
2892 (grub_squash_open): Check ino type.
2893 (direct_read): Stylistic fixes. Use data->decompress.
2894 (grub_squash_read_data): Likewise.
2895 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
2896 (get_byte): Likewise.
2897 (grub_zlib_disk_read): Removed.
2898 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
2899 (GRUB_POSIX_BOOL_DEFINED): New define.
2900 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
2901 * grub-core/lib/xzembed/xz.h: Addmissing includes.
2902 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
2903 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
2904
7a45a539
VS
29052011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
2906
2907 Don't override more informative errors.
2908
2909 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
2910 * grub-core/font/font.c (open_section): Likewise.
2911 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
2912 filename. Don't override errors.
2913 (grub_cmd_openbsd_ramdisk): Don't override errors.
2914 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
2915 (grub_cmd_initrd): Likewise.
2916 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2917 (grub_cmd_initrd): Likewise.
2918 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
2919 (grub_cmd_linux): Likewise.
2920 (grub_cmd_initrd): Likewise.
2921 (grub_cmd_payload): Likewise.
2922 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
2923 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
2924 (grub_cmd_module): Likewise.
2925 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2926 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2927 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
2928 (grub_cmd_xnu_mkext): Likewise.
2929 (grub_cmd_xnu_ramdisk): Likewise.
2930 (grub_xnu_check_os_bundle_required): Likewise.
2931 (grub_xnu_load_kext_from_dir): Likewise.
2932 (grub_cmd_xnu_kextdir): Likewise.
2933 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
2934
b2d004db
VS
29352011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
2938 as 1024 in block size field. Found on one of my test images.
2939 Small optimisation while on it.
2940
ec000eac
VS
29412011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2942
2943 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
2944 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
2945 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
2946 performance fixes while on it.
2947 (grub_sfs_close): Fix memory leak while on it.
2948 (grub_sfs_label): Convert Latin1 to UTF-8.
2949
f50e1165
VS
29502011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2951
2952 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
2953 space to avoid overflows.
2954 (grub_hfs_label): Convert from macroman to UTF-8.
2955
2ae254de
VS
29562011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2957
2958 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
2959
0108f491
VS
29602011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
2963
f45f5f89
VS
29642011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2965
2966 * unicode: Import Unicode 6.0 data.
2967
4d8c4765
VS
29682011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2969
63fa8ef9
VS
2970 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
2971 outside of range.
2972
29732011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2974
2975 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
2976
2977 * include/grub/charset.h (grub_getend): New function.
2978 * grub-core/script/function.c (grub_script_function_find): Use
2979 grub_getend.
2980 * grub-core/normal/completion.c (add_completion): Likewise.
2981
f3cb4a4e
VS
29822011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2983
2984 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
2985 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
2986 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
2987 (GRUB_UNICODE_TAG_END): Likewise.
2988 (GRUB_UNICODE_LAST_VALID): Likewise.
2989
5da8dbc5
VS
29902011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2991
2992 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
2993 len and make it smaller. All users updated.
2994 * util/import_unicode.py: Put length and not end character.
2995 Check length.
2996
8569f13d
VS
29972011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2998
2999 Make better Unicode-compliant and unify some UTF-8 code pathes.
3000
3001 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
3002 valid character.
3003 (grub_is_valid_utf8): Use grub_utf8_process.
3004 Check resulting code range.
3005 (grub_utf8_to_ucs4): Use grub_utf8_process.
3006 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
3007 valid character.
3008
cc4fddf5
VS
30092011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
3012
bbc47747
VS
30132011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 * docs/grub.texi (Filesystems): Mention AFS.
3016
f63d6bf4
VS
30172011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3018
3019 * docs/grub.texi (Filesystems): Clarify restrictions.
3020 (Regexp): Mention non-Unicode regexp behaviour.
3021 (Other): Mention non-Unicode matching behaviour.
3022
74bbf0db
VS
30232011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3024
f63d6bf4 3025 Make HFS implementation use MacRoman.
74bbf0db
VS
3026
3027 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
3028 (macroman): New const array.
3029 (macroman_to_utf8): New function.
3030 (utf8_to_macroman): Likewise.
3031 (grub_hfs_find_dir): Use utf8_to_macroman.
3032 (grub_hfs_dir): Use macroman_to_utf8.
3033 Set case_insensitive.
3034
4ea0316e
VS
30352011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3036
3037 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
3038
d3c13cbd
VS
30392011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3040
3041 Integrate hints into autogeneration scripts.
3042
3043 * docs/grub.texi (Filesystems): Add a hostdisk example.
3044 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
3045 (grub-probe): Add ofpath.
3046 * gentpl.py: Remove group nosparc64.
3047 * grub-core/commands/search.c (cache_entry): New struct.
3048 (cache): New var.
3049 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
3050 * grub-core/commands/search_wrap.c (options): Add platform-specific
3051 hint options.
3052 (grub_cmd_search): Handle platform-specific hints.
3053 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
3054 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
3055 (grub_util_biosdisk_data): Likewise.
3056 (grub_util_biosdisk_open): Set device_map.
3057 (read_device_map): Handle "" as indication of no map.
3058 Set device_map.
3059 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
3060 (grub_util_biosdisk_get_compatibility_hint): New function.
3061 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
3062 * include/grub/emu/hostdisk.h
3063 (grub_util_biosdisk_get_compatibility_hint): New proto.
3064 * util/grub-install.in: Don't call grub-mkdevicemap.
3065 Add platform-specific hint to load.cfg.
3066 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
3067 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
3068 hints. Set root preliminary to compatibility hint, not to OS name.
3069 * util/grub-probe.c (PRINT_*): Add hints.
3070 (print): Make static.
3071 (escape_of_path): New function.
3072 (guess_bios_drive): Likewise.
3073 (guess_efi_drive): Likewise.
3074 (guess_baremetal_drive): Likewise.
3075 (print_full_name): Likewise.
3076 (probe): Handle hints.
3077 (main): Likewise.
3078 * util/ieee1275/devicemap.c: Removed.
3079 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
3080 updated.
3081 (grub_util_devname_to_ofpath): Return NULL on failure.
3082
3083 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
3084 resource leak.
3085 * util/getroot.c (grub_util_pull_device): Fix memory leak.
3086
3087 * po/POTFILES.in: Regenerated.
3088
3089 Allow purely long options
3090
3091 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
3092 (SHORT_ARG_USAGE): Likewise.
3093 (grub_arg_show_help): Compare opt with help_options.
3094 (parse_option): Receive opt as argument. If makes big simplificatons.
3095 All users updated
3096
00ce2df3
VS
30972011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3098
3099 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
3100 Restructure to avoid warning.
3101
e77e325f
VS
31022011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3103
3104 * util/grub-install.in: Account for possible escaped comma in device
3105 name.
3106
165099ea
VS
31072011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3108
3109 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
3110 channel.
3111
ce4a999d
VS
31122011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
3115 allocation and zero-setting.
3116 (grub_ieee1275_get_devname): Check that alias is complete.
3117
379586ad
VS
31182011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3119
3120 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
3121 unaligned segments.
3122
9197b0ad
VS
31232011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
3126 prefix.
3127 (grub_ofdisk_open): Check and discard ieee1275 prefix.
3128 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
3129 Add ieee1275 prefix.
3130
edddb7f9
VS
31312011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3132
3133 * docs/grub.texi (Filesystems): Update.
3134
a1a8b1b9
VS
31352011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 Support odc, newc and bigendian cpio formats.
3138
3139 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
3140 * grub-core/Makefile.core.def (newc): New module.
3141 (odc): Likewise.
3142 (cpio_be): Likewise.
3143 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
3144 (MAGIC): Likewise.
3145 (MAGIC2): Likewise.
3146 (head) [MODE_ODC]: Adapt for the format.
3147 (head) [MODE_NEWC]: Likewise.
3148 (head) [!MODE_*]: Write fields of interest as arrays.
3149 (MAGIC_USTAR): Removed.
3150 (read_number) [MODE_NEWC]: Change to hex.
3151 (read_number) [!MODE_*]: Parse binary arrays.
3152 (grub_cpio_find_file): Factor out the code for better structure and
3153 always use read_number.
3154 (grub_cpio_mount): Use MAGIC and MAGIC2.
3155 (grub_cpio_dir): Exit on first hook non-0 return.
3156 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
3157 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
3158 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
3159 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
3160 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
3161 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
3162 * grub-core/fs/newc.c: New file.
3163 * grub-core/fs/odc.c: Likewise.
3164 * grub-core/fs/cpio_be.c: Likewise.
3165
58eba9ee
VS
31662011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3167
3168 Fix handling of tar numbers occupying the whole field.
3169
3170 * grub-core/fs/cpio.c (read_number): New function.
3171 (grub_cpio_find_file): Use read_number instead of strtoull.
3172
a54a0e12
VS
31732011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3174
3175 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
3176 occupying the whole field size.
3177
a6120aca
LA
31782011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
3179
3180 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
3181
a93964ce
VS
31822011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3183
3184 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
3185
3ea1ca46
SG
31862011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
3187
3188 * grub-core/Makefile.core.def (lzma_decompress): Add missing
3189 TARGET_IMG_LDFLAGS.
3190
b87f7ef2
VS
31912011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 * util/getroot.c (ESCAPED_PATH_MAX): New define.
3194 (mountinfo_entry): Increase the field size to take escaping into
3195 account.
3196 (find_root_device_from_libzfs): Add one byte to size of strings for
3197 security.
3198
62092395
VS
31992011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
3202 an assert.
3203 * util/grub-setup.c (setup): Likewise.
3204
1f0b1a77
VS
32052011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3206
3207 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
3208 _LzmaDecodeA.
3209
8eba9997
VS
32102011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3211
3212 * docs/grub.texi (Internationalisation): New section.
3213
dd0c91e9
VS
32142011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3215
3216 * docs/grub.texi (Loopback booting): New section.
3217
32182011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
3219
3220 * util/grub-mkstandalone.in: Fix minor typo errors.
3221
198e150a
VS
32222011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
3223
3224 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
3225
3226 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
3227 net/icmp.c and net/icmp6.c.
3228 (http): New module.
3229 (priority_queue): Likewise.
3230 * grub-core/io/bufio.c: Rewritten.
3231 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
3232 TYPE_WITH_CONFIGFILE_OPTION.
3233 (legacy_commands): Add bootp and dhcp.
3234 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
3235 (grub_legacy_parse): Likewise.
3236 * grub-core/lib/priority_queue.c: New file.
3237 * grub-core/net/arp.c: Add missing license header.
3238 (arp_find_entry): Removed.
3239 (arp_find_entry): Likewise.
3240 (grub_net_arp_resolve): Rename to ...
3241 (grub_net_arp_send_request): ...this.
3242 (grub_net_arp_receive): New card argument.
3243 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
3244 Set router and DNS server.
3245 (grub_net_configure_by_dhcp_ack): Handle routing information.
3246 (grub_cmd_bootp): Set checksum.
3247 (grub_bootp_init): Remove net_dhcp.
3248 * grub-core/net/dns.c: New file.
3249 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
3250 completion.
3251 (get_card_packet): Handle allocation.
3252 (grub_efinet_findcards): Set mtu.
3253 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
3254 (get_card_packet): Handle allocation.
3255 (emucard): Set mtu.
3256 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
3257 (GRUB_MOD_INIT): Set mtu.
3258 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
3259 mtu.
3260 (get_card_packet): Handle allocation.
3261 (grub_ofnet_findcards): Set mtu.
3262 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
3263 assert.
3264 (grub_net_recv_ethernet_packet): Handle IPv6.
3265 * grub-core/net/http.c: New file.
3266 * grub-core/net/icmp.c: Likewise.
3267 * grub-core/net/icmp6.c: Likewise.
3268 * grub-core/net/ip.c (ip6addr): New type.
3269 (ip6hdr): Likewise.
3270 (reassemble): Likewise.
3271 (cmp): New function.
3272 (reassembles): New variable.
3273 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
3274 (id): New variable.
3275 (send_fragmented): New function.
3276 (grub_net_send_ip_packet): Rename to ...
3277 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
3278 Handle non-UDP.
3279 (grub_net_recv_ip_packets): Rename to ...
3280 (handle_dgram): ... this. Check checksum. Handle non-UDP.
3281 (free_rsm): New function.
3282 (free_old_fragments): Likewise.
3283 (grub_net_recv_ip4_packets): New function.
3284 (grub_net_send_ip6_packet): Likewise.
3285 (grub_net_send_ip_packet): Likewise.
3286 (grub_net_recv_ip6_packets): Likewise.
3287 (grub_net_recv_ip_packets): Likewise.
3288 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
3289 (LINK_LAYER_CACHE_SIZE): New const.
3290 (link_layer_find_entry): New function.
3291 (grub_net_link_layer_add_address): Likewise.
3292 (grub_net_link_layer_resolve_check): Likewise.
3293 (grub_net_link_layer_resolve): Likewise.
3294 (grub_net_ipv6_get_slaac): Likewise.
3295 (grub_net_ipv6_get_link_local): Likewise.
3296 (grub_cmd_ipv6_autoconf): Likewise.
3297 (parse_ip): Handle one number representation.
3298 (parse_ip6): New functoion.
3299 (match_net): Handle IPv6.
3300 (grub_net_resolve_address): Handle IPv6 and DNS.
3301 (grub_net_resolve_net_address): Handle IPv6.
3302 (route_cmp): New function.
3303 (grub_net_route_address): Find best route.
3304 (grub_net_addr_to_str): Handle IPv6.
3305 (grub_net_addr_cmp): New function.
3306 (grub_net_add_addr): Register local route.
3307 (print_net_address): Handle net address.
3308 (grub_net_poll_cards): Retransmit TCP.
3309 (grub_net_poll_cards_idle_real): Likewise.
3310 (have_ahead): New function.
3311 (grub_net_seek_real): Use underlying seek.
3312 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
3313 * grub-core/net/tcp.c: New file.
3314 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
3315 (cmp): New function.
3316 (ack): Likewise.
3317 (tftp_receive): Handle unordered input.
3318 (destroy_pq): New function.
3319 (tftp_close): Close pq.
3320 * grub-core/net/udp.c: Put missing license header.
3321 (grub_net_udp_socket): New function.
3322 (udp_socket_register): Likewise.
3323 (grub_net_udp_close): Likewise.
3324 (grub_net_recv_udp_packet): Check checksum.
3325 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
3326 * include/grub/misc.h (grub_memchr): New function.
3327 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
3328 (grub_net_card_driver): Return buf in recv.
3329 (grub_net_slaac_mac_list): New struct.
3330 (grub_network_level_protocol_id): Add ipv6.
3331 (grub_net_network_level_addr): Likewise.
3332 (grub_net_network_level_net_addr): Likewise.
3333 (grub_net_app_protocol): Add seek.
3334 (grub_net_socket): Removed.
3335 (grub_net_sockets): Likewise.
3336 (grub_net_socket_register): Likewise.
3337 (grub_net_socket_unregister): Likewise.
3338 (FOR_NET_SOCKETS): Likewise.
3339 (grub_net_add_addr): Add const.
3340 (GRUB_NET_BOOTP_*): New enum.
3341 (grub_net_addr_cmp): New proto.
3342 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
3343 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
3344 (grub_net_hwaddr_to_str): NEw proto.
3345 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
3346 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
3347 (grub_dns_init): New proto.
3348 (grub_dns_fini): Likewise.
3349 (grub_net_tcp_retransmit): Likewise.
3350 (grub_net_link_layer_add_address): Likewise.
3351 (grub_net_link_layer_resolve_check): Likewise.
3352 (grub_net_link_layer_resolve): Likewise.
3353 (grub_net_dns_lookup): Likewise.
3354 (grub_net_add_dns_server): Likewise.
3355 (grub_net_remove_dns_server): Likewise.
3356 (GRUB_NET_TRIES): New const.
3357 (GRUB_NET_INTERVAL): Likewise.
3358 * include/grub/net/arp.h: Mostly rewritten.
3359 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
3360 * include/grub/net/ip.h: Mostly rewritten.
3361 * include/grub/net/netbuff.h: Indent.
3362 * include/grub/net/tcp.h: New file.
3363 * include/grub/net/udp.h: Mostly rewritten.
3364 * include/grub/priority_queue.h: New file.
3365 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
3366 (grub_swap_bytes64_compile_time): Likewise.
3367 (grub_cpu_to_be16_compile_time): Likewise.
3368 (grub_cpu_to_be32_compile_time): Likewise.
3369 (grub_cpu_to_be64_compile_time): Likewise.
3370 (grub_be_to_cpu64_compile_time): Likewise.
3371
215c1800
VS
33722011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
3373
3374 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
3375 UINT_TO_PTR with cast.
3376
c17e546c
VS
33772011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3378
3379 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
3380 don't use them.
3381
ff6b18b6
VS
33822011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3383
3384 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
3385 already there.
3386
70ffcc93
VS
33872011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3388
3389 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
3390 confusing ipxe.
3391
e5f4d260
VS
33922011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3393
3394 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
3395 Add missing const attribute.
3396 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
3397 Likewise.
3398 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
3399 Likewise.
3400
8e54b4b7
VS
34012011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3402
3403 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
3404 misaligned access.
3405 (serpent_setkey): Likewise.
3406 (serpent_encrypt_internal): Likewise.
3407 (serpent_decrypt_internal): Likewise.
3408 (serpent_encrypt): Don't put an alignment-increasing cast.
3409 (serpent_decrypt): Likewise.
3410 (serpent_test): Likewise.
3411
813c0a2b
VS
34122011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3413
3414 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
3415
f2b60fbd
VS
34162011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3417
3418 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
3419
3420 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
3421 grub_addr_t casts.
3422 (PTR_TO_UINT64): Likewise.
3423 (PTR_TO_UINT32): Likewise.
3424
5ef5c511
VS
34252011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3426
3427 * util/grub-mkimage.c (generate_image): Decrease the higher limit
3428 because of stack.
3429 * util/grub-setup.c (setup): Don't add redundancy past the higher load
3430 limit.
3431
c476e6df
VS
34322011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3433
3434 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
3435 text_width > available width a bit more gracefully.
3436
384ad7cc
VS
34372011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3438
3439 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
3440 current address calculation.
3441
96f8caf8
VS
34422011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3443
3444 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
3445 stack.
3446 (encode_block): Likewise.
3447
276b7a8b
VS
34482011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3449
3450 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
3451 certainety.
3452
e3fd394a
VS
34532011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3454
3455 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
3456 non-RS part to avoid RS messing with GDT.
3457 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
3458 Increase to suit in realmode routines.
3459
34602011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3461
3462 * grub-core/kern/i386/realmode.S: Increase alignment.
3463 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
3464
ee9c2e7a
VS
34652011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3466
3467 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
3468 be deterministic.
3469 (syndroms): Compute 0 syndrom.
3470 (rs_recover): Use 0 syndrom.
3471
7a7f7cc9
VS
34722011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3473
3474 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
3475
a14b16d1
VS
34762011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3477
3478 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
3479 brackets.
3480
9f59e9fc
VS
34812011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3482
ca1b552c
VS
3483 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
3484 account.
3485 (get_top_pad): Likewise.
3486 (get_right_pad): Likewise.
3487 (get_bottom_pad): Likewise.
3488
34892011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3490
3491 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 3492
e739d698
VS
34932011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3494
3495 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
3496 attribute as the structure isn't guaranteed to be properly aligned.
3497 (grub_efi_pci_device_path): Likewise.
3498 (grub_efi_pccard_device_path): Likewise.
3499 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
3500 specify the size of `memory_type'.
3501 (grub_efi_vendor_device_path): Likewise.
3502 (grub_efi_controller_device_path): Likewise.
3503 (grub_efi_acpi_device_path): Likewise.
3504 (grub_efi_expanded_acpi_device_path): Likewise.
3505 (grub_efi_atapi_device_path): Likewise.
3506 (grub_efi_scsi_device_path): Likewise.
3507 (grub_efi_fibre_channel_device_path): Likewise.
3508 (grub_efi_1394_device_path): Likewise.
3509 (grub_efi_usb_device_path): Likewise.
3510 (grub_efi_usb_class_device_path): Likewise.
3511 (grub_efi_i2o_device_path): Likewise.
3512 (grub_efi_mac_address_device_path): Likewise.
3513 (grub_efi_ipv4_device_path): Likewise.
3514 (grub_efi_ipv6_device_path): Likewise.
3515 (grub_efi_infiniband_device_path): Likewise.
3516 (grub_efi_uart_device_path): Likewise.
3517 (grub_efi_vendor_messaging_device_path): Likewise.
3518 (grub_efi_hard_drive_device_path): Likewise.
3519 (grub_efi_cdrom_device_path): Likewise.
3520 (grub_efi_vendor_media_device_path): Likewise.
3521 (grub_efi_file_path_device_path): Likewise.
3522 (grub_efi_protocol_device_path): Likewise.
3523 (grub_efi_piwg_device_path): Likewise.
3524 (grub_efi_bios_device_path): Likewise.
3525
cb8f88ea
VS
35262011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3527
3528 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
3529 (grub_ucs4_to_utf8_alloc): Likewise.
3530 (grub_ucs4_to_utf8): Likewise.
3531 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
3532 (grub_ucs4_to_utf8_alloc): Likewise.
3533
309e5352
VS
35342011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3535
3536 AFFS never uses unicode.
3537
3538 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
3539 (grub_latin1_to_utf8): New inline function.
3540 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
3541
e7987e1b
VS
35422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3543
3544 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
3545 overflow.
3546
efc2616e
VS
35472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3548
3549 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
3550 (grub_squash_dirent_header): Likewise.
3551 (read_chunk): Don't double swap.
3552 (grub_squash_iterate_dir): Fix swap sizes.
3553
3c349f5a
VS
35542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3555
3556 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
3557
b453412d
VS
35582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3559
3560 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
3561 (grub_hfs_iterate_dir): Likewise.
3562
12e9d4d1
VS
35632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3564
3565 Fix video on platforms where unaligned access is forbidden.
3566 Make several optimisations while on it.
3567
3568 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
3569 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
3570 (grub_video_fbblit_replace_32bit_1bit): Likewise.
3571 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
3572 Disable.
3573 (grub_video_fbblit_replace_16bit_1bit):
3574 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
3575 (grub_video_fbblit_replace_8bit_1bit): Likewise.
3576 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
3577 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
3578 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
3579 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
3580 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
3581 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
3582 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
3583 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
3584 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
3585 (grub_video_fbblit_replace_index_RGB888): Likewise.
3586 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
3587 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
3588 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
3589 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
3590 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
3591 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
3592 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
3593 Disable.
3594 (grub_video_fbblit_blend_XXX565_1bit):
3595 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
3596 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
3597 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
3598 void *.
3599 * grub-core/video/fb/video_fb.c (common_blitter)
3600 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
3601 (grub_video_fb_create_render_target_from_pointer)
3602 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
3603 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
3604 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
3605 definition.
3606 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
3607
ace96609
VS
36082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3609
3610 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
3611 HH22 and HM10 relocations.
3612
fd261d73
VS
36132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3614
3615 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
3616
e59b7857
VS
36172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3618
3619 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
3620 allocation succeeded.
3621
9b4baaa4
VS
36222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3623
3624 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
3625 argument a u8 pointer. All users updated.
3626 Handle unaligned buffers.
3627
dc713193
VS
36282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3629
3630 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
3631 add_part to workaround compiler bug.
3632
30dd48c2
VS
36332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3634
3635 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
3636
0c6087a8
VS
36372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3638
3639 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
3640 Reserve alignment invariants.
3641 (grub_multiboot_load): Likewise.
3642 (retrieve_video_parameters): Likewise.
3643 (grub_multiboot_make_mbi): Likewise.
3644
c2e77777
VS
36452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3646
3647 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
3648 incorrect pointer.
3649
b70b6d11
VS
36502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3651
3652 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
3653 (grub_pata_pio_write): Likewise.
3654
02a2bf83
VS
36552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3656
3657 Add noreturn attributes and remove unreachable code.
3658
3659 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
3660 code.
3661 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
3662 code. Mark as noreturn.
3663 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
3664 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
3665 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
3666 unreachable code.
3667 * grub-core/kern/main.c (grub_main): Mark as noreturn.
3668 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
3669 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
3670 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
3671 * include/grub/kernel.h (grub_main): Mark as noreturn.
3672 * include/grub/reader.h (grub_rescue_run): Likewise.
3673
2019d09e
VS
36742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3675
3676 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
3677 redundant declaration.
3678
d1c501ee
VS
36792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3680
3681 * include/grub/net.h (grub_net_network_level_interfaces): Remove
3682 redundant declaration.
3683 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
3684
61664420
VS
36852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
3688 to ensure alignment.
3689 (grub_hdparm_print_identify): Make argument uint16 * to ensure
3690 alignment. Ensure tmp alignment.
3691 (grub_cmd_hdparm): Ensure buf alignment.
3692 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
3693 to ensure alignment.
3694 (grub_ata_dumpinfo): Ensure text alignment.
3695 (grub_atapi_identify): Preserve alignment invariant.
3696 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
3697
0d51ee20
VS
36982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3699
3700 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
3701 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
3702 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
3703 * include/grub/misc.h (grub_reboot)
3704 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
3705 (grub_halt) [__mips__]: Likewise.
3706
753ef8c1
VS
37072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3708
3709 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
3710 Remove redundant declaration.
3711 (grub_mmap_get_post64): Likewise.
3712 (grub_mmap_get_upper): Likewise.
3713 (grub_mmap_get_lower): Likewise.
3714
85c85365
VS
37152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3716
3717 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
3718 uint32_t * to ensure alignment.
3719 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
3720
a23f2cc4
VS
37212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3722
93018f64
VS
3723 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
3724 uint16_t * to ensure alignment.
3725 (sun_pc_partition_map_iterate): Make `block' a union to ensure
3726 alignment.
3727
37282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3729
3730 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
3731 to ensure alignment.
3732 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
3733
58acccd6
VS
37342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3735
3736 * grub-core/fs/ntfs.c (u16at): Make into inline function.
3737 Handle unaligned pointers.
3738 (u32at): Likewise.
3739 (u64at): Likewise.
3740 (fixup): Use byte access instead of v16at.
3741 (find_attr): Fix imporper usage of v32at.
3742 (read_data): Likewise.
3743 (list_file): Handle byte-swapping and unaligned strings.
3744 (grub_ntfs_label): Likewise.
3745
9b05cad7
VS
37462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3747
3748 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
3749 as it's not necessarily aligned.
3750
b3950b84
VS
37512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3752
3753 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
3754 redundant declaration.
3755 (grub_serial_init): Likewise.
3756 (grub_terminfo_init): Likewise.
3757
fcd232b7
VS
37582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3759
3760 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
3761 function.
3762 (ZAP_HASH_IDX): Likewise.
3763 (ZAP_LEAF_HASH_SHIFT): Likewise.
3764 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
3765 (LEAF_HASH): Likewise.
3766 (ZAP_LEAF_NUMCHUNKS): Likewise.
3767 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
3768 alignment invariants. Return pointer. All users updated.
3769 (ZAP_LEAF_ENTRY): Make into inline function.
3770 (NBBY): Removed.
3771 (xor): LIkewise.
3772 (xor_out): Use grub_crypto_xor.
3773 (dnode_get_path): Use grub_get_unaligned.
3774 (nvlist_find_value): Likewise.
3775 (grub_zfs_nvlist_lookup_uint64): Likewise.
3776 (grub_zfs_nvlist_lookup_string): Likewise.
3777 (get_nvlist_size): Likewise.
3778 (grub_zfs_open): Likewise.
3779 (fill_fs_info): Likewise.
3780 (grub_zfs_dir): Likewise.
3781 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
3782 alignment invariants.
3783 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
3784 necessarily aligned.
3785
f138623a
VS
37862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3787
3788 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
3789
564840dc
VS
37902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3791
3792 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
3793 arithmetic to conserve alignment invariants.
3794
9b40df20
VS
37952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3796
3797 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
3798 redundant declaration.
3799 (grub_efiemu_mm_obtain_request): Likewise.
3800 (grub_efiemu_prepare): Likewise.
3801
d1c930f9
VS
38022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3803
3804 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
3805 to match types.
3806
4c5f3056
VS
38072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3808
3809 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
3810 case of aunaligned recptr.
3811 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
3812 alignment.
3813 (grub_hfsplus_btree_search): Handle unaligned index.
3814
728cba91
VS
38152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3816
3817 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
3818 to get freetag and skip.
3819
eb561f31
VS
38202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3821
3822 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
3823 array.
3824 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
3825 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
3826
20993fbb
VS
38272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3828
3829 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
3830 name for checksum and fix allocation algorithm.
3831
1f313b94
VS
38322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3833
3834 * include/grub/types.h (grub_properly_aligned_t): New type.
3835 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
3836 (grub_get_unaligned16): Add explicit casts.
3837 (grub_get_unaligned32): Likewise.
3838 (grub_get_unaligned64): Likewise.
3839 (grub_set_unaligned16): New function.
3840 (grub_set_unaligned32): Likewise.
3841
47ae27ec
VS
38422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3843
3844 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
3845
78c2cd1c
VS
38462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3847
3848 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
3849 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
3850 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
3851
53072f9b
VS
38522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3853
3854 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
3855 conditionals.
3856
055dc239
VS
38572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3858
3859 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
3860 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
3861
496bd074
VS
38622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3863
3864 Unify and improve RAID and crypto xor.
3865
3866 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
3867 changed to grub_crypto_xor
3868 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
3869 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
3870 Use bigger types when possible.
3871
ef6e4335
VS
38722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3873
3874 * grub-core/disk/raid.c (scan_devices): Fix condition.
3875
5d048bf2
VS
38762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3877
3878 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
3879 Make name a const ptr.
3880
ee533335
VS
38812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3882
3883 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
3884 first argument a const pointer.
3885 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
3886 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
3887 proto.
3888 (grub_children_iterate): Likewise.
3889 (grub_machine_mmap_iterate): Remove redundant declaration.
3890
cc8f3668
VS
38912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3892
3893 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
3894 (grub_cmd_acpi) [!x86]: Disable EBDA.
3895
c5fc563a
VS
38962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3897
3898 Enable UTF8 in gnulib regexp.
3899
3900 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
3901 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
3902 (isupper): Use grub_isupper.
3903 (isascii): New inline function.
3904 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
3905 * grub-core/lib/posix_wrap/wctype.h: Likewise.
3906 * grub-core/normal/charset.c (grub_utf8_process): New function.
3907 (grub_utf8_to_utf16): Use grub_utf8_process.
3908 (grub_encode_utf8_character): New function.
3909 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
3910 * include/grub/charset.h (grub_utf8_process): New declaration.
3911 (grub_encode_utf8_character): Likewise.
3912 * include/grub/misc.h (grub_islower): New inline function.
3913 (grub_isupper): Likewise.
3914 (grub_strchrsub): Moved down to fix the definitions.
3915
0af2346f
VS
39162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3917
3918 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
3919 specification.
3920
74dbd244
VS
39212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * include/grub/loader.h (grub_loader_register_preboot_hook):
3924 Use struct preboot * and not void * for handle. All users updated.
3925 (grub_loader_unregister_preboot_hook): Likewise.
3926
1bc8f60d
VS
39272011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
3928
3929 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
3930 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
3931 UTF-16-BE. All users updated.
3932 (grub_hfsplus_cmp_catkey): Fix unicode handling.
3933 (grub_hfsplus_iterate_dir): Likewise.
3934 (grub_hfsplus_label): Likewise.
3935
48d6e456
VS
39362011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
3937
3938 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
3939
bf3a3857
VS
39402011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
3941
3942 Add missing const qualifiers.
3943
3944 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
3945 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
3946 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
3947 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
3948 (grub_lvm_check_flag): Likewise.
3949 * grub-core/efiemu/i386/coredetect.c
3950 (grub_efiemu_get_default_core_name): Likewise
3951 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
3952 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
3953 * grub-core/fs/ntfs.c (fixup): Likewise.
3954 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
3955 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
3956 (fzap_lookup): Likewise.
3957 (zap_lookup): Likewise.
3958 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
3959 * grub-core/lib/legacy_parse.c (check_option): Likewise.
3960 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
3961 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
3962 (grub_freebsd_add_meta_module): Likewise.
3963 (grub_cmd_freebsd_module): Likewise.
3964 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
3965 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
3966 (grub_xnu_writetree_get_size): Likewise.
3967 (grub_xnu_writetree_toheap_real): Likewise.
3968 (grub_xnu_find_key): Likewise.
3969 (grub_xnu_create_key): Likewise.
3970 (grub_xnu_create_value): Likewise.
3971 (grub_xnu_register_memory): Likewise.
3972 (grub_xnu_check_os_bundle_required): Likewise.
3973 (grub_xnu_scan_dir_for_kexts): Likewise.
3974 (grub_xnu_load_kext_from_dir): Likewise.
3975 * grub-core/normal/color.c (color_list): Likewise.
3976 * grub-core/normal/completion.c (current_word): Likewise.
3977 * grub-core/normal/menu_entry.c (insert_string): Likewise.
3978 * grub-core/term/serial.c (grub_serial_find): Likewise.
3979 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
3980 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
3981 Likewise.
3982 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
3983 (grub_freebsd_add_meta_module): Likewise.
3984 * include/grub/lib/arg.h (grub_arg_option): Likewise.
3985 * include/grub/net.h (grub_net_card_driver): Likewise.
3986 (grub_net_card): Likewise.
3987 (grub_net_app_protocol): Likewise.
3988 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
3989 * include/grub/serial.h (grub_serial_find): Likewise.
3990 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
3991 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
3992 (grub_xnu_create_value): Likewise.
3993 (grub_xnu_find_key): Likewise.
3994 (grub_xnu_scan_dir_for_kexts): Likewise.
3995 (grub_xnu_load_kext_from_dir): Likewise.
3996
3997 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
3998 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
3999 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
4000 Moved from here ...
4001 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
4002
112b4837
CW
40032011-11-28 Colin Watson <cjwatson@ubuntu.com>
4004
4005 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
4006
49e891ac
VS
40072011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
4008
4009 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
4010 (read_device): Fix size calculation.
4011
fd258e5c
RM
40122011-11-25 Robert Millan <rmh@gnu.org>
4013
4014 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
4015 (find_root_device_from_libzfs): Add zpool output parser to be used
4016 as fallback when libzfs isn't available.
4017
78845dc2
SG
40182011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
4019
4020 * po/Makefile.in.in: Add missing escape-continuation.
4021
adac5211
VS
40222011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
4023
4024 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
4025
10b64f1c
VS
40262011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
4029
bb416954
VS
40302011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4031
4032 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
4033
bdfe9eeb
VS
40342011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4035
4036 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
4037
581ffa8a
VS
40382011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4039
4040 * grub-core/lib/adler32.c: Add missing license specification.
4041 * grub-core/lib/crc64.c: Likewise.
4042 * grub-core/loader/i386/pc/plan9.c: Likewise.
4043 * grub-core/partmap/plan.c: Likewise.
4044
2536cf64
LK
40452011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
4046
4047 Add facility to debug GRUB with gdb under qemu.
4048
4049 * grub-core/gdb_grub.in: New file.
4050 * grub-core/gmodule.pl.in: Likewise.
4051 * grub-core/Makefile.core.def (gmodule.pl): New script.
4052 (gdb_grub): Likewise.
4053
bc108a4a
VS
40542011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4055
4056 * util/grub-mount.c (argp_parser): Accept relative pathes.
4057 * util/grub-fstest.c (argp_parser): Likewise.
4058
111c1778
VS
40592011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4060
4061 Plan9 support.
4062
4063 * Makefile.util.def (libgrubmods): Add
4064 grub-core/partmap/plan.c.
4065 * docs/grub.texi: Notice Plan9 support.
4066 * grub-core/Makefile.core.def (plan9): New module.
4067 (part_plan): Likewise.
4068 * grub-core/loader/i386/pc/plan9.c: New file.
4069 * grub-core/partmap/plan.c: Likewise.
4070 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
4071 define.
4072 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
4073 * include/grub/mm.h (grub_extend_alloc): New inline function.
4074
c30be3b6
VS
40752011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 Make Reed-Solomon faster by using power of generator representation of
4078 GF(256)*.
4079
4080 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
4081 (gf_double_t): Likewise.
4082 (gf_invert): Removed.
4083 (gf_powx): New array.
4084 (gf_powx_inv): Likewise.
4085 (scratch): Move higher.
4086 (gf_reduce): Removed.
4087 (gf_mul): Use powx.
4088 (gf_invert): Likewise.
4089 (init_inverts): Replaced with ...
4090 (init_powx): ...this. All users updated.
4091 (pol_evaluate): Replace multiplications with additions.
4092 (rs_encode): Likewise.
4093 (gauss_eliminate): Call gf_invert.
4094 (grub_reed_solomon_add_redundancy): Call init_powx.
4095 (grub_reed_solomon_recover): Call init_powx unconditionally.
4096
fa5aeffc
VS
40972011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4098
4099 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
4100
a346b81c
VS
41012011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4102
4103 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
4104 disk->partiton for safety.
4105
d89ee414
VS
41062011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4107
4108 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
4109 Fix a memory leak.
4110 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
4111
91ee7b6d
VS
41122011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4113
4114 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
4115
91e5a33d
VS
41162011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4117
4118 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
4119
9edd7be2
VS
41202011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4121
4122 Fix spaces handling in proc/self/mountinfo.
4123
4124 * util/getroot.c (unescape): New function.
4125 (grub_find_root_device_from_mountinfo): Use unescape.
4126
ba102053
VS
41272011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4128
4129 Support ZFS embedding.
4130
4131 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
4132 (grub_zfs_fs): Register grub_zfs_embed.
4133
aa94b870
VS
41342011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4135
4136 Fix MIPS compilation.
4137
4138 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
4139 * include/grub/offsets.h: Rename decompressor fields from
4140 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
4141 * util/grub-mkimage.c (image_targets): Use new names.
4142
5fbdac14
VS
41432011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4144
4145 Defer multiboot device parsing until we're in compressed part.
4146
4147 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
4148 bsd_part. setdevice has fallen into disuse.
4149 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
4150 (bsd_part): Likewise.
4151 (boot_dev): New variable.
4152 (multiboot_trampoline): Don't parse multiboot device.
4153 Pass multiboot device in %edx.
4154 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
4155 grub_boot_device.
4156 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
4157 Likewise.
4158 * grub-core/kern/i386/pc/startup.S: Save edx.
4159 (grub_boot_drive): Removed.
4160 (grub_install_dos_part): Likewise.
4161 (grub_install_bsd_part): Likewise.
4162 (grub_boot_device): New variable.
4163 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
4164 (grub_install_bsd_part): Likewise.
4165 (grub_boot_drive): Likewise.
4166 (grub_boot_device): New variable.
4167 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
4168 Removed.
4169 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
4170 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
4171 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
4172 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
4173 * util/grub-install.in: Remove redundant condition.
4174
691cbb58
VS
41752011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4176
4177 Fix bug introduced by previous commit.
4178
4179 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
4180
60240b8b
VS
41812011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4182
4183 Use decompressors framework on i386-pc. It increases core size
4184 by 46 bytes but improves compatibility and maintainability.
4185
4186 * grub-core/Makefile.core.def (lzma_decompress): New image.
4187 (kernel): Add i386_pc_ldflags.
4188 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
4189 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
4190 to real_to_prot, prot_to_real and device info.
4191 * include/grub/offsets.h: Renamed decompressor offsets.
4192 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
4193 (image_target_desc): Remove raw_size and rename decompressor fields.
4194 (compress_kernel): Handle lzma.
4195 (generate_image): Handle decompressors on i386-pc.
4196
e9d3421c
VS
41972011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4198
4199 * configure.ac: Add -fno-asynchronous-unwind-tables.
4200
2b23074a
VS
42012011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4202
4203 Move assembly code to C by using intwrap. It increases core size
4204 by 88 bytes but improves compatibility and maintainability.
4205
4206 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
4207 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
4208 ... here. Translated to C.
4209 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
4210 * grub-core/term/i386/pc/console.c (grub_console_getkey):
4211 ... here. Translated to C.
4212 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
4213 * grub-core/term/i386/pc/console.c (grub_console_getxy):
4214 ... here. Translated to C.
4215 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
4216 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
4217 ... here. Translated to C.
4218 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
4219 * grub-core/term/i386/pc/console.c (grub_console_cls):
4220 ... here. Translated to C.
4221 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
4222 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
4223 ... here. Translated to C.
4224 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
4225 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
4226 Translated to C.
4227 * grub-core/term/i386/pc/console.c (int10_9): New function.
4228 (grub_console_putchar): Likewise.
4229 * include/grub/i386/pc/console.h: Removed the not anymore shared
4230 functions.
4231
678f4b67
VS
42322011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4233
4234 Move grub_chainloader_real_boot out of the kernel.
4235
4236 * grub-core/Makefile.am: Remove machine/loader.h.
4237 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
4238 Removed.
4239 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
4240 variable.
4241 (grub_relocator16_keep_a20_enabled): Likewise.
4242 (grub_relocator16_boot): Fill new variables.
4243 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
4244 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
4245 relocator.
4246 (grub_chainloader_unload): Likewise.
4247 (grub_chainloader_cmd): Likewise.
4248 * include/grub/i386/pc/loader.h: Removed.
4249 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
4250 and esi. All initialisers updated.
4251
4626edf6
VS
42522011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
42532011-11-12 Colin Watson <cjwatson@ubuntu.com>
4254
4255 * Makefile.util.def (grub-mount): New util.
4256 * .bzrignore: Add grub-mount.
4257 * configure.ac: Check for fuse and enable grub-mount if available.
4258 * docs/man/grub-mount.h2m: New file.
4259 * util/grub-mount.c: Likewise.
4260
10f0117b
VS
42612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4262
4263 * grub-core/commands/efi/fixvideo.c: Gettextize.
4264 * grub-core/commands/hashsum.c: Likewise.
4265 * grub-core/commands/i386/cmostest.c: Likewise.
4266 * grub-core/commands/i386/pc/drivemap.c: Likewise.
4267 * grub-core/commands/i386/pc/lsapm.c: Likewise.
4268 * grub-core/commands/i386/pc/sendkey.c: Likewise.
4269 * grub-core/commands/lsmmap.c: Likewise.
4270 * grub-core/commands/menuentry.c: Likewise.
4271 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
4272 * grub-core/commands/setpci.c: Likewise.
4273 * grub-core/loader/i386/bsd.c: Likewise.
4274 * grub-core/loader/i386/linux.c: Likewise.
4275 * util/getroot.c: Likewise.
4276 * util/grub-editenv.c: Likewise.
4277 * util/grub-fstest.c: Likewise.
4278 * util/grub-mkfont.c: Likewise.
4279 * util/grub-mkimage.c: Likewise.
4280 * util/grub-mkpasswd-pbkdf2.c: Likewise.
4281 * util/grub-pe2elf.c: Likewise.
4282 * util/grub-probe.c: Likewise.
4283 * util/grub-setup.c: Likewise.
4284 * util/ieee1275/ofpath.c: Likewise.
4285 * util/misc.c: Likewise.
4286 * util/raid.c: Likewise.
4287
566f779b
RM
42882011-11-11 Robert Millan <rmh@gnu.org>
4289
4290 * util/getroot.c (grub_util_get_geom_abstraction): Remove
4291 __attribute__((unused)) from `os_dev', which *is* being used.
4292
b50787de
VS
42932011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4294
4295 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
4296 forgotten define.
4297 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
4298 GRUB_IA64_DL_GOT_ALIGN.
4299 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
4300 GRUB_IA64_DL_TRAMP_ALIGN.
4301
119d11c8
VS
43022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 Replace grub_fatal with normal errors in i386 linux loader.
4305
4306 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
4307 (allocate_pages): Check find_efi_mmap_size return value.
4308 (grub_e820_add_region): Return error.
4309 (grub_linux_boot): Check mmap return value.
4310
6e0632e2
VS
43112011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4312
4313 * grub-core/commands/acpihalt.c: Gettextized.
4314 * grub-core/commands/cacheinfo.c: Likewise.
4315 * grub-core/commands/cmp.c: Likewise.
4316 * grub-core/commands/efi/loadbios.c: Likewise.
4317 * grub-core/commands/gptsync.c: Likewise.
4318 * grub-core/commands/ieee1275/suspend.c: Likewise.
4319 * grub-core/commands/legacycfg.c: Likewise.
4320 * grub-core/commands/memrw.c: Likewise.
4321 * grub-core/commands/minicmd.c: Likewise.
4322 * grub-core/commands/parttool.c: Likewise.
4323 * grub-core/commands/time.c: Likewise.
4324 * grub-core/commands/videoinfo.c: Likewise.
4325 * grub-core/disk/geli.c: Likewise.
4326 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
4327 * grub-core/disk/luks.c: Likewise.
4328 * grub-core/disk/lvm.c: Likewise.
4329 * grub-core/font/font_cmd.c: Likewise.
4330 * grub-core/fs/zfs/zfscrypt.c: Likewise.
4331 * grub-core/fs/zfs/zfsinfo.c: Likewise.
4332 * grub-core/gfxmenu/view.c: Likewise.
4333 * grub-core/kern/emu/hostdisk.c: Likewise.
4334 * grub-core/kern/emu/main.c: Likewise.
4335 * grub-core/kern/emu/misc.c: Likewise.
4336 * grub-core/kern/emu/mm.c: Likewise.
4337 * grub-core/kern/mips/arc/init.c: Likewise.
4338 * grub-core/kern/mips/loongson/init.c: Likewise.
4339 * grub-core/kern/partition.c: Likewise.
4340 * grub-core/lib/i386/halt.c: Likewise.
4341 * grub-core/lib/mips/arc/reboot.c: Likewise.
4342 * grub-core/lib/mips/loongson/reboot.c: Likewise.
4343 * grub-core/loader/i386/pc/chainloader.c: Likewise.
4344 * grub-core/loader/i386/xnu.c: Likewise.
4345 * grub-core/loader/multiboot.c: Likewise.
4346 * grub-core/net/bootp.c: Likewise.
4347 * grub-core/net/net.c: Likewise.
4348 * grub-core/normal/term.c: Likewise.
4349 * grub-core/partmap/bsdlabel.c: Likewise.
4350 * grub-core/parttool/msdospart.c: Likewise.
4351 * grub-core/term/gfxterm.c: Likewise.
4352 * grub-core/term/terminfo.c: Likewise.
4353 * grub-core/video/i386/pc/vbe.c: Likewise.
4354 * util/grub-menulst2cfg.c: Likewise.
4355 * util/grub-mkdevicemap.c: Likewise.
4356 * util/grub-mklayout.c: Likewise.
4357 * util/grub-mkrelpath.c: Likewise.
4358 * util/grub-script-check.c: Likewise.
4359 * util/ieee1275/grub-ofpathname.c: Likewise.
4360 * util/resolve.c: Likewise.
4361
073aa7a9
VS
43622011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4363
4364 Support %1$d syntax.
4365
4366 * tests/printf_unit_test.c: New file.
4367 * Makefile.util.def (printf_test): New test.
4368 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
4369
c76b5417
VS
43702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4371
4372 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
4373 fix.
4374
df067ad1
VS
43752011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
4378 dprintf.
4379 * grub-core/font/font.c (grub_font_load): Likewise.
4380
5b289bc5
VS
43812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4382
4383 * util/grub-macho2img.c: Add comment concerning gettext.
4384 * grub-core/lib/legacy_parse.c: Likewise.
4385
c1860f87
VS
43862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4387
4388 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
4389 (grub_xvasprintf): Likewise.
4390
d35d0d37
VS
43912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4392
4393 Add const keyword to grub_env_get and gettextize week days.
4394
4395 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
4396 (grub_read_hook_datetime): Return const char *.
4397 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
4398 updated.
4399 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
4400 Mark for gettext.
4401 (grub_get_weekday_name): Return const char *. Call gettext.
4402 * grub-core/script/argv.c (grub_script_argv_append): Receive const
4403 char * and len as the argument. All users updated.
4404 (grub_script_argv_split_append): Receive const char *.
4405 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
4406 * include/grub/env.h (grub_env_get): Likewise.
4407 (grub_env_read_hook_t): Return const char *.
4408 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
4409 (grub_script_argv_split_append): Likewise.
4410
9aed8a71
VS
44112011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4412
4413 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
4414
067fdf00
VS
44152011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4416
4417 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
4418 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
4419
a8bd9d39
VS
44202011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4421
4422 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
4423 Fix prototype.
4424
f7ce5baf
VS
44252011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4426
4427 Fix mips compilation.
4428
4429 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
4430 normal decoder.
4431 (hashes): Use in embed decoder as well (for sizes).
4432 (dec_stream_header): Fix embed decompressor logic.
4433 (dec_stream_footer): Likewise.
4434
9bb182f3
VS
44352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4436
4437 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
4438 an error and not a fatal on unrecognised relocation types.
4439
63a9e6f6
VS
44402011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4441
4442 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
4443 Issue error rather than printf on unknown arguments.
4444
4c458569
VS
44452011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4446
4447 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
4448 Make buf a const.
4449
e2d22baf
VS
44502011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4451
4452 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
4453 Fix module name.
4454
53dc8590
VS
44552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4456
4457 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
4458 leftover debug printf.
4459
6c189294
VS
44602011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4461
4462 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
4463
f7688369
VS
44642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4465
4466 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
4467 A stylistic fix.
4468
11a775a3
VS
44692011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4470
4471 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
4472
33f784e8
SL
44732011-11-10 Shea Levy <slevy@tieronedesign.com>
4474
4475 Allow all modules to perform serial IO
4476
4477 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
4478 * include/grub/serial.h (grub_serial_port_configure): New inline
4479 function.
4480 (grub_serial_port_fetch): Likewise.
4481 (grub_serial_port_put): Likewise.
4482 (grub_serial_port_fini): Likewise.
4483 (grub_serial_find): New proto.
4484
f6276525
VS
44852011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4486
4487 Put symlink at the end of the node and fix a potential
4488 memory corruption.
4489
4490 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
4491 Make symlink into an array.
4492 (set_rockridge): Set have_symlink and alloc_dirents.
4493 (grub_iso9660_read_symlink): Use new layout.
4494 (grub_iso9660_iterate_dir): Fix memory corruption.
4495 Use new layout.
4496 (grub_iso9660_dir): Set have_symlink.
4497 (grub_iso9660_open): Likewise.
4498
c3591189
VS
44992011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4500
4501 Remove local keyword.
4502
4503 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
4504 (version_test_gt): Likewise.
4505 (version_find_latest): Likewise.
4506 (gettext_printf): Likewise.
4507 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
4508
cb544caa
VS
45092011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4510
4511 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
4512
45bd824d
VS
45132011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4514
4515 Fix ZFS memory and resource leaks.
4516
4517 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
4518 All users updated.
4519 Free type on exit.
4520 (fill_vdev_info): New parameter inserted. All users updated.
4521 (check_pool_label): Likewise.
4522 (scan_disk): Likewise.
4523 (scan_devices): Close non-inserted disks.
4524 (fzap_iterate): Free l.
4525 (unmount_device): Free children descripto memory.
4526
ad9a2f44
VS
45272011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4528
4529 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
4530 argument (access out of bounds).
4531
6b68db81
VS
45322011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4533
4534 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
4535 >= 6 drives.
4536
28840fda
VS
45372011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4538
4539 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
4540 Fix declaration.
4541
8a5a3a5b
VS
45422011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4543
4544 Fix several memory leaks.
4545
4546 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
4547 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
4548 (grub_cpio_dir): Likewise.
4549 * grub-core/fs/fat.c (grub_fat_label): Likewise.
4550 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
4551 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
4552 (grub_romfs_label): Likewise.
4553 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
4554 (squash_unmount): New function.
4555 (grub_squash_dir): Fix memory leak.
4556 (grub_squash_open): Likewise.
4557 (grub_squash_read): Likewise.
4558 (grub_squash_mtime): Likewise.
4559 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
4560 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
4561 * util/grub-fstest.c (fstest): Likewise.
4562
57b01250
VS
45632011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4564
4565 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
4566 avoid accessing beyond the array.
4567
19e81ba7
VS
45682011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4569
4570 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
4571
52b656c0
VS
45722011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4573
4574 Several AFFS fixes.
4575
4576 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
4577 (GRUB_AFFS_FLAG_FFS): Removed.
4578 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
4579 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
4580 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
4581 (grub_fshelp_node): Make block 32-bit.
4582 Add block_cache and last_block_cache.
4583 (grub_affs_read_block): Fill and use block cache.
4584 (grub_affs_read_file): Removed.
4585 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
4586 boot block.
4587 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
4588 safety.
4589 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
4590 space.
4591 (grub_affs_close): Free block cache.
4592 (grub_affs_read): Use grub_fshelp_read_file directly.
4593
438a746a
VS
45942011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4595
4596 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
4597 with no error set.
4598
49a45021
VS
45992011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4600
4601 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
4602 used variable.
4603 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
4604 Likewise.
4605
3ae17eb8
VS
46062011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
4609
4610 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
4611 byteswap when needed.
4612
27610c38
VS
46132011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4614
4615 Fix FreeBSD compilation.
4616
4617 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
4618 to avoid circular dependency.
4619 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
4620 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
4621 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
4622
4a19b601
VS
46232011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4624
4625 Fix ZFS crypto error types.
4626
4627 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
4628 (grub_gcm_decrypt): Likewise.
4629 (grub_zfs_load_key_real): Fix error code type. Handle possible error
4630 from PBKDF2.
4631
958ee221
VS
46322011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4633
4634 Illumos support.
4635
4636 * Makefile.util.def (10_illumos): New script.
4637 * configure.ac: Set COND_HOST_ILLUMOS.
4638 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
4639 Support Illumos calls.
4640 (find_partition_start) [__sun__]: Likewise.
4641 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
4642 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
4643 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
4644 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
4645 device.
4646 * util/grub-probe.c (probe) [__sun__]: Do character check.
4647 * util/grub.d/10_illumos.in: New file.
4648
cac14fb6
VS
46492011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4650
4651 Support escaped commas in hostdisk.
4652
4653 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
4654 (find_grub_drive): Use unescape_cmp.
4655 (make_device_name): Escape commas.
4656
78e08dc3
VS
46572011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4658
4659 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
4660
9f421dd1
VS
46612011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4662
4663 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
4664 variable.
4665
ed64e9e2
VS
46662011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4667
4668 Support trampoline jumps on powerpc.
4669
4670 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
4671 __ia64__ path.
4672 (grub_dl_load_segments): Set mod->sz.
4673 (grub_dl_flush_cache): Flush whole space occupied by module, not just
4674 segments.
4675 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
4676 (jump): Likewise.
4677 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
4678 function.
4679 (trampoline): New struct.
4680 (trampoline_template): New const.
4681 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
4682 * include/grub/dl.h (grub_dl): Add sz element.
4683 [__powerpc__]: Follow __ia64__.
4684 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
4685 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
4686 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
4687 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
4688
3084ede4
VS
46892011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4690
4691 ZFS crypto support.
4692
4693 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
4694 * grub-core/Makefile.core.def (zfscrypt): New module.
4695 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
4696 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
4697 it. All users updated.
4698 (grub_zfs_decrypt): New var.
4699 (grub_zfs_load_key): Likewise.
4700 (zio_checksum_functions): Add SHA256+MAC.
4701 (zio_checksum_verify): Handle incomplete comparison due to MAC.
4702 (zio_read): Handle encrypted blocks.
4703 (zap_verify): Remove incorrect check.
4704 (fzap_iterate): Handle non-standard fzap.
4705 (zap_iterate): Likewise.
4706 (zap_iterate_u64): New function.
4707 (dnode_get_fullpath): Load keys.
4708 * grub-core/fs/zfs/zfscrypt.c: New file.
4709 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
4710 (grub_crypto_ecb_encrypt): Make input const.
4711 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
4712 (grub_crypto_ecb_encrypt): Make input const.
4713 (GRUB_CIPHER_AES): New macro.
4714 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
4715 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
4716 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
4717 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
4718 prefix. All users updated.
4719 (grub_zfs_add_key): New proto.
4720 (grub_zfs_decrypt): Likewise.
4721 (grub_zfs_load_key): Likewise.
4722 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
4723 * util/grub-fstest.c (options): Add -K option.
4724 (argp_parser): Likewise.
4725
b632b404
VS
47262011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
4727
4728 Support zle compression on ZFS.
4729
4730 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
4731 (decomp_table): Add zle.
4732 * include/grub/zfs/zio.h (zio_compress): Add zle.
4733
c7ba4f69
VS
47342011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
4735
4736 Support BtrFS embedding.
4737
4738 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
4739 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
4740 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
4741 * util/grub-setup.c (setup): Use fs embedding if available.
4742 Add additional sanity check.
4743
455377d9
VS
47442011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
4745
4746 * util/grub-install.in: Fix condition for config_opt.
4747
c2fd16ca
VS
47482011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4749
4750 Support third redundancy strip on raidz3.
4751
4752 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
4753 Return error on singularity. All users updated.
4754 (read_device): Don't stop on 3rd failure on raidz3.
4755
8622923b
VS
47562011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4757
4758 Support case-insensitive ZFS subvolumes.
4759
4760 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
4761 All users updated.
4762 (zap_hash): Likewise.
4763 (name_cmp): New function.
4764 (zap_leaf_array_equal): New parameter case_insensitive.
4765 All users updated.
4766 (zap_leaf_lookup): Likewise.
4767 (fzap_lookup): Likewise.
4768 (zap_lookup): Likewise.
4769 (dnode_get_path): New parameter case_insensitive. Retrieve case
4770 sensitiviness of a volume. All users updated.
4771 (dnode_get_fullpath): New parameter case_insensitive.
4772 All users updated.
4773 (grub_zfs_dir): Set info.case_insensitiveness.
4774
95f2e860
VS
47752011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4776
4777 Support second redundancy strip on raidz(2,3).
4778
4779 * grub-core/fs/zfs/zfs.c (powx): New array.
4780 (powx_inv): Likewise.
4781 (poly): New const.
4782 (xor_out): New function.
4783 (gf_mul): Likewise.
4784 (recovery): Likewise.
4785 (read_device): Use second redundancy strip.
4786
11ee4389
VS
47872011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4788
4789 Use a power of generator representation of GF(256) multiplication group
4790 to save space time and complexity.
4791
4792 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
4793 (raid6_table2): Likewise.
4794 (powx): New array.
4795 (powx_inv): Likewise.
4796 (poly): New const.
4797 (grub_raid_block_mul): Replace with ...
4798 (grub_raid_block_mulx): ...this.
4799 (grub_raid6_init_table): Rewritten.
4800 (grub_raid6_recover): Use power of generator representation.
4801
09e2763f
VS
48022011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4803
4804 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
4805 for the right device.
4806
8bec9a28
VS
48072011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4808
4809 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
4810 expected by grub-mkimage and it's more clear since there is no implicit
4811 padding.
4812
dbd3a32e
VS
48132011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4814
4815 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
4816 disk.
4817 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
4818
182c872a
PMH
48192011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
4820
4821 * util/grub-mkrescue.in: Fix handling xorriso option.
4822
1e51cabd
VS
48232011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4824
4825 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
4826 NULL.
4827
9cc3581d 48282011-11-03 crocket <crockabiscuit@gmail.com>
4829
4830 * util/grub.d/10_linux.in: Add Slackware initrd naming.
4831
158dc1ea
VS
48322011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4833
4834 XZ CRC64 and SHA256 support.
4835
4836 * Makefile.util.def (libgrubmods): Add crc64.c.
4837 * grub-core/Makefile.core.def (crc64): New module.
4838 * grub-core/lib/crc64.c: New file.
4839 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
4840 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
4841 Fix the type.
4842 (MAX_HASH_SIZE): New define.
4843 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
4844 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
4845 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
4846 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
4847 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
4848 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
4849 Handle non-crc32 hashes.
4850 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
4851 (dec_stream_header): Handle non-crc32 hashes.
4852 (dec_stream_footer): Likewise.
4853 (dec_block_header): Likewise.
4854 (dec_main): Likewise.
4855 (xz_dec_init): Likewise.
4856 (xz_dec_reset): Likewise.
4857 (xz_dec_end): Likewise.
4858 * util/import_gcry.py: Add CRC64 line.
4859
9d9b3d2f
VS
48602011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4861
4862 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
4863 as well.
4864
7d0ac931
VS
48652011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4866
4867 Make reiserfs label retrieval similar to other *_label functions.
4868
4869 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
4870 (REISERFS_MAX_LABEL_LENGTH): Removed.
4871 (REISERFS_LABEL_OFFSET): Likewise.
4872 (grub_reiserfs_label): Rewritten.
4873
48742011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4875
4876 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
4877 field.
4878
cf5ba824
VS
48792011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4880
4881 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
4882
17744004
VS
48832011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
4884
4885 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
4886 drive failure on both raidz and raidz2.
4887
aca5aefc
VS
48882011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
4889
4890 Fix RAIDZ(2) for >= 5 devices.
4891
4892 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
4893 asize argument. All users updated.
4894
ce8ca56e
VS
48952011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 Fix RAIDZ(2).
4898
4899 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
4900 (fill_vdev_info_real): Set ashift.
4901 (read_device): Rewrite RAIDZ part based on reverse engineering.
4902
7c01e783
VS
49032011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4904
4905 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
4906 don't report potentially unavialiable fields in debug output.
4907 (find_path): Fix double-free and memory leak.
4908
ce109e84
VS
49092011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4910
4911 Read label on UFS1.
4912
4913 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
4914 (grub_ufs_fs): Always set .label.
4915
87661123
VS
49162011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4917
4918 Use shifts in UFS.
4919
4920 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
4921 (grub_ufs_data): New field log2_blksz.
4922 (grub_ufs_read_file): Use shifts.
4923 (grub_ufs_mount): Check block size and logarithm it.
4924
46bc1dc2
VS
49252011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4926
4927 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
4928 long symlinks.
4929
19ee2987
VS
49302011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4931
4932 Handle symlinks and long names on tar and cpio.
4933
4934 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
4935 (ATTR_FILE): Likewise.
4936 (ATTR_DIR): Likewise.
4937 (ATTR_LNK): Likewise.
4938 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
4939 (grub_cpio_find_file): Fill mode, handle linkname field as well as
4940 L and K entries.
4941 (grub_cpio_mount): Zero-fill data.
4942 (handle_symlink): New function.
46bc1dc2
VS
4943 (grub_cpio_dir): Handle symlinks.
4944 (grub_cpio_open): Likewise.
4945 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 4946
c83a08d8
VS
49472011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4948
4949 Fix iso9660 filename limitations and fix memory leaks.
4950
4951 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
4952 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
4953
45cdd3ea
VS
49542011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4955
4956 Fix JFS file name length limitations.
4957
4958 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
4959 (grub_jfs_diropen): Fix maximum filename length.
4960 (grub_jfs_getent): Fix filename length.
4961 (grub_jfs_lookup_symlink): Fix size checks.
4962
94ef05c2
VS
49632011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4964
4965 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
4966 string.
4967
785ab8c7
VS
49682011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4969
eb0b6b45
VS
4970 Leverage BFS implementation to read AFS.
4971
4972 * Makefile.util.def (libgrubmods): Add afs.c.
4973 * grub-core/Makefile.core.def (afs): New module
4974 * grub-core/fs/afs.c: New file.
4975 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
4976
49772011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4978
4979 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 4980
c4a1628f
VS
49812011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4982
4983 * grub-core/fs/bfs.c: Run indent.
4984
5825b379
VS
49852011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4986
4987 BFS implementation based on the specification.
4988
4989 * grub-core/fs/bfs.c: New file.
4990 * Makefile.util.def (libgrubmods): Add bfs.c.
4991 * grub-core/Makefile.core.def (bfs): New module.
4992
42b2a706
VS
49932011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4994
4995 * util/grub-fstest.c (cmd_cp): Clarify error message.
4996 (cmd_cmp): Likewise.
4997
61b99bfc
YB
49982011-10-30 Yves Blusseau <blusseau@zetam.org>
4999
5000 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
5001 and befs_be.
5002
faba3d16
VS
50032011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
5004
5005 Remove afs and befs because of copyright problem.
5006
5007 * grub-core/fs/afs.c: Removed.
5008 * grub-core/fs/afs_be.c: Removed.
5009 * grub-core/fs/befs.c: Removed.
5010 * grub-core/fs/befs_be.c: Removed.
5011 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
5012 * grub-core/Makefile.core.def (afs): Removed.
5013 (afs_be): Likewise.
5014 (befs): Likewise.
5015 (befs_be): Likewise.
5016
c39224b0
VS
50172011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5018
5019 Prefer rockridge over Joliet.
5020
5021 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
5022 to ...
5023 (set_rockridge): ... here.
5024 (grub_iso9660_mount): Check rockridge on the primary label when
5025 discovering. Ignore Joliet if Rockridge is present.
5026
e551115a
VS
50272011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5028
5029 Use shifts in nilfs2.
5030
5031 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
5032 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
5033 (grub_nilfs2_palloc_entries_per_group): Replace with ...
5034 (grub_nilfs2_log_palloc_entries_per_group): ... this.
5035 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
5036 (grub_nilfs2_entries_per_block): Replaced with ...
5037 (grub_nilfs2_log_entries_per_block_log): ... this.
5038 (grub_nilfs2_blocks_per_group): Replaced with ...
5039 (grub_nilfs2_blocks_per_group_log): ... this.
5040 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
5041 (grub_nilfs2_blocks_per_desc_block_log): ... this.
5042 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
5043 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
5044 (grub_nilfs2_palloc_entry_offset): Replaced ...
5045 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
5046 (grub_nilfs2_dat_translate): Use shifts.
5047 (grub_nilfs2_read_inode): Likewise.
5048 (GRUB_MOD_INIT): Ensure that logs are correct.
5049
564dd58c
VS
50502011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5051
5052 Use shifts in minix filesystem.
5053
5054 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
5055 (GRUB_MINIX_ZONE2SECT): Likewise.
5056 (grub_minix_data): Replace block_size with log_block_size.
5057 (grub_minix_read_file): Use shifts.
5058 (grub_minix_mount): Check block size and take a logarithm.
5059
ed9ba06d
VS
50602011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5061
5062 Use shifts in squash4.
5063
5064 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
5065 (squash_mount): Check block size and take logarithm.
5066 (direct_read): Use shifts.
5067
ad03fe76
VS
50682011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5069
5070 Correct befs block counting logic.
5071
5072 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
5073 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
5074 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
5075 (grub_afs_read_inode): Use block_shift.
5076 (RANGE_SHIFT): New definition.
5077 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
5078 unexpected conditions, use shifts and appropriate types.
5079 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
5080
6563f63d
VS
50812011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5082
5083 * grub-core/disk/raid.c (scan_devices): Check partition.
5084 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
5085
5b1ae25f
VS
50862011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
5087
5088 Support BFS (befs) UUID.
5089
5090 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
5091 (grub_afs_small_data_element_header): New struct.
5092 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
5093 (grub_afs_read_attribute) [MODE_BFS]: New function.
5094 (grub_afs_iterate_dir): Allocate for complete inode.
5095 (grub_afs_mount): Likewise.
5096 (grub_afs_uuid) [MODE_BFS]: New function.
5097 (grub_afs_fs) [MODE_BFS]: Add .uuid.
5098
f8d82408
VS
50992011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
5100
5101 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
5102 (zfs_unmount): Fix memory leak.
5103
5773fb64
VS
51042011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5105
5106 Support NTFS reparse points.
5107
5108 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
5109 (symlink_descriptor): New struct.
5110 (grub_ntfs_read_symlink): New function.
5111 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
5112 (grub_ntfs_open): Likewise.
5113
91c3fdde
VS
51142011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5115
5116 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
5117
3be82e10
VS
51182011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5119
5120 fstest xnu_uuid subcommand.
5121
5122 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
5123 grub-core/commands/xnu_uuid.c.
5124 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
5125 (fstest): Handle xnu_uuid.
5126 (options): Document xnu_uuid.
5127 (argp_parser): Parse xnu_uuid.
5128
8e32442e
VS
51292011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5130
5131 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
5132 -l argument. Add newline at the end if printing.
5133 (GRUB_MOD_INIT): Document -l.
5134
52a05075
VS
51352011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5136
5137 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
5138
1869edb5
VS
51392011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5140
5141 ZFS multi-device and version 33 support.
5142
5143 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
5144 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
5145 (grub_zfs_data): Add multidev-ice-related fields.
5146 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
5147 (dva_get_offset): Make dva const.
5148 (zfs_fetch_nvlist): New function.
5149 (fill_vdev_info_real): Likewise.
5150 (fill_vdev_info): Likewise.
5151 (check_pool_label): Likewise.
5152 (scan_disk): Likewise.
5153 (scan_devices): Likewise.
5154 (read_device): Likewise.
5155 (read_dva): Likewise.
5156 (zio_read_gang): Use read_dva.
5157 (zio_read_data): Likewise.
5158 (zap_leaf_lookup): Add missing endian conversion.
5159 (zap_verify): Add missing endian conversion. All users updated.
5160 (fzap_lookup): Likewise.
5161 (fzap_iterate): Likewise.
5162 (dnode_get_path): Handle SA bonus.
5163 (nvlist_find_value): Make input const. All users updated.
5164 (unmount_device): New function.
5165 (zfs_unmount): Use unmount_device.
5166 (zfs_mount): Use scan_disk.
5167 (zfs_mtime): New function.
5168 (grub_zfs_open): Handle system attributes.
5169 (fill_fs_info): Likewise.
5170 (grub_zfs_dir): Likewise.
5171 (grub_zfs_fs): Add mtime.
5172 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
5173 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
5174 (SA_MTIME_OFFSET): Likewise.
5175 (SA_SYMLINK_OFFSET): Likewise.
5176 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
5177 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
5178 (fstest): Support zfsinfo.
5179 (argp_parser): Likewise.
5180
186b4028
VS
51812011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5182
5183 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
5184 error.
5185
51862011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
5187
5188 ZFS fixes.
5189
5190 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
5191 sharing the same block. Iterate over correct number of indices.
5192 (dnode_get_path): Handle symlinks correctly.
5193
c0584900
VS
51942011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5195
5196 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
5197
67e2bd71
VS
51982011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5199
5200 Read label on HFS+.
5201
5202 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
5203 (grub_hfsplus_btree_search): Fix types.
5204 (grub_hfsplus_label): Implement.
5205
e9cc6b7b
VS
52062011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5207
5208 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
5209
19832ddb
VS
52102011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5211
5212 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
5213
66b40850
VS
52142011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5215
5216 Fix symlink handling on iso9660.
5217
5218 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
5219 All users updated.
5220 (grub_iso9660_susp_iterate): Accept zero-size iterate.
5221 (grub_iso9660_read_symlink): Moved most of code ...
5222 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
5223
db821363
VS
52242011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5225
5226 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
5227 Use union to avoid breaking strict-aliasing rules.
5228
e1211949
VS
52292011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5230
5231 Support multi-extent iso files.
5232
5233 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
5234 Add node.
5235 (grub_fshelp_node): Revamp. All users updated.
5236 (FLAG_*): New enum.
5237 (read_node): New function.
5238 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
5239 All users updated.
5240 (grub_iso9660_mount): Don't attempt to read sua when there is none.
5241 (get_node_size): New function.
5242 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
5243 entries.
5244 Fix memory leak on . and ..
5245 (grub_iso9660_read): Use read_node.
5246 (grub_iso9660_close): Free node.
5247
d4888031
VS
52482011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5249
5250 Fix tar 4G limit and handle paths containing dot.
5251
5252 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
5253 (canonicalize): New function.
5254 (grub_cpio_find_file): Use canonicalize. Store offs in
5255 grub_disk_addr_t.
5256 (grub_cpio_dir): Use grub_disk_addr_t.
5257 (grub_cpio_open): Likewise.
5258
9f12e664
VS
52592011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5260
5261 Fix handling of uncompressed blocks on squashfs and break 4G limit.
5262
5263 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
5264 unused flags.
5265 (grub_squash_inode): Add long_file and block_size.
5266 (grub_squash_cache_inode): New struct.
5267 (grub_squash_dirent): Make types into enum.
5268 (SQUASH_TYPE_LONG_REGULAR): New type.
5269 (grub_squash_frag_desc): Add field size.
5270 (SQUASH_BLOCK_FLAGS): New enum.
5271 (grub_squash_data): Use grub_squash_cache_inode.
5272 (grub_fshelp_node): Make ino_chunk 64-bit.
5273 (read_chunk): Minor argument change. All users updated.
5274 (squash_mount): Use correct le_to_cpu.
5275 (grub_squash_open): Handle LONG_REGULAR.
5276 (direct_read): New function.
5277 (grub_squash_read_data): Handle blocks correctly.
5278
9f326fba
VS
52792011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5280
5281 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
5282
f4d9b64b
VS
52832011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5284
5285 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
5286
5bbd28b8
VS
52872011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
5288
5289 Fix 2G limit on ZFS.
5290
5291 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
5292 types.
5293 (uberblock_verify): Likewise.
5294 (dmu_read): Likewise.
5295 (grub_zfs_read): Likewise. Remove invalid cast.
5296
68c72069
VS
52972011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
5298
5299 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
5300 (grub_jfs_blkno): Fix incorrect shift.
5301 (grub_jfs_read_file): Use more appropriate types.
5302
6e536dc8
VS
53032011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
5304
5305 Support triple indirect on minix2 and minix3.
5306
5307 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
5308 Declare triple_indir_zone.
5309 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
5310 indirect.
5311
e0864e7a
VS
53122011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
5313
5314 Minix FS fixes.
5315
5316 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
5317 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
5318 Rename ctime to mtime. All users updated.
5319 (grub_minix_get_file_block): Fix types and double indirect computations.
5320
89481cab
VS
53212011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5322
5323 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
5324 if no label is found.
5325 (grub_fat_iterate_dir): Fix file size type.
5326 (grub_fat_iterate_dir): Likewise.
5327
f646e143
VS
53282011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5329
5330 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
5331 save some space.
5332 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
5333 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
5334
534d769e
VS
53352011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5336
5337 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
5338
e084ba18
VS
53392011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5340
5341 * util/import_gcry.py: Accept space between # and include.
5342
3471ecdf
VS
53432011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5344
5345 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
5346
124df5f6
VS
53472011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 Fine grainely disable warnings on lexer. Remove Wno-error on it.
5350
5351 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
5352 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
5353 yylex_strncpy.
5354 * grub-core/script/yylex.l: Add fine-grained #pragma.
5355
4defb8d5
VS
53562011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5357
5358 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
5359 New inline function.
5360 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
5361 Likewise.
5362 (memset) [GRUB_UTIL]: Likewise.
5363 (memcmp) [GRUB_UTIL]: Likewise.
5364
4e94ae65
VS
53652011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5366
5367 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
5368 inline function rather than a define.
5369
18c575e5
VS
53702011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5371
5372 * util/grub-setup.c: Add missing include.
5373
f8bc22a8
VS
53742011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5375
5376 * util/ieee1275/grub-ofpathname.c: Add missing include.
5377
3ce69fc9
VS
53782011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5379
5380 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
5381 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
5382 Likewise.
5383
d1e293bb
VS
53842011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5385
5386 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
5387 grub_memcmp usage.
5388
7a5c54a4
VS
53892011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5390
5391 * util/grub-install.in: Add datarootdir as per automake manual
5392 suggestion.
5393 * util/grub-mknetdir.in: Likewise.
5394
53952011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
5396
5397 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
5398 suggestion.
5399 * util/grub.d/10_kfreebsd.in: Likewise.
5400 * util/grub.d/10_linux.in: Likewise.
5401 * util/grub.d/10_netbsd.in: Likewise.
5402 * util/grub.d/10_windows.in: Likewise.
5403 * util/grub.d/20_linux_xen.in: Likewise.
5404
766f7d08
VS
54052011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
5406
5407 Remove redundant grub_kernel_image_size.
5408
5409 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
5410 _edata and _start.
5411 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
5412 the small code. It moves it only by few bytes but simplifies the code.
5413 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
5414 _start.
5415 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
5416 (grub_kernel_image_size): Removed.
5417 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
5418 (grub_kernel_image_size): Removed.
5419 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
5420 compiled with Apple toolchain.
5421 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
5422 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
5423 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
5424 (grub_total_module_size): Likewise.
5425 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
5426 Removed.
5427 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
5428 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
5429 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
5430 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
5431 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
5432 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
5433 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
5434 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
5435 Removed.
5436 (grub_total_module_size): Removed.
5437 * util/grub-mkimage.c (image_target_desc): Remove image_size.
5438 (image_targets): Likewise.
5439 Set .compressed_size to no field on sparc.
5440 (generate_image): Remove kernel_image_size handling.
5441
fcf1d672
SJ
54422011-10-19 Szymon Janc <szymon@janc.net.pl>
5443
5444 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
5445 NULL pointer dereference.
5446
de9c615e
VS
54472011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5448
5449 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
5450 done with a dedicated section.
5451
5452 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
5453 Ensure the correct position of boot_path.
5454 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
5455 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
5456 other fields.
5457 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
5458 * include/grub/boot.h: Removed. All references removed.
5459 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
5460 Removed.
5461 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
5462
e55599dc
VS
54632011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5464
5465 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
5466 name.
5467
36dd20ad
VS
54682011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5469
5470 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
5471
f8f72eb8
VS
54722011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5473
5474 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
5475 Don't add the bogus brackets.
5476
a374751b
VS
54772011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5478
5479 ExFAT support.
5480
5481 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
5482 * grub-core/Makefile.core.def (exfat): New module.
5483 * grub-core/fs/exfat.c: New file.
5484 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
5485 (GRUB_FAT_ATTR_*): Make into an enum.
5486 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
5487 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
5488 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
5489 (GRUB_FAT_MAXFILE): Removed.
5490 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
5491 (grub_current_fat_bpb_t): New type.
5492 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
5493 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
5494 (grub_fat_dir_node_t): New type.
5495 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
5496 (fat_log2) [MODE_EXFAT]: Removed.
5497 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
5498 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
5499 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
5500 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
5501 (grub_fat_label) [MODE_EXFAT]: New function.
5502 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
5503 reserved_first_sector to 0.
5504
544c2487
VS
55052011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5506
5507 Move grub_reboot out of the kernel.
5508
5509 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
5510 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
5511 * grub-core/lib/efi/reboot.c: ... here.
5512 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
5513 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
5514 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
5515 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
5516 * grub-core/lib/i386/reboot_trampoline.S: ... here.
5517 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
5518 * grub-core/lib/ieee1275/reboot.c: ... here.
5519 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
5520 * grub-core/lib/mips/arc/reboot.c: ... here.
5521 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
5522 * grub-core/lib/mips/loongson/reboot.c: ...here.
5523 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
5524 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
5525 * include/grub/emu/misc.h (grub_reboot): New function declaration.
5526 * include/grub/i386/reboot.h: New file.
5527 * include/grub/mips/loongson/ec.h: Fix includes.
5528 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
5529 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
5530 * grub-core/lib/i386/reboot.c: New file.
5531
a97501d2
VS
55322011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
5533
5534 Make grub_prefix into module to fix the arbitrary limit and save
5535 some space.
5536
5537 * grub-core/kern/emu/main.c (grub_prefix): Removed.
5538 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
5539 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
5540 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
5541 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
5542 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
5543 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
5544 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
5545 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
5546 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
5547 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
5548 * include/grub/ia64/efi/kernel.h: Removed.
5549 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
5550 (grub_prefix): Removed.
5551 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
5552 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
5553 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
5554 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
5555 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
5556 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
5557 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
5558 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
5559 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
5560 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
5561 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
5562 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
5563 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
5564 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
5565 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
5566 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
5567 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
5568 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
5569 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
5570 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
5571 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
5572 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
5573 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
5574 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
5575 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
5576 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
5577 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
5578 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
5579 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
5580 from module.
5581 * util/grub-mkimage.c (image_target_desc): Removed prefix and
5582 prefix_end.
5583 (image_targets): Likewise.
5584 (generate_image): Put prefix as a module.
5585
39705fad
VS
55862011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5587
5588 Replace grub_module_iterate with FOR_MODULES.
5589
5590 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
5591 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
5592 (grub_efi_modules_addr): ...this.
5593 * grub-core/kern/efi/init.c (grub_modbase): New variable.
5594 (grub_efi_init): Set grub_modbase.
5595 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
5596 (grub_modbase): New variable.
5597 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
5598 (grub_modbase): New variable.
5599 (grub_machine_init): Set grub_modbase.
5600 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
5601 (grub_modbase): New variable.
5602 (grub_machine_init): Set grub_modbase.
5603 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
5604 (grub_modbase): New variable.
5605 (grub_machine_init): Set grub_modbase.
5606 * grub-core/kern/main.c (grub_module_iterate): Remove.
5607 (grub_modules_get_end): Use grub_modbase.
5608 (grub_load_modules): Use FOR_MODULES.
5609 (grub_load_config): Likewise.
5610 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
5611 (grub_modbase): New variable.
5612 (grub_machine_init): Set grub_modbase.
5613 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
5614 (grub_modbase): New variable.
5615 (grub_machine_init): Set grub_modbase.
5616 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
5617 Removed.
5618 (grub_modbase): New variable.
5619 (grub_machine_init): Set grub_modbase.
5620 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
5621 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
5622 (grub_module_iterate): Likewise.
5623 (grub_modbase): New variable declaration.
5624 (FOR_MODULES): New macro.
5625
2afb7f6c
VS
56262011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5627
5628 * configure.ac: Check for __ctzdi2 and __ctzsi2.
5629 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
5630
366e34fa
VS
56312011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5632
5633 Fix few obvious type discrepancies.
5634
5635 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
5636 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
5637 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
5638 variable.
5639 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
5640 and connected types.
5641 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
5642 offset.
5643 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
5644 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
5645 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
5646 and connected types.
5647
177b960e
VS
56482011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5649
5650 Fix python 3.x incompatibilities.
5651
5652 * gentpl.py: Put brackets around print strings.
5653 * util/import_gcry.py: Open explicitly as utf-8.
5654 Use in instead of has_key.
5655
3b619ae1
VS
56562011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5657
5658 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
5659 (GRUB_XFS_INO_AGBITS): Make into inline function.
5660 (GRUB_XFS_INO_INOINAG): Likewise.
5661 (GRUB_XFS_INO_AG): Likewise.
5662 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
5663 (GRUB_XFS_EXTENT_OFFSET): Likewise.
5664 (GRUB_XFS_EXTENT_BLOCK): Likewise.
5665 (GRUB_XFS_EXTENT_SIZE): Likewise.
5666 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
5667 (GRUB_XFS_NEXT_DIRENT): Likewise.
5668 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
5669 (grub_xfs_read_file): Fix offset type.
5670
8bcebcb8
RM
56712011-10-15 Robert Millan <rmh@gnu.org>
5672
5673 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
5674
0017e5ef
RM
56752011-10-15 Robert Millan <rmh@gnu.org>
5676
5677 Fix build problem on FreeBSD and GNU/kFreeBSD.
5678
5679 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
5680
d8919552
VS
56812011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5682
5683 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
5684
5685 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
5686 types.
5687 (grub_hfsplus_btree_recoffset): Likewise.
5688 (grub_hfsplus_btree_recptr): Likewise.
5689 (grub_hfsplus_find_block): Likewise.
5690 (grub_hfsplus_btree_search): Likewise.
5691 (grub_hfsplus_read_block): Likewise.
5692 (grub_hfsplus_read_file): Likewise.
5693 (grub_hfsplus_mount): Likewise.
5694 (grub_hfsplus_btree_iterate_node): Likewise.
5695 (grub_hfsplus_btree_search): Likewise.
5696 (grub_hfsplus_iterate_dir): Likewise.
5697 (grub_hfsplus_read): A small code simplification.
5698
c81296b6
VS
56992011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5700
5701 * grub-core/kern/emu/hostdisk.c
5702 (convert_system_partition_to_system_disk): Don't assume that children
5703 of mapper nodes are mapper nodes.
5704
0eb8ffb1
VS
57052011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5706
5707 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
5708 * include/grub/misc.h (grub_isxdigit): New function.
5709 * grub-core/video/colors.c (my_isxdigit): Removed. All users
5710 switched to grub_isxdigit.
5711 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
5712 number starting with a letter.
5713
a98f4a08
RM
57142011-10-09 Robert Millan <rmh@gnu.org>
5715
5716 LVM support for FreeBSD and GNU/kFreeBSD.
5717
5718 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
5719 GNU/kFreeBSD.
5720 (LVM_DEV_MAPPER_STRING): Move from here ...
5721 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
5722 * util/getroot.c: Include `<grub/util/lvm.h>'.
5723 (grub_util_get_dev_abstraction): Enable
5724 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
5725 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
5726 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
5727 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
5728 support it.
5729 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
5730 GNU/kFreeBSD.
5731 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
5732 when LVM abstraction is required for ${GRUB_DEVICE}.
5733
050e8e90
SJ
57342011-10-06 Szymon Janc <szymon@janc.net.pl>
5735
5736 Add support for LZO compression in GRUB:
5737 - import of minilzo library,
5738 - LZO decompression for btrfs,
5739 - lzop files decompression.
5740
5741 * grub-core/io/lzopio.c: New file.
5742 * grub-core/lib/adler32.c: Likewise.
5743 * grub-core/lib/minilzo/lzoconf.h: Likewise.
5744 * grub-core/lib/minilzo/lzodefs.h: Likewise.
5745 * grub-core/lib/minilzo/minilzo.c: Likewise.
5746 * grub-core/lib/minilzo/minilzo.h: Likewise.
5747 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
5748 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
5749 grub-core/lib/minilzo/minilzo.c to common.
5750 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
5751 cflags in cppflags.
5752 * grub-core/Makefile.core.def (btrfs): Likewise.
5753 * grub-core/Makefile.core.def (lzopio): New module.
5754 (adler32): Likewise.
5755 * grub-core/fs/btrfs.c: Include minilzo.h.
5756 (GRUB_BTRFS_COMPRESSION_LZO): New define.
5757 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
5758 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
5759 (grub_btrfs_lzo_decompress): New function.
5760 (grub_btrfs_extent_read): Add support for LZO compression type.
5761 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
5762 (GRUB_USHRT_MAX): Likewise.
5763 (GRUB_UINT_MAX): Likewise.
5764 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
5765 (UINT_MAX): Likewise.
5766 (CHAR_BIT): Likewise.
5767 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
5768 grub-core/lib/posix_wrap/limits.h
5769 (UCHAR_MAX): Likewise.
5770 * include/grub/file.h (grub_file_filter_id): New compression filter
5771 GRUB_FILE_FILTER_LZOPIO.
5772 * include/grub/file.h (grub_file_filter_id): Set
5773 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
5774 * include/grub/types.h (grub_get_unaligned16): New function.
5775 (grub_get_unaligned32): Likewise.
5776 (grub_get_unaligned64): Likewise.
5777 * util/import_gcry.py (cryptolist): Add adler32.
5778
0eb8ffb1
VS
57792011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
5780
5781 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
5782 in perspective decreases the complexity of build system and fixes
5783 compilation right now.
5784
ce79cc99 57852011-10-01 Ales Nesrsta <starous@volny.cz>
5786
5787 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
5788 (fixed problem related to using UHCI with coreboot).
5789
8667a314
BC
57902011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
5791
5792 * gentpl.py: Use Autogen macros so that the output template file
5793 (Makefile.tpl) size is reduced.
5794
fc5efcc0
MK
57952011-09-29 Mads Kiilerich <mads@kiilerich.com>
5796
5797 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
5798 extra_dist.
5799
d1ab689d
ML
58002011-09-29 Mario Limonciello <mario_limonciello@dell.com>
5801
5802 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
5803 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
5804
c05de032
ML
58052011-09-29 Mario Limonciello <mario_limonciello@dell.com>
5806
5807 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
5808 _fullpath.
5809
cca7ccd8
ML
58102011-09-29 Mario Limonciello <mario_limonciello@dell.com>
5811
5812 Remove extra declaration of sleep for mingw32.
5813
5814 * util/misc.c (sleep) [__MINGW32__]: Removed.
5815 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
5816
e0b0dc83
GS
58172011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
5818
5819 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
5820 type and packname.
5821 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
5822 Resurrected.
5823 (NETBSD_BTINFO_BOOTWEDGE): New definition.
5824 (grub_netbsd_btinfo_bootwedge): New struct.
5825 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
5826 New function.
5827 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
5828
91a1a164
TH
58292011-09-28 Thomas Haller <thomas.haller@fen-net.de>
5830
5831 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
5832 loader.
5833
2ded951e
AB
58342011-09-28 Andreas Born <futur.andy@googlemail.com>
5835
5836 Fix incorrect identifiers in bash-completion.
5837
5838 * util/bash-completion.d/grub-completion.bash.in
5839 (_grub_mkpasswd-pbkdf2): Rename to ...
5840 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
5841 (_grub_script-check): Rename to ...
5842 (_grub_script_check): ... this. All users updated.
5843
69915030
VS
58442011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5845
5846 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
5847 Return 0 if disk isn't biosdisk.
5848
20fd15f9
GS
58492011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
5850
5851 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
5852 on NetBSD.
5853 * Makefile.util.def (grub-fstest): Likewise.
5854
1a7d7db9
GS
58552011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
5856
5857 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
5858 Get sector size from disk label.
5859
2221ab6c
CW
58602011-09-05 Colin Watson <cjwatson@ubuntu.com>
5861
5862 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
5863 */README* as well as README*.
5864 Reported by: Axel Beckert.
5865
ca51c4a0
VS
58662011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5867
5868 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
5869 case of less than 256 MiB of RAM.
5870
ab80f326
VS
58712011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5872
5873 * grub-core/commands/wildcard.c (make_regex): Handle @.
5874
4155e697
VS
58752011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5876
5877 * util/grub-install.in: Move cryptodisk logic to appropriate place.
5878
ab178c08
SJ
58792011-08-21 Szymon Janc <szymon@janc.net.pl>
5880
5881 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
5882 AC_LANG_CONFTEST macros.
5883
7dc3c686
SJ
58842011-08-20 Szymon Janc <szymon@janc.net.pl>
5885
5886 Add grub-fstest option to uncompress data for commands.
5887
5888 * util/grub-fstest.c (uncompress): New var.
5889 (options): New option -u.
5890
fe8d4a7b
SJ
58912011-08-20 Szymon Janc <szymon@janc.net.pl>
5892
5893 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
5894 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
5895
a5219af1
SJ
58962011-08-20 Szymon Janc <szymon@janc.net.pl>
5897
5898 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
5899 file type was not recognized correctly (not gzip or corrupted).
5900
f87abff5
VS
59012011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5902
5903 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
5904 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
5905
d94497ea
VS
59062011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5907
5908 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
5909 loongson.
5910 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
5911 video_radeon_fuloong2e.
5912 * grub-core/video/radeon_fuloong2e.c: New file.
5913 * include/grub/video.h (grub_video_id_t): Add new ID
5914 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
5915
0d1fd011
VS
59162011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5917
5918 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
5919 define.
5920 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
5921 that PRID matches the detected subplatform and reset the subplatform
5922 if it doesn't.
5923
84beb0ee
VS
59242011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5925
5926 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
5927
1227c133
VS
59282011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5929
5930 Fix PCI iterating on functions >= 4.
5931
5932 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
5933 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
5934 Removed.
5935 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
5936 (grub_pci_read): Fix bitmask.
5937 (grub_pci_read_word): Likewise.
5938 (grub_pci_read_byte): Likewise.
5939 (grub_pci_write): Likewise.
5940 (grub_pci_write_word): Likewise.
5941 (grub_pci_write_byte): Likewise.
5942
9594c689
VS
59432011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5944
5945 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
5946 can still be specified in TARGET_CFLAGS)
5947
14a2562c
VS
59482011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5949
5950 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
5951
5952 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
5953 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
5954 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
5955 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
5956 (FULOONG): Rename to ...
5957 (FULOONG2F): ... this. All users updated.
5958 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
5959 (machtype_fuloong2f_str): ... this.
5960 (machtype_fuloong2e_str): New string.
5961 Check for machtype_fuloong2e_str.
5962 * grub-core/loader/mips/linux.c (loongson_machtypes)
5963 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
5964 * grub-core/term/serial.c (loongson_defserial)
5965 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
5966 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
5967 loongson_defserial.
5968 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
5969 Rename to ...
5970 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
5971 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
5972 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
5973 to IMAGE_FULOONG2F_FLASH. All users updated.
5974 (image_targets): Rename images.
5975 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
5976
b526cbb6
SJ
59772011-08-19 Szymon Janc <szymon@janc.net.pl>
5978
5979 Make enable of disk cache statistics code configurable.
5980
5981 * configure.ac: --enable-cache-stats added.
5982 * config.h.in (DISK_CACHE_STATS): New define.
5983 * grub-core/Makefile.core.def (cacheinfo): New command.
5984 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
5985 * grub-core/commands/cacheinfo.c: New file.
5986 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
5987 moved to cacheinfo.c.
5988 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
5989 debug code.
5990 * include/grub/disk.h: Likewise.
5991
fb739ccd
SJ
59922011-08-19 Szymon Janc <szymon@janc.net.pl>
5993
5994 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
5995 * grub-core/Makefile.am: Likewise.
5996
2bba8cfd
VS
59972011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5998
5999 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
6000 non-zero pull.
6001
43526629
VS
60022011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6003
6004 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
6005 All users updated.
6006 (grub_jfs_lookup_symlink): Use correct starting inode.
6007
5c144cc8
VS
60082011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6009
6010 * util/grub-setup.c (main): Add missing gcry initialisation.
6011
b1257f65
VS
60122011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6013
6014 Don't accept text modes on EFI when booting Linux.
6015
6016 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
6017 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
6018
828bc390
ML
60192011-08-15 Mario Limonciello <mario_limonciello@dell.com>
60202011-08-15 Colin Watson <cjwatson@ubuntu.com>
6021
6022 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
6023 use of "/path/.." as in grub-install for EFI as well as handling
6024 symlinks correctly.
6025 Fixes Debian bug #637768.
6026
5f60ccac
CW
60272011-08-15 Colin Watson <cjwatson@ubuntu.com>
6028
6029 * util/grub-probe.c: Remove duplicate #include.
6030
6dc212f9
RM
60312011-08-10 Robert Millan <rmh@gnu.org>
6032
6033 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
6034
6035 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
6036 function.
6037 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
6038 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
6039
66816d85
RM
60402011-08-03 Robert Millan <rmh@gnu.org>
6041
6042 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
6043 la_array as packed.
6044 Reported by: Zachary Bedell
6045
20168fca
CW
60462011-07-26 Colin Watson <cjwatson@ubuntu.com>
6047
6048 * configure.ac: The Loongson port requires grub-mkfont due to its
6049 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
6050 be built.
6051
303b6246
CW
60522011-07-26 Colin Watson <cjwatson@ubuntu.com>
6053
6054 * util/grub-install.in: Don't source grub-mkconfig_lib until after
6055 processing arguments (otherwise help2man fails when GRUB has not yet
6056 been installed).
6057
6795300e
VS
60582011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6059
41aa28ea
VS
6060 New script grub-mkstandalone.
6061
6062 * Makefile.util.def (grub-mkstandalone): New script.
6063 * docs/man/grub-mkstandalone.h2m: New file.
6064 * util/grub-mkstandalone.in: Likewise.
6065
60662011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6067
6068 Support ATA disks with 4K sectors.
6795300e
VS
6069
6070 * include/grub/ata.h (grub_ata): New member log_sector_size.
6071 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
6072 (grub_ata_identify): Read sector size.
6073 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
6074
92227597
VS
60752011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6076
6077 * util/grub-install.in: Don't use uhci outside of x86.
6078
c77069f5
VS
60792011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6080
6081 * util/grub-mkrescue.in: Add missing quotes.
6082
60832011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
6084
6085 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
6086 dereference.
6087
583168a2
VS
60882011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6089
6090 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
6091
6be1c01f
VS
60922011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6093
6094 * include/grub/video.h: add missing EXPORT_FUND on
6095 grub_video_edid_checksum and grub_video_edid_preferred_mode.
6096
a1167439
VS
60972011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6098
6099 * include/grub/mips/kernel.h: Fix define conflict.
6100
bf66054f
VS
61012011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6102
6103 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
6104 all four ways.
6105
8fc4fa45
CW
61062011-07-21 Colin Watson <cjwatson@ubuntu.com>
6107
6108 Preferred resolution detection for VBE.
6109
6110 * grub-core/video/video.c (grub_video_edid_checksum): New function.
6111 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
6112 the Flat Panel extension, in line with the X.org VESA driver.
6113 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
6114 New function.
6115 (grub_vbe_bios_get_ddc_capabilities): Likewise.
6116 (grub_vbe_bios_read_edid): Likewise.
6117 (grub_vbe_get_preferred_mode): Likewise.
6118 (grub_video_vbe_setup): When the mode is "auto", try to get the
6119 preferred mode from VBE, and use the largest mode that is no larger
6120 than the preferred mode (some BIOSes expose a preferred mode that is
6121 not in their mode list!). If this fails, fall back to 640x480 as a
6122 safe conservative choice.
6123 (grub_video_vbe_get_edid): New function.
6124 (grub_video_vbe_adapter): Add get_edid.
6125 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
6126 (struct grub_video_adapter): Add get_edid.
6127 (grub_video_edid_checksum): Add prototype.
6128 (grub_video_edid_preferred_mode): Likewise.
6129 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
6130 structure.
6131
6132 * grub-core/commands/videoinfo.c (print_edid): New function.
6133 (grub_cmd_videoinfo): Print EDID if available.
6134
6135 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
6136 is more appropriate on a wider range of platforms than 640x480.
6137 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
6138 documentation.
6139
ca5572a9
VS
61402011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6141
6142 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
6143
e4bcf625
VS
61442011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6145
6146 * po/POTFILES.in: Regenerate.
6147
c4edd548
VS
61482011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6149
6150 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
6151 incorrect memory usage.
6152
16a2bab0
VS
61532011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6154
6155 * util/grub-install.in: Source grub-mkconfig_lib.
6156
2e418de6
VS
61572011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
6158
6159 Remove getroot.c from core on emu platform.
6160
6161 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
6162 kern/emu/raid.c.
6163 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
6164 useless.
6165 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
6166 * util/getroot.c (get_win32_path): ... here.
6167 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
6168 * util/getroot.c (fini_libzfs): ... here.
6169 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
6170 * util/getroot.c (grub_get_libzfs_handle): ... here.
6171 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
6172 Moved from here...
6173 * util/getroot.c (grub_find_zpool_from_dir): ... here.
6174 * grub-core/kern/emu/misc.c
6175 (grub_make_system_path_relative_to_its_root): Moved from here...
6176 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
6177 * grub-core/kern/emu/getroot.c: Moved from here ...
6178 * util/getroot.c: ... here. All users updated.
6179 * grub-core/kern/emu/raid.c: Moved from here ...
6180 * util/raid.c: ... here. All users updated.
6181
def9832a
VS
61822011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
6183
6184 * po/POTFILES.in: Regenerate.
6185
cd8fe79a
VS
61862011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6187
6188 Fix compilation on GNU/Linux.
6189
6190 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
6191 Disable geli.
6192 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
6193 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
6194 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
6195
a251b719
VS
61962011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
61972011-07-07 Michael Gorven <michael@gorven.za.net>
61982011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
6199
6200 LUKS and GELI support.
6201
6202 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
6203 grub-core/disk/luks.c, grub-core/disk/geli.c,
6204 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
6205 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
6206 grub-core/lib/arg.c.
6207 (libgrubmods.a): Remove gcrypts cflags and cppflags.
6208 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
6209 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
6210 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
6211 (grub-bin2h): Add libgcry.a.
6212 (grub-mkimage): Likewise.
6213 (grub-mkrelpath): Likewise.
6214 (grub-script-check): Likewise.
6215 (grub-editenv): Likewise.
6216 (grub-mkpasswd-pbkdf2): Likewise.
6217 (grub-pe2elf): Likewise.
6218 (grub-fstest): Likewise.
6219 (grub-mkfont): Likewise.
6220 (grub-mkdevicemap): Likewise.
6221 (grub-probe): Likewise.
6222 (grub-ofpath): Likewise.
6223 (grub-mklayout): Likewise.
6224 (example_unit_test): Likewise.
6225 (grub-menulst2cfg): Likewise.
6226 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
6227 * grub-core/Makefile.core.def (cryptodisk): New module.
6228 (luks): Likewise.
6229 (geli): Likewise.
6230 * grub-core/disk/AFSplitter.c: New file.
6231 * grub-core/disk/cryptodisk.c: Likewise.
6232 * grub-core/disk/geli.c: Likewise.
6233 * grub-core/disk/luks.c: Likewise.
6234 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
6235 grub_util_is_lvm.
6236 (grub_util_get_dm_abstraction): New function.
6237 (grub_util_follow_gpart_up): Likewise.
6238 (grub_util_get_geom_abstraction): Likewise.
6239 (grub_util_get_dev_abstraction): Use new functions.
6240 (grub_util_pull_device): Pull GELI and LUKS.
6241 (grub_util_get_grub_dev): Handle LUKS and GELI.
6242 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
6243 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
6244 (follow_geom_up): Removed.
6245 (grub_util_fd_seek): New function.
6246 (open_device): Use grub_util_fd_seek.
6247 (nread): Rename to ..
6248 (grub_util_fd_read): ... this. All users updated.
6249 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
6250 (grub_crypto_cbc_decrypt): Likewise.
6251 (grub_crypto_hmac_write): Likewise.
6252 (grub_crypto_hmac_buffer): Likewise.
6253 (grub_password_get): Extend to util.
6254 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
6255 New member modname.
6256 (gcry_md_spec) [GRUB_UTIL]: Likewise.
6257 * include/grub/cryptodisk.h: New file.
6258 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
6259 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
6260 LUKS and GELI.
6261 (grub_util_follow_gpart_up): New proto.
6262 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
6263 (grub_util_fd_read): Likewise.
6264 (grub_cryptodisk_cheat_mount): Likewise.
6265 (grub_util_cryptodisk_print_uuid): Likewise.
6266 (grub_util_get_fd_sectors): Likewise.
6267 * util/grub-fstest.c (mount_crypt): New var.
6268 (fstest): Mount crypto if requested.
6269 (options): New option -C.
6270 (argp_parser): Parse -C.
6271 (main): Init and fini gcry.
6272 * util/grub-install.in: Support cryptodisk install.
6273 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
6274 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
6275 cryptodisk.
6276 (prepare_grub_to_access_device): Likewise.
6277 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
6278 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
6279 (probe_cryptodisk_uuid): New function.
6280 (probe_abstraction): Likewise.
6281 (probe): Use new functions.
6282 * util/import_gcry.py: Create Makefile.utilgcry.def.
6283 Add modname member.
6284
9bfdcbbc
VS
62852011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6286
6287 Lazy device scanning.
6288
6289 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
6290 (grub-setup): Remove util/raid.c.
6291 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
6292 * grub-core/disk/lvm.c (scan_depth): New variable.
6293 (grub_lvm_iterate): Rescan if necessary.
6294 (find_lv): New function based on grub_lvm_open.
6295 (grub_lvm_open): Use find_lv. Rescan on error.
6296 (is_node_readable): New function.
6297 (is_lv_readable): Likewise.
6298 (grub_lvm_scan_device): Skip already found disks.
6299 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
6300 Stop if searched device is found and readable.
6301 * grub-core/disk/raid.c (inscnt): New variable.
6302 (scan_depth): Likewise.
6303 (scan_devices): New function based on grub_raid_register. Abort if
6304 looked for device is found.
6305 (grub_raid_iterate): Rescan if needed.
6306 (find_array): NEw function based on -grub_raid_open.
6307 (grub_raid_open): Use find_array and rescan.
6308 (insert_array): Set became_readable_at.
6309 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
6310 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
6311 New function.
6312 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
6313 (grub_util_pull_device): New function.
6314 (grub_util_get_grub_dev): Call grub_util_pull_device.
6315 * util/raid.c: Moved to ..
6316 * grub-core/kern/emu/raid.c: ... here.
6317 (grub_util_raid_getmembers): New parameter "bootable".
6318 All users updated. Support 1.x.
6319 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
6320 All users updated.
6321 * include/grub/disk.h (grub_disk_pull_t): New enum.
6322 (grub_disk_dev): Change iterate prototype.
6323 All users updated.
6324 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
6325 New proto.
6326 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
6327 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
6328 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
6329 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
6330 All users updated.
6331 * include/grub/util/raid.h: Removed.
6332
1c358e59
VS
63332011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
6334
6335 * po/POTFILES.in: Regenerate.
6336
abee94ed
VS
63372011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
6338
6339 Unify sparc init with other ieee1275.
6340
6341 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
6342 instead of kern/sparc64/ieee1275/init.c.
6343 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
6344 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
6345 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
6346 grub/machine/kernel.h.
6347 (grub_ieee1275_original_stack) [__sparc__]: New variable.
6348 (grub_claim_heap) [__sparc__]: Use sparc version.
6349 (grub_machine_init): Moved args parsing to
6350 (grub_parse_cmdline): ...this.
6351 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
6352 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
6353 New definition.
6354 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
6355
6356 Move BOOTP to separate file.
6357
6358 * grub-core/Makefile.core.def (net): Add net/bootp.c.
6359 * grub-core/net/net.c: Move all BOOTP functions to
6360 * grub-core/net/bootp.c: ... here.
6361
6362 Use frame interface on PXE.
6363
6364 * grub-core/Makefile.core.def (pxecmd): Removed.
6365 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
6366 * grub-core/commands/i386/pc/pxecmd.c: Removed.
6367 * grub-core/i386/pc/pxe.c: Moved from here ...
6368 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
6369 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
6370 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
6371
6372 EFI network support.
6373
6374 * grub-core/Makefile.core.def (efinet): New module.
6375 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
6376 here...
6377 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
6378 All users updated.
6379 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
6380 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
6381 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
6382 * grub-core/net/drivers/efi/efinet.c: New file.
6383 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
6384 (grub_efi_net_config): New extern var.
6385
6386 Various cleanups and bugfixes.
6387
6388 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
6389 error.
6390 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
6391 disk declared as partition.
6392 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
6393 leak on failure.
6394 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
6395 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
6396 (grub_debug_zalloc): Likewise.
6397 (grub_debug_realloc): Likewise.
6398 (grub_debug_memalign): Likewise.
6399 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
6400 Check that target is IPv4.
6401 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
6402 local-mac-address as fallback.
6403 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
6404 memory leak.
6405 * grub-core/net/ip.c (ipchksum): Rename to ...
6406 (grub_net_ip_chksum): ... this. All users updated.
6407 (grub_net_recv_ip_packets): Special handling for DHCP.
6408 * util/grub-mkimage.c (generate_image): Zero-out aout header.
6409
6410 Unify prefix handling
6411
6412 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
6413 (grub_machine_get_bootlocation): ... this.
6414 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
6415 (grub_machine_get_bootlocation): ... this.
6416 (grub_prefix): New variable.
6417 (prefix): Removed.
6418 (root_dev): New variable.
6419 (dir): Likewise.
6420 (main): Use new variables.
6421 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
6422 Revamped into ...
6423 (grub_machine_get_bootlocation): ... this.
6424 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
6425 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
6426 (grub_machine_get_bootlocation): ... this.
6427 (grub_machine_set_prefix): Removed.
6428 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
6429 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
6430 Revamped into ...
6431 (grub_machine_get_bootlocation): ... this.
6432 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
6433 (grub_set_prefix_and_root): ... this. All users updated.
6434 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
6435 Revamped into ...
6436 (grub_machine_get_bootlocation): ... this.
6437 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
6438 (grub_machine_get_bootlocation): New proto.
6439 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
6440
6441 Less intrusive and more reliable seek on network implementation.
6442
6443 * grub-core/kern/file.c (grub_file_net_seek): Removed.
6444 (grub_file_seek): Don't call grub_file_net_seek.
6445 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
6446 (grub_net_fs_read_real): .. this.
6447 (grub_net_seek_real): Use net->offset.
6448 (grub_net_fs_read): Seek if necessary.
6449
6450 Unify IEEE1275 netwotk config with the other platforms.
6451
6452 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
6453 New variable.
6454 (grub_machine_get_bootlocation): Support network.
6455 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
6456 Support type and device parsing.
6457 (grub_ieee1275_get_device_type): New function.
6458 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
6459 into ...
6460 (grub_ieee1275_net_config_real): ... this.
6461 (grub_ofnet_probecards): Removed.
6462 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
6463 * include/grub/ieee1275/ofnet.h: Removed.
6464 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
6465 extern var.
6466 (grub_ieee1275_get_device_type): New function.
6467
6468 Unify network device closing across platforms and make more robust.
6469
6470 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
6471 grub_grubnet_fini.
6472 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
6473 already.
6474 * grub-core/net/net.c (grub_net_network_level_interface_register):
6475 Update num_ifaces.
6476 (grub_net_card_unregister): Close all interfaces.
6477 (receive_packets): Don't poll if no iterfaces are registered.
6478 Open if necessary.
6479 (grub_net_fini_hw): New function.
6480 (grub_net_restore_hw): Likewise.
6481 (fini_hnd): New variable.
6482 (GRUB_MOD_INIT): Register preboot hook.
6483 (GRUB_MOD_FINI): Run and unregister preboot hook.
6484
6485 Poll network cards when idle.
6486
6487 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
6488 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
6489 * grub-core/net/net.c (receive_packets): Save last poll time.
6490 (grub_net_poll_cards_idle_real): New function.
6491 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
6492 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
6493 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
6494
6495 Rename ofnet interfaces.
6496
6497 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
6498 (grub_ofnet_findcards): Use ofnet_%s names.
6499
6500 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
6501
6502 Cleanup socket opening.
6503
6504 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
6505 (grub_net_fs_close): Likewise.
6506 (grub_net_fs_read_real): Use eof member.
6507 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
6508 (+grub_net_udp_close): New inline function.
6509
6510 * include/grub/net/tftp.h: Moved to the top of ...
6511 * grub-core/net/tftp.c: ... here.
6512 * include/grub/net/ip.h: Moved mostly to the top of ...
6513 * grub-core/net/ip.c: ... here.
6514 * include/grub/net/ethernet.h: Moved mostly to the top of ...
6515 * grub-core/net/ethernet.c: ... here.
6516
6517 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
6518
6519 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
6520 FS name.
6521
6522 * include/grub/net/ip.h (ipv4_ini): Removed.
6523 (ipv4_fini): Likewise.
6524
6525 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
6526 (grub_net_send_ip_packets): Likewise.
6527
cf1337aa
VS
65282011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6529
6530 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
6531 grub_read_cmos prototype.
6532
93c06ff9
VS
65332011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6534
6535 VGA text support in qemu-mips
6536
6537 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
6538 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
6539 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
6540 text.
6541 * grub-core/kern/i386/qemu/init.c: Renamed to ...
6542 * grub-core/kern/vga_init.c: ... this.
6543 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
6544 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
6545 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
6546 Adjust.
6547 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
6548 GRUB_MACHINE_PCI_IO_BASE.
6549
748ccabe
VS
65502011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6551
6552 MIPS qemu flash support.
6553
6554 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
6555 magic.
6556 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
6557 (grub_machine_init): Probe memory if its size isn't known.
6558 * util/grub-mkimage.c (image_targets): Add flash targets.
6559 (generate_image): Handle flash targets.
6560
d7345994
VS
65612011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6562
6563 MIPS qemu at_keyboard support.
6564
6565 * gentpl.py (videoinkernel): Add qemu-mips.
6566 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
6567 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
6568 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
6569 modules.
6570 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
6571 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
6572 * grub-core/term/serial.c (grub_serial_register)
6573 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
6574
a07a81b3
VS
65752011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6576
6577 CMOS support on sparc.
6578
6579 * gentpl.py (cmos): Add powerpc and sparc.
6580 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
6581 powerpc and sparc.
6582 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
6583 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
6584 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
6585 grub_set_datetime_cmos.
6586 * grub-core/lib/ieee1275/cmos.c: New file.
6587 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
6588 (find_rtc): Set no_ieee1275_rtc on error.
6589 (grub_get_datetime): Call grub_get_datetime_cmos on error.
6590 (grub_set_datetime): Call grub_set_datetime_cmos on error.
6591 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
6592 fail. Move value to argument. All users updated
6593 (grub_cmos_write): Likewise.
6594 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
6595 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
6596 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
6597 grub_get_datetime_cmos and grub_set_datetime_cmos.
6598
77546584
GS
65992011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
6600
6601 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
6602 sourcing grub-mkconfig_lib.
6603 * util/update-grub_lib.in: Likewise.
6604 * util/grub.d/00_header.in: Likewise.
6605 * util/grub.d/10_hurd.in: Likewise.
6606 * util/grub.d/10_kfreebsd.in: Likewise.
6607 * util/grub.d/10_linux.in: Likewise.
6608 * util/grub.d/10_netbsd.in: Likewise.
6609 * util/grub.d/10_windows.in: Likewise.
6610 * util/grub.d/20_linux_xen.in: Likewise.
6611 * util/grub.d/30_os-prober.in: Likewise.
6612
54894791
CW
66132011-06-28 Colin Watson <cjwatson@ubuntu.com>
6614
6615 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
6616 default_bg_color rather than black.
6617 (grub_gfxterm_fullscreen): Likewise.
6618 (grub_gfxterm_background_color_cmd): Save new background color in
6619 default_bg_color.
6620
8d5d8444
VS
66212011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6622
6623 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
6624
5afeb5bd
VS
66252011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6626
6627 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
6628 mismerge.
6629
ba7df45e
VS
66302011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6631
6632 Chainloading on coreboot support.
6633
6634 * grub-core/Makefile.core.def (chain): Add coreboot.
6635 * grub-core/loader/i386/coreboot/chainloader.c: New file.
6636
d0b526b2
VS
66372011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6638
6639 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
6640 if it happens.
6641
5ff1d945
VS
66422011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6643
6644 Implement time command.
6645
6646 * grub-core/Makefile.core.def (time): New module.
6647 * grub-core/commands/time.c: New file.
6648 * grub-core/script/parser.y: Remove "time" keyword.
6649 * grub-core/script/yylex.l: Likewise.
6650
5ebaad7e
VS
66512011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6652
6653 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
6654
bdea3798
VS
66552011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6656
6657 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
6658 when handling leftovers.
6659
b28c5655
VS
66602011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6661
6662 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
6663 so that help2man doesn't fail.
6664
b6f945dc
VS
66652011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6666
6667 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
6668 type in pointers on sparc64.
6669 (get_card_packet): Likewise.
6670
f9b75e8a
CW
66712011-06-27 Colin Watson <cjwatson@ubuntu.com>
6672
6673 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
6674 with `*'.
6675 (grub_cmd_videoinfo): Fetch current video mode.
6676
1e3d9b86
VS
66772011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6678
6679 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
6680 because of underlying system restrictions.
6681
efff4b1c
VS
66822011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6683
6684 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
6685 necessary.
6686
9fc9ce37
VS
66872011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6688
6689 Coreboot video support.
6690
6691 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
6692 (vbe): Likewise.
6693 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
6694 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
6695 here ...
6696 * grub-core/kern/i386/int.S: ... here.
6697 * grub-core/video/i386/pc/vbe.c: Updated includes.
6698 * grub-core/video/i386/pc/vga.c: Likewise.
6699 * include/grub/i386/coreboot/memory.h
6700 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
6701 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
6702 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
6703 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
6704 Disable interrupts.
6705 * include/grub/i386/pc/vga.h: Removed. All users updated.
6706
41bec7fe
VS
67072011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6708
6709 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
6710 definitions for dprintf.
6711 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
6712
ca80309d
VS
67132011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6714
6715 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
6716 prototype.
6717 (get_card_packet): Likewise.
6718
9e322ce8
YB
67192011-06-26 Yves Blusseau <blusseau@zetam.org>
6720
6721 Display the path of the file when file is not found
6722
6723 * grub-core/fs/fat.c: Display the filename when file is not found.
6724 * grub-core/fs/fshelp.c: Likewise.
6725 * grub-core/fs/hfs.c: Likewise.
6726 * grub-core/fs/jfs.c: Likewise.
6727 * grub-core/fs/minix.c: Likewise.
6728 * grub-core/fs/ufs.c: Likewise.
6729 * grub-core/fs/btrfs.c: Likewise.
6730 * grub-core/commands/i386/pc/play.c: Likewise.
6731
cbf597af
SJ
67322011-06-26 Szymon Janc <szymon@janc.net.pl>
6733
6734 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
6735 pointer checks before calling grub_free().
6736 * grub-core/commands/wildcard.c (match_devices): Likewise.
6737 * grub-core/commands/wildcard.c (match_files): Likewise.
6738 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
6739 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
6740 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
6741 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
6742 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
6743 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
6744 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
6745 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
6746 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
6747
6295b32f
P
67482011-06-25 Patrick <p55@mailinator.com>
6749
6750 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
6751
77c0840b
VS
67522011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6753
6754 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
6755 (grub_pxe_send): Likewise.
6756 (GRUB_MOD_INIT): Fix types.
6757
40ea05de
SJ
67582011-06-24 Szymon Janc <szymon@janc.net.pl>
6759
6760 * grub-core/io/xzio.c: Fix code style issues
6761
90162423
MRA
67622011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
67632011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
6764
6765 Network infrastructure.
6766 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
6767
6768 * include/grub/net/arp.h: New file.
90162423
MRA
6769 * include/grub/net/device.h: Likewise.
6770 * include/grub/net/ethernet.h: Likewise.
6771 * include/grub/net/ip.h: Likewise.
6772 * include/grub/net/netbuff.h: Likewise.
6773 * include/grub/net/tftp.h: Likewise.
6774 * include/grub/net/udp.h: Likewise.
6775 * include/grub/ieee1275/ofnet.h: Likewise.
6776 * include/grub/emu/export.h: Likewise.
6777 * include/grub/net.h: Likewise.
6778 * grub-core/net/arp.c: Likewise.
6779 * grub-core/net/ethernet.c: Likewise.
6780 * grub-core/net/ip.c: Likewise.
6781 * grub-core/net/udp.c: Likewise.
6782 * grub-core/net/tftp.c: Likewise.
6783 * grub-core/net/netbuff.c: Likewise.
6784 * grub-core/net/net.c: Likewise.
6785 * grub-core/net/drivers/emu/emunet.c: Likewise.
6786 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
6787 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
6788 export.h.
6789 * grub-core/Makefile.core.def (net): New module.
6790 (tftp): Likewise.
6791 (ofnet): Likewise.
6792 (emunet): Likewise.
6793 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
6794 network protocols.
6795 * grub-core/kern/device.c (grub_net_open) : New variable.
6796 (grub_device_open): Handle network device.
6797 (grub_device_close): Likewise.
6798 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
6799 (grub_grubnet_fini): Likewise.
6800 (grub_file_seek): Seek in network device.
6801 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
6802 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
6803 network root.
6804 (grub_machine_fini): Call grub_grubnet_fini.
6805 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
6806 network.
6807 (grub_ieee1275_get_aliasdevname): New function.
6808 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
6809 Add unofficial Solaris network info.
6810 (grub_multiboot_make_mbi): Likewise.
6811 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
6812 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
6813 * include/grub/device.h (grub_fs): Removed.
6814 * include/grub/err.h (grub_err_t): Add network-related values.
6815 * include/grub/i386/pc/pxe.h: Removed bootp parts.
6816 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
6817 (grub_ieee1275_get_aliasdevname): New proto.
6818 * include/grub/net.h: Rewritten.
423a1849 6819
031f22a0
VS
68202011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6821
6822 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
6823 names.
6824
4388ca72
VS
68252011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6826
6827 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
6828 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
6829 it truncates the output.
6830 Reported by: Ximin Luo.
6831
98e2f506
VS
68322011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6833
6834 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
6835
2a5e94d8
VS
68362011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6837
6838 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
6839 partmap before abstraction.
6840
535c1910
AK
68412011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
6842
6843 * util/grub-mkconfig_lib.in: Add missing quotes.
6844
bc09e1a2
VS
68452011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6846
6847 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
6848 old method if mountinfo would return /dev/root and /dev/root doesn't
6849 exist.
6850
290766fb
VS
68512011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6852
6853 ZFS zlib support
6854
6855 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
6856 (decomp_table): Add zlib entries.
6857 (zio_read): USe 8 bits for compression function rather than 3.
6858 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
6859
68602011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6861
6862 * grub-core/disk/ahci.c: Add missing license statements.
6863 * grub-core/fs/romfs.c: Likewise.
6864 * grub-core/lib/ia64/setjmp.S: Likewise.
6865 * grub-core/loader/i386/pc/freedos.c: Likewise.
6866 * grub-core/loader/ia64/efi/linux.c: Likewise.
6867 * grub-core/video/colors.c: Likewise.
6868 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
6869
5ab3f48a
VS
68702011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6871
6872 AHCI support.
6873
6874 * grub-core/Makefile.core.def (ata_pthru): Removed.
6875 (ahci): New module.
6876 (pata): Likewise.
6877 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
6878 on unload.
6879 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
6880 readwrite.
6881 (grub_hdparm_do_check_powermode_cmd): Likewise.
6882 (grub_hdparm_do_smart_cmd): Likewise.
6883 (grub_hdparm_set_val_cmd): Likewise.
6884 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
6885 * grub-core/disk/ahci.c: New file.
6886 * grub-core/disk/ata.c: Factor out the low-level part into ...
6887 * grub-core/disk/pata.c: ... here.
6888 * grub-core/disk/ata_pthru.c: Contents moved to ...
6889 * grub-core/disk/pata.c: ... here.
6890 * grub-core/disk/scsi.c (grub_scsi_names): New array.
6891 (grub_scsi_iterate): Use grub_scsi_names.
6892 (grub_scsi_open): Likewise.
6893 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
6894 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
6895 (grub_ata_regs_t): New struct.
6896 (grub_disk_ata_pass_through_parms): Likewise.
6897 (grub_ata_device): Renamed to ...
6898 (grub_ata): ... this.
6899 (grub_ata_dev): New struct.
6900 Removed all low-level inline functions.
6901 * include/grub/scsi.h: Add PATA and AHCI subsystems.
6902 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
6903 iterate hooks and open. All users updated.
6904 * util/grub-install.in: Handle AHCI disk module.
6905
c31dc5f5
SJ
69062011-06-23 Szymon Janc <szymon@janc.net.pl>
6907
6908 Add support for DRI and RSTn markers in JPEG files.
6909
6910 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
6911 (JPEG_MARKER_RST0): Likewise.
6912 (JPEG_MARKER_RST1): Likewise.
6913 (JPEG_MARKER_RST2): Likewise.
6914 (JPEG_MARKER_RST3): Likewise.
6915 (JPEG_MARKER_RST4): Likewise.
6916 (JPEG_MARKER_RST5): Likewise.
6917 (JPEG_MARKER_RST6): Likewise.
6918 (JPEG_MARKER_RST7): Likewise.
6919 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
6920 (grub_jpeg_decode_dri): New function.
6921 (grub_jpeg_decode_sos): Move image data related part into
6922 grub_jpeg_decode_data function.
6923 (grub_jpeg_decode_data): New function.
6924 (grub_jpeg_reset): New function.
6925 (grub_jpeg_decode_jpeg): Handle new markers.
6926
fe12fd5b
VS
69272011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6928
6929 * util/ieee1275/ofpath.c (check_sas): Close fd.
6930 (main): Free of_path.
6931 Reported by: David Volgyes <dvolgyes>.
6932
03147f46
VS
69332011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6934
6935 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
6936 Reported by: David Volgyes <dvolgyes>.
6937
cad3237f
VS
69382011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6939
6940 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
6941 file after stat.
6942 Reported by: David Volgyes <dvolgyes>.
6943
13548d26
VS
69442011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6945
6946 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
6947
6948 Reported by: David Volgyes <dvolgyes>.
6949
e061a1b5
VS
69502011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6951
6952 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
6953 Prevent memory leak.
6954
1abe47dc
VS
69552011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6956
6957 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
6958 (main): Close file.
e061a1b5 6959 Reported by: David Volgyes <dvolgyes>.
1abe47dc 6960
fbc62666
VS
69612011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6962
6963 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
6964 to continue if allocation is failed.
6965
6966 Reported by: David Volgyes <dvolgyes>.
6967
e98c83e9
DV
69682011-06-23 David Volgyes <dvolgyes>
6969
6970 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
6971 dereference.
6972
a199a8cd
VS
69732011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6974
6975 Fix spurious warning.
6976
6977 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
6978 (acorn_partition_map_find): Use .bin member.
6979
e2d1dba0
VS
69802011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6981
6982 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
6983 /dev/root as a valid device.
6984
8a5d6919
JM
69852011-06-23 Jim Meyering <meyering@redhat.com>
6986
e2d1dba0
VS
6987 Avoid NULL deref in grub_device_open.
6988
8a5d6919
JM
6989 * grub-core/kern/device.c (grub_device_open): Don't dereference
6990 a NULL pointer upon failed grub_env_get.
6991
f7db6f4a
VS
69922011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6993
6994 Support non-512B sectors and agglomerate reads.
6995
6996 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
6997 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
6998 (disk_io_guid): Removed.
6999 (make_devices): Locate solely by BlockIO.
7000 (grub_efidisk_open): Fill log_sector_size and total_sectors.
7001 (grub_efidisk_read): Use read_blocks.
7002 (grub_efidisk_write): Use write_blocks.
7003 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
7004 log_sector_size.
7005 (get_safe_sectors): Handle non-512B sectors.
7006 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
7007 sectors.
7008 (grub_biosdisk_write): Handle non-512B sectors.
7009 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
7010 (grub_scsi_read): Remove special non-512B block handling (now handled
7011 one level up).
7012 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
7013 and do sanity checks.
7014 (grub_disk_adjust_range): Handle non-512B sectors.
7015 (transform_sector): New function.
7016 (grub_disk_read_small): Likewise.
7017 (grub_disk_read): Rewritten.
7018 (grub_disk_write): Handle non-512B sectors.
7019 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
7020 log_sector_size.
7021 (open_device): Use log_sector_size.
7022 (grub_util_biosdisk_read): Likewise.
7023 (grub_util_biosdisk_write): Likewise.
7024 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
7025 non-512B sectors.
7026 (pc_partition_map_embed): Likewise.
7027 * include/grub/disk.h (grub_disk): New field log_sector_size.
7028 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
7029 (GRUB_DISK_CACHE_BITS): Increased to 6.
7030 * util/grub-fstest.c (fstest): New command testload.
7031 (argp_parser): Likewise.
7032
881ac815
RM
70332011-06-16 Robert Millan <rmh@gnu.org>
7034
7035 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
7036 `ata' driver on kernel of FreeBSD 9.
7037
7038 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
7039 (get_ataraid_disk_name): New functions.
7040 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
7041 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
7042 get_ataraid_disk_name() and get_ada_disk_name().
7043
1e9aef7d
CW
70442011-06-13 Colin Watson <cjwatson@ubuntu.com>
7045
7046 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
7047 input format.
7048
351c7c8a
CW
70492011-05-29 Colin Watson <cjwatson@ubuntu.com>
7050
7051 * docs/grub.texi (Obtaining and Building GRUB): Substitute
7052 `ftp.gnu.org' for `alpha.gnu.org'.
7053
6b4e6430
CW
70542011-05-27 Colin Watson <cjwatson@ubuntu.com>
7055
7056 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
7057 partitions under /dev/disk/by-id/.
7058
c64db050
CW
70592011-05-27 Colin Watson <cjwatson@ubuntu.com>
7060
7061 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
7062 after ten consecutive open failures. Scanning all the way up to
7063 10000 is excessive and can cause serious performance problems in
7064 some configurations.
7065 Fixes Ubuntu bug #787461.
7066
245f4aba
VS
70672011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7068
7069 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
7070 opening new one.
7071
f767c929
VS
70722011-05-21 Colin Watson <cjwatson@ubuntu.com>
70732011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7074
7075 Don't stat devices unless we have to.
7076
7077 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
7078 dir == /dev/mapper.
7079 (grub_guess_root_device): Use already known os_dev if possible.
7080 * grub-core/kern/emu/hostdisk.c
7081 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
7082 if device is known to be a dm one.
7083
f35fa3a6
CW
70842011-05-20 Colin Watson <cjwatson@ubuntu.com>
7085
7086 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
7087 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
7088 Reported by: Pawel Tecza.
7089
9a79fcf2
VS
70902011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
7091
7092 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
7093 (lsefisystab): Likewise.
7094 (lssal): Likewise.
7095 (lsefimmap): Likewise.
7096 (hdparm): Enable on qemu-mips.
7097 (setjmp): Add ia64 nodist.
7098 (serial): Simplify tags.
7099
63e3eea9
CW
71002011-05-18 Colin Watson <cjwatson@ubuntu.com>
7101
7102 * Makefile.util.def (grub-ofpathname): Install manual page.
7103
09728256
CW
71042011-05-18 Colin Watson <cjwatson@ubuntu.com>
7105
7106 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
7107
8b63a142
CW
71082011-05-18 Colin Watson <cjwatson@ubuntu.com>
7109
7110 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
7111
e775d8ed
VS
71122011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
7115 into dprintf.
7116
bf947d36
VS
71172011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7118
7119 Use full 64-bit division.
7120
7121 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
7122 (grub_divmod64): ... this.
7123 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
7124 version.
7125
b84f26c5
CW
71262011-05-18 Colin Watson <cjwatson@ubuntu.com>
7127
7128 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
7129 `source'.
7130
5626056f
CW
71312011-05-18 Colin Watson <cjwatson@ubuntu.com>
7132
7133 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
7134 to avoid accidents when debugging with 'sh -x'.
7135 * grub-core/gensyminfo.sh.in: Likewise.
7136 * tests/example_scripted_test.in: Likewise.
7137 * tests/grub_cmd_regexp.in: Likewise.
7138 * tests/grub_script_blanklines.in: Likewise.
7139 * tests/grub_script_dollar.in: Likewise.
7140 * tests/grub_script_expansion.in: Likewise.
7141 * tests/grub_script_final_semicolon.in: Likewise.
7142 * tests/partmap_test.in: Likewise.
7143 * tests/util/grub-shell-tester.in: Likewise.
7144 * tests/util/grub-shell.in: Likewise.
7145
e2965f4a
CW
71462011-05-18 Colin Watson <cjwatson@ubuntu.com>
7147
7148 Move gfxmenu color handling to video, so that gfxterm can use it
7149 too.
7150
7151 * grub-core/gfxmenu/named_colors.c: Move to ...
7152 * grub-core/video/colors.c: ... here. Rename
7153 grub_gui_get_named_color to grub_video_get_named_color.
7154 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
7155 * grub-core/video/colors.c (my_isxdigit): ... here.
7156 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
7157 Move to ...
7158 * grub-core/video/colors.c (parse_hex_color_component): ... here.
7159 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
7160 to ...
7161 * grub-core/video/colors.c (grub_video_parse_color): ... here.
7162
7163 * include/grub/gui.h (grub_gui_color_t): Move to ...
7164 * include/grub/video.h (grub_video_rgba_color_t): ... here.
7165 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
7166 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
7167 * include/grub/gui.h (grub_gui_map_color): Move to ...
7168 * include/grub/video.h (grub_video_map_rgba_color): ... here.
7169 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
7170 to ...
7171 * include/grub/video.h (grub_video_get_named_color): ... here.
7172 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
7173 * include/grub/video.h (grub_video_parse_color): ... here.
7174
7175 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
7176 video/colors.c.
7177 (gfxmenu): Remove gfxmenu/named_colors.c.
7178 (video) [videomodules]: Add video/colors.c.
7179
7180 Add a background_color command.
7181
7182 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
7183 function.
7184 (GRUB_MOD_INIT): Register background_color command.
7185 (GRUB_MOD_FINI): Unregister background_color command.
7186 (redraw_screen_rect): Allow blend/replace of text layer to be
7187 controlled independently from whether there is a background bitmap.
7188 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
7189 changing bitmap.
7190
1e4b4390
VS
71912011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7192
26618ff0
VS
7193 Patch BPB in ntldr and chainloader --bpb.
7194
1e4b4390
VS
7195 * grub-core/fs/fat.c: Include grub/fat.h.
7196 (grub_fat_bpb): Moved to ...
7197 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
7198 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
7199 grub/ntfs.h.
7200 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
7201 Moved from here...
7202 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
7203 here.
7204 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
7205 New function.
7206 (grub_chainloader_cmd): Patch BPB if --bpb is given.
7207 (GRUB_MOD_INIT): Show --bpb.
7208 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
7209 * grub-core/normal/main.c (features): New variable.
7210 (GRUB_MOD_INIT): Set feature_* variables.
7211 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
7212 proto.
7213 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
7214
cf02731e
VS
72152011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7216
7217 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
7218 for cleanness.
7219
e3a1073f
VS
72202011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7221
7222 FreeDOS direct loading support.
7223
7224 * docs/grub.texi (Supported OS): Add FreeDOS.
7225 * grub-core/Makefile.core.def (freedos): New module.
7226 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
7227 variable.
7228 (grub_relocator16_boot): Handle %ebx.
7229 * grub-core/lib/i386/relocator16.S: Likewise.
7230 * grub-core/loader/i386/pc/freedos.c: New file.
7231
05caa461
VS
72322011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7233
7234 Long Linux command line support.
7235
7236 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
7237 (maximal_cmdline_size): New variable.
7238 (allocate_pages): Use maximal_cmdline_size.
7239 (grub_cmd_linux): Set and use maximal_cmdline_size.
7240 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
7241 (allocate_pages): Use maximal_cmdline_size.
7242 (grub_cmd_linux): Set and use maximal_cmdline_size.
7243 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
7244 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
7245 and cmdline_size.
7246
a2491e23
VS
72472011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
72482011-05-18 Colin Watson <cjwatson@ubuntu.com>
7249
7250 Improve devmapper support
7251
7252 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
7253 (grub_util_is_lvm): New function.
7254 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
7255 than lvm if not dmraid.
7256 Handle mapped md nodes.
7257 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
7258 (grub_util_device_is_mapped): ... this. Make always available. All users
7259 updated.
7260 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
7261 (convert_system_partition_to_system_disk): Handle lvm, mpath and
7262 dmraid nodes.
7263 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
7264
6ad6223e
VS
72652011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7266
7267 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
7268
7269 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
7270 * grub-core/modinfo.sh.in: New file.
7271 * grub-core/Makefile.core.def (modinfo.sh): New script.
7272 * util/grub-mknetdir.in: Use modinfo.sh.
7273 * util/grub-mkrescue.in: Likewise.
7274
543a8f6e
VS
72752011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7276
7277 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
7278 Fix potential usage of Elf32 instead of Elf64 when compiling on
7279 32-bit architecture. Add endianness macros while on it.
7280
4959e111
VS
72812011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7282
7283 Use mipsel- rather than mips- in directories involving mipsel ports to
7284 allow both endiannesses coexist.
7285
7286 * configure.ac: proparate target_cpu=mipsel rather than resetting to
7287 mips. All conditions adjusted.
7288 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
7289 variable.
7290 * util/grub-install.in: Adjust conditions to take renaming into account.
7291 * util/grub-mkimage.c (image_targets): Likewise. New target
7292 mips-qemu_mips-elf for bigendian mips.
7293
35341bbc
VS
72942011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7295
7296 Avoid unnecessary copying on MIPS.
7297
7298 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
7299 early if src == dest.
7300 * util/grub-mkimage.c (generate_image): Arange for src == dest if
7301 compression is none.
7302
b772baed
VS
73032011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7304
7305 Reduce memory footprint on SGI by putting modules before the kernel
7306 as opposed to after.
7307
7308 * grub-core/Makefile.core.def (kernel): Increase linking address.
7309 (none_decompress): Likewise.
7310 (xz_decompress): Likewise.
7311 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
7312 address.
7313 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
7314 layout change.
7315 (grub_arch_modules_addr): New function.
7316 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
7317 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
7318 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
7319 here.
7320 * grub-core/kern/mips/startup.S (total_size): Rename to ...
7321 (grub_total_modules_size): ... this. Make global.
7322 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
7323 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
7324 New definition.
7325 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
7326 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
7327 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
7328 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
7329 * util/grub-mkimage.c (image_target_desc): New flag
7330 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
7331 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
7332 (generate_image): Handle images with modules before kernel.
7333
566a1917
VS
73342011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7335
7336 Prevent potential loss of memory map by overwrite on qemu-mips.
7337
7338 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
7339 Save ram size in $s4.
7340 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
7341 All users changed to grub_arch_memsize.
7342 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
7343 Loongson.
7344 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
7345 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
7346 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
7347 external variable.
7348
5d420cd9
CW
73492011-05-17 Colin Watson <cjwatson@ubuntu.com>
7350
7351 * .bzrignore: Remove grub-dumpbios.
7352
d064b830
CW
73532011-05-17 Colin Watson <cjwatson@ubuntu.com>
7354
7355 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
7356 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
7357 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
7358 existing options which append).
7359 * docs/grub.texi (Simple configuration): Document new options.
7360 Reported by: Ian Jackson. Fixes Debian bug #617538.
7361
3ca2b466
CW
73622011-05-17 Colin Watson <cjwatson@ubuntu.com>
7363
7364 * util/grub-fstest.c (cmd_cat): New function.
7365 (fstest): Handle CMD_CAT.
7366 (options): Add cat.
7367 (argp_parser): Handle cat.
7368
24c9143a
CW
73692011-05-17 Colin Watson <cjwatson@ubuntu.com>
7370
7371 * Makefile.util.def (grub-bin2h): Don't install.
7372 * docs/man/grub-bin2h.h2m: Remove.
7373
90f7ac19
VS
73742011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7375
7376 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
7377 place.
7378
8d4a5178
VS
73792011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7380
7381 Reenable qemu-mips port.
7382
7383 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
7384 Fix small arc bug while on it.
7385 * gentpl.py: Handle qemu_mips.
7386 * grub-core/Makefile.am: Likewise.
7387 * grub-core/Makefile.core.def: Likewise.
7388 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
7389 inappropriate includes.
7390 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
7391 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
7392 * grub-core/kern/main.c (grub_modules_get_end)
7393 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
7394 * grub-core/kern/mips/qemu-mips: Moved to ..
7395 * grub-core/kern/mips/qemu_mips: ... this.
7396 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
7397 (grub_machine_init): Call terminfo_init and serial_init.
7398 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
7399 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
7400 New variable.
7401 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
7402 parameter passing.
7403 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
7404 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
7405 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
7406 * include/grub/mips/qemu_mips/cmos.h: New file.
7407 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
7408 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
7409 Removed.
7410 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
7411 Use correct mips-style address.
7412 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
7413 (GRUB_TICKS_PER_SECOND): Removed.
7414 (grub_get_rtc): Likewise.
7415 (grub_cpu_idle): Likewise.
7416 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
7417 New definition.
7418 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
7419 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
7420 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
7421 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
7422 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
7423 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
7424 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
7425 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
7426
400b9371
VS
74272011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7428
7429 SGI ARCS port.
7430
7431 * Makefile.util.def (libgrubmods.a): Add dvh.c.
7432 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
7433 platforms.
7434 * configure.ac: New target mips-arc.
7435 * gentpl.py: Likewise.
7436 * grub-core/Makefile.am: Likewise.
7437 * grub-core/Makefile.core.def: Likewise.
7438 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
7439 (none_decompress): Likewise.
7440 (lsdev): New module.
7441 (datetime): Use lib/arc/datetime.c on ARC.
7442 (part_dvh): New module.
7443 * grub-core/commands/arc/lsdev.c: New file.
7444 * grub-core/disk/arc/arcdisk.c: Likewise.
7445 * grub-core/kern/mips/arc/init.c: Likewise.
7446 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
7447 aligned addresses.
7448 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
7449 support.
7450 (grub_arch_dl_relocate_symbols): Likewise.
7451 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
7452 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
7453 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
7454 platforms.
7455 * grub-core/lib/arc/datetime.c: New file.
7456 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
7457 pci.h on non-loongson.
7458 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
7459 (grub_linux_boot): Set unused registers to 0.
7460 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
7461 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
7462 * grub-core/mmap/mips/uppermem.c: ...here.
7463 * grub-core/partmap/dvh.c: New file.
7464 * grub-core/term/arc/console.c: Likewise.
7465 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
7466 (grub_terminfo_set_current): Add terminal "arc".
7467 (grub_terminfo_readkey): Support ARC sequences.
7468 * include/grub/arc/arc.h: New file.
7469 * include/grub/arc/console.h: Likewise.
7470 * include/grub/disk.h (grub_disk_dev_id): Add
7471 GRUB_DISK_DEVICE_ARCDISK_ID.
7472 * include/grub/mips/arc/kernel.h: New file.
7473 * include/grub/mips/arc/memory.h: Likewise.
7474 * include/grub/mips/arc/time.h: Likewise.
7475 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
7476 * include/grub/mips/kernel.h (grub_halt): ... here.
7477 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
7478 here...
7479 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
7480 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
7481 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
7482 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
7483 proto.
7484 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
7485 from here ...
7486 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
7487 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
7488 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
7489 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
7490 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
7491 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
7492 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
7493 (grub_phys_addr_t): Moved from here ...
7494 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
7495 (grub_vtop): Moved from here ...
7496 * include/grub/mips/memory.h (grub_vtop): ... here.
7497 (grub_map_memory): Moved from here ...
7498 * include/grub/mips/memory.h (grub_map_memory): ... here.
7499 (grub_unmap_memory): Moved from here ...
7500 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
7501 (grub_machine_mmap_iterate): Moved from here ...
7502 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
7503 (grub_mmap_get_lower): Moved from here ...
7504 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
7505 (grub_mmap_get_upper): Moved from here ...
7506 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
7507 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
7508 here ...
7509 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
7510 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
7511 here ...
7512 * include/grub/mips/time.h (grub_get_rtc): ... here.
7513 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
7514 here ...
7515 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
7516 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
7517 here ...
7518 * include/grub/mips/time.h (grub_cpu_idle): ... here.
7519 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
7520 definition.
7521 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
7522 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
7523 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
7524 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
7525 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
7526 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
7527 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
7528 (GRUB_MACHINE_LINK_ADDR): Likewise.
7529 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
7530 to 6.
7531 * util/grub-install.in: Run dvhtool on ARC.
7532 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 7533 (generate_image): Handle ECOFF output for mips-arc.
400b9371 7534
c8ecc840
VS
75352011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
7536
7537 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
7538 blocks.
7539
153a4b55
VS
75402011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
7541
7542 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
7543 after enabling port.
7544
ff44d107
VS
75452011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
7546
7547 Skip incorrect USB devices.
7548
7549 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
7550 configcnt == 0.
7551 * include/grub/usb.h (grub_usb_err_t): New enum value
7552 GRUB_USB_ERR_BADDEVICE.
7553
638dbe4f
VS
75542011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
7555
7556 Fuloong video init support.
7557
7558 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
7559 well.
7560 (grub_vga_read_arx): New function.
7561 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
7562 definition.
7563 (framebuffer): New members io, mmioptr and mmiobase.
7564 (read_sis_cmd): New function.
7565 (write_sis_cmd): Likewise.
7566 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
7567 rather than 640x400.
7568 * grub-core/video/sis315_init.c: New file.
7569
c3fc520c
VS
75702011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7571
7572 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
7573 non-loongson.
7574 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
7575 to grub_dl_register_symbol.
7576
67b1e5c9
VS
75772011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7578
7579 Fix compilation errors.
7580
7581 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
7582 potentially unused.
7583 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
7584 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
7585 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
7586 to loongson machines.
7587
b756f75f
VS
75882011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7589
7590 Several FS mtime support.
7591
7592 * grub-core/fs/affs.c (grub_affs_time): New struct.
7593 (grub_affs_file): New field mtime.
7594 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
7595 type. Removed 'size'. New field 'di'. All users updated.
7596 (grub_affs_mount): Simplify checsum checking.
7597 (grub_affs_iterate_dir): New helper grub_affs_create_node.
7598 (grub_affs_dir): Handle mtime.
7599 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
7600 (grub_cpio_dir): Likewise.
7601 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
7602 (grub_hfs_filerec): New field mtime.
7603 (grub_hfs_dir): Handle mtime.
7604 (grub_hfs_mtime): New function.
7605 (grub_hfs_fs): Register grub_hfs_mtime.
7606 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
7607 (grub_iso9660_dir): New field mtime.
7608 (grub_fshelp_node): New field dirent.
7609 (iso9660_to_unixtime): New function.
7610 (iso9660_to_unixtime2): Likewise.
7611 (grub_iso9660_read_symlink): Use node->dirent.
7612 (grub_iso9660_iterate_dir): Likewise.
7613 (grub_iso9660_dir): Set mtime.
7614 (grub_iso9660_mtime): New function.
7615 (grub_iso9660_fs): Register grub_iso9660_mtime.
7616 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
7617 (grub_jfs_inode): New fields atime, ctime and mtime.
7618 (grub_jfs_dir): Set mtime.
7619 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
7620 * grub-core/fs/ntfs.c (list_file): Set mtime.
7621 (grub_ntfs_dir): Likewise.
7622 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
7623 (grub_reiserfs_iterate_dir): Set mtime.
7624 (grub_reiserfs_dir): Likewise.
7625 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
7626 (grub_fshelp_node): Likewise.
7627 (grub_sfs_iterate_dir): Set mtime.
7628 (grub_sfs_dir): Likewise.
7629 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
7630 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
7631 (grub_xfs_inode): New fields atime, mtime, ctime.
7632 (grub_xfs_dir): Set mtime.
7633 * include/grub/datetime.h (grub_datetime2unixtime): New function.
7634 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
7635 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
7636
7637 Support UDF symlinks.
7638
7639 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
7640 (grub_ufs_read_symlink): New function. All users updated.
7641
7642 Check amiga partmap checksum.
7643
7644 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
7645 (grub_amiga_partition): Likewise.
7646 (amiga_partition_map_checksum): New function.
7647 (amiga_partition_map_iterate): Check checksum.
7648
5470225d
VS
76492011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7650
7651 ROMFS support.
7652
7653 * Makefile.util.def (libgrubmods.a): Add romfs.
7654 * grub-core/Makefile.core.def (romfs): New module.
7655 * grub-core/fs/romfs.c: New file.
7656
d4680a35
VS
76572011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7658
7659 Squashfs v4 support.
7660
7661 * Makefile.util.def (libgrubmods.a): Add squash4.
7662 * grub-core/Makefile.core.def (squash4): New module.
7663 * grub-core/fs/squash4.c: New file.
7664 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
7665 disk_input_start, disk_input.
7666 (get_byte): Handle disk_input.
7667 (grub_zlib_disk_read): New function.
7668 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
7669
bcb18e74
FZ
76702011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
76712011-05-15 Feiran Zheng <famcool@gmail.com>
7672
7673 * Makefile.util.def (libgrubmods.a): Add minix3.
7674 * grub-core/Makefile.core.def (minix3): New module.
7675 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
7676 (GRUB_MINIX_BSIZE): Removed.
7677 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
7678 (grub_minix_ino_t): New type.
7679 (grub_minix_le_to_cpu_ino): New macro.
7680 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
7681 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
7682 (grub_minix_data): New field block_size.
7683 (grub_minix_read_file): Handle 64-bit correctly.
7684 * grub-core/fs/minix3.c: New file.
7685
32297d5f
TG
76862011-05-15 Tristan Gingold <gingold@free.fr>
76872011-05-15 Robert Millan <rmh.grub@aybabtu.com>
76882011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7689
7690 IA64 support.
7691
7692 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
7693 * configure.ac: Add ia64-efi target.
7694 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
7695 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
7696 * gentpl.py: Add ia64_efi platform.
7697 Rename x86_efi to efi and Add ia64-efi. All users updated.
7698 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
7699 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
7700 Remove kern/generic/rtc_get_time_ms.c on EFI.
7701 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
7702 kern/ia64/dl_helper.c on ia64-efi.
7703 Add kern/emu/cache.c on emu.
7704 (linux): Use on loader/ia64/efi/linux.c on ia64.
7705 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
7706 whether symbol is a function.
7707 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
7708 (grub_symbol): New field 'isfunc'.
7709 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
7710 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
7711 (grub_dl_load_segments): Place all sections into the same region.
7712 [__ia64__]: Create trampolines and got.
7713 [GRUB_MACHINE_EMU]: Call mprotect.
7714 (grub_dl_resolve_symbols): Resolve symbol type as well.
7715 [__ia64__]: Create function descriptors.
7716 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
7717 (grub_rtc_get_time_ms): ... this. Expressions simplified.
7718 (grub_get_rtc): New function.
7719 * grub-core/kern/emu/cache.c [__ia64__]: New file.
7720 * grub-core/kern/emu/cache.S: Renamed to ...
7721 * grub-core/kern/emu/cache_s.S: ... this.
7722 [__ia64__]: Add a nop.
7723 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
7724 [__ia64__]: New function.
7725 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
7726 * grub-core/kern/ia64/dl.c: New file.
7727 * grub-core/kern/ia64/dl_helper.c: Likewise.
7728 * grub-core/kern/ia64/efi/init.c: New file.
7729 * grub-core/kern/ia64/efi/startup.S: Likewise.
7730 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
7731 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
7732 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
7733 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
7734 * grub-core/loader/ia64/efi/linux.c: New file.
7735 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
7736 (GRUB_MOD_DEP): Likewise.
7737 (grub_dl) [__ia64__]: New fields got and tramp.
7738 (grub_dl): New field 'base'.
7739 (grub_dl_register_symbol): New argument isfunc. All users updated.
7740 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
7741 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
7742 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
7743 (grub_ia64_dl_get_tramp_got_size): New proto.
7744 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
7745 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
7746 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
7747 * include/grub/efi/api.h: Skip call wrappers on ia64.
7748 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
7749 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
7750 * include/grub/elf.h (ELF_ST_INFO): New definition.
7751 * include/grub/ia64/efi/kernel.h: New file.
7752 * include/grub/ia64/efi/memory.h: Likewise.
7753 * include/grub/ia64/efi/time.h: Likewise.
7754 * include/grub/ia64/kernel.h: Likewise.
7755 * include/grub/ia64/setjmp.h: Likewise (from glibc).
7756 * include/grub/ia64/time.h: New file.
7757 * include/grub/ia64/types.h: Likewise.
7758 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
7759 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
7760 New protos.
7761 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
7762 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
7763 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
7764 * util/grub-mkimage.c (image_target_desc): New field pe_target.
7765 All users updated.
7766 (EFI64_HEADER_SIZE): New definition. All users updated.
7767 (image_targets): Add ia64-efi.
7768 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
7769 jumpers_addr. All users updated.
7770 Create function descriptors.
7771 (count_funcs): New function.
7772 (unaligned_uint32): New struct.
7773 (MASK20): New definition.
7774 (MASK19): Likewise.
7775 (MASKF21): Likewise.
7776 (add_value_to_slot_20b): New function.
7777 (add_value_to_slot_21_real): Likewise.
7778 (add_value_to_slot_21): Likewise.
7779 (ia64_kernel_trampoline): New struct.
7780 (nopm): New variable.
7781 (jump): Likewise.
7782 (make_trampoline): New function.
7783 (relocate_addresses): Handle ia64.
7784 (make_reloc_section): Likewise.
7785 (load_image): Likewise.
7786
983b414d
VS
77872011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7788
7789 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
7790 warning. Move variables before code while on it.
7791
5d063cdc
VS
77922011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7793
7794 Fuloong support.
7795
7796 * configure.ac: Rename yeeloong platform to loongson. All users updated.
7797 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
7798 * grub-core/boot/mips/loongson/fuloong.S: New file.
7799 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
7800 Explicitly init CS5536.
7801 [FULOONG]: Don't use serial until CS5536 is available.
7802 Set GPIO based on dumps.
7803 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
7804 [FULOONG]: Handle GPIO and memory controller differences.
7805 Parse machine type in $a2.
7806 * grub-core/boot/mips/startup_raw.S: Determine and save the
7807 architecture.
7808 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
7809 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
7810 init on architecture type.
7811 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
7812 SIS315E. Don't init at_keyboard on fuloong.
7813 (grub_halt): Support Fuloong.
7814 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
7815 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
7816 (loongson_machtypes): New array.
7817 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
7818 type.
7819 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
7820 config. All users updated. Handle CS5536 serial.
7821 * grub-core/term/serial.c (grub_serial_register): Conditionalise
7822 default port on machine type. Register serial as inactive.
7823 * grub-core/video/sis315pro.c: New file.
7824 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
7825 definition.
7826 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
7827 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
7828 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
7829 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
7830 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
7831 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
7832 to ...
7833 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
7834 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
7835 definition.
7836 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
7837 (grub_arch_machine): New extern var.
7838 * include/grub/mips/loongson/serial.h
7839 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
7840 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
7841 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
7842 (GRUB_MACHINE_SERIAL_PORT0): ... this.
7843 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
7844 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
7845 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
7846 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
7847 * include/grub/term.h (grub_term_register_input_inactive): New inline
7848 function.
7849 (grub_term_register_output_inactive): Likewise.
7850 * include/grub/video.h (grub_video_driver_id): New value
7851 GRUB_VIDEO_DRIVER_SIS315PRO.
7852 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
7853 New field "names". All users updated.
7854 New field value IMAGE_FULOONG_FLASH.
7855 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
7856
6ada82d1
JU
78572011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
7858
7859 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
7860 and add some clarification.
7861
90c571a4
VS
78622011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7863
7864 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
7865 platforms if kernel is compressed.
7866
de04eecf
VS
78672011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7868
7869 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
7870 unused modules since currently referrence counter isn't reliable and
7871 there isn't much memory to recover there anyway.
7872
57688121
VS
78732011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7874
7875 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
7876 rather than resetting it to allow modules to reference themselves
7877 in init.
7878
3d2c7e35
VS
78792011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7880
7881 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
7882 counter on dependencies since grub_dl_unref already handles this.
7883
b25db218
VS
78842011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7885
7886 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
7887 on error if not already done.
7888
25a45338
VS
78892011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7890
7891 Fix few potential memory misusage.
7892
7893 * grub-core/font/font.c (load_font_index): Don't free char_index to
7894 avoid double free.
b25db218
VS
7895 (grub_font_load): Zero-fill font at alloc for safety.
7896 Close file on error.
7897 (free_font): Free bmp_idx.
25a45338 7898
0cac83df
VS
78992011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7900
7901 * docs/grub.texi (Installation): Fix several outdated claims.
7902
2217a143
VS
79032011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7904
7905 Handle module_license on windows.
7906
7907 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
7908 sections shifted.
7909 (insert_string): Make argument const char * instead of char *.
7910 (write_section_data): Handle long section names.
7911 Handle module_license.
7912
d4de6b01
VS
79132011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7914
7915 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
7916 handle class-free menuentries.
7917 (grub_normal_add_menu_entry): Add a check to be sure.
7918
4c2a3b43
VS
79192011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7920
7921 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
7922 PgUp and PgDown.
7923
85c6210f
VS
79242011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7925
7926 * configure.ac: Bump version to 1.99.
7927
36084912
VS
79282011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7929
7930 Give ATA device a bit more time on first try in order to allow disks
7931 to spin up.
7932
7933 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
7934 if dev->present is 1. Reset dev->present on failure.
7935 (grub_ata_device_initialize): Set dev->present to 1.
7936 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
7937 (grub_ata_device): New member 'present'.
7938
bda0e219
VS
79392011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7940
7941 * util/grub-mkimage.c (generate_image): Update hash.
7942
19e1c41b
VS
79432011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7944
7945 Flush caches on DMA memory.
7946
7947 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
7948 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
7949 (grub_dma_free): Likewise.
7950 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
7951
91bbcc0c
VS
79522011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7953
7954 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
7955 to avoid asm treating ld and sd as macros.
7956
60ddfad3
VS
79572011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7958
7959 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
7960 decompressor.
7961
a298aa04
VS
79622011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7963
7964 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
7965 grub_decompress_core since later would fail if grub_decompress_core
7966 is too far.
7967
9b44feca
VS
79682011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7969
7970 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
7971 R_MIPS_JALR since it's used by newer compiler.
7972
56dbe7b4
VS
79732011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7974
7975 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
7976
52856af2
VS
79772011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7978
7979 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
7980 file_path to 0 for surety.
7981 (grub_chainloader_boot): Set exit_data to NULL.
7982 Unset the loader once done.
7983 (grub_cmd_chainloader): Fix confusing error message if file is empty.
7984
9c9bfc6d
VS
79852011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7986
7987 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
7988 unknown key into a dprintf.
7989
dd94a3df
VS
79902011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7991
7992 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
7993 on first non-existant partition.
7994
fa68d99c
VS
79952011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7996
7997 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
7998 openning fails.
7999 Reported by: Mark Korenberg.
8000
157effb7
VS
80012011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8002
8003 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
8004 overflow.
8005
ea75312f
VS
80062011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8007
8008 * util/grub-mkimage.c (main): Explicitely flush and sync the output
8009 before closing to ensure that it will be readable by grub-setup.
8010
072b5d31
VS
80112011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8012
8013 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
8014 (devpath_1): Use MAKE_PIWG_PATH.
8015 (devpath_2): Likewise.
8016 (devpath_3): Likewise.
8017 (devpath_4): Likewise.
8018 (devpath_5): Likewise.
8019 (devpath_6): Likewise.
8020
8021 The appleldr.mod was checked that to be binary identical to previous
8022 version.
8023
7fae0051
Z
80242011-05-05 Zach <mikezackles>
8025
8026 Support 2010 Macbooks.
8027
8028 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
8029 (devs): Add devpath_6.
8030
7c515bee
VS
80312011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8032
8033 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
8034 /dev/random. /dev/urandom is good enough for our purposes (salting).
8035
ed660bd8
VS
80362011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8037
8038 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
8039
ee5614b7
VS
80402011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8041
8042 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
8043 hexadecimal.
8044
664889a6
VS
80452011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8046
8047 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
8048 and not 0 on failure.
8049
bd405bbc
CW
80502011-05-03 Colin Watson <cjwatson@ubuntu.com>
8051
8052 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
8053 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
8054 disk; otherwise grub_fs_probe will not fall back to the next
8055 filesystem.
8056 (grub_pxefs_open): Likewise, for consistency.
8057 Reported and tested by: Ezekiel Grave.
8058
4ebff753
CW
80592011-05-03 Colin Watson <cjwatson@ubuntu.com>
8060
8061 * tests/partmap_test.in: Don't hardcode path to parted.
8062 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
8063
8f942553
CW
80642011-05-01 Colin Watson <cjwatson@ubuntu.com>
8065
8066 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
8067 of `ls' to find out which devices are available.
8068
3c62402d
VS
80692011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8070
8071 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
8072 than source address for efi mmap buffer.
8073
723f63f2
VS
80742011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8075
8076 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
8077 wrong action on non-detecting the magic.
8078
68797f92
VS
80792011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8080
8081 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
8082 already supplied by another part of the module (fixes compilation on
8083 FreeBSD).
8084
6be8715d
VS
80852011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8086
8087 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
8088 match the one used by mdadm.
8089
e91dba5b
CW
80902011-04-21 Colin Watson <cjwatson@ubuntu.com>
8091
8092 * po/README: Add instructions for creating po/LINGUAS.
8093
c85140b3
CW
80942011-04-21 Colin Watson <cjwatson@ubuntu.com>
8095
8096 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
8097 #551428.
8098
8099 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
8100 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
8101 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
8102 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
8103 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
8104 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
8105 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
8106 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
8107 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
8108 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
8109 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
8110 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
8111 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
8112 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
8113 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
8114 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
8115 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
8116 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
8117 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
8118 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
8119 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
8120 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
8121
92051871
CW
81222011-04-21 Colin Watson <cjwatson@ubuntu.com>
8123
8124 * grub-core/kern/emu/getroot.c
8125 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
8126 test that was incorrectly reintroduced in r3214.
8127 Reported by: Ian Dall. Fixes Savannah bug #33133.
8128
b13f79a4
CW
81292011-04-21 Colin Watson <cjwatson@ubuntu.com>
8130
8131 Fix stack pointer handling in 16-bit relocator.
8132
8133 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
8134 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
8135 Fixes Ubuntu bug #683904.
8136
9b710a88
VS
81372011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
8138
8139 * configure.ac: Bump version to 1.99~rc2.
8140
d97e7b59
VS
81412011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
8142
8143 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
8144 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
8145 * grub-core/lib/x86_64/setjmp.S: Likewise.
8146 * grub-core/lib/mips/setjmp.S: Likewise.
8147 * grub-core/lib/powerpc/setjmp.S: Likewise.
8148 * grub-core/lib/sparc64/setjmp.S: Likewise.
8149
0624551c
VS
81502011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
8151
8152 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
8153 * grub-core/lib/efi/datetime.c: Likewise.
8154
e8f28d4c
VS
81552011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8156
8157 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
8158 New function.
8159 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
8160 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
8161 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
8162
bba79a15
VS
81632011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8164
8165 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
8166 bitmap.
8167 (grub_gfxterm_term_init): Likewise.
8168
abc474ef
VS
81692011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8170
8171 Take into account the decorations the computing menu entry width.
8172
8173 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
8174 (grub_gfxmenu_create_box): Register get_border_width.
8175 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
8176 if available.
8177 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
8178 get_border_width.
8179
e74b3947
EP
81802011-04-18 Endres Puschner <code@e7p.de>
8181
8182 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
8183 Don't skip first class.
8184
34faa595
VS
81852011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8186
8187 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
8188 chunks.
8189 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
8190
93a777e3
VS
81912011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8192
8193 Complete 64-bit division support.
8194
8195 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
8196 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
8197 * include/grub/misc.h (grub_divmod64): Rename to ...
8198 (grub_divmod64_full): ... this.
8199 (grub_divmod64): New inline function.
8200
a5102d94
VS
82012011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8202
8203 * util/grub-mkimage.c (generate_image): Add forgotten comma.
8204
f3fb7b36
VS
82052011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8206
8207 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
8208 performing the necessary test.
8209
9ac718b0
VS
82102011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8211
8212 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
8213 (kfreebsd.elf): Likewise.
8214 (pc-chainloader.elf): Likewise.
8215 (ntldr.elf): Likewise.
8216
50d2cc5a
VS
82172011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8218
8219 Identify RAID by its UUID rather than (guessed) name.
8220
8221 * grub-core/disk/raid.c (ascii2hex): New function.
8222 (grub_raid_open): Accept mduuid/%s specification.
8223 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
8224 (get_mdadm_uuid): ... this.
8225 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
8226
e03f7bea
VS
82272011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
8228
8229 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
8230 to negative size.
8231
e74c3112
CW
82322011-04-13 Colin Watson <cjwatson@ubuntu.com>
8233
8234 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
8235 btrfs subvolume.
8236 * util/grub.d/20_linux_xen.in: Likewise.
8237
78fa584f
CW
82382011-04-13 Colin Watson <cjwatson@ubuntu.com>
8239
8240 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
8241 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
8242
8243 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
8244 Build a list of relevant visible mounts using the mnt_id and
8245 parent_mnt_id fields, and then scan that list at the end.
8246
9d5f8162
CW
82472011-04-12 Colin Watson <cjwatson@ubuntu.com>
8248
8249 * docs/grub.texi (normal): New section.
8250 (normal_exit): New section.
8251 (Embedded configuration): Add reference to normal.
8252 (GRUB only offers a rescue shell): Likewise.
8253 * docs/grub-dev.texi (Error Handling): Fix typo.
8254
09a9d66f
CW
82552011-04-12 Colin Watson <cjwatson@ubuntu.com>
8256
8257 * NEWS: Drop obsolete entry about probe-only btrfs support.
8258
0c676933
CW
82592011-04-12 Colin Watson <cjwatson@ubuntu.com>
8260
8261 * util/import_gcry.py: Fix typo.
8262
ec9f5e0d
VS
82632011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8264
8265 * NEWS: Add btrfs support.
8266
fe6b2cba
VS
82672011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
82682011-04-11 Colin Watson <cjwatson@ubuntu.com>
8269
8270 BtrFS support. Written by me (Vladimir) with important bugfixes and
8271 even more important testing by Colin.
8272
8273 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
8274 * grub-core/Makefile.core.def (btrfs): Add crc.c.
8275 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
8276 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
8277 mem_input_off and mem_input. All users updated to accept in-RAM input.
8278 (gzio_seek): New function.
8279 (test_zlib_header): Likewise.
8280 (grub_gzio_read): Likewise.
8281 (grub_zlib_decompress): Likewise.
8282 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
8283 Accept partial and non-virtual mounts.
8284 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
8285 avoid receiving /dev/dm-X as device.
8286 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
8287 Handle bind and partial mounts.
8288 * grub-core/lib/crc.c: New file.
8289 * include/grub/deflate.h: Likewise.
8290 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
8291 proto.
8292 * include/grub/lib/crc.h: New file.
8293
e745cf0c
VS
82942011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8295
8296 Implement automatic module license checking according to new GNU
8297 guidelines.
8298
8299 * grub-core/kern/dl.c (grub_dl_check_license): New function.
8300 (grub_dl_load_core): Use grub_dl_check_license.
8301 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
8302 (GRUB_MOD_LICENSE): Likewise.
8303 (GRUB_MOD_DUAL_LICENSE): Likewise.
8304 All modules updated.
8305
2a9bc016
CW
83062011-04-11 Colin Watson <cjwatson@ubuntu.com>
8307
8308 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
8309 reserved_first_sector to 1. btrfs reserves plenty of space for boot
8310 loaders.
8311 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
8312
8a3bc88e
VS
83132011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8314
8315 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
8316
af869a4a
VS
83172011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8318
8319 * util/grub-fstest.c (read_file): Report GRUB error if file opening
8320 failed.
8321
9ee8d94f
VS
83222011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8323
8324 * grub-core/kern/file.c (grub_file_open): Don't take into account the
8325 parenthesis in the middle of the filename.
8326
b01abe3e
VS
83272011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8328
8329 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
8330 rather than trying to put initrd way too high.
8331 Reported by: Ryan Lortie <desrt@desrt.ca>
8332
335bda1e
VS
83332011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8334
8335 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
8336 improperly removed string.
8337
5ca1a64d
VS
83382011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8339
8340 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
8341 is_disk.
8342 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
8343 (open_device) Likewise.
8344 (grub_util_biosdisk_close): Likewise.
d8ce9995 8345 Reported by: Mark Korenberg.
5ca1a64d 8346
cbac5b1e
AK
83472011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
8348
8349 * util/grub-mkconfig_lib.in: Add missing quotes.
8350
088cdb65
CW
83512011-04-10 Colin Watson <cjwatson@ubuntu.com>
8352
8353 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
8354 is NULL.
8355
8b8a81fa
VS
83562011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8357
8358 Dynamically count the number of lines for the lower banner.
8359
8360 * grub-core/normal/menu_entry.c (per_term_screen): New member
8361 num_entries.
8362 (print_down): Use num_entries.
8363 (update_screen): Likewise.
8364 (grub_menu_entry_run): Set num_entries.
8365 * grub-core/normal/menu_text.c (menu_viewer_data): New member
8366 num_entries.
8367 (grub_print_message_indented): Move real part to ...
8368 (grub_print_message_indented_real): ... here. Additional argument
8369 dry_run.
8370 (draw_border): Additional argument num_entries.
8371 (print_message): Additional argument dry_run.
8372 (print_entries): Receive menu viewer data.
8373 (grub_menu_init_page): New argment num_entries.
8374 (menu_text_set_chosen_entry): Use num_entries.
8375 (grub_menu_try_text): Likewise.
8376 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
8377 All users updated.
8378 (grub_ucs4_count_lines): New function.
8379 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
8380 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
8381 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
8382 (grub_term_border_height): Likewise.
8383 (grub_term_num_entries): Likewise.
8384
277f955b
VS
83852011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8386
8387 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
8388 Remove now unused string.
8389
536ce85a
CW
83902011-04-09 Colin Watson <cjwatson@ubuntu.com>
8391
8392 * docs/grub-dev.texi (Finding your way around): Update for 1.99
8393 build system.
8394 (Getting started): GRUB is developed in Bazaar now, not Subversion.
8395
8396 (Comment): Fix typo.
8397 (Getting started): General copy-editing.
8398 (Typical Development Experience): Likewise.
8399 (Error Handling): Likewise.
8400 (Video API): Likewise.
8401
2cf09e32
CW
84022011-04-09 Colin Watson <cjwatson@ubuntu.com>
8403
8404 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
8405 throughout.
8406
1ec652f4
VS
84072011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8408
8409 * util/grub-mkimage.c (main): Handle special naming of yeeloong
8410 directory.
8411
2c583728
CW
84122011-04-08 Colin Watson <cjwatson@ubuntu.com>
8413
8414 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
8415 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
8416 "development".
8417
d7a565e9
VS
84182011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8419
8420 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
8421 grub_strcpy since the lines aren't necessarily 0-terminated.
8422
7c2e4909
VS
84232011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8424
8425 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
8426 root on legacy.
8427
34c09785
VS
84282011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8429
8430 * grub-core/commands/probe.c (options): Argument to set isn't optional.
8431 (GRUB_MOD_INIT): DEVICE isn't optional.
8432
6a6f8058
VS
84332011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8434
8435 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
8436 word on new line if it's too long anyway. Fixes a hang.
8437
2e335e90
VS
84382011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8439
8440 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
8441 const.
8442 * util/grub-setup.c (main): Reuse md device name if available.
8443 * util/raid.c (grub_util_raid_getmembers): Receive device name and
8444 not GRUB name as argument.
8445 Based on patch by: Florian Wagner <fwagner>.
8446
10a7a867
VS
84472011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8448
8449 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
8450 Place mbi on low memory for better compatibility.
8451
7a3d6cd9
VS
84522011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8453
8454 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
8455
18dd6b47
VS
84562011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
84572011-04-08 Colin Watson <cjwatson@ubuntu.com>
8458
8459 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 8460 * conf/Makefile.common: Likewise.
18dd6b47 8461
3c0e3f14
VS
84622011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8463
f7148863
VS
8464 * grub-core/normal/menu.c: Add missing include.
8465
84662011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8467
8468 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 8469
6d1fa41f
MZ
84702011-04-08 Martin Zuther <mzuther@mzuther.de>
8471
8472 * util/grub-mkconfig.in: Ignore emacsen backup.
8473
478182a8
VS
84742011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8475
8476 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
8477 on open.
8478 (grub_util_biosdisk_close): Likewise.
8479
72a89a54
VS
84802011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8481
8482 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
8483 const attribute and use grub_isdigit.
8484
b5ebecfa
A
84852011-04-06 Andrey <dev_null@ukr.net>
8486
8487 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
8488 gcc warning.
8489
7755f66e
VS
84902011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8491
8492 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
8493 useful grub_dprintf's.
8494
461121ff
VS
84952011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8496
8497 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
8498
2a961775
VS
84992011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8500
8501 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
8502
adf594cc
VS
85032011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8504
8505 Output errors if theme loading failed.
8506
8507 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
8508 grub_gfxterm_fullscreen on error paths to ...
8509 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
8510 theme loading error.
8511
665900a3
VS
85122011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8513
8514 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
8515 space for older compilers.
8516 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
8517
a562b479
VS
85182011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8519
8520 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
8521 and report them as not RAID members since they are useless for GRUB.
8522 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8523
850e9373
VS
85242011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8525
8526 Increase LVM implementation robustness in order not to crash on
8527 configurations like pvmove. Previously code assumed that in some places
8528 only lvs or only pvs are used whereas it seems that they are used
8529 interchangeably.
8530
8531 * grub-core/disk/lvm.c (read_node): New function.
8532 (read_lv): Use read_node.
8533 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
8534 Match volumes only at the end when all lvs are found. Take both
8535 pvs (first) and lvs (second) into account.
8536 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
8537 mirror_* into node_*. All users updated.
8538 (grub_lvm_stripe): Merge this ...
8539 (grub_lvm_mirror): ... and this ...
8540 (grub_lvm_node): ... into this. All users updated.
8541
6f332153
VS
85422011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8543
8544 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
8545 of function to allow further scanning for LVMs.
8546
829ea451
VS
85472011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8548
8549 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
8550 on failed seek as it breaks open fd reusage.
8551
09ceb9a5
VS
85522011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8553
8554 * util/grub-install.in: Add a recommendation to use --recheck before
8555 reporting bugs.
8556
67e11623
VS
85572011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8558
8559 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
8560 are obtained.
8561
caee5efd
VS
85622011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8563
8564 GRUB developper manual based on existing Internals section and
8565 contributions by the various authors with active copyright assignment.
8566
8567 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
8568 * docs/font_char_metrics.png: New file.
8569 * docs/font_char_metrics.txt: Likewise.
8570 * docs/grub-dev.texi: Likewise.
8571 * docs/grub.texi (Internals): Move from here ...
8572 * docs/grub-dev.texi: ... here.
8573
2cccc747
CW
85742011-04-01 Colin Watson <cjwatson@ubuntu.com>
8575
8576 Store the loopback device as data on loopback grub_disk structures,
8577 rather than the file it points to. This fixes use of freed memory
8578 if an existing loopback device is replaced.
8579
8580 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
8581 disk->data, not dev->file.
8582 (grub_loopback_read): Adjust file assignment to match.
8583 Fixes Ubuntu bug #742967.
8584
186ae367
CW
85852011-04-01 Colin Watson <cjwatson@ubuntu.com>
8586
8587 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
8588 when replacing an existing device.
8589
cfed2ad0
VS
85902011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8591
8592 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
8593 memory corruptions.
8594
8595 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
8596 unsigned.
8597 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
8598 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
8599 (grub_jfs_read_inode): Likewise.
8600 (grub_jfs_opendir): Likewise. Remove now useless casts.
8601 (grub_jfs_getent): Likewise.
8602 Make ino a grub_uint32_t rather than int.
8603 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
8604 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
8605 division and module with bit operations.
8606 (grub_jfs_find_file): Make ino a grub_uint32_t.
8607 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
8608
05d2ed32
CW
86092011-04-01 Colin Watson <cjwatson@ubuntu.com>
8610
8611 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
8612 warning. (This was in fact always initialised before use, but GCC
8613 wasn't smart enough to prove that.)
8614 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
8615
91dc6073
VS
86162011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8617
8618 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
8619 stack alignment.
8620 (efi_wrap_1): Likewise.
8621 (efi_wrap_2): Likewise.
8622 (efi_wrap_3): Likewise.
8623 (efi_wrap_4): Likewise.
8624 (efi_wrap_5): Likewise.
8625 (efi_wrap_6): Likewise.
8626 (efi_wrap_10): Likewise.
8627 Based on information by: Red Hat/Peter Jones.
8628
a8afc1d1
CW
86292011-03-31 Colin Watson <cjwatson@ubuntu.com>
8630
8631 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
8632 set-but-not-used variable.
8633
a826cc7d
CW
86342011-03-31 Colin Watson <cjwatson@ubuntu.com>
8635
8636 * docs/grub.texi (Simple configuration): Be more explicit about
8637 GRUB_DEFAULT, and add an example.
8638 Reported by: Leslie Rhorer.
8639
875b67ba
CW
86402011-03-30 Colin Watson <cjwatson@ubuntu.com>
8641
8642 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
8643 shell".
8644
fd7cd914
AS
86452011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
8646
8647 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
8648 * util/grub.d/20_linux_xen.in: Likewise.
8649
090b1b6a
VS
86502011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8651
8652 * util/grub.d/10_linux.in: Try alternative config filenames where
8653 we parse config file.
8654 * util/grub.d/20_linux_xen.in: Likewise.
8655
baad885c
AS
86562011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
8657
8658 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
8659 * util/grub.d/20_linux_xen.in: Likewise.
8660
241e41f5
VS
86612011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8662
8663 * grub-core/disk/raid.c (insert_array): Add few potentially
8664 useful grub_util_info.
8665 (grub_raid_register): Likewise.
8666
56445fb2
VS
86672011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8668
8669 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
8670 Preserve partition number in mdadm code path.
8671
c871b1c6
VS
86722011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8673
8674 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
8675 few potentially useful grub_util_info.
8676
5e631b4f
CW
86772011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8678
8679 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
8680
2d5d0333
CW
86812011-03-30 Colin Watson <cjwatson@ubuntu.com>
8682
8683 * docs/grub.texi (default): Use @example rather than nested
8684 itemized lists to avoid breaking gendocs.
8685
3d7ed04e
CW
86862011-03-30 Colin Watson <cjwatson@ubuntu.com>
8687
8688 * docs/grub.texi (Future): Update.
8689
abf04200 86902011-03-30 Colin Watson <cjwatson@ubuntu.com>
8691
8692 * docs/grub.texi (Environment): New chapter.
8693 (Changes from GRUB Legacy): Link to "Environment block" section for
8694 details of limitations.
8695 (Simple configuration): Likewise. Link to documentation of gfxmode
8696 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
8697 respectively.
8698 (Shell-like scripting): Note that normal variables are stored in the
8699 environment.
8700 (gettext): Link to documentation of lang and locale_dir.
8701 (list_env): New section.
8702 (load_env): New section.
8703 (save_env): New section.
8704
8705 (Reporting bugs): Fix typo.
8706
e1ad0edd
VS
87072011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8708
8709 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
8710 the example.
8711
5d803174
VS
87122011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8713
8714 * grub-core/term/at_keyboard.c (set_scancodes)
8715 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
8716
2a2da1d0
CW
87172011-03-30 Colin Watson <cjwatson@ubuntu.com>
8718
8719 * docs/grub.texi (Menu-specific commands): Remove some semantics
8720 that were true in GRUB Legacy but not in GRUB 2.
8721 (submenu): New section.
8722 (false): New section.
8723 (read): New section.
8724 (true): New section.
8725
a7527639
CW
87262011-03-30 Colin Watson <cjwatson@ubuntu.com>
8727
8728 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
8729
87302011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
8731
8732 * docs/grub.texi (Simple configuration): Explain some of the
8733 current limitations of grub-mkconfig.
8a748df2 8734 Reported by: Leslie Rhorer.
e30af029 8735
fc858482
VS
87362011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8737
8738 Old macs search for boot.efi rather than for bootia32.efi.
8739
8740 * util/grub-install.in: Copy bootia32.efi to boot.efi.
8741 * util/grub-mkrescue.in: Likewise.
8742 Suggested by: Peter Jones.
8743
e1eb511d
VS
87442011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8745
8746 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
8747
70e75364
VS
87482011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8749
8750 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
8751 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
8752 (grub_lvm_mirror): New struct.
8753 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
8754 (grub_lvm_iterate): Iterate only visible volumes.
8755 (grub_lvm_read): Factor out to ..
8756 (read_lv): ... this. Support mirrors.
8757 (grub_lvm_read): New wrapper function.
8758 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
8759 stripped or mirrored.
8760
fc18f6a3
VS
87612011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8762
8763 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
8764
5c650f4c
CW
87652011-03-29 Colin Watson <cjwatson@ubuntu.com>
8766
8767 * docs/grub.texi (loopback): New section.
8768
61d7156b
CW
87692011-03-29 Colin Watson <cjwatson@ubuntu.com>
8770
8771 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
8772 removed -p option.
8773
994b8264
CW
87742011-03-29 Colin Watson <cjwatson@ubuntu.com>
8775
8776 * docs/grub.texi (BIOS installation): New section, partly based on
8777 previous text in other sections.
8778 (Installing GRUB using grub-install): Replace BIOS discussion with a
8779 cross-reference.
8780 (Images): Likewise.
8781
9e4d19e0
VS
87822011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8783
8784 * grub-core/kern/emu/hostdisk.c (find_partition_start)
8785 [HAVE_DIOCGDINFO]: Add safety checks.
8786
a307c0b2
VS
87872011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8788
8789 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
8790 per default compiled in kernel and prior to 8.0 isn't shipped at all.
8791
b4db4f39
CW
87922011-03-29 Colin Watson <cjwatson@ubuntu.com>
8793
8794 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
8795 real_sb->size is zero (e.g. RAID-0), get the disk size from
8796 real_sb->data_size instead.
8797 Fixes Ubuntu bug #743136.
8798
35e5f84c
VS
87992011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8800
8801 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
8802 printf clauses for printing size and start.
8803
d2e29d81
VS
88042011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8805
8806 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
8807 Reported and tested by: Timothy Nikkel.
8808
ed5587af
VS
88092011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8810
8811 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
8812 (dirty_region_add_real): ... this.
8813 (dirty_region_add): Don't discard margin refresh when performing
8814 scheduled repaint.
8815
a1dc717c
VS
88162011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8817
8818 * grub-core/lib/relocator.c (allocate_regstart)
8819 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
8820 terminals are capabple of malloc-free operation.
8821 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
8822 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
8823
9f3677d3
VS
88242011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
8825
8826 * util/grub-setup.c: Copy the partition table zone if floppy support
8827 is disabled, even if no partition table is found.
8828
8829 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
8830 during POST if an invalid partition table is contained in the PBR
8831 of the active partition when GRUB is installed to a partition.
8832
24148725
CW
88332011-03-28 Colin Watson <cjwatson@debian.org>
8834
8835 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
8836 comment.
8837
f329eda7
CW
88382011-03-28 Colin Watson <cjwatson@debian.org>
8839
8840 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
8841 to be specific about what kind of RAID device we're scanning for.
8842
c482ad98
SG
88432011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
8844
8845 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
8846 return freed string.
8847
5ee04984
VS
88482011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8849
8850 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
8851
f4727da9
VS
88522011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8853
8854 Use libgeom on FreeBSD to detect partitions.
8855
8856 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
8857 (grub-mkrelpath): Likewise.
8858 (grub-script-check): Likewise.
8859 (grub-editenv): Likewise.
8860 (grub-mkpasswd-pbkdf2): Likewise.
8861 (grub-fstest): Likewise.
8862 (grub-mkfont): Likewise.
8863 (grub-mkdevicemap): Likewise.
8864 (grub-probe): Likewise.
8865 (grub-setup): Likewise.
8866 (grub-ofpathname): Likewise.
8867 (grub-mklayout): Likewise.
8868 (example_unit_test): Likewise.
8869 (grub-menulst2cfg): Likewise.
8870 * grub-core/Makefile.core.def (grub-emu): Likewise.
8871 (grub-emu-lite): Likewise.
8872 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
8873 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
8874 define HAVE_DIOCGDINFO.
8875 (follow_geom_up) [FreeBSD]: New function.
8876 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
8877 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
8878 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
8879 unconditionally of HAVE_DIOCGDINFO.
8880
82fe6c75
VS
88812011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8882
8883 Fix FreeBSD compilation problem.
8884
8885 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
8886 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
8887
4c6c9431
CW
88882011-03-24 Colin Watson <cjwatson@ubuntu.com>
8889
8890 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
8891 Switch back to page zero before loading a kernel, since some kernel
8892 drivers expect that.
8893 Thanks to: Felix Kuehling.
8894
c7064d94
VS
88952011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8896
8897 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
8898 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
8899 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
8900
3f71cded
VS
89012011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8902
8903 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
8904 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
8905
ef6de21a
VS
89062011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8907
8908 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
8909 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
8910 malloc is disabled.
8911
8bc66a2c
VS
89122011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8913
8914 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
8915 for modules headers when counting the needed allocation size.
8916
5657722c
VS
89172011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8918
8919 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
8920 if no ASCII character is found to prevent crash.
8921
41a85f55
AK
89222011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
8923
8924 * grub-core/video/bitmap.c (match_extension): Ignore case.
8925
59e1e5f1
VS
89262011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8927
8928 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
8929
bd4d051a
VS
89302011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8931
8932 * grub-core/script/parser.y: Declare "time" as valid argument.
8933
bae7fcc1
PJ
89342011-03-23 Peter Jones <pjones@redhat.com>
8935
8936 Fix incorrect assert failure reporting.
8937
8938 * grub-core/tests/example_functional_test.c (example_test): Add
8939 a failure comment.
8940 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
8941 (failure_start): ...this. Check that malloc succeeded.
8942 Don't call xvasprintf. Return failure struct.
8943 (failure_append_vtext): New function.
8944 (failure_append_text): Likewise.
8945 (add_failure): Likewise.
8946 (grub_test_assert_helper): Likewise.
8947 * include/grub/test.h (grub_test_assert_helper): New declaration.
8948 (grub_test_assert): Macro rewritten.
8949
537dc9be
VS
89502011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8951
8952 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
8953
fa3e01bf
VS
89542011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8955
8956 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
8957
b1d28404
VS
89582011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8959
8960 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
8961 into GRUB-style one.
8962
2e3e2e09
VS
89632011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8964
8965 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
8966 error and not grub_errno.
8967 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
8968
ed57e557
VS
89692011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8970
8971 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
8972 GRUB_USB_SPEED_NONE in case of failure and not the error code.
8973
d1611f01
VS
89742011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8975
8976 * grub-core/efiemu/i386/pc/cfgtables.c
8977 (grub_machine_efiemu_init_tables): Make declaration a prototype.
8978 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
8979 (grub_xnu_unlock): Likewise.
8980 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
8981
7d4e39d6
VS
89822011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8983
8984 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
8985 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
8986 * grub-core/commands/hashsum.c (aliases): Likewise.
8987 * grub-core/commands/setpci.c (pci_registers): Likewise.
8988 * grub-core/disk/usbms.c (attach_hook): Likewise.
8989 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
8990 (zio_checksum_table): Likewise.
8991 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
8992 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
8993 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
8994 * grub-core/lib/relocator.c (leftovers): Likewise.
8995 (extra_blocks): Likewise.
8996 * grub-core/loader/i386/bsd.c (relocator): Likewise.
8997 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
8998 (modules_last): Likewise.
8999 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
9000 (devices): Likewise.
9001 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
9002 (modules_last): Likewise.
9003 * grub-core/normal/auth.c (users): Likewise.
9004 * grub-core/normal/context.c (initial_menu): Likewise.
9005 (current_menu): Likewise.
9006 * grub-core/normal/crypto.c (crypto_specs): Likewise.
9007 * grub-core/term/serial.c (grub_serial_ports): Likewise.
9008 (grub_serial_terminfo_input_template): Likewise.
9009 (grub_serial_terminfo_output_template): Likewise.
9010 (grub_serial_terminfo_input): Likewise.
9011 (grub_serial_terminfo_output): Likewise.
9012 (registered): Likewise.
9013 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
9014
40fc4659
VS
90152011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9016
9017 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
9018 grub_video_mode_type_t.
9019 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
9020 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
9021 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
9022
2da48d28
VS
90232011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9024
9025 * util/grub-install.in: Correct the x86-64 name as x86_64.
9026
9b43bf39
CW
90272011-03-11 Colin Watson <cjwatson@ubuntu.com>
9028
9029 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
9030 initial chunk read from the kernel always includes GRUB's multiboot
9031 header, which is now outside the first sector.
9032
be1a7ce0
CW
90332011-03-09 Colin Watson <cjwatson@ubuntu.com>
9034
9035 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
9036 cached mmap_size, so that this works correctly when called multiple
9037 times.
9038 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
9039
83a3c48d
CW
90402011-03-09 Colin Watson <cjwatson@ubuntu.com>
9041
9042 * docs/grub.texi (Simple configuration): Tidy up formatting.
9043
57d75699
SJ
90442011-03-07 Szymon Janc <szymon@janc.net.pl>
9045
9046 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
9047 Set-but-not-used variable removed.
9048
028501a0
VS
90492011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9050
9051 Workaround yet another IEEE1275 bug.
9052
9053 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
9054 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
9055 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
9056 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
9057 is set.
9058 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9059 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
9060
d998657d
VS
90612011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9062
9063 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
9064 error.
9065
fee7cdd4
CW
90662011-02-11 Colin Watson <cjwatson@ubuntu.com>
9067
9068 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
9069 empty, since in that case we can only generate either nothing or a
9070 syntactically invalid configuration file.
9071 Reported by: Michal Suchanek. Fixes Debian bug #612898.
9072
97286eb5
CW
90732011-02-09 Colin Watson <cjwatson@ubuntu.com>
9074
9075 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
9076 (Making a GRUB bootable CD-ROM): Likewise.
9077 (Invoking grub-mkrescue): New section.
9078 Reported by: Yann Dirson. Fixes Debian bug #612585.
9079
22b28eb3
CW
90802011-02-09 Colin Watson <cjwatson@ubuntu.com>
9081
9082 * util/grub-install.in: Remove unnecessary brackets from tr
9083 arguments.
9084 * util/grub.d/10_hurd.in: Likewise.
9085 * util/grub.d/10_kfreebsd.in: Likewise.
9086 * util/grub.d/10_linux.in: Likewise.
9087 * util/grub.d/20_linux_xen.in: Likewise.
9088 Reported by: Jamie Heilman. Fixes Debian bug #612564.
9089
7e735e43
CW
90902011-02-08 Colin Watson <cjwatson@ubuntu.com>
9091
9092 * include/grub/file.h (not_easly_seekable): Rename to ...
9093 (not_easily_seekable): ... this. Update all users.
9094
800f1881
CW
90952011-01-28 Colin Watson <cjwatson@ubuntu.com>
9096
9097 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
9098 grub-mkrescue.
9099
3281d3d6
VS
91002011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9101
9102 * util/grub-mkimage.c (generate_image): Refuse to create the images
9103 bigger than the actual flash (512K) in Loongson machines. 512K is also
9104 the biggest chip supported by them.
9105
3533413c
VS
91062011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9107
9108 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
9109
73ae4f4f
VS
91102011-01-22 Anthony DeRobertis <anthony@derobert.net>
9111
9112 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
9113 super_offset field.
9114
37f4f608
VS
91152011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9116
9117 * util/grub-install.in: Ignore install device on platforms
9118 where it doesn't make sense. Always use UUIDs except on pc, efi and
9119 sparc64.
9120 Reported by: Daniel Kahn Gillmor.
9121
03a4ccb5
VS
91222011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9123
9124 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
9125
ffc8f4d8
VS
91262011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9127
9128 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
9129 (iterate_real): Don't rely on partition being non-NULL.
9130
80f23be7
VS
91312011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9132
9133 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
9134 supported platforms. Put a compile time assert for this rather than
9135 generate a warning with 32-bit shift.
9136
5d4f4dd5
VS
91372011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9138
9139 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
9140 logical expression more readable.
9141
e489601a
VS
91422011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9143
9144 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
9145 even if some elements have a name.
9146 Reported by: Alexander GQ Gerasiov.
9147
96e0a6ea
CW
91482011-01-22 Colin Watson <cjwatson@ubuntu.com>
9149
9150 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
9151 path unreadable if `grub-probe -t abstraction' fails, for example if
9152 memberlist fails on an LVM volume group.
9153 Reported by: Darius Jahandarie.
9154
81431e2b
CW
91552011-01-22 Colin Watson <cjwatson@ubuntu.com>
9156
9157 * docs/grub.texi (Simple configuration): Document
9158 GRUB_PRELOAD_MODULES.
9159
5e79d66a
CW
91602011-01-17 Colin Watson <cjwatson@ubuntu.com>
9161
9162 * .bzrignore: Remove nonexistent grub-pbkdf2.
9163
646ada34
VS
91642011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
9165
9166 * configure.ac: Bump version to 1.99~rc1.
9167
04360337
VS
91682011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9169
9170 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
9171 for safety.
9172
46c9db88
VS
91732011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9174
9175 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
9176 module.
9177
91782011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
9179
9180 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
9181
4fbf1852
VS
91822011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9183
9184 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
9185 diskdevid.
9186
f1632d4d
VS
91872011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9188
9189 Fix compilation on cygwin.
9190
9191 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
9192 -R .drectve on cygwin.
9193 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
9194 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
9195 (COND_CYGWIN): New condition.
9196 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
9197 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
9198 not @TARGET_OBJ2ELF@.
9199 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
9200 type to determine whether aux is to be used.
9201
0b5e127b
VS
92022011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9203
9204 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
9205 realpath'ed device string.
9206 Handle floppy (somewhat).
9207 Issue error in unknown case rather than garbage.
9208 Reported by: Axel Beckert.
9209
173b71e9
VS
92102011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 * util/grub.d/00_header.in (load_video): Handle the case when no video
9213 drivers available.
9214 Thanks to: Axel Beckert.
9215
f8f479db
VS
92162011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9217
9218 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
9219 variable. Fixes problem on big endian platforms.
9220
8fc0a245
VS
92212011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9222
9223 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
9224 It doesn't work well there.
9225
b8494fbe
VS
92262011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9227
9228 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
9229 warning.
9230 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
9231 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
9232 counter.
9233
b44a558c
VS
92342011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9235
9236 Use alias->path rather than buggy "canon".
9237
9238 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
9239 (ofdisk_hash_add): New argument curcan. All users updated.
9240
51fa856c
CW
92412011-01-11 Colin Watson <cjwatson@ubuntu.com>
9242
9243 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
9244
9da068a5
VS
92452011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9246
9247 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
9248 loadmask before doing any calculations. Use correct type for offset.
9249 (grub_linux_load64): Likewise.
9250
86205c94
CW
92512011-01-11 Colin Watson <cjwatson@ubuntu.com>
9252
9253 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
9254 with NULL.
9255 (console_grub_equivalences_unshift): Likewise.
9256 Reported by: Daniel Dehennin.
9257
4531a206
VS
92582011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9259
9260 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
9261 (set_env_limn_ro): Likewise.
9262 (GRUB_MOD_INIT): Likewise.
9263 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
9264 ARRAY_SIZE while on it.
9265 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
9266 * grub-core/normal/context.c (grub_env_export): Move from here ...
9267 * grub-core/kern/env.c (grub_env_export): ... here.
9268 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
9269 prefix.
9270 * grub-core/kern/main.c (grub_main): Export root and prefix.
9271 * include/grub/env.h (grub_env_export): Export.
9272 Reported by: Seth Goldberg.
9273
45146057
VS
92742011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9275
9276 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
9277 Take into account space used by ELF sections and multiboot palette.
9278 Reported by: Grégoire Sutre.
9279
f093110b
VS
92802011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9281
9282 * BUGS: New file.
9283
3395fe52
VS
92842011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9285
9286 Pass more appropriate video id to Linux.
9287
9288 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
9289 grub_video_get_driver_id and variable gfxpayloadforcelfb to
9290 fill have_vga.
9291 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
9292 shift params->lfb_size.
9293 * include/grub/i386/linux.h: Make an enume out of have_vga values.
9294
c2fa6cbb
VS
92952011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9296
9297 * util/grub-menulst2cfg.c: Add missing include of misc.h.
9298
b3ff6ff0
VS
92992011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9300
9301 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
9302 separator and pass bootpath/devid even if only one of them is available.
9303 Reported by: Seth Goldberg.
9304
ae67942e
VS
93052011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9306
9307 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
9308 implementations bug on them.
9309
9310 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
9311 memory.
9312 (filter_memory_map): Likewise.
9313
d570097a
VS
93142011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9315
9316 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
9317 Reported by: nebuchadnezzar.
9318
a508e776
VS
93192011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9320
9321 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
9322 Reported by: nebuchadnezzar.
9323
dcb883b1
VS
93242011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9325
9326 Submenu default support.
9327
9328 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
9329 auto_boot. All users updated.
9330 Declared static.
9331 Handle chosen and default with submenus.
9332 (grub_menu_execute_with_fallback): Declared static.
9333 Don't notify failure if autobooted. Upper level does it.
9334 (menuentry_eq): New function.
9335 (get_entry_number): Use menuentry_eq.
9336 (show_menu): New parameter "autobooted". All users updated.
9337 (grub_show_menu): Likewise.
9338 * include/grub/normal.h (grub_show_menu): Likewise.
9339 * include/grub/menu.h (grub_menu_execute_entry): Removed.
9340 (grub_menu_execute_with_fallback): Likewise.
9341
6fef99b4
VS
93422011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9343
9344 * util/grub-mklayout.c (usage): Update help text.
9345
47a77af5
VS
93462011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9347
9348 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
9349
ce6bb3ee
VS
93502011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9351
9352 * util/grub-menulst2cfg.c (main): Trim the line.
9353
db87be2a
VS
93542011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9355
9356 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
9357 (grub_machine_init): Don't check amount of low memory as reportedly
9358 INT 12h can be broken and if low memory is too low we wouldn't have
9359 gotten into grub_machine_init anyway.
9360
c49849cc
VS
93612011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9362
9363 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
9364 (grub_machine_mmap_iterate): Take low memory into account
9365
b1969b30
VS
93662011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9367
9368 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
9369 badfs.
9370 Reported by: TiCPU.
9371
cf0eaf13
VS
93722011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9373
9374 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
9375 members errors.
9376
1f060f39
GS
93772011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
9378
9379 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
9380 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
9381
a21e5672
GS
93822011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
9383
9384 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
9385 openbsd and netbsd types being in part_bsd module.
9386
c88172fa
VS
93872011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9388
9389 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
9390 (_FILE_OFFSET_BITS): Likewise.
9391 Reported by: Seth Goldberg.
9392
53798c4b
GS
93932011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
9394
9395 * configure.ac: Check for libdevmapper header.
9396
e7121b69
VS
93972011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9398
9399 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
9400 avoid aliasing.
9401 (fzap_lookup): Likewise.
9402 (dnode_get): Likewise.
9403 (make_mdn): Likewise.
9404 (zfs_mount): Likewise.
9405 (fzap_iterate): Use temporary pointer to avoid aliasing.
9406 (grub_zfs_read): Likewise.
9407 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
9408 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
9409 pointers to avoid aliasing.
9410 (grub_cmd_xnu_kernel64): Likewise.
9411 (grub_xnu_load_driver): Likewise.
9412
fc836af9
VS
94132011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9414
9415 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
9416 aliasing warning.
9417 (grub_cmd_terminal_output): Likewise.
9418 Reported and tested by: Grégoire Sutre.
9419
f9f37648
VS
94202011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9421
9422 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
9423 warning.
9424 Reported and tested by: Grégoire Sutre.
9425
ec1dfd63
VS
94262011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9427
9428 * configure.ac: Do CPU substitution even if it's specified explicitly.
9429 Reported and tested by: Alain Greppin.
9430
9462775a
VS
94312011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9432
9433 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
9434 Reported and tested by: Alain Greppin.
9435
0fd48e35
VS
94362011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9437
9438 Satisfy some bison versions need for inttypes.h.
9439
9440 * grub-core/lib/posix_wrap/inttypes.h: New file.
9441 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
9442 (int16_t): Likewise.
9443 (int32_t): Likewise.
9444 (int64_t): Likewise.
9445 Reported and tested by: Alain Greppin.
9446
43f1bc83
VS
94472011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9448
9449 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
9450 Silence spurious warning.
9451 Reported and tested by: Alain Greppin.
9452
64d1f041
SJ
94532011-01-07 Szymon Janc <szymon@janc.net.pl>
9454
9455 * docs/grub.texi (Support automatic decompression): Update with xz
9456 decompression support.
9457
25953e10
SJ
94582011-01-07 Szymon Janc <szymon@janc.net.pl>
9459
9460 Improve loaders' kernel command line handling.
9461
9462 * grub-core/lib/cmdline.c: New file.
9463 * include/grub/lib/cmdline.h: Likewise.
9464 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
9465 grub_create_loader_cmdline to create kernel command line.
9466 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9467 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
9468 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
9469 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
9470 (linux): Add lib/cmdline.c on common.
9471
e72d259f
VS
94722011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9473
9474 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
9475 inopos might be unaligned.
9476
c0cf26da
VS
94772011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9478
9479 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
9480 endian transformations.
9481 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9482 Based on report by: Doug Nazar.
9483
0ca09e6c
DN
94842011-01-07 Doug Nazar <nazard.michi@gmail.com>
9485
9486 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
9487 array->members[i].start_sector.
9488 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
9489
014b6806
VS
94902011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9491
9492 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
9493 Reported and tested by: Grégoire Sutre.
9494
415502c2
CW
94952011-01-06 Colin Watson <cjwatson@ubuntu.com>
9496
9497 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
9498 avoid causing test failures by clearing the screen.
9499
71b6a2b7
CW
95002011-01-06 Colin Watson <cjwatson@ubuntu.com>
9501
9502 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
9503 Fix prefix check to handle the case where dir ends with a slash
9504 (most significantly, "/" itself).
9505 Reported by: Michael Vogt.
9506
b3f8d28a
VS
95072011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
9508
9509 Run terminfo_cls on initing terminfo output to clear the screen and
9510 move the cursor to (0,0).
9511
9512 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
9513 Call grub_terminfo_output_init.
9514 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
9515 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
9516 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
9517
4c3e4f37
VS
95182011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
9519
9520 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
9521 only when needed.
9522
488f71f1
VS
95232011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
9524
9525 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
9526 CTRL.
9527
18a38098
VS
95282011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
9529
9530 The E820 type 5 is BADRAM, not EXEC_CODE.
9531
9532 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
9533 (GRUB_E820_BADRAM): New define.
9534 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
9535 into reserved. Propagate BADRAM.
9536 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
9537 (GRUB_E820_BADRAM): New define.
9538
9eae2084
VS
95392011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9540
9541 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
9542 Ignore the memory post-4G.
9543 (grub_relocator_firmware_alloc_region): Additional debug statement.
9544
ebc71d28
VS
95452011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9546
9547 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
9548 names.
9549 Reported by: David Pravec.
9550
446fa400
VS
95512011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9552
9553 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
9554 BIOSes.
9555
a0159f37
VS
95562011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9557
9558 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
9559 Prevent overflow.
9560 (grub_reed_solomon_recover): Likewise.
9561
e5146ca1
VS
95622011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9563
9564 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
9565
95662011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
9567
9568 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
9569 variable.
9570
5b1bdf12
CW
95712011-01-04 Colin Watson <cjwatson@ubuntu.com>
9572
9573 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
9574 descriptions of extract_legacy_entries_source and
9575 extract_legacy_entries_configfile.
9576 Reported by: Seung Soo, Ha.
9577
99d925aa
CW
95782011-01-03 Colin Watson <cjwatson@ubuntu.com>
9579
9580 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
9581 on devices that do not implement function 0.
9582
4af0504b
DV
95832011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
9584
9585 * grub-core/fs/hfsplus.c: Make parent unsigned.
9586 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
9587 overflows.
9588 (grub_hfsplus_cmp_extkey): Likewise
9589
469ee10a
VS
95902011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
9591
9592 * util/grub-install.in: Correctly use bootloader_id and not
9593 GRUB_DISTRIBUTOR on efibootmgr line.
9594
323a8e9c
VS
95952011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
9596
9597 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
9598
1b394975
IC
95992010-12-31 Ian Campbell <ijc@hellion.org.uk>
9600
9601 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
9602 Xen and reorder menu item wording to make it clearer that this entry
9603 will launch Xen. Print separate messages when loading Xen and
9604 Linux.
9605
275bff5f
VS
96062010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
9607
9608 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
9609 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
9610 loop in case of incorrect amiga partmap.
9611
307806cb
VS
96122010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
9613
9614 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
9615 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
9616 Reported by:EHeM.
9617
b12b923e
VS
96182010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
9619
9620 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
9621 spurious warning.
9622 Reported by: crocket
9623
14b48a19
VS
96242010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9625
9626 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
9627 Preload EFIemu.
9628 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
9629
693db2df
VS
96302010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9631
9632 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
9633 is loaded
9634 (grub_cmd_xnu_kextdir): Likewise.
9635 (grub_cmd_xnu_splash): Likewise.
9636
c7638645
VS
96372010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9638
9639 Avoid using Reed-Solomon with 0 redundancy.
9640
9641 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
9642 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
9643 or 0 redundancy.
9644 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
9645 (grub_reed_solomon_recover): Likewise.
9646
25dd4780
VS
96472010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9648
9649 Don't use disk subsystem in freebsd_boot.
9650
9651 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
9652 (freebsd_biosdev): Likewise.
9653 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
9654 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
9655
0b2db943
VS
96562010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9657
9658 Handling of files of unknown size is currently limited. They can't be
9659 used e.g. for initrd or modules. Moreover gzip handling of not
9660 easily seekable files is buggy. Disable unknown file size for now. May
9661 be inefficient but works.
9662
9663 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
9664 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
9665
5c408d0f
MP
96662010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
9667
9668 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
9669 floppy probe.
9670
190a011a
JD
96712010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
9672
9673 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
9674
022d01b8
SL
96752010-12-25 Shea Levy <shlevy>
9676
9677 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
9678
c4855fdc
VS
96792010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9680
9681 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
9682 Windows Server 2008.
9683 Reported by: Devin Giddings.
9684
0354b867
VS
96852010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9686
9687 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
9688 writing an error message because of async power management.
9689 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
9690 (grub_reboot): Likewise.
9691
ab66c69f
JU
96922010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
9693
9694 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
9695 keep unit tests from failing when they shouldn't.
9696
1426ef35
CW
96972010-12-21 Colin Watson <cjwatson@ubuntu.com>
9698
9699 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
9700 previous patch increased the size of the RS code by 20 bytes (at
9701 least with gcc-4.4), so increase this by 20 bytes to match.
9702 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9703
20641b6b
CW
97042010-12-21 Colin Watson <cjwatson@ubuntu.com>
9705
9706 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
9707 scratch area. Make sure to initialise chosen in standalone mode as
9708 well as non-standalone.
9709 Reported by: Robert Hooker and Andy Whitcroft.
9710 Tested by: Andy Whitcroft.
9711
d060ad60
CW
97122010-12-21 Colin Watson <cjwatson@ubuntu.com>
9713
9714 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
9715 constructing a new unescaped string and passing it to grub_xputs in
9716 one go, rather than passing characters to grub_printf one at a time.
9717
b889cfad
CW
97182010-12-21 Colin Watson <cjwatson@ubuntu.com>
9719
9720 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
9721 initialising utf16.
9722
4e01b6c8
CW
97232010-12-21 Colin Watson <cjwatson@ubuntu.com>
9724
9725 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
9726 comment. Add an extra layer of quotation, requiring the output of
9727 this function to be used in a printf format string.
9728 (gettext_printf): New function.
9729 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
9730 Extract translatable strings from here-documents and use a temporary
9731 variable instead, so that xgettext can find them.
9732 * util/grub.d/10_kfreebsd.in: Likewise.
9733 * util/grub.d/10_linux.in: Likewise.
9734 * util/grub.d/20_linux_xen.in: Likewise.
9735
9736 * po/grub.d.sed: New file.
9737 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
9738 arguments. Set c-format flags on all strings extracted from
9739 util/grub.d/ (xgettext refuses to include these itself for strings
9740 it extracted from a shell file, but these really are c-format).
9741
5318fe98
VS
97422010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
9743
9744 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
9745 Avoid next pointing to nowhere.
9746
6c85b743
VS
97472010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9748
9749 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
9750 rather than assuming than rootblock is exactly in the middle.
9751 (grub_affs_label): Likewise.
9752
a2a08a35
VS
97532010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9754
9755 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
9756 reserved_first_sector to 0.
9757 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
9758 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
9759 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
9760
7059d1ec
VS
97612010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9762
9763 Fix handling of UTF-16 UDF labels.
9764
9765 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
9766 (read_string): .. here.
9767 (grub_udf_label): Use read_string.
9768
30aff4cb
BC
97692010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
9770
9771 * grub-core/normal/menu_entry.c (run): Execute commands from menu
9772 editor under argument scope.
9773 Reported by: Jordan Uggla
9774
5cf86f4b
VS
97752010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9776
9777 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
9778
32570200
CW
97792010-12-18 Colin Watson <cjwatson@ubuntu.com>
9780
9781 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
9782 line, and other keys scroll an entire page (previous handling was
9783 for \r and \n to scroll a page and other keys to scroll two lines).
9784
e1dffcf2
VS
97852010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9786
9787 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
9788 Set ptrdest to correct get_physical_target_address rather than
9789 incorrect get_virtual_current_address.
9790
b04298cf 97912010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
9792
9793 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
9794 correct cat to grub_uint8_t * rather than grub_uint32_t *.
9795
5367ecd3
CW
97962010-12-10 Colin Watson <cjwatson@ubuntu.com>
9797
9798 * .bzrignore: Ignore grub-core/rs_decoder.S.
9799
1fb430f8
CW
98002010-12-10 Colin Watson <cjwatson@ubuntu.com>
9801
9802 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
9803 .mo/.mo.gz opening sequence to ...
9804 (grub_mofile_open_lang): ... here.
9805 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
9806 * util/grub.d/00_header.in (grub_lang): Include country part of
9807 locale.
9808 Reported by: Mario Limonciello.
9809
a94a6671
RM
98102010-12-09 Robert Millan <rmh@gnu.org>
9811
9812 * NEWS: Document addition of ZFS support.
9813
24b7938b
CW
98142010-12-04 Colin Watson <cjwatson@ubuntu.com>
9815
9816 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
9817 rather than `/ 2', as the latter requires -Wa,--divide which would
9818 require bumping our minimum binutils version.
9819
bddc3ef6
BC
98202010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
9821
9822 * util/grub-script-check.c (main): Print script line number on
9823 error.
9824
bf78d5b2
RM
98252010-12-01 Robert Millan <rmh@gnu.org>
9826
9827 * grub-core/fs/zfs/zfs.c: New file.
9828 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
9829 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
9830 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
9831 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9832
9833 * include/grub/zfs/dmu.h: Likewise.
9834 * include/grub/zfs/dmu_objset.h: Likewise.
9835 * include/grub/zfs/dnode.h: Likewise.
9836 * include/grub/zfs/dsl_dataset.h: Likewise.
9837 * include/grub/zfs/dsl_dir.h: Likewise.
9838 * include/grub/zfs/sa_impl.h: Likewise.
9839 * include/grub/zfs/spa.h: Likewise.
9840 * include/grub/zfs/uberblock_impl.h: Likewise.
9841 * include/grub/zfs/vdev_impl.h: Likewise.
9842 * include/grub/zfs/zap_impl.h: Likewise.
9843 * include/grub/zfs/zap_leaf.h: Likewise.
9844 * include/grub/zfs/zfs.h: Likewise.
9845 * include/grub/zfs/zfs_acl.h: Likewise.
9846 * include/grub/zfs/zfs_znode.h: Likewise.
9847 * include/grub/zfs/zil.h: Likewise.
9848 * include/grub/zfs/zio.h: Likewise.
9849 * include/grub/zfs/zio_checksum.h: Likewise.
9850
9851 * Makefile.util.def: Build ZFS into libgrubmods.
9852 * grub-core/Makefile.core.def: Build zfs.mod.
9853
3f0f3831
SJ
98542010-11-30 Szymon Janc <szymon@janc.net.pl>
9855
9856 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
9857 variable.
9858 * grub-core/commands/wildcard.c (match_files): Likewise.
9859
3a4253b2
RM
98602010-11-30 Robert Millan <rmh@gnu.org>
9861
9862 * grub-core/loader/i386/bsd.c
9863 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
9864 whether kernel is loaded using grub_loader_is_loaded(), rather
9865 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
9866 certain error conditions.
9867
8c317b27
RM
98682010-11-30 Robert Millan <rmh@gnu.org>
9869
c5c9cd3e
RM
9870 * grub-core/commands/echo.c: Include `<grub/term.h>'.
9871 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 9872
49d3ab46
VS
98732010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
9874
9875 Avoid using tricks for initialising endian variables.
9876
9877 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
9878 Make const.
9879 (GRUB_MOD_INIT): Don't byte-swap.
9880 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
9881 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
9882 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
9883 (grub_swap_bytes32_compile_time): Likewise.
9884 (grub_cpu_to_le32_compile_time): Likewise.
9885 (grub_cpu_to_le16_compile_time): Likewise.
9886
f420a804
VS
98872010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
9888
9889 * util/grub-setup.c (setup): Stop recommending --force. People who
9890 understand the dangers of blocklists are able to find this option
9891 anyway and the ones who don't shouldn't use it anyway.
9892
4e7db17b
RM
98932010-11-26 Robert Millan <rmh@gnu.org>
9894
9895 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
9896 Update all users.
9897
9be57a0d
CW
98982010-11-26 Colin Watson <cjwatson@ubuntu.com>
9899
9900 Fix LVM-on-RAID probing.
9901
9902 * util/grub-probe.c (probe): Remember which disk was detected as
9903 RAID (perhaps an LVM physical volume). Use that disk's raidname
9904 rather than that of the top-level disk.
9905
2c7859b3 99062010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 9907
d7647bb6
BC
9908 Fix cmdline argument quotes for setparams command of menuentry
9909 definitions.
7e623b0d
BC
9910
9911 * grub-core/commands/menuentry.c (setparams_prefix): Use single
9912 quotes for arguments.
f866fe80 9913 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 9914 grub_strchrsub function instead.
f866fe80 9915
7955bea0 9916 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 9917
74f72a64
CW
99182010-11-24 Colin Watson <cjwatson@ubuntu.com>
9919
9920 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
9921 effort by skipping "." and ".." entries up-front.
9922 Suggested by: Michael Lazarev.
9923
5a407278
CW
99242010-11-24 Colin Watson <cjwatson@ubuntu.com>
9925
9926 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
9927 ldflags to ldadd, to fix link line ordering.
9928 (none_decompress): Likewise.
9929
3030d8ec
CW
99302010-11-24 Colin Watson <cjwatson@ubuntu.com>
9931
9932 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
9933 platforms.
9934 (grub-emu-lite): Remove kern/emu/cache.S.
9935
b7fbac12
CW
99362010-11-23 Colin Watson <cjwatson@ubuntu.com>
9937
9938 * util/deviceiter.c (compare_devices): If the by-id link for a
9939 device couldn't be resolved, fall back to sorting by the by-id link
9940 rather than segfaulting.
9941 Reported and tested by: Daniel Mierswa.
9942
5225f328
CW
99432010-11-23 Colin Watson <cjwatson@ubuntu.com>
9944
9945 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
9946 ldflags, to fix link line ordering.
9947
038b3ce8
CW
99482010-11-23 Colin Watson <cjwatson@ubuntu.com>
9949
9950 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
9951 linkers are picky about this.
9952
bf16e98e
CW
99532010-11-23 Colin Watson <cjwatson@ubuntu.com>
9954
9955 * grub-core/Makefile.am (command.lst): Adjust sed expression
9956 ordering so that extended and priority commands aren't treated as
9957 ordinary commands.
9958
7242bab6
CW
99592010-11-23 Colin Watson <cjwatson@ubuntu.com>
9960
9961 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
9962 Remove byte-swapping function calls, which are not valid in
9963 structure initialisers.
9964 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
9965 non-const.
9966 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
9967 grub_gpt_partition_type_bios_boot.
9968
14e8b279
CW
99692010-11-22 Colin Watson <cjwatson@ubuntu.com>
9970
9971 Fix test program build on GNU/kFreeBSD.
9972
9973 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
9974 $(LIBNVPAIR)' library dependencies.
9975
e6f63338 99762010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
9977
9978 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
9979
cf8ffc38
CW
99802010-11-22 Colin Watson <cjwatson@ubuntu.com>
9981
9982 * util/grub-install.in: Remove excessive quoting that broke
9983 installations to RAID devices.
9984
7f8b0fd7
VS
99852010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9986
9987 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
9988 bootloader version instead of 0.
9989
dfd240b1
VS
99902010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9991
9992 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
9993 warning.
9994
7b61e609
VS
99952010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9996
9997 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
9998 retrieve the metadat sector if size isn't known.
9999 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10000
9dfe92d0
RM
100012010-11-18 Robert Millan <rmh@gnu.org>
10002
10003 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
10004 with grub_memcmp().
10005
41cc919e
VS
100062010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
10007
10008 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
10009 arrow.
10010 Reported by: Jordan Uggla.
10011
1afcc914
VS
100122010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10013
10014 Make better UTF compliant.
10015
10016 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
10017 sequences as incorrect.
10018 (grub_is_valid_utf8): Likewise.
10019 (grub_utf8_to_ucs4): Likewise.
10020 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
10021 (grub_ucs4_to_utf8_alloc): Likewise.
10022 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
10023
f1808884
VS
100242010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10025
10026 Make legacy_source behave like source.
10027
10028 * grub-core/commands/legacycfg.c (legacy_file): Don't call
10029 grub_show_menu.
10030 (grub_cmd_legacy_source): Call grub_show_menu if needed.
10031
24ec575b
CW
100322010-11-16 Colin Watson <cjwatson@debian.org>
10033
10034 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
10035 (-Wunused implies -Wunused-parameter, but not vice versa).
10036
72b7c7aa
CW
100372010-11-16 Colin Watson <cjwatson@ubuntu.com>
10038
10039 * configure.ac: Make error messages less confusing by testing for
10040 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
10041 accepted, but produces a diagnostic if something else is wrong).
10042
e98937aa
VS
100432010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
10044
10045 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
10046 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
10047 (now unused).
10048 (grub_keyboard_controller_init)
10049 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
10050 read the initial state since controller isn't inited yet.
10051
f6bbabc3
VS
100522010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
10053
10054 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
10055 allocate_regbeg may need to create new chunk header.
10056
22e7dbb2
VS
100572010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10058
10059 Fix quoting in legacy parser.
10060
10061 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
10062 single quotes.
10063 (grub_legacy_parse): Likewise.
10064 Reported by: Jordan Uggla.
10065 Tested by: Jordan Uggla.
10066
03f80960
VS
100672010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10068
10069 Don't add -lgcc on i386 and x86_64.
10070
10071 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
10072 * conf/Makefile.common (LDADD_KERNEL): Likewise.
10073 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
10074
779dc15b
VS
100752010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10076
10077 * configure.ac: Add -Wno-trampolines when supported.
10078
d20a3b37
MV
100792010-11-14 Modestas Vainius <modax@debian.org>
10080
10081 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
10082 fakeraid.
10083
e5360933
GC
100842010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
10085
10086 Add generic logical block size support for UDF.
10087
10088 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
10089 (GRUB_UDF_BLKSZ): Removed.
10090 (struct grub_udf_data): New field "lbshift" to hold the logical block
10091 size of the file system in log2 format. All users updated.
10092 (sblocklist): Change type to unsigned.
10093 (grub_udf_mount): Change type of "sblklist" to unsigned.
10094 Move AVDP search before VRS recognition, because the latter requires
10095 knowledge of the logical block size, which is detected during the
10096 former.
10097 Detect and validate logical block size during AVDP search, adding
10098 support for block sizes 512, 1024 and 4096.
10099 Make VRS recognition independent of block size.
10100
cb0229c5
GC
101012010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
10102
10103 Properly handle deleted files on UDF.
10104
10105 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
10106 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
10107 set.
10108
406858a8
GC
101092010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
10110
10111 Support reading files larger than 2 GiB.
10112
10113 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
10114 "offset" to grub_off_t.
10115 (grub_udf_read_file): Likewise for parameter "pos".
10116
130da6a7
VS
101172010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10118
10119 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
10120 unavailable.
10121 (Simple configuration): Refer to Changes from GRUB Legacy about
10122 save_env availability.
10123
65e93f6b
VS
101242010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10125
10126 * util/grub-install.in: Ignore empty partition table detection
10127 instead of trying to include part_ module.
10128
1fd08bf1
VS
101292010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10130
10131 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
10132 LVM on RAID support.
10133
de1a024f
VS
101342010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10135
10136 Properly define WORDS_BIGENDIAN in wrapped environments.
10137
10138 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
10139 definition.
10140 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
10141
10142 Reported by: Manoel Rebelo Abranches.
10143 Tested by: Manoel Rebelo Abranches.
10144
bc5dd0b9
VS
101452010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10146
10147 * util/grub-mkconfig.in: Fix quoting.
10148
58c184be
VS
101492010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10150
10151 Support big ext2 files.
10152
10153 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
10154 (grub_ext2_read_block): Support triple indirect blocks.
10155 (grub_ext2_read_file): Use 64-bit types and read size_high.
10156 (grub_ext2_open): Read size_high.
10157 Reported by: Ximin Luo.
10158 Tested by: Manoel Rebelo Abranches.
10159
5f0c02b3
VS
101602010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10161
10162 * util/grub-install.in: Handle filenames containing spaces.
10163 Reported by: Jordan Uggla.
10164 Tested by: Jordan Uggla.
10165
4417aae6
VS
101662010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10167
10168 * util/grub-mkconfig.in (grub_script_check): New variable.
10169 Use grub_script_check instead of grub-script-check.
10170 Reported by: Barry Jackson.
10171
7625a68e
VS
101722010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10173
10174 * docs/grub.texi (menu): Correct the order.
10175 Reported by: D. Hugh Redelmeier.
10176
10001ac5
VS
101772010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10178
10179 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
10180 jump.
10181
9c4cf53b
MRA
101822010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
10183
10001ac5
VS
10184 * include/grub/elfload.h (grub_elf32_size): New parameter.
10185 All users updated.
9c4cf53b
MRA
10186 Return maximum segments alignment.
10187 (grub_elf64_size): Likewise.
10188 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
10189 Return maximum segments alignment.
10190 (grub_elf64_size): Likewise.
10191 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
10192 (grub_linux_claimmap_iterate): New function. Uses the
10193 "available" property in the "memory" node for memory allocation
10194 for kernel in the PowerPC loader.
9c4cf53b
MRA
10195 (grub_linux_load32): Correctly find linux entry point offset.
10196 (grub_linux_load64): Likewise.
10197
d2bf06bf
RM
101982010-11-07 Robert Millan <rmh@gnu.org>
10199
10200 On mips-yeeloong, build with -march=loongson2f when this flag is
10201 available (GCC >= 4.4).
10202 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
10203 `-march=mips3'.
10204 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
10205 or otherwise add -march=mips3.
10206
898c99a2
BC
102072010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
10208
87220a68
BC
10209 Suppress shell expansion on echo '*' and echo "*" like cases.
10210 Reported by: Jordan Uggla.
898c99a2
BC
10211
10212 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
10213 string arguments before shell expansion.
10214 * tests/grub_cmd_echo.in: New testcases.
10215
4f9b406a
RM
102162010-11-07 Robert Millan <rmh@gnu.org>
10217
10218 * conf/mips-qemu-mips.rmk: Remove stale file from previous
10219 transition.
10220
80c6d25e
VS
102212010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
10222
10223 * grub-core/kern/emu/hostdisk.c
10224 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
10225
4a1a0153
VS
102262010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10227
10228 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
10229 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
10230 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
10231
34706ddc
VS
102322010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10233
10234 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
10235
6972dea9
VS
102362010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10237
10238 * util/grub-install.in: Replace useless recomendation to pass
10239 --modules with a recomendation to report a bug.
10240
9c693bd6
VS
102412010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10242
10243 Properly register serial terminfo.
10244 Reported by: Jordan Uggla
10245
10246 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
10247 const.
10248 (grub_serial_terminfo_output_template): Likewise.
10249 (grub_cmd_serial): Register "serial" with terminfo.
10250 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
10251 grub_serial_terminfo_output.
10252
6c9e4c0c
RM
102532010-11-05 Robert Millan <rmh@gnu.org>
10254
10255 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
10256 needed).
10257
b9b3839f
RM
102582010-11-05 Robert Millan <rmh@gnu.org>
10259
10260 On Yeeloong, pass machine type information to Linux.
10261
10262 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
10263 (LOONGSON_MACHTYPE): New macro, set to
10264 "machtype=lemote-yeeloong-2f-8.9inches".
10265 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
10266 additional argument to Linux.
10267
1a3aaff4
RM
102682010-11-04 Robert Millan <rmh@gnu.org>
10269
10270 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
10271 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
10272 (its SATA disks are detected as slaveless IDE master drives on
10273 kFreeBSD).
10274 Reported by Carsten Aulbert.
10275
a75f4f62
CW
102762010-11-02 Colin Watson <cjwatson@ubuntu.com>
10277
10278 * util/bin2h.c (main): Fix spelling error in generated output.
10279
33b4b0c6
GS
102802010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
10281
10282 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
10283
2b36fbf4
VS
102842010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10285
10286 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
10287 vga= option is supplied.
10288
74aaf558
VS
102892010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10290
10291 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
10292 * util/grub.d/10_kfreebsd.in: Likewise.
10293 * util/grub.d/10_linux.in: Likewise.
10294 * util/grub.d/20_linux_xen.in: Likewise.
10295
6428dec3
VS
102962010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10297
10298 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
10299 argument as an argument to no-argument option.
10300
f8729d98
VS
103012010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10302
10303 * util/grub.d/10_linux.in: Add missing load_video with explicit
10304 GRUB_GFXPAYLOAD_LINUX.
10305
89d68fa6
VS
103062010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10307
10308 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
10309
3a1197cd
VS
103102010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10311
10312 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
10313 elements with invlid index.
10314 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10315 * grub-core/disk/raid.c (insert_array): Automatically reallocate
10316 members.
10317 * include/grub/raid.h (grub_raid_member): New struct.
10318 (grub_raid_array): Transform devices and start_sector into usage of
10319 grub_raid_member. All users updated
10320 (allocated_devs): New member.
10321
71574288
VS
103222010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10323
10324 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
10325 is modified
10326
8d40ec65
BC
103272010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
10328
10329 NetBSD build fix for getline function conflict from gnulib.
10330
10331 * Makefile.util.def (libgrubkern.a): New library for grub kernel
10332 components that depend on gnulib headers.
10333 (libgrubmods.a): Renamed from earlier libgrub.a.
10334 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
10335
95b9257e
VS
103362010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10337
10338 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
10339 install rather than creating a broken install.
10340
26c53dc6
VS
103412010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10342
10343 * util/grub-setup.c (argp): Remove misleading example of installing to
10344 a partition.
10345
4171b3c5
VS
103462010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10347
10348 * util/grub-setup.c (setup): Clarify the error message.
10349
18568d18
VS
103502010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10351
10352 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
10353
4f6a2e21
VS
103542010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10355
10356 * grub-core/kern/emu/misc.c
10357 (grub_make_system_path_relative_to_its_root)
10358 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
10359
103602010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
10361
10362 * grub-core/kern/emu/misc.c
10363 (grub_make_system_path_relative_to_its_root): Revert r2882.
10364
e138c458
VS
103652010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
10366
10367 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
10368 useless field head. All users updated.
10369 (free_subchunk): Correct handling of IN_REGION subchunk.
10370
0cbcdf0e
CW
103712010-10-22 Colin Watson <cjwatson@ubuntu.com>
10372
10373 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
10374 (Supported kernels): Likewise.
10375
b65ea155
GS
103762010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
10377
10378 Make mktemp invocations portable.
10379
10380 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
10381 exit if mktemp fails.
10382 * tests/grub_script_blockarg.in: Likewise.
10383 * tests/partmap_test.in: Likewise.
10384 * tests/util/grub-shell-tester.in: Likewise.
10385 * tests/util/grub-shell.in: Likewise.
10386 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10387 * Makefile.am: Likewise, and chain shell commands with `&&'
10388 instead of ';'.
10389 * util/grub-mkrescue.in: Use the same explicit template as above, and
10390 exit if mktemp fails.
10391
05f43cdd
BC
103922010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
10393
10394 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
10395 Linux kernel, reported by Dennis Schridde.
10396
800e6a9b
SJ
103972010-10-17 Szymon Janc <szymon@janc.net.pl>
10398
10399 * grub-core/normal/auth.c (grub_auth_check_authentication):
10400 Set-but-not-used variable removed.
10401
d82df574
VS
104022010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10403
10404 * docs/grub.texi (GNU/Linux): Document APM unavailability with
10405 32-bit linux protocol.
10406
7bced458
VS
104072010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10408
10409 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
10410 cursor shape for sanity.
10411
5b027690
VS
104122010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10413
10414 * docs/grub.texi (Installation): Document buggy BIOS install.
10415
ba5f65cf
VS
104162010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10417
10418 * docs/grub.texi (Installation): Indent.
10419
fdf2ec9c
VS
104202010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10421
10422 * util/grub-setup.c (setup): New parameter allow_floppy.
10423 (arguments): New member allow_floppy.
10424 (argp_parser): Handle --allow-floppy.
10425 (main): Pass allow_floppy.
10426 * util/grub-install.in: New option --allow-floppy passed though to
10427 grub-setup.
10428
861dfd4c
VS
104292010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10430
10431 * util/grub-install.in: Handle partitionless disks.
10432
f77a8c24
VS
104332010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10434
10435 * util/grub-setup.c (setup): Don't clean blocklists before readability
10436 verfification.
10437
27d9ee32
VS
104382010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10439
10440 * docs/grub.texi (Installation): Document embedding zone. Remove
10441 obsolete grub-install example.
10442
6bdda8f8
SJ
104432010-10-16 Szymon Janc <szymon@janc.net.pl>
10444
10445 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
10446 Set-but-not-used variable ifdef'ed.
10447 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
10448 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
10449 variable removed.
10450 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
10451 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
10452 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
10453 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
10454 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
10455 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
10456 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
10457 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
10458 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
10459 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
10460 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
10461 Likewise.
10462
e19b016b
VS
104632010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10464
10465 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
10466 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
10467 enum value.
10468
6c8d3002
VS
104692010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10470
10471 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
10472 synonym to _S5_. Needed for some DSDTs.
10473
c32b51c9
VS
104742010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10475
10476 Userspace ACPI parser debugging.
10477
10478 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
10479 headers and add relevant defines. Don't include standard headers.
10480 (main) [GRUB_DSDT_TEST]: New function.
10481 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
10482 Don't declare functions.
10483
fbfbeb39
VS
104842010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10485
10486 Remove dead grub_efi_mm_fini.
10487
10488 * grub-core/kern/efi/mm.c (allocated_page): Removed.
10489 (ALLOCATED_PAGES_SIZE): Likewise.
10490 (MAX_ALLOCATED_PAGES): Likewise.
10491 (allocated_pages): Likewise.
10492 (grub_efi_allocate_pages): Don't record allocated pages.
10493 (grub_efi_free_pages): Likewise.
10494 (grub_efi_mm_init): Likewise.
10495 (grub_efi_mm_fini): Removed.
10496
65f7ed7c
VS
104972010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10498
10499 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
10500 (grub_efi_mm_init): Take into account the memory map size increase.
10501
24977b44
VS
105022010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10503
10504 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
10505 (serial_hw_put): Wait based on real time rather than port reads. Don't
10506 roken ports.
10507 * include/grub/serial.h (grub_serial_port): New field broken.
10508
1eb01cd2
RM
105092010-10-16 Robert Millan <rmh@gnu.org>
10510
10511 * grub-core/kern/emu/misc.c
10512 (grub_make_system_path_relative_to_its_root): Fix premature return
10513 when processing non-root ZFS filesystems.
5f8b440b 10514 Reported by Sergio Talens-Oliag.
1eb01cd2 10515
2d5fed60
RM
105162010-10-15 Robert Millan <rmh@gnu.org>
10517
10518 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
10519 guarantee compressed ones are processed first.
10520
d0f4c1ea
VS
105212010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
10522
10523 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
10524 grub_efiemu_autocore.
10525
d87c681f
VS
105262010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
10527
10528 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
10529 rather than 0x1b.
10530 (grub_console_getkey): Use correct jae opcode rather than ja.
10531
219b3564
RM
105322010-10-12 Robert Millan <rmh@gnu.org>
10533
10534 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
10535 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
10536 variable. All references updated.
10537
10538 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
10539
20c6bb7e
VS
105402010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
10541
10542 Correctly distinguish mdraid flavours.
10543
10544 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
10545 (insert_array): New argument raid.
10546 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
10547 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
10548 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
10549
74baff84
VS
105502010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
10551
10552 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
10553 handling of special keys.
10554
3ef068df 105552010-10-02 Aleš Nesrsta <starous@volny.cz>
10556
c7980ad9
VS
10557 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
10558 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 10559
a9455194 105602010-10-02 Aleš Nesrsta <starous@volny.cz>
10561
c7980ad9
VS
10562 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
10563 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
10564 users updated.
a9455194 10565 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 10566 Use right endpoint when querying descriptor.
a9455194 10567
441cfe65
VS
105682010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
10569
10570 Clear out 0x80 color bit on EFI.
10571 Tested by: decoder
10572 Reported by: decoder and meta tech.
10573
10574 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
10575 (grub_console_setcolorstate): Clear out 0x80 bit.
10576 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
10577 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
10578 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
10579
bf26bcc4
VS
105802010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
10581
10582 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
10583 Set to "auto".
10584
6e3c515d
VS
105852010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10586
10587 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
10588 mo_file after freeing.
10589
e6d983ba
VS
105902010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10591
10592 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
10593
74ccb5b5
VS
105942010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10595
10596 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
10597 flags.
10598
17821956
VS
105992010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10600
10601 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
10602 usage.
10603
ee74fa48
VS
106042010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10605
10606 Put terminfo into core on ieee1275 and yeeloong (needed for console).
10607
10608 * gentpl.py: New groups terminfoinkernel and terminfomodule.
10609 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
10610 and terminfo.h when needed.
10611 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
10612 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
10613 (terminfo): Enable only on terminfokernel.
10614 (extcmd): Likewise.
10615 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
10616 * include/grub/lib/arg.h: Likewise.
10617 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
10618 incorrect usage of ->.
10619
aa438e68
VS
106202010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10621
10622 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
10623 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
10624
57994012
VS
106252010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10626
10627 Fix coreboot compilation.
10628
10629 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10630 Take VBE info into account even if only text is supported.
10631 (fill_vbe_info): Take into account the case when only VGA text
10632 is supported.
10633 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
10634 on coreboot, multiboot and qemu.
10635
2a406611
VS
106362010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10637
10638 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
10639 debug messages.
10640 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
10641
d33613fc
VS
106422010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10643
10644 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
10645 parameters.
10646
44a1b432
VS
106472010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10648
10649 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
10650 if they were BSD-style.
10651
edde54e6
VS
106522010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10653
10654 * grub-core/boot/i386/pc/lnxboot.S: Replace
10655 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
10656 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
10657
b65830fa
VS
106582010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10659
10660 Write embedding zone using Reed-Solomon.
10661
10662 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
10663 * grub-core/Makefile.am (rs_decoder.S): New target.
10664 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
10665 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
10666 (multiboot): Move to RS part.
10667 (post_reed_solomon): New label.
10668 (grub_boot_drive): Move to non-RS part since it's modified in memory
10669 on boot.
10670 Include rs_decoder.S.
10671 * grub-core/lib/reed_solomon.c: New file.
10672 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
10673 New definition.
10674 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
10675 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
10676 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
10677 * include/grub/partition.h (grub_partition_map): Change prototype of
10678 embed to allow returning additional sectors.
10679 * include/grub/reed_solomon.h: New file.
10680 * util/grub-setup.c (setup): Handle Reed-Solomon.
10681
0b4b227f
CW
106822010-09-28 Colin Watson <cjwatson@ubuntu.com>
10683
10684 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
10685 i386 and x86-64 definedness tests.
10686
f772623b
YB
106872010-09-27 Yves Blusseau <blusseau@zetam.org>
10688
10689 Fix generation of kernel_syms.lst
10690
10691 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
10692 ASM_PREFIX
10693
8e57a6ca
RM
106942010-09-26 Robert Millan <rmh@gnu.org>
10695
10696 Support degraded ZFS arrays in "grub-probe -t device" resolution.
10697
10698 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
10699 the pool is an array of devices, iterate through it and return the
10700 first device that passes a stat() test (instead of blindly returning
10701 the first one).
10702
f9130836
RM
107032010-09-26 Robert Millan <rmh@gnu.org>
10704
10705 Build fixes for GNU/kFreeBSD.
10706
10707 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
10708 to programs that require ZFS conversion.
10709 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
10710 kernels that don't have FLOPPY_MAJOR.
10711
96510faf
BC
107122010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
10713
10714 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
10715
449333eb
BC
107162010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
10717
10718 Fix grub-emu build.
10719
10720 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
10721 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
10722 mdraid09 and mdraid1x.
10723
e1fd1939
CW
107242010-09-24 Colin Watson <cjwatson@ubuntu.com>
10725
10726 Re-enable grub-extras.
10727
10728 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
10729 avoid confusing Automake. Run autogen only twice, once for the top
10730 level and once for grub-core. Add Makefile.util.def and
10731 Makefile.core.def from extra modules to the appropriate autogen
10732 invocations. If Makefile.common exists in an extra module, include
10733 it in both Makefile.util.am and grub-core/Makefile.core.am;
10734 similarly, include any Makefile.util.common file in Makefile.util.am
10735 and any Makefile.core.common file in grub-core/Makefile.core.am.
10736 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
10737 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
10738 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
10739 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
10740
10741 * gentpl.py (gvar_add): Turn GVARS into a set.
10742 (global_variable_initializers): Sort global variables on output.
10743 (vars_init): New function.
10744 (first_time): Likewise.
10745 (library): Ensure that non-global variable initialisations are
10746 emitted before the first time we emit code for a library block.
10747 Append to variables rather than setting them. Only emit
10748 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
10749 each conditional path.
10750 (program): installdir() emits an Autogen macro, so must be passed to
10751 var_add rather than gvar_add.
10752 (data): Likewise.
10753 (script): Likewise.
10754 (rules): New function, centralising handling for different target
10755 types. Set up Guile association lists for first_time and vars_init,
10756 and send most output to a diversion so that variable initialisations
10757 can be emitted first.
10758 (module_rules): Use new rules function.
10759 (kernel_rules): Likewise.
10760 (image_rules): Likewise.
10761 (library_rules): Likewise.
10762 (program_rules): Likewise.
10763 (script_rules): Likewise.
10764 (data_rules): Likewise.
10765
10766 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
10767
10768 * .bzrignore: Add contrib and grub-core/contrib. Remove
10769 grub-core/Makefile.gcry.am.
10770
1d12cf29
YB
107712010-09-24 Yves Blusseau <blusseau@zetam.org>
10772
10773 * grub-core/lib/LzFind.c: Add missing include.
10774 * grub-core/lib/LzmaEnc.c: Likewise.
10775 * grub-core/script/lexer.c: Likewise.
10776 * grub-core/script/yylex.l: Likewise.
10777 * util/grub-macho2img.c: Likewise.
10778 * util/grub-menulst2cfg.c: Likewise.
10779 * util/grub-mklayout.c: Likewise.
10780 * util/grub-mkpasswd-pbkdf2.c
10781 * util/grub-mkrelpath.c: Likewise.
10782 * util/resolve.c: Likewise.
10783
dd363028
BC
107842010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
10785
10786 * Makefile.util.def (example_unit_test): Add
10787 grub-core/gnulib/libgnu.a.
10788
f5a109e2
GS
107892010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
10790
10791 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
10792
6d0fa83c
VS
107932010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
10794
10795 Support xz compression on yeeloong.
10796
10797 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
10798 * configure.ac: Check for LZMA.
10799 * grub-core/Makefile.core.def (xz_decompress): New target.
10800 (none_decompress): Likewise.
10801 * grub-core/boot/decompressor/minilib.c: New file.
10802 * grub-core/boot/decompressor/none.c: Likewise.
10803 * grub-core/boot/decompressor/xz.c: Likewise.
10804 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
10805 * grub-core/kern/mips/cache_flush.S: Likewise.
10806 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
10807 * grub-core/kern/mips/startup.S: Move first stage to ...
10808 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
10809 nomacro.
10810 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
10811 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
10812 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
10813 Allocate statically.
10814 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
10815 Allocate statically or use scratch. Don't check CRC32.
10816 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
10817 Allocate statically. Don't check CRC32.
10818 * include/grub/decompressor.h: New file.
10819 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
10820 Removed.
10821 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
10822 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
10823 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
10824 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
10825 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
10826 * util/grub-mkimage.c (grub_compression_t): New type.
10827 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
10828 (image_target_desc): New field default_compression.
10829 (image_targets): Adjust yeeloong targets.
10830 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
10831 (compress_kernel): New parameter comp.
10832 (generate_image): Likewise. Handle new compression case.
10833 (options): New option --compression
10834 (help): Likewise.
10835 (main): Handle new option.
10836
1b655af6
GS
108372010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
10838
10839 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
10840
8f03f0b5
CW
108412010-09-22 Colin Watson <cjwatson@ubuntu.com>
10842
10843 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
10844 typo in __i386__ conditional.
10845
7835dfd3
VS
108462010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
10847
10848 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
10849 include.
10850
e255597e
VS
108512010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
10852
6d0fa83c 10853 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
10854
10855 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
10856 new tags as supported.
10857 (acpiv2_size): New function.
10858 (grub_multiboot_get_mbi_size): Take new tags into account.
10859 (grub_multiboot_make_mbi): Add new tags.
10860 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 10861
6cc14051 108622010-09-21 Aleš Nesrsta <starous@volny.cz>
10863
10864 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
10865 Added missing configuration of USB device.
10866
df7769d8
CW
108672010-09-21 Colin Watson <cjwatson@ubuntu.com>
10868
10869 * grub-core/normal/menu_entry.c (run): Make sure we always return
10870 a value.
10871
b031012d
CW
108722010-09-21 Colin Watson <cjwatson@ubuntu.com>
10873
10874 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
10875 NumberOfPages is UINT64 according to the UEFI specification, not
10876 UINTN. Fix printf format.
10877
174de8f3
CW
108782010-09-21 Colin Watson <cjwatson@ubuntu.com>
10879
10880 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
10881 `err' to grub_usb_err_t.
10882 Reported and tested by: KESHAV P.R.
10883
d7dbe923
CW
108842010-09-21 Colin Watson <cjwatson@ubuntu.com>
10885
10886 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
10887 tpart non-const, so that we can assign to it. (Since this is a
10888 typedef, the constness refers to the pointer rather than what it
10889 points to.)
10890
8d5e2af3
CW
108912010-09-21 Colin Watson <cjwatson@ubuntu.com>
10892
10893 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
10894 $(top_srcdir)/grub-core/gnulib as well as
10895 $(top_builddir)/grub-core/gnulib.
10896 Reported by: KESHAV P.R.
10897
5c527783
CW
108982010-09-21 Colin Watson <cjwatson@ubuntu.com>
10899
10900 * util/grub-install.in: Fix the bootloader ID option to be
10901 consistently --bootloader-id, not --bootloader_id.
10902 Reported by: KESHAV P.R.
10903
d309a16e
CW
109042010-09-21 Colin Watson <cjwatson@ubuntu.com>
10905
10906 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
10907 check hash checksum." consistently translatable.
10908
b830cd16
YB
109092010-09-21 Yves Blusseau <blusseau@zetam.org>
10910
10911 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
10912 $(top_builddir).
10913
c4fe27a8
CW
109142010-09-21 Colin Watson <cjwatson@ubuntu.com>
10915
10916 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
10917 (GRUB_MOD_INIT): Register sha1sum command.
10918 (GRUB_MOD_FINI): Unregister sha1sum command.
10919
a4c1d277
YB
109202010-09-21 Yves Blusseau <blusseau@zetam.org>
10921
10922 Keep boot and grub directory names in sync with utils scripts
10923
10924 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
10925 * config.h.in: Add previous macros.
10926 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
10927 * util/grub-install.in: Use $bootdir and $grubdir variables.
10928
4eff79d2
CW
109292010-09-21 Colin Watson <cjwatson@ubuntu.com>
10930
10931 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
10932 convert partition names to disk names if the new `convert' parameter
10933 is set.
10934 (grub_util_biosdisk_get_grub_dev): If opening the disk device
10935 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
10936 disk in its own right. This can happen with Xen disk images.
10937
934d7e44
YB
109382010-09-21 Yves Blusseau <blusseau@zetam.org>
10939
10940 * util/grub-editenv.c: Update strings to avoid warnings when generating
10941 grub.pot file.
10942 * util/grub-setup.c: Likewise.
934d7e44 10943
df3367cc
VS
109442010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
10945
10946 * configure.ac: Change version to 1.99~beta0.
10947
77a94e98
VS
109482010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
10949
10950 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
10951 Add BADRAM.
10952 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
10953 Likewise.
10954 * include/multiboot.h: Resynced with specification.
10955 * include/multiboot2.h: Likewise.
10956
269004c1
CW
109572010-09-21 Colin Watson <cjwatson@ubuntu.com>
10958
10959 Fix po directory handling.
10960
10961 * configure.ac: Create po/Makefile.in rather than po/Makefile.
10962 * grub-core/gnulib/Makefile.am: Import gettext module.
10963 * m4/gnulib-cache.m4: Likewise.
10964 * m4/gnulib-comp.m4: Likewise.
10965 * m4/gettext.m4: New file, from gnulib.
10966 * m4/glibc2.m4: Likewise.
10967 * m4/iconv.m4: Likewise.
10968 * m4/intdiv0.m4: Likewise.
10969 * m4/intl.m4: Likewise.
10970 * m4/intldir.m4: Likewise.
10971 * m4/intlmacosx.m4: Likewise.
10972 * m4/intmax.m4: Likewise.
10973 * m4/inttypes-pri.m4: Likewise.
10974 * m4/lcmessage.m4: Likewise.
10975 * m4/lib-ld.m4: Likewise.
10976 * m4/lib-link.m4: Likewise.
10977 * m4/lib-prefix.m4: Likewise.
10978 * m4/lock.m4: Likewise.
10979 * m4/nls.m4: Likewise.
10980 * m4/po.m4: Likewise.
10981 * m4/printf-posix.m4: Likewise.
10982 * m4/progtest.m4: Likewise.
10983 * m4/threadlib.m4: Likewise.
10984 * m4/uintmax_t.m4: Likewise.
10985 * m4/visibility.m4: Likewise.
10986 * po/Makefile.am: Remove.
10987 * po/Makefile.in.in: New file, from gettext.
10988 ($(DOMAIN).pot-update): Support POTFILES-shell.
10989 * po/Makevars: New file.
10990 * po/POTFILES-shell: Rename to ...
10991 * po/POTFILES-shell.in: ... this. Update.
10992 * po/POTFILES: Rename to ...
10993 * po/POTFILES.in: ... this. Update.
10994 * po/Rules-quot: New file, from gettext.
10995 * po/boldquot.sed: Likewise.
10996 * po/en@boldquot.header: Likewise.
10997 * po/en@quot.header: Likewise.
10998 * po/insert-header.sin: Likewise.
10999 * po/quot.sed: Likewise.
11000 * po/remove-potcdate.sin: Likewise.
11001
3e0fa5d0
VS
110022010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11003
11004 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
11005
ade9bd66
VS
110062010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11007
11008 * util/grub.d/20_linux_xen.in: Use submenus.
11009
fc55cc4c
VS
110102010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11011
11012 Support submenus.
11013
11014 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
11015 parameter submenu. All users updated.
11016 * grub-core/normal/main.c (free_menu): Rename to ...
11017 (grub_normal_free_menu): ... this. Made global.
11018 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
11019 if requested.
11020 * grub-core/normal/menu_entry.c (screen): New field submenu.
11021 (make_screen): Set submenu.
11022 (run): Open new context if requested.
11023 * include/grub/menu.h (grub_menu_entry): New field submenu.
11024 * include/grub/normal.h (grub_normal_free_menu): New proto.
11025
600cedf7
VS
110262010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11027
11028 Menu entries extractor.
11029
11030 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
11031 variants.
11032 (GRUB_MOD_INIT): Register new variants.
11033 (GRUB_MOD_FINI): Unregister new variants.
11034 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
11035 into grub_cmd_legacy_source.
11036 (grub_cmd_legacy_source): Implement extractor variants.
11037 (GRUB_MOD_INIT): Register new variants.
11038 (GRUB_MOD_FINI): Unregister new variants.
11039 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
11040 as an extractor.
11041 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
11042 search as an extractor.
11043 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
11044 test as an extractor.
11045 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
11046 as an extractor.
11047 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
11048 (grub_env_new_context): New function.
11049 (grub_env_context_open): Likewise.
11050 (grub_env_extractor_open): Likewise.
11051 (grub_env_extractor_close): Likewise.
11052 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
11053 grub_extractor_level.
11054 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
11055 * include/grub/env.h (grub_env_extractor_open): New proto.
11056 (grub_env_extractor_close): Likewise.
11057 * include/grub/normal.h (grub_extractor_level): New external variable.
11058
7bda3a87
VS
110592010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11060
11061 Make cutmem accept a region specification.
11062 Suggested by: Samuel Thibault
11063
11064 * grub-core/mmap/mmap.c (parsemem): New function.
11065 (grub_cmd_cutmem): Handle new arguments.
11066
2ea57f88
VS
110672010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11068
11069 New command cutmem.
11070
11071 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
11072 (GRUB_MOD_INIT): Register new command.
11073 (GRUB_MOD_FINI): Unregister new command.
11074
74342e31
VS
110752010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11076
11077 Support some annoying BSD and Minix subpartitions.
11078
11079 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
11080 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
11081 Properly handle concatenation.
11082 * grub-core/kern/device.c (grub_device_iterate): Likewise.
11083 * grub-core/normal/completion.c (iterate_partition): Likewise.
11084 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
11085 contain partition. All users updated.
11086 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
11087 struct.
11088 (grub_openbsdlabel_partition_map): Likewise.
11089 (bsdlabel_partition_map_iterate): Rename to ..
11090 (iterate_real): ... this. New arguments sector, freebsd and pmap.
11091 (bsdlabel_partition_map_iterate): New function.
11092 (netopenbsdlabel_partition_map_iterate): Likewise.
11093 (netbsdlabel_partition_map_iterate): Likewise.
11094 (openbsdlabel_partition_map_iterate): Likewise.
11095 (GRUB_MOD_INIT): Register new partmaps.
11096 (GRUB_MOD_FINI): Unregister new partmaps.
11097 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
11098 (grub_partition_msdos_iterate): ... this. All users updated.
11099 Don't support embedding other than in a minix partition.
11100 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
11101 proto.
11102 * include/grub/partition.h (grub_partition): New field msdostype.
11103 * util/grub-install.in: Handle openbsd and netbsd types being in
11104 part_bsd module.
11105
1e8d555b
VS
111062010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11107
11108 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
11109
11110 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
11111 * grub-core/Makefile.core.def (mdraid): Renamed to ...
11112 (mdraid09): ... this.
11113 (mdraid1x): New module.
11114 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
11115 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
11116
899d8af4
VS
111172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11118
11119 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
11120 vsprintf.
11121
40901acd
CW
111222010-09-20 Colin Watson <cjwatson@ubuntu.com>
11123
11124 * grub-core/commands/efi/lsefimmap.c: Correct header.
11125 * NEWS: Update.
11126
dfe3b247
CW
111272010-09-20 Colin Watson <cjwatson@ubuntu.com>
11128
11129 * util/grub-editenv.c (argp_parser): Don't pass translated strings
11130 as printf format strings; the translations might contain '%' which
11131 could cause a crash.
11132 (main): Likewise.
11133 * util/grub-fstest.c (argp_parser): Likewise.
11134 * util/grub-setup.c (argp_parser): Likewise.
11135 (main): Likewise.
11136
3286a4b4
VS
111372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11138
11139 Use argp in grub-fstest.
11140
11141 * util/grub-fstest.c: Don't include getopt.h.
11142 Include argp.h.
11143 (root): New variable.
11144 (args_count): Likewise.
11145 (nparm): Likewise.
11146 (num_disks): Likewise.
11147 (images): Likewise.
11148 (cmd): Likewise.
11149 (debug_str): Likewise.
11150 (args): Likewise.
11151 (options): Transformed to argp.
11152 (usage): Removed.
11153 (main): Split argument parsing into ...
11154 (argp_parser): ... this. Changed to argp format.
11155 (argp): New variable.
11156 (main): Use argp_parse.
11157
3dccbe4b
TG
111582010-09-20 Tristan Gingold <gingold@free.fr>
111592010-09-20 Robert Millan <rmh.grub@aybabtu.com>
111602010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11161
11162 * grub-core/commands/efi/lsefimmap.c: New file.
11163 * grub-core/Makefile.core.def (lsefimmap): New module.
11164 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
11165
38c259a7
VS
111662010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11167
11168 Pause the execution (10s max) if any errors are displayed so the user
11169 has a chance to see them.
11170
11171 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
11172 (grub_print_error): Increment grub_err_printed_errors.
11173 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
11174 execution if any errors were displayed.
11175 (show_menu): Remove old code for pause.
11176 * grub-core/normal/menu_entry.c (run): Likewise.
11177 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
11178 users updated.
11179 (grub_normal_get_char_counter): Likewise.
11180 * include/grub/err.h (grub_err_printed_errors): New external variable.
11181 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
11182
f218b09c
VS
111832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11184
11185 Support multiboot VBE info.
11186
11187 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
11188 Take VBE info into account.
11189 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
11190 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
11191 Call fill_vbe_info when appropriate.
11192 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
11193 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
11194 as supported.
11195 (grub_multiboot_get_mbi_size): Take new tags into account.
11196 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
11197 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
11198 Call fill_vbe_tag when appropriate.
11199 (grub_multiboot_make_mbi): Properly align tags.
11200 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
11201 function.
11202 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
11203 proto.
11204 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
11205
a9cc5438
VS
112062010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11207
11208 Suport manual terminal geometry specification.
11209
11210 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
11211 Save state in grub_ofconsole_terminfo_output.
11212 (grub_ofconsole_term): Use grub_terminfo_getwh.
11213 (grub_ofconsole_getwh): Removed.
11214 * grub-core/term/serial.c (grub_serial_getwh): Removed.
11215 (grub_serial_term): Use grub_terminfo_getwh.
11216 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
11217 (options): New struct.
11218 (OPTION_*): New enum.
11219 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
11220 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
11221 width and height.
11222 (grub_terminfo_getwh): New proto.
11223 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
11224
1a8fed20
VS
112252010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11226
11227 Handle legacy "terminal" command.
11228
11229 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
11230 and FLAG_TERMINAL.
11231 (legacy_commands): Add terminal and title.
11232 (grub_legacy_parse): Handle terminal. Simplify title handling.
11233
41e9c57d
VS
112342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11235
11236 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
11237 parameters overflow.
11238
61c874c5
CW
112392010-09-20 Colin Watson <cjwatson@ubuntu.com>
11240
11241 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
11242 widthspec.h.
11243
11244 * docs/grub.texi (Shell-like scripting): Document `!'.
11245 (Network): Simplify using new i386-pc-pxe format. Mention
11246 grub-mknetdir.
11247
11248 * NEWS: Update.
11249
943682b4
CW
112502010-09-20 Colin Watson <cjwatson@ubuntu.com>
11251
11252 * Makefile.am (SUBDIRS): Restore "."; it's important to force
11253 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
11254 when needed.
11255
6d3d698d
CW
112562010-09-20 Colin Watson <cjwatson@ubuntu.com>
11257
11258 * grub-core/commands/efi/lsefisystab.c: Correct header.
11259 * grub-core/commands/efi/lssal.c: Likewise.
11260 * grub-core/commands/testload.c: Likewise.
11261
c982589f
CW
112622010-09-20 Colin Watson <cjwatson@ubuntu.com>
11263
11264 * util/grub-mkrescue.in: Add explicit root argument to --set to
11265 prevent the UUID being interpreted as an argument to --set (matches
11266 previous change to prepare_grub_to_access_device).
11267
a63c31b6
CW
112682010-09-20 Colin Watson <cjwatson@ubuntu.com>
11269
11270 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
11271 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
11272 the verbosity of later #ifs.
11273 (find_partition_start): Define this function on FreeBSD too.
11274 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
11275 function.
11276 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
11277 on FreeBSD.
11278
6439b8ee
YB
112792010-09-20 Yves Blusseau <blusseau@zetam.org>
11280
11281 * util/grub-editenv.c: Use argp instead of getopt.
11282
c5930ec8
YB
112832010-09-20 Yves Blusseau <blusseau@zetam.org>
11284
11285 * util/grub-setup.c: Use argp instead of getopt.
11286
15c69261
YB
112872010-09-20 Yves Blusseau <blusseau@zetam.org>
11288
11289 Use gnulib-tool to create gnulib source files.
11290
11291 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
11292 grub-core/gnulib directories
11293 * .bzignore: Add **/.deps and autogenerated gnulib files
11294 * configure.ac: Assign auxiliary directory to build-aux, add invocation
11295 of gnulib macros, add grub-core/gnulib/Makefile
11296 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
11297 include m4 directory to aclocal.
11298 * Makefile.util.def: Remove direct compilation of gnulib source files
11299 and use the new grub-core/gnulib/libgnu.a.
11300 * build-aux/config.rpath: move config.rpath from top directory to
11301 build-aux
11302 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
11303 in gnulib headers
11304 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
11305 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
11306 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
11307 header.
11308 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
11309 string.
11310
e511c9f5
YB
113112010-09-20 Yves Blusseau <blusseau@zetam.org>
11312
11313 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
11314 grub-core/genmod.sh and grub-core/gensyminfo.sh
11315
c2dede05
BC
113162010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
11317
11318 Add a test for echo command options.
11319
11320 * tests/grub_cmd_echo.in: New test.
11321 * Makefile.util.def: Rules for new test.
11322
c55f5018
SJ
113232010-09-20 Szymon Janc <szymon@janc.net.pl>
11324
11325 Remove crc.mod and move crc command to hashsum.mod.
11326 Remove lib/crc.c - users updated to use gcrypt implementation.
11327
11328 * grub-core/commands/crc.c: Removed.
11329 * grub-core/Makefile.core.def (crc): Module removed.
11330 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
11331 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
11332 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
11333 * grub-core/lib/crc.c: Removed.
11334 * include/grub/lib/crc.h: Removed.
11335 * Makefile.util.def (crc): Remove lib/crc.c
11336 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
11337 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
11338 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
11339 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
11340 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
11341 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
11342
e0337366
VS
113432010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11344
11345 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
11346
742f9232
VS
113472010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11348
11349 Split config.h for util and core.
11350
11351 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
11352 (ADDR32): Likewise.
11353 (DATA32): Likewise.
11354 (BSS_START_SYMBOL): Likewise.
11355 (END_SYMBOL): Likewise.
11356 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
11357 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
11358 * config.h.in: New file.
11359 * configure.ac: Use config-util.h as config define file.
11360 Rename MACHINE into GRUB_MACHINE. All users updated.
11361 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
11362 updated.
11363 (NESTED_FUNC_ATTR): Likewise.
11364 Substitue new variables.
11365 (COND_HAVE_ASM_USCORE): New conditional.
11366 * grub-core/Makefile.am (ASM_PREFIX): New variable.
11367 (kernel_syms.lst): Use ASM_PREFIX.
11368 * grub-core/kern/emu/console.c: Include config-util.h.
11369 * grub-core/kern/emu/misc.c: Likewise.
11370 * grub-core/kern/emu/mm.c: Likewise.
11371 * include/grub/emu/misc.h: Likewise.
11372 * include/grub/libgcc.h: Likewise.
11373
39feb0e8
VS
113742010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11375
11376 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
11377 constants usage.
11378 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
11379 Fix GRUB_TERM_KEY_* constants usage.
11380 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
11381
9af6dac3
VS
113822010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11383
11384 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
11385 print pointer.
11386 * grub-core/bus/usb/uhci.c: Remove empty define.
11387 (grub_uhci_check_transfer): Add missing cast.
11388 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
11389 print pointer.
11390 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
11391 PRIuGRUB_SIZE.
11392 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
11393
d6d94820
VS
113942010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11395
11396 * grub-core/Makefile.core.def (legacycfg): Add
11397 lib/i386/pc/vesa_modes_table.c on emu.
11398
3572f2b6
BC
113992010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
11400
11401 Reduce number of temporary files generated by build system.
11402
11403 * grub-core/gencmdlist.sh: Removed.
11404 * grub-core/genfslist.sh: Removed.
11405 * grub-core/genhandlerlist.sh: Removed.
11406 * grub-core/genmodsrc.sh: Removed.
11407 * grub-core/genpartmaplist.sh: Removed.
11408 * grub-core/genparttoollist.sh: Removed.
11409 * grub-core/gentermiinallist.sh: Removed.
11410 * grub-core/genvideolist.sh: Removed.
11411
11412 * grub-core/genmod.sh.in: New file.
11413 * grub-core/gensyminfo.sh.in: New file.
11414
11415 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
11416 * conf/Makefile.extra-dist: Update with new files.
11417 * gentpl.py: Remove rules related to unnecessary temporary files.
11418 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
11419 and und-* files.
11420 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
11421 genmod.sh scripts.
11422 * grub-core/bus/usb/uhci.c: Remove empty #define.
11423 * grub-core/genmoddep.awk: Updated with new syminfo format.
11424 * util/bash-completion.d/Makefile.am: Add config.log to
11425 CLEANFILES.
11426
c836b030
YB
114272010-09-19 Yves Blusseau <blusseau@zetam.org>
11428
11429 * Makefile.util.def: Add forgotten $(LIBINTL) library.
11430
2f4e8053
BC
114312010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
11432
11433 * util/grub-mkconfig.in: Check the config script for syntax errors
11434 before saving.
11435
75831c34
CW
114362010-09-19 Colin Watson <cjwatson@ubuntu.com>
114372010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11438
11439 * Makefile.util.def (grub-install): Use util/grub-install.in on all
11440 platforms.
11441 * util/grub-install.in: Add EFI and IEEE1275 support.
11442 * util/i386/efi/grub-install.in: Removed.
11443 * util/ieee1275/grub-install.in: Likewise.
11444
eaf41b25
VS
114452010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11446
11447 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
11448 (grub_cmd_cmosclean): Likewise.
11449 (GRUB_MOD_INIT): Register command cmosclean.
11450 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
11451 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
11452
1a9130dd
CPE
114532010-09-18 Carles Pina i Estany <carles@pina.cat>
114542010-09-18 Aleš Nesrsta <starous@volny.cz>
114552010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
11456
11457 Add keyboard layouts support.
11458
11459 * Makefile.util.def (grub-mklayout): New file.
11460 (grub-kbdcomp): New script.
11461 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
11462 Add keyboard_layouts.h.
11463 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
11464 commands/boot.c on yeeloong.
11465 (keylayouts): New module.
11466 * grub-core/bus/usb/ohci.c
11467 * grub-core/bus/usb/uhci.c
11468 * grub-core/bus/usb/usbhub.c (rescan): New variable.
11469 (grub_usb_add_hub): Poll interrupt pipe for device handling.
11470 (attach_root_port): Likewise.
11471 (poll_nonroot_hub): Likewise.
11472 (grub_usb_poll_devices): Likewise.
11473 (detach_device): Close transfer.
11474 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
11475 function.
11476 (grub_usb_bulk_setup_readwrite): Likewise.
11477 (grub_usb_bulk_finish_readwrite): Likewise.
11478 * grub-core/commands/keylayouts.c: New file.
11479 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
11480 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
11481 aliases.
11482 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
11483 support scancode 2.
11484 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
11485 * include/grub/keyboard_layouts.h: New file.
11486 * util/grub-mklayout.c: New file.
11487 * util/grub-kbdcomp.in: Likewise.
11488
a1d84a5e
VS
114892010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
11490
11491 Unify memory types.
11492
11493 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
11494 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
11495 types.
11496 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
11497 (grub_upper_mem): Likewise.
11498 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
11499 * include/grub/memory.h (grub_memory_type_t): New enum.
11500 All users updated.
11501
9696382e
VS
115022010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
11503
11504 * grub-core/Makefile.core.def (lsapm): New module.
11505 * grub-core/commands/i386/pc/lsapm.c: New file.
11506 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
11507 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
11508 Likewise.
11509 * include/grub/i386/pc/apm.h: New file.
11510 * include/multiboot.h (multiboot_apm_info): New struct.
11511
115122010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
11513
11514 GRUB-legacy configuration file support.
11515
11516 * Makefile.util.def (grub-menulst2cfg): New util.
11517 * docs/man/grub-menulst2cfg.h2m: New file.
11518 * grub-core/Makefile.core.def (legacycfg): New module.
11519 * grub-core/commands/legacycfg.c: New file.
11520 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
11521 (grub_normal_add_menu_entry): ... this.
11522 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
11523 (grub_normal_set_password): ...this.
11524 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
11525 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
11526 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
11527 * grub-core/lib/legacy_parse.c: New file.
11528 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
11529 * include/grub/i386/pc/vesa_modes_table.h: New file.
11530 * include/grub/legacy_parse.h: Likewise.
11531 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
11532 * util/grub-menulst2cfg.c: New file.
11533
bf8d1338
CW
115342010-09-17 Colin Watson <cjwatson@ubuntu.com>
11535
11536 * grub-core/kern/emu/hostdisk.c
11537 (convert_system_partition_to_system_disk): Initialise node.
11538
9c0bad2e
CW
115392010-09-17 Colin Watson <cjwatson@ubuntu.com>
11540
11541 * grub-core/kern/emu/hostdisk.c
11542 (convert_system_partition_to_system_disk): Fix devmapper memory pool
11543 leak.
11544 Reported and based on patch by: Modestas Vainius.
11545
a939d135
CW
115462010-09-17 Colin Watson <cjwatson@ubuntu.com>
11547
11548 Fix DM-RAID probing with recent versions of device-mapper udev
11549 rules.
11550
11551 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
11552 canonicalise device paths under /dev/mapper/.
11553 (convert_system_partition_to_system_disk): Compare the
11554 uncanonicalised path to /dev/mapper/ rather than the canonicalised
11555 path, since device nodes under /dev/mapper/ are often symlinks.
11556
0f7ee3c9
YB
115572010-09-17 Yves Blusseau <blusseau@zetam.org>
11558
11559 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
11560
10854d0d
YB
115612010-09-16 Yves Blusseau <blusseau@zetam.org>
11562
11563 * configure.ac: Avoid some annoying error messages if freetype-config
11564 program is not found.
11565
108538d8
CW
115662010-09-16 Colin Watson <cjwatson@ubuntu.com>
11567
11568 Support RAID on virtio devices, and others.
11569
11570 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
11571 Rename to ...
11572 [__MINGW32__] (grub_find_device): ... this.
11573 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
11574 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
11575 reasonable default if dir is NULL.
11576 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
11577 ...
11578 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
11579 (grub_guess_root_device): Update callers.
11580 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
11581
11582 * util/raid.c (grub_util_getdiskname): Remove.
11583 (grub_util_raid_getmembers): Use grub_find_device rather than
11584 grub_util_getdiskname.
11585
e5bfc130
CW
115862010-09-16 Colin Watson <cjwatson@ubuntu.com>
11587
11588 * docs/grub.texi (serial): Remove obsolete comment about GRUB
11589 needing to be compiled with serial support.
11590 (ls): Indicate that multiple files are accepted.
11591 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
11592 indicate that multiple files are accepted.
11593
be458ae2
CW
115942010-09-16 Colin Watson <cjwatson@ubuntu.com>
11595
11596 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
11597 libgrub_a_init.c, and util/bash-completion.d/grub.
11598
cb731b5e
VS
115992010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11600
11601 * util/grub-setup.c (setup): Fix incorrect container semantics.
11602
35139e8a
VS
116032010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11604
11605 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
11606 misusage.
11607 Reported by: J. Nick Terry
11608
e50fca4a
VS
116092010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11610
11611 Move embedding routines to partmap sources files.
11612
11613 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
11614 [GRUB_UTIL]: New variable.
11615 (gpt_partition_map_iterate): Set part.parent.
11616 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
11617 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
11618 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
11619 New function.
11620 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
11621 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
11622 (grub_partition_map) [GRUB_UTIL]: New field embed.
11623 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
11624 (setup): Use ->embed.
11625
f00478b7
VS
116262010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11627
11628 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
11629 function.
11630 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
11631 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
11632
2b94e3ff
YB
116332010-09-15 Yves Blusseau <blusseau@zetam.org>
11634
11635 Add function to get completions from usage.
11636
11637 * util/bash-completion.d/grub-completion.bash.in: Add function to get
11638 completions from usage. Use LC_ALL=C to get options properly.
11639
2e04a006
VS
116402010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11641
11642 * grub-core/gnulib/basename-lgpl.c: Imported.
11643 * grub-core/gnulib/basename.c: Likewise.
11644 * grub-core/gnulib/dirname-lgpl.c: Likewise.
11645 * grub-core/gnulib/dirname.c: Likewise.
11646 * grub-core/gnulib/dirname.h: Likewise.
11647 * grub-core/gnulib/stripslash.c: Likewise.
11648
5dcdf93a
VS
116492010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11650
11651 * grub-core/gnulib/error.c: Resynced.
11652 * grub-core/gnulib/getopt.c: Likewise.
11653 * grub-core/gnulib/getopt_int.h: Likewise.
11654 * grub-core/gnulib/regex.h: Likewise.
11655 * grub-core/gnulib/regex_internal.c: Likewise.
11656 * grub-core/gnulib/regex_internal.h: Likewise.
11657
014f47b7
SJ
116582010-09-15 Szymon Janc <szymon@janc.net.pl>
11659
11660 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
11661 CRC calculations and validity checks.
11662 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
11663 calculations.
11664
dd521a4a
SJ
116652010-09-15 Szymon Janc <szymon@janc.net.pl>
11666
11667 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
11668
79c4eeb9
VS
116692010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11670
11671 Fix incorrect echo options handling.
11672 Reported by: Yves Blusseau.
11673
11674 * include/grub/command.h (grub_command_flags_t): New flags
11675 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
11676 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
11677 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
11678
ed80f7d5
VS
116792010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11680
11681 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
11682 users updated.
11683 (GRUB_COMMAND_FLAG_MENU): Likewise.
11684 (GRUB_COMMAND_FLAG_BOTH): Likewise.
11685 (GRUB_COMMAND_FLAG_TITLE): Removed.
11686 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
11687 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
11688 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
11689 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
11690 (grub_command_flags_t): New enum. All users updated.
11691
5fe7620a
SG
116922010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
11693
11694 Fix solaris compilation.
11695
11696 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
11697 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
11698 (grub-emu-list): Likewise.
11699
545b752f
VS
117002010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11701
11702 Remove deprecated root command.
11703
11704 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
11705 updated.
11706
6c1a338c
VS
117072010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11708
11709 * util/i386/pc/grub-setup.c: Merge this ...
11710 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
11711 * util/grub-setup.c: ... into this.
11712 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
11713 New struct.
11714
117152010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11716
11717 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
11718 possible.
11719
d2ea4551
VS
117202010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11721
11722 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
11723 allocate p.
11724
3c3b5040
VS
117252010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11726
11727 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
11728 explicit root argument to set to prevent UUID to be interpreted as
11729 argument to set.
11730
b71c3fae
VS
117312010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11732
11733 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
11734
275433e6
VS
117352010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11736
11737 Don't export grub_gate_a20.
11738
11739 * grub-core/kern/i386/pc/init.c: Remove leftovers.
11740 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
11741 to ...
11742 (grub_gate_a20): ... this. All users updated.
11743 * include/grub/i386/pc/init.h: Removed. All users updated.
11744
a5dbb1f1
VS
117452010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11746
11747 Create euro.pf2 which supports most European languages.
11748
11749 * Makefile.am (grubdata_DATA): Add euro.pf2.
11750 (euro.pf2): New target.
11751 (CLEANFILES): Add euro.pf2.
11752
62a747cb
VS
117532010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11754
11755 * configure.ac: Disable emu-usb by default to prevent inadvertent
11756 device takeover.
11757
608e43b1
VS
117582010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11759
11760 Disable usbserial on grub-emu since our libusb code isn't good enough
11761 yet.
11762
11763 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
11764 (usbserial_pl2303): Likewise.
11765 (usbserial_ftdi): Likewise.
11766
94564f81
VS
117672010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11768
11769 * include/grub/disk.h (grub_disk): Remove has_partitions.
11770 All users updated.
11771 * disk/loopback.c (grub_loopback): Remove has_partitions.
11772 All users updated.
11773 (options): Remove partitions. All users updated.
11774 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
11775 * util/i386/pc/grub-setup.c (setup): copy partition table only when
11776 actual partition table is found.
11777
3352800b
VS
117782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11779
11780 Remove readability checks (too many false negatives).
11781
11782 * util/grub-install.in: Remove readability checks.
11783 * util/grub-mkconfig.in: Likewise.
11784 * util/grub.d/10_hurd.in: Likewise.
11785 * util/grub.d/10_kfreebsd.in: Likewise.
11786 * util/grub.d/10_linux.in: Likewise.
11787 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
11788 way.
11789
2419f17a
VS
117902010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11791
11792 Enable acpi shutdown on all ACPI platforms.
11793
11794 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
11795 on coreboo, multiboot and EFI.
11796 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
11797 (grub_acpi_halt): Likewise.
11798 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
11799 (grub_cmd_halt): Don't call grub_acpi_halt directly.
11800 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
11801 * grub-core/lib/i386/halt.c (grub_halt)
11802 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
11803
0575c7c3
VS
118042010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11805
11806 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
11807 context.
11808
54ac3cd1
VS
118092010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11810
11811 * grub-core/video/efi_gop.c: Fix over-80-chars line.
11812 * grub-core/video/efi_uga.c: Likewise.
11813
b2a30ac5
VS
118142010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11815
11816 Filter devaliases and never open same device twice.
11817
11818 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
11819 (last_ihandle): Likewise.
11820 (ofdisk_hash_ent): New member shortest.
11821 (ofdisk_hash_add): Add canonical path too.
11822 (scan): New function.
11823 (grub_ofdisk_iterate): Iterate over hashed entries.
11824 (compute_dev_path): Don't add :0.
11825 (grub_ofdisk_open): Don't really open the disk.
11826 (grub_ofdisk_close): Avoid closing unrelated disk.
11827 (grub_ofdisk_read): Implement reopen logic.
11828 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
11829 New function.
11830 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
11831 New proto.
11832
fb53b340
VS
118332010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11834
11835 Fix sparc64.
11836
11837 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
11838 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
11839 right address. Add sparc64_ieee1275_ldflags.
11840 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
11841 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
11842 to grub_host_to_target_addr
11843 (load_image): Likewise.
11844
f452b040
VS
118452010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11846
11847 * grub-core/normal/completion.c (complete_file): Handle device
11848 containing slash.
11849 Fix based on patch by Doug Nazar.
11850
9b5b2541
VS
118512010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11852
11853 grub-mknetdir script.
11854
11855 * Makefile.util.def (grub-mknetdir): New module.
11856 * tests/util/grub-shell.in: Support boot=net
11857 * util/grub-mknetdir.in: New file.
11858
9d2be652
VS
118592010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11860
11861 videoinfo on non-vbe.
11862
11863 * grub-core/Makefile.core.def (vbeinfo): Removed.
11864 (vbetest): Removed.
11865 (videoinfo): New module.
11866 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
11867 * grub-core/commands/i386/pc/vbetest.c: Removed.
11868 * grub-core/commands/videoinfo.c: New file.
11869 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
11870 specification.
11871 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
11872 as vbetest.
11873 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
11874 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
11875 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
11876 mode_number. New parameter mode. All users updated.
11877 (grub_video_gop_iterate): New function.
11878 (grub_video_efi_gop): New member iterate.
11879 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
11880 (grub_vbe_set_video_mode): Remove setting useless fields.
11881 (vbe2videoinfo): New function.
11882 (grub_video_vbe_iterate): Likewise.
11883 (grub_video_vbe_setup): Use vbe2videoinfo.
11884 (grub_video_vbe_print_adapter_specific_info): New function.
11885 (grub_video_vbe_adapter): New fields iterate and
11886 print_adapter_specific_info.
11887 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
11888 All users updated.
11889 (grub_video_mode_info): New field mode_number.
11890 (grub_video_adapter): New fields iterate and
11891 print_adapter_specific_info.
11892
179503f5
TG
118932010-09-13 Tristan Gingold <gingold@free.fr>
118942010-09-13 Robert Millan <rmh.grub@aybabtu.com>
118952010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11896
11897 * grub-core/commands/efi/lsefisystab.c: New file.
11898 * grub-core/commands/efi/lssal.c: Likewise.
11899 * grub-core/Makefile.core.def (lsacpi): New module.
11900 (lsefisystab): Likewise.
11901 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
11902 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
11903 (grub_efi_sal_system_table): New struct.
11904 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
11905 (grub_efi_sal_system_table_memory_descriptor): Likewise.
11906 (grub_efi_sal_system_table_platform_features): Likewise.
11907 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
11908 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
11909 (grub_efi_sal_system_table_ap_wakeup): Likewise.
11910 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
11911
cf9827de
VS
119122010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11913
11914 Support explicit user claim that a device is BIOS-visible.
11915
11916 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
11917 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
11918 * grub-core/kern/emu/hostdisk.c
11919 (convert_system_partition_to_system_disk): Support mdX.
11920 (find_system_device): New parameter add. All users updated.
11921 (grub_util_biosdisk_is_present): New function.
11922 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
11923 proto.
11924
53f0eb1f
VS
119252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11926
11927 Search hints support.
11928
11929 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
11930 All users updated.
11931
b23ffd70
YB
119322010-09-13 Yves Blusseau <blusseau@zetam.org>
11933
11934 Bash completion script for util commands
11935
11936 * Makefile.am: Add util/bash-completion.d directory
11937 * configure.ac: Likewise.
11938 * util/bash-completion.d/Makefile.am: New file.
11939 * util/bash-completion.d/grub-completion.bash.in: Likewise.
11940
d547dc28
VS
119412010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11942
11943 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
11944 (print_backlog): set backlog_ucs4 and backlog_glyphs.
11945 Reported by: Yves Blusseau.
11946
2fc8ccb9
VS
119472010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11948
11949 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
11950 partition size and offset.
11951
d8a84076
VS
119522010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11953
11954 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
11955
84fb3b3d
VS
119562010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11957
11958 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
11959
768ec2e2
VS
119602010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11961
11962 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
11963 (grub_xvasprintf): Likewise.
11964
4870900f
VS
119652010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11966
11967 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
11968
faca6bec
VS
119692010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11970
11971 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
11972 args ending with NULL.
11973
119742010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
11975
11976 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
11977 pointer.
11978
3c70f225
SJ
119792010-09-11 Szymon Janc <szymon@janc.net.pl>
11980
11981 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
11982
4df7996d
VS
119832010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11984
11985 Shutdown using ACPI.
11986
11987 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
11988 * grub-core/commands/acpihalt.c: New file.
11989 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
11990 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
11991 (grub_acpi_halt): New proto.
11992 (GRUB_ACPI_SLP_EN): New const.
11993 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
11994 (GRUB_ACPI_OPCODE_*): New enum.
11995 (GRUB_ACPI_EXTOPCODE_*): Likewise.
11996
126b4c32
TG
119972010-09-11 Tristan Gingold <gingold@free.fr>
119982010-09-11 Robert Millan <rmh.grub@aybabtu.com>
119992010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12000
12001 * commands/lsacpi.c: New file.
12002 * grub-core/Makefile.core.def (lsacpi): New module.
12003 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
12004 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
12005 (grub_acpi_madt_entry_header): New struct.
12006 (grub_acpi_madt): Likewise.
12007 (grub_acpi_madt_entry_interrupt_override): Likewise.
12008 (grub_acpi_madt_entry_sapic): Likewise.
12009 (grub_acpi_madt_entry_lsapic): Likewise.
12010 (grub_acpi_madt_entry_platform_int_source): Likewise.
12011 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
12012 (PRIuGRUB_UINT32_T): Likewise.
12013 (PRIxGRUB_UINT64_T): Likewise.
12014
1aa4fe88
VS
120152010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12016
12017 Implement loading palette on ieee1275_fb.
12018
12019 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
12020 (have_setcolors): Likewise.
12021 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
12022 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
12023 (grub_video_ieee1275_set_palette): Implement.
12024
25761e13
VS
120252010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
120262010-09-11 Colin Watson <cjwatson@ubuntu.com>
12027
12028 * util/grub-install.in (grub_partition): New variable.
12029 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
12030 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
12031 Fixes a bug reported by Yves Blusseau.
12032
050abaea
VS
120332010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12034
12035 Fix emu on mipsel.
12036
12037 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
12038 =grub_cpu_flush_cache on all mips and not only yeeloong.
12039 * configure.ac (COND_mips): New conditional.
12040 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
12041 platforms.
12042 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
12043 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
12044 [GRUB_LINKER_HAVE_INIT]: New function.
12045 (grub_emu_post_init): Likewise.
12046 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
12047 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
12048 * include/grub/cache.h (_mips): Include mips/cache.h.
12049 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
12050 LVM and RAID prototypes.
12051 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
12052 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
12053 function.
12054
5ed7d816
CW
120552010-09-10 Colin Watson <cjwatson@ubuntu.com>
12056
12057 * util/grub-install.in: Don't try to verify core.img until after
12058 running grub-mkimage to create it.
12059
90367e04
RM
120602010-09-10 Robert Millan <rmh@gnu.org>
12061
12062 * util/grub.d/10_hurd.in: Add misc readability checks.
12063 * util/grub.d/10_kfreebsd.in: Likewise.
12064 * util/grub.d/10_linux.in: Likewise.
12065
c452fa66
CW
120662010-09-10 Colin Watson <cjwatson@ubuntu.com>
12067
12068 * util/grub-install.in: ${imgext} won't be defined here until the
12069 install branch is merged. For the meantime, only verify core.img on
12070 i386-pc and sparc64-ieee1275 platforms.
12071
c38fe9f4
RM
120722010-09-10 Robert Millan <rmh@gnu.org>
12073
12074 Solaris support in grub_find_zpool_from_dir(). Thanks
12075 Seth Goldberg for referring to getextmntent() facility.
12076
12077 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
12078 `sys/mkdev.h'.
12079 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
12080 `<sys/mnttab.h>'.
12081 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
12082 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
12083 method for finding zpool name.
12084
905f7773
CW
120852010-09-10 Colin Watson <cjwatson@ubuntu.com>
12086
12087 grub-fstest needs the host and hostfs modules while other utilities
12088 actively require those modules to be absent, so grub-fstest needs
12089 its own initialisation and finalisation code.
12090
12091 * Makefile.am (grub_fstest.pp): New target.
12092 (grub_fstest_init.lst): Likewise.
12093 (grub_fstest_init.c): Likewise.
12094 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
12095
fb90b546
RM
120962010-09-10 Robert Millan <rmh@gnu.org>
12097
12098 * configure.ac: Check for `struct statfs.f_fstypename' and
12099 `struct statfs.f_mntfromname'.
12100
12101 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
12102 kFreeBSD-specific code.
12103
66d4bea5
RM
121042010-09-10 Robert Millan <rmh@gnu.org>
12105
12106 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
12107 on ZFS. Now non-main filesystems are supported as / too.
12108
b6a690ee
CW
121092010-09-09 Colin Watson <cjwatson@ubuntu.com>
12110
12111 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
12112 and grub-core/disk/host.c to ...
12113 (grub-fstest): ... here. Having the host disk implementation
12114 present confuses grub-probe and other utility programs.
12115
12116 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
12117 when writing to a file, not when writing to stdout.
12118
8901b00c 121192010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
12120
12121 * tests/partmap_test.in: New test for partitions.
12122 * Makefile.util.def: Rules for new test.
12123
7bf45fdd
RM
121242010-09-09 Robert Millan <rmh@gnu.org>
12125
12126 * util/grub-probe.c (probe): Fix a pair of unhandled error
12127 conditions.
12128
4dfbc574
RM
121292010-09-09 Robert Millan <rmh@gnu.org>
12130
12131 Basic Btrfs support (detection and UUID).
12132
12133 * grub-core/fs/btrfs.c: New file.
12134 * Makefile.util.def (library): Register btrfs.c.
12135 * grub-core/Makefile.core.def: Likewise.
12136
6b8e78ae
RM
121372010-09-08 Robert Millan <rmh@gnu.org>
12138
12139 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
12140 with (optional) parameters to specify device and relative path.
12141 * util/grub-install.in: Use is_path_readable_by_grub() to
12142 verify readability of a few critical files.
12143 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
12144 verify readability of grub.cfg.new.
12145
27f21a8b
VS
121462010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
12147
12148 Split minix.mod into minix.mod and minix2.mod.
12149
12150 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
12151 * grub-core/Makefile.core.def (minix2): New module.
12152 * grub-core/fs/minix.c: Use definitions instead of runtime version
12153 checking.
12154 * grub-core/fs/minix2.c: New file.
12155
c0e53ea5
YB
121562010-09-08 Yves Blusseau <blusseau@zetam.org>
12157
12158 Add new --boot-directory option to replace --root-directory
12159
12160 * util/grub-install.in: Add new --boot-directory option
12161 * util/grub-reboot.in: Likewise.
12162 * util/grub-set-default.in: Likewise.
12163
b9fe6ea2
YB
121642010-09-08 Yves Blusseau <blusseau@zetam.org>
12165
12166 * util/grub-mkconfig.in: Use new variable.
12167
d87aedff
YB
121682010-09-08 Yves Blusseau <blusseau@zetam.org>
12169
12170 * configure.ac: Define some useful variables.
12171
e55e8495
VS
121722010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
12173
12174 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12175 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
12176 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
12177 Use terminfo and don't use cursor-on/cursor-off unless it's known
12178 to work.
12179 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
12180 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
12181
6fa6d675
CW
121822010-09-08 Colin Watson <cjwatson@ubuntu.com>
12183
12184 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
12185 starts with "(,", fill the drive containing the loaded image in
12186 between those two characters, but expect that a full partition
12187 specification including partition map names will follow.
12188
92f2aef0
RM
121892010-09-08 Robert Millan <rmh@gnu.org>
12190
12191 * configure.ac: Remove `--enable-grub-fstest' option.
12192 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
12193
12194 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
12195 `grub-fstest' instead of `grub-probe' for readability verification.
12196 * util/grub-probe.c (probe): Remove readability verification kludge.
12197
99fd620d
RM
121982010-09-08 Robert Millan <rmh@gnu.org>
12199
12200 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
12201 initializing `GRUB_FS'.
12202
058e30ac 122032010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
12204
12205 Not command (!) support to GRUB script.
12206
12207 * tests/grub_script_not.in: New test.
12208 * Makefile.util.def: Rules for new test.
12209
12210 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
12211 ! command as a special case.
12212 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
12213
b61d05ed 122142010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
12215
058e30ac 12216 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
12217 grub_free.
b61d05ed 12218
4d69c786 122192010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
12220
12221 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
12222
aa3119c4 122232010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
12224
12225 * docs/grub.texi (Shell-like scripting): Documentation for break,
12226 continue, shift and return commands.
12227
db0f7e3d
VS
122282010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
12229
12230 Rename CD-ROM to cd on BIOS.
12231
12232 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
12233 "cd".
12234 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
12235
88b87c93
VS
122362010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12237
12238 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
12239 * util/grub-probe.c (main): Likewise.
12240 * util/i386/pc/grub-setup.c (main): Likewise.
12241 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
12242 Reported and debugged by: alexxy
12243
294f324d
VS
122442010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12245
12246 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
12247 diagnostic info.
12248
d7ee3441
JS
122492010-09-05 Jo Shields <directhex@apebox.org>
12250
12251 * util/grub.d/30_os-prober.in: Add missing classes.
12252
d7e06c1f
VS
122532010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12254
12255 * docs/grub.texi (Theme file format): Document new position format.
12256
fc157e53
VS
122572010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12258
12259 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
12260 a table. Use @code instead of @verbatim.
12261
506e9a1c
CB
122622010-09-05 Colin D Bennett <colin@gibibit.com>
12263
12264 Gfxmenu documentation.
12265
12266 * docs/grub.texi (Theme file format): New chapter.
12267
f0aff67c
SJ
122682010-09-05 Szymon Janc <szymon@janc.net.pl>
12269
12270 * grub-core/Makefile.core.def (xzio): New module.
12271 * grub-core/io/xzio.c: New file.
12272 * grub-core/lib/xzembed/xz.h: New file (from xembed).
12273 * grub-core/lib/xzembed/xz_config.h: Likewise.
12274 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
12275 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
12276 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
12277 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
12278 * grub-core/lib/xzembed/xz_private.h: Likewise.
12279 * grub-core/lib/xzembed/xz_stream.h: Likewise.
12280 * include/grub/file.h (grub_file_filter_id): New compression filter
12281 GRUB_FILE_FILTER_XZIO.
12282
82a85062
VS
122832010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12284
12285 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
12286 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
12287 size.
12288
3579415d
VS
122892010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12290
12291 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
12292 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
12293
5124ae6d
VS
122942010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12295
12296 Uncompressed checksum support.
12297
12298 * grub-core/commands/hashsum.c (options): Add option --uncompress.
12299 (check_list): New parameter uncompress.
12300 (grub_cmd_hashsum): Handle --uncompress.
12301
9aadb3d1
VS
123022010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12303
12304 Reintroduce testload.
12305
12306 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
12307 from here ...
12308 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
12309 (GRUB_MOD_INIT): New function.
12310 (GRUB_MOD_FINI): Likewise.
12311 * grub-core/Makefile.core.def (testload): New module.
12312
a17792c3
SJ
123132010-09-05 Szymon Janc <szymon@janc.net.pl>
12314
12315 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
12316 (uint8_t): New type.
12317 (uint16_t): Likewise.
12318 (uint32_t): Likewise.
12319 (uint64_t): Likewise.
12320
b81e40a3
SJ
123212010-09-05 Szymon Janc <szymon@janc.net.pl>
12322
12323 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
12324
fc2ef117
VS
123252010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12326
12327 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
12328 Made static.
12329 (grub_gzfile_open): Removed. All users updated.
12330 (GRUB_MOD_INIT): New function.
12331 (GRUB_MOD_FINI): Likewise.
12332 * grub-core/kern/file.c (grub_file_filters_all): New variable.
12333 (grub_file_filters_enabled): Likewise.
12334 (grub_file_open): Handle filters.
12335 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
12336 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
12337 * include/grub/file.h (grub_file_filter_id_t): New type.
12338 (grub_file_filter_t): Likewise.
12339 (grub_file_filters_all): New extern variable.
12340 (grub_file_filters_enabled): Likewise.
12341 (grub_file_filter_register): New inline function.
12342 (grub_file_filter_unregister): Likewise.
12343 (grub_file_filter_disable): Likewise.
12344 (grub_file_filter_disable_compression): Likewise.
12345 * include/grub/gzio.h: Removed.
12346
35ee15e0
BC
123472010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12348
12349 Filename expansion support for wildcards in GRUB script.
12350
12351 * tests/grub_script_expansion.in: New test.
12352 * Makefile.util.def: Rule for new test.
12353
12354 * grub-core/commands/wildcard.c: New file, implements filename
12355 expansion support for GRUB script.
12356 * grub-core/Makefile.core.def: Rule update for regexp.mod.
12357 * grub-core/script/argv.c: Cosmetic changes.
12358 * grub-core/script/execute.c (grub_script_arglist_to_argv):
12359 Refactored to perform wildcard expansion on arguments.
12360 * include/grub/script_sh.h (grub_script_wildcard_translator): New
12361 struct.
12362
12363 * tests/util/grub-shell.in: Fix quoting for read input.
12364
5f0c4aca
BC
123652010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12366
12367 Support for updating environment variables with matched substrings
12368 of regexp.
12369
12370 * tests/grub_cmd_regexp.in: New test.
12371 * Makefile.util.def: Rule for new test.
12372
12373 * grub-core/commands/regexp.c: New option -s to update environment
12374 variables with regexp matches.
12375
3759a35f
SJ
123762010-09-04 Szymon Janc <szymon@janc.net.pl>
12377
12378 * include/grub/file.h (grub_file): New member not_easly_seekable.
12379 (grub_file_seekable): New inline function.
12380 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
12381 easily seekable.
12382 (grub_gzio_open): Set not_easly_seekable.
12383 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
12384 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
12385
ed8c6dec
BC
123862010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12387
12388 Support for options to appear multiple times on cmdline.
12389
12390 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
12391 * grub-core/commands/extcmd.c: Support for repeatable option.
12392 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
12393 repeatable option support.
12394
12395 Refactor menuentry into a regular command.
12396
12397 * grub-core/commands/menuentry.c: New file, menuentry command
12398 implementation.
12399 * grub-core/Makefile.core.def: Rule update for normal.mod.
12400 * grub-core/normal/main.c: Moved menuentry creation to
12401 grub-core/commands/menuentry.c.
12402 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
12403 (grub_menu_execute_entry_real): Removed.
12404 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
12405 function.
12406 (grub_script_execute_menuentry): Removed.
12407 * grub-core/script/parser.y (menuentry): Removed.
12408 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
12409 * grub-core/script/yylex.l (menuentry): Removed.
12410 * include/grub/menu.h (grub_menu_init): New prototype.
12411 (grub_menu_fini): New prototype.
12412 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
12413 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
12414 (grub_script_execute_sourcecode): New prototype.
12415
dacd0cf0
BC
124162010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12417
12418 "return" command for GRUB script functions.
12419
12420 * tests/grub_script_return.in: New test.
12421 * Makefile.util.def: Rules for new test.
12422
12423 * grub-core/script/execute.c (grub_script_return): New function.
12424 * grub-core/script/main.c: Register/unregister return commaond.
12425 * include/grub/script_sh.h (grub_script_return): New prototype.
12426
52e72f9d
BC
124272010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12428
12429 "setparams" command to update positional parameters.
12430
12431 * tests/grub_script_setparams.in: New test.
12432 * Makefile.util.def: Rules for new test.
12433
12434 * grub-core/script/argv.c (grub_script_argv_make): New function.
12435 * grub-core/script/execute.c (replace_scope): New function.
12436 (grub_script_setparams): New function.
12437 * grub-core/script/lexer.c: Remove unused variables.
12438 * grub-core/script/main.c: Register/unregister setparams command.
12439 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
12440 (grub_script_setparams): New prototype.
12441
25b60c91
BC
124422010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12443
12444 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
12445 grub_free order.
12446
37e7bf68
BC
124472010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12448
12449 Support for passing block of commands as an argument to extcmds.
12450
12451 * Makefile.util.def: Rules for new test.
12452 * tests/grub_script_blockarg.in: New test.
12453 * grub-core/tests/test_blockarg.c: New file, block argument
12454 command used in the test.
12455
12456 * include/grub/extcmd.h (grub_extcmd_context): New struct.
12457 (grub_register_extcmd_prio): New function prototype.
12458 (grub_extcmd_dispatcher): New function prototype.
12459 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
12460 type.
12461 * include/grub/script_sh.h (struct grub_script): New members
12462 `children', `next_siblings' and `refcnt' for block arguments and
12463 reference counting.
12464 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
12465 (grub_script_arg): New member `script' for block argument.
12466 (grub_script_argv): New member `script' for block argument.
12467 (grub_parser_param): New member `scripts' for block argument.
12468 (grub_script_mem_free): New extern function prototype.
12469 (grub_script_ref): New function prototype.
12470 (grub_script_unref): New function prototype.
12471
12472 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
12473 extcmd form to support block arguments.
12474 * grub-core/script/argv.c: Block arguments support.
12475 * grub-core/script/execute.c: Likewise.
12476 * grub-core/script/lexer.c: Likewise.
12477 * grub-core/script/main.c: Likewise.
12478 * grub-core/script/script.c: Likewise.
12479 * grub-core/script/parser.y: Likewise. New `block' and `block0'
12480 non-terminals.
12481
12482 * grub-core/commands/acpi.c: Update extcmd implementations with
12483 grub_extcmd_context_t.
12484 * grub-core/commands/cat.c: Likewise.
12485 * grub-core/commands/echo.c: Likewise.
12486 * grub-core/commands/extcmd.c: Likewise.
12487 * grub-core/commands/hashsum.c: Likewise.
12488 * grub-core/commands/hdparm.c: Likewise.
12489 * grub-core/commands/help.c: Likewise.
12490 * grub-core/commands/hexdump.c: Likewise.
12491 * grub-core/commands/i386/cpuid.c: Likewise.
12492 * grub-core/commands/i386/pc/drivemap.c: Likewise.
12493 * grub-core/commands/i386/pc/halt.c: Likewise.
12494 * grub-core/commands/i386/pc/sendkey.c: Likewise.
12495 * grub-core/commands/iorw.c: Likewise.
12496 * grub-core/commands/keystatus.c: Likewise.
12497 * grub-core/commands/loadenv.c: Likewise.
12498 * grub-core/commands/ls.c: Likewise.
12499 * grub-core/commands/lspci.c: Likewise.
12500 * grub-core/commands/memrw.c: Likewise.
12501 * grub-core/commands/probe.c: Likewise.
12502 * grub-core/commands/search_wrap.c: Likewise.
12503 * grub-core/commands/setpci.c: Likewise.
12504 * grub-core/commands/sleep.c: Likewise.
12505 * grub-core/disk/loopback.c: Likewise.
12506 * grub-core/hello/hello.c: Likewise.
12507 * grub-core/loader/i386/bsd.c: Likewise.
12508 * grub-core/loader/xnu.c: Likewise.
12509 * grub-core/term/gfxterm.c: Likewise.
12510 * grub-core/term/serial.c: Likewise.
12511 * grub-core/tests/lib/functional_test.c: Likewise.
12512
888d1500
BC
125132010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12514
12515 Multi-line quoted strings support.
12516
12517 * grub-core/script/lexer.c (append_newline): Removed.
12518 (grub_script_lexer_yywrap): Refactored.
12519 (grub_script_lexer_init): Refactored.
12520 * grub-core/script/yylex.l (yywrap): New function.
12521 (grub_lexer_resplit): New function.
12522 (grub_lexer_unput): New function.
12523 * include/grub/script_sh.h (grub_lexer_param): New members, unput
12524 and resplit.
12525 * tests/grub_script_echo1.in: Added few more testcases.
12526
dda060dd
VS
125272010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
12528
12529 * grub-core/kern/misc.c: Don't add abort alias in utils.
12530 Reported by: echoline.
12531
6556eba9
BC
125322010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
12533
12534 Add missing files into "make dist" tarball for other platforms.
12535
12536 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
12537 * conf/Makefile.common (dist_noinst_DATA): New variable.
12538 * conf/Makefile.extra-dist: Added missing make dist files.
12539 * grub-core/Makefile.core.def: Likewise.
12540
c8e7bf5f
VS
125412010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
12542
12543 Compress grub_prefix.
12544
12545 * grub-core/boot/i386/pc/lnxboot.S: Use
12546 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
12547 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
12548 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
12549 GRUB_MACHINE_PREFIX_END. All users updated.
12550 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
12551 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
12552 + 0x40.
12553 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
12554 * util/grub-mkimage.c (image_target_desc): Change data_end to
12555 prefix_end. All users updated.
12556
a7c00cdb
VS
125572010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
12558
12559 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
12560 value.
12561 (grub_openbsd_boot): Likewise.
12562 (grub_netbsd_boot): Likewise.
12563 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
12564 (grub_xnu_boot): Likewise.
12565
9f915872
VS
125662010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12567
12568 * configure.ac: Clean LIBS variable after tests.
12569
efa1bee7
CW
125702010-09-02 Colin Watson <cjwatson@ubuntu.com>
12571
12572 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
12573
61d720e5
VS
125742010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12575
12576 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
12577 echo if libdevmapper will be used.
12578
ef8e0ec8
IT
125792010-09-02 Ian Turner <Ian.Turner@deshaw.com>
12580
12581 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
12582 constant for the same file.
12583
03e261d8
VS
125842010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12585
12586 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
12587
c2a4eba6
CW
125882010-09-02 Colin Watson <cjwatson@ubuntu.com>
12589
12590 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
12591 grub-core/*.pp.
12592
9056cbf3
CW
125932010-09-02 Colin Watson <cjwatson@ubuntu.com>
12594
12595 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
12596 required by the boot protocol.
12597
12598 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
12599 ebp and edi members.
12600 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
12601 state.ebp and state.edi.
12602 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
12603 %ebp and %edi according to grub_relocator32_ebp and
12604 grub_relocator32_edi respectively.
12605 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
12606 and state.edi.
12607
529cc99a
VS
126082010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12609
12610 Add i386-pc-pxe image target.
12611
12612 * util/grub-mkimage.c (image_target_desc): New enum value
12613 IMAGE_I386_PC_PXE.
12614 (image_targets): New target i386-pc-pxe.
12615 (generate_image): Handle i386-pc-pxe image.
12616
9a093920
VS
126172010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12618
12619 Fix grub_pxe_scan.
12620
12621 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
12622 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
12623 All users updated.
12624 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
12625 (grub_pxe_pxenv): Correct type.
12626
f9cefc4e
CW
126272010-09-01 Colin Watson <cjwatson@ubuntu.com>
12628
12629 * NEWS: Document most of the important changes since 1.98.
12630
4066f57f
CW
126312010-09-01 Colin Watson <cjwatson@ubuntu.com>
12632
12633 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
12634 generated manual page) a little.
12635
da2891f9
CW
126362010-09-01 Colin Watson <cjwatson@ubuntu.com>
12637
12638 * docs/grub.texi: Add myself as an author.
12639
ad717fae
VS
126402010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
12641
12642 * Makefile.util.def (libgrub.a): Add missing sunpc.
12643 Reported by: Seth Goldberg.
12644
eefe8abd
VS
126452010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12646
12647 Interrupt wrapping and code simplifications.
12648
9494ef9a
VS
12649 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
12650 x86_noieee1275 which are functionaly equivalent in this case.
12651 (grub-install): Make source on each platform explicit. Enable on
12652 all noemu.
12653 * gentpl.py (x86_efi_pc): Removed group.
12654 (x86_noefi): Likewise.
12655 (i386_noefi): Likewise.
12656 (x86_noieee1275): Likewise.
12657 (i386_noieee1275): Likewise.
12658 (i386_noefi_noieee1275): Likewise.
12659 (i386_pc_qemu_coreboot): Likewise.
12660 (i386_coreboot_multiboot): Likewise.
12661 (i386_pc_coreboot_multiboot_qemu): Likewise.
12662 (x86_noefi_mips): Likewise.
12663 (noieee1275): Likewise.
12664 (ieee1275_mips): Likewise.
12665 (noemu_noieee1275): Likewise.
12666 (cmos): New group.
12667 (usb): Likewise.
12668 (videoinkernel): Likewise.
12669 (videomodules): Likewise.
eefe8abd 12670 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
12671 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
12672 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
12673 include/grub/loader.h, include/grub/msdos_partition.h,
12674 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
12675 include/grub/machine/console.h, include/grub/machine/vga.h,
12676 include/grub/machine/vbe.h, include/grub/machine/init.h,
12677 include/grub/machine/kernel.h, include/grub/cpu/time.h,
12678 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 12679 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
12680 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
12681 * grub-core/Makefile.core.def (kernel): Explicit the source for
12682 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
12683 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
12684 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
12685 Use videoinkernel tag.
12686 (usb): Enable on all usb.
12687 (usbserial_common): Likewise.
12688 (usbserial_pl2303): Likewise.
12689 (usbserial_ftdi): Likewise.
12690 (uhci): Enable on all x86.
12691 (ohci): Enable on all pci.
12692 (cmostest): Enable on all CMOS.
12693 (acpi): Include commands/acpi.c on all platforms.
12694 (halt): Add relevant lib/*/halt.c.
12695 (hdparm): Enable on all pci.
12696 (lspci): Likewise.
12697 (usbtest): Enable on all usb.
12698 (ata): Enable on all pci.
12699 (ata_pthru): Likewise.
12700 (usbms): Enable on all usb.
12701 (usb_keyboard): Likewise.
12702 (font): Use tag videomodules.
12703 (bufio): Likewise.
12704 (datetime): Use tag cmos. Enable on all noemu.
12705 (mmap): Use tags common and x86.
12706 (gfxterm): Use tag videomodules.
12707 (bitmap): Likewise.
12708 (bitmap_scale): Likewise.
12709 (video_fb): Likewise.
12710 (video): Likewise.
12711 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
12712 adjust padding accordingly. All users updated.
12713 (grub_ohci_transaction): Fix bad format specification.
12714 (GRUB_MOD_INIT): Add asserts for struct size.
12715 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
12716 (grub_alloc_td): Likewise.
12717 (grub_free_queue): Likewise.
12718 (grub_uhci_transfer): Likewise.
12719 (grub_uhci_transaction): Fix bad format specification.
12720 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
12721 (grub_usb_bulk_readwrite): Likewise.
12722 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
12723 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
12724 Made static.
12725 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
12726 Made static.
12727 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
12728 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
12729 Transformed into C.
12730 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
12731 Moved from here ...
12732 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
12733 ... here. Transformed into C. Made static.
12734 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
12735 Moved from here ...
12736 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
12737 ... here. Transformed into C. Made static.
12738 * grub-core/kern/i386/pc/startup.S
12739 (grub_biosdisk_check_int13_extensions): Moved from here ...
12740 * grub-core/disk/i386/pc/biosdisk.c
12741 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
12742 Made static.
12743 * grub-core/kern/i386/pc/startup.S
12744 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
12745 * grub-core/disk/i386/pc/biosdisk.c
12746 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
12747 Transformed into C. Made static.
12748 * grub-core/kern/i386/pc/startup.S
12749 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
12750 * grub-core/disk/i386/pc/biosdisk.c
12751 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
12752 Transformed into C. Made static.
12753 * grub-core/kern/i386/pc/startup.S
12754 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
12755 * grub-core/disk/i386/pc/biosdisk.c
12756 (grub_biosdisk_get_diskinfo_standard): ... here.
12757 Transformed into C. Made static.
12758 * grub-core/kern/i386/pc/startup.S
12759 (grub_biosdisk_get_num_floppies): Moved from here ...
12760 * grub-core/disk/i386/pc/biosdisk.c
12761 (grub_biosdisk_get_num_floppies): ... here.
12762 Transformed into C. Made static.
12763 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
12764 New function.
12765 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
12766 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
12767 Transformed into C. Made static.
12768 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
12769 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
12770 Transformed into C. Made static.
12771 * grub-core/kern/i386/ieee1275/init.c: Removed.
12772 * grub-core/kern/i386/misc.S: Likewise.
12773 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
12774 Splitted from here ...
12775 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
12776 Transformed into C. Made static. All users updated.
12777 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
12778 Transformed into C. Made static. All users updated.
12779 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
12780 Moved from here...
12781 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
12782 Transformed into C. Made static. All users updated.
12783 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
12784 Moved from here...
12785 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
12786 Transformed into C. Made static. All users updated.
12787 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
12788 Removed (replaced by C version).
12789 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
12790 Moved from here...
12791 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
12792 Transformed into C. Made static.
12793 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
12794 Moved from here...
12795 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
12796 ... here. Transformed into C.
12797 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
12798 Moved from here...
12799 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
12800 ... here. Transformed into C.
12801 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
12802 Moved from here...
12803 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
12804 ... here. Transformed into C. Made static.
12805 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
12806 Moved from here...
12807 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
12808 ... here. Transformed into C.
21ed554b
VS
12809 * grub-core/kern/i386/pc/startup.S
12810 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
12811 * grub-core/video/i386/pc/vbe.c
12812 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
12813 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
12814 Moved from here...
12815 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
12816 ... here. Transformed into C.
12817 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
12818 Moved from here...
12819 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
12820 ... here. Transformed into C.
12821 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
12822 Moved from here...
12823 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
12824 ... here. Transformed into C.
12825 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
12826 Moved from here...
12827 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
12828 ... here. Transformed into C.
12829 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
12830 Moved from here...
12831 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
12832 ... here. Transformed into C. Made static.
12833 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
12834 Moved from here...
12835 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
12836 ... here. Transformed into C. Made static.
12837 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
12838 Moved from here...
12839 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
12840 ... here. Transformed into C. Made static.
12841 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
12842 pxe_rm_entry as third argument.
12843 (grub_bios_interrupt): New function.
12844 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
12845 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
12846 of calling grub_stop.
12847 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
12848 * grub-core/lib/efi/halt.c (grub_halt): ...here.
12849 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
12850 * grub-core/lib/emu/halt.c (grub_halt): ... here.
12851 * grub-core/lib/i386/halt.c: Moved from here ...
12852 * grub-core/lib/i386/halt.c: ... here.
12853 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
12854 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
12855 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
12856 grub_stop_floppy.
12857 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
12858 * include/grub/i386/coreboot/init.h: Removed.
12859 * include/grub/i386/multiboot/init.h: Likewise.
12860 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
12861 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
12862 * include/grub/i386/pc/int.h: New file.
12863 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
12864 (grub_pxe_scan): Removed.
12865 (grub_pxe_call): Update prototype.
12866 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
12867 prototypes.
12868 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
12869 * include/grub/i386/qemu/init.h: Removed.
12870 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
12871 noreturn.
12872 (grub_halt): Likewise.
12873 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
12874 (grub_reboot): Likewise.
12875 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
12876 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
12877 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
12878
215dd471
RM
128792010-08-30 Robert Millan <rmh@gnu.org>
12880
12881 * NEWS: Document addition of ZFS support in `grub-install' and
12882 `grub-mkconfig'.
12883
ebd65b82
BC
128842010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
12885
12886 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
12887 dprintf output.
12888
11721d19
VS
128892010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12890
12891 Remove leftover embedding of font objects.
12892
12893 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
12894 * util/grub-install.in (font): Removed.
12895 * util/grub-mkimage.c (generate_image): Remove font support. All users
12896 updated.
12897
37837d4e
VS
128982010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12899
12900 Remove leftover embedding of font objects.
12901
12902 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
12903 * util/grub-install.in (font): Removed.
12904 * util/grub-mkimage.c (generate_image): Remove font support. All users
12905 updated.
12906
b4c1aae0
VS
129072010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12908
12909 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 12910 Reported by: Ian Turner
b4c1aae0 12911
8920a08d
VS
129122010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12913
12914 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
12915 timeout to avoid indefinite boot stalling.
12916
f21db033
VS
129172010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12918
12919 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
12920 (grub_env_write_color_highlight): Likewise.
12921
9a9de209
VS
129222010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12923
12924 * grub-core/normal/term.c (print_more): Return to normal and not
12925 to standard state after printing "---MORE---".
12926
3dca01d7
VS
129272010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12928
12929 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
12930 Mask out the bit 0x80 since it has other meaning that specifiing color.
12931
0b986c40
VS
129322010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12933
12934 New relocator. Allows for more kernel support and more straightforward
12935 loader writing.
12936
12937 * Makefile.am (BOOTTARGET): New variable.
12938 (QEMU32): Likewise.
12939 (linux.init.x86_64): New target.
12940 (linux.init.i386): Likewise.
12941 (multiboot.elf): Likewise.
12942 (kfreebsd.elf): Likewise.
12943 (kfreebsd.aout): Likewise.
12944 (pc-chainloader.elf): Likewise.
12945 (pc-chainloader.bin): Likewise.
12946 (ntldr.elf): Likewise.
12947 (ntldr.bin): Likewise.
12948 (multiboot2.elf): Likewise.
12949 (kfreebsd.init.x86_64): Likewise.
12950 (kfreebsd.init.i386): Likewise.
12951 (knetbsd.init.i386): Likewise.
12952 (kopenbsd.init.i386): Likewise.
12953 (knetbsd.init.x86_64): Likewise.
12954 (kopenbsd.init.x86_64): Likewise.
12955 (linux-initramfs.i386): Likewise.
12956 (linux-initramfs.x86_64): Likewise.
12957 (kfreebsd-mfsroot.i386.img): Likewise.
12958 (knetbsd.image.i386): Likewise.
12959 (kopenbsd.image.i386): Likewise.
12960 (kopenbsd.image.x86_64): Likewise.
12961 (knetbsd.miniroot-image.i386.img): Likewise.
12962 (kfreebsd-mfsroot.x86_64.img): Likewise.
12963 (knetbsd.image.x86_64): Likewise.
12964 (knetbsd.miniroot-image.x86_64.img): Likewise.
12965 (kfreebsd-mfsroot.i386.gz): Likewise.
12966 (bootcheck-kfreebsd-i386): Likewise.
12967 (kfreebsd-mfsroot.x86_64.gz): Likewise.
12968 (bootcheck-kfreebsd-x86_64): Likewise.
12969 (knetbsd.miniroot-image.i386.gz): Likewise.
12970 (bootcheck-knetbsd-i386): Likewise.
12971 (bootcheck-kopenbsd-i386): Likewise.
12972 (bootcheck-kopenbsd-x86_64): Likewise.
12973 (knetbsd.miniroot-image.x86_64.gz): Likewise.
12974 (bootcheck-knetbsd-x86_64): Likewise.
12975 (bootcheck-linux-i386): Likewise.
12976 (bootcheck-linux-x86_64): Likewise.
12977 (bootcheck-linux16-i386): Likewise.
12978 (bootcheck-linux16-x86_64): Likewise.
12979 (bootcheck-multiboot): Likewise.
12980 (bootcheck-multiboot2): Likewise.
12981 (bootcheck-kfreebsd-aout): Likewise.
12982 (bootcheck-pc-chainloader): Likewise.
12983 (bootcheck-ntldr): Likewise.
12984 (CLEANFILES): Add new targets.
12985 (BOOTCHECKS): New variable.
12986 (.PHONY): Add bootchecks.
12987 (SUCCESSFUL_BOOT_STRING): New variable.
12988 (BOOTCHECK_TIMEOUT): Likewise.
12989 (bootcheck): New target
12990 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
12991 * configure.ac: Correct efiemu excuse.
12992 * docs/grub.texi (Supported kernels): New chapter.
12993 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
12994 include/grub/mm_private.h. Simplify inclusion of
12995 include/grub/boot.h, include/grub/loader.h
12996 and include/grub/msdos_partition.h
12997 (KERNEL_HEADER_FILES) [i386_coreboot]:
12998 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
12999 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
13000 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
13001 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
13002 include/grub/machine/loader.h.
13003 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
13004 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
13005 extra_dist.
13006 (pci.mod): Enable on i386-multiboot.
13007 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
13008 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
13009 i386-qemu.
13010 (relocator.mod): Rewritten.
13011 (aout.mod): Enable on all x86.
13012 (bsd.mod): Likewise.
13013 (ntldr.mod): New module.
13014 (linux.mod): Use loader/i386/linux.c on all x86.
13015 (xnu.mod): Enable on all x86.
13016 (vga_text.mod): disable on EFI and QEMU.
13017 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
13018 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
13019 * grub-core/efiemu/loadcore.c: Likewise.
13020 * grub-core/efiemu/main.c: Likewise.
13021 (grub_efiemu_exit_boot_services): Removed.
13022 (grub_efiemu_finish_boot_services): Likewise.
13023 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
13024 function.
13025 * grub-core/efiemu/i386/nocfgtables.c: New file.
13026 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
13027 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
13028 (grub_efi_finish_boot_services): Moved from here ...
13029 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
13030 Fille finish memory map and related data.
13031 (finish_mmap_buf): New variable.
13032 (grub_efi_uintn_t finish_mmap_size): Likewise.
13033 (grub_efi_uintn_t finish_key): Likewise.
13034 (grub_efi_uintn_t finish_desc_size): Likewise.
13035 (grub_efi_uint32_t finish_desc_version): Likewise.
13036 (grub_efi_is_finished): Likewise.
13037 (grub_efi_get_memory_map): Use saved memory map if EFI is already
13038 finished.
13039 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
13040 (grub_elf64_phdr_iterate): Likewise.
13041 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
13042 (grub_os_area_size): Likewise.
13043 (grub_machine_init): Don't reserve os area.
13044 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
13045 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
13046 * grub-core/kern/i386/loader.S: Removed.
13047 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
13048 (grub_os_area_size): Likewise.
13049 (grub_machine_init): Don't reserve os area.
13050 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
13051 Don't call grub_dl_unload_all.
13052 Don't include loader.S.
13053 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
13054 Declare the memory after _end as available.
13055 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 13056 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 13057 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
13058 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
13059 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
13060 * include/grub/mm_private.h (grub_mm_header): ... here.
13061 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
13062 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
13063 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
13064 (grub_mm_region): ..here. Removed addr. Added pre_size.
13065 All users updated.
13066 * grub-core/kern/mm.c (base): Renamed to ...
13067 (grub_mm_base): ... this. Made global.
13068 (grub_real_malloc): Alloc from end of region.
13069 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
13070 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
13071 * grub-core/kern/powerpc/cache_flush.S: ... here.
13072 * grub-core/lib/efi/relocator.c: New file.
13073 * grub-core/lib/i386/relocator.c: Rewritten.
13074 * grub-core/lib/i386/relocator16.S: New file.
13075 * grub-core/lib/i386/relocator32.S: Likewise.
13076 * grub-core/lib/i386/relocator64.S: Likewise.
13077 * grub-core/lib/i386/relocator_asm.S: Rewritten.
13078 * grub-core/lib/i386/relocator_common.S: New file.
13079 * grub-core/lib/ieee1275/relocator.c: Likewise.
13080 * grub-core/lib/mips/relocator.c: Rewritten.
13081 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
13082 stylistic adjustments.
13083 * grub-core/lib/powerpc/relocator.c: New file.
13084 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
13085 * grub-core/lib/relocator.c: Rewritten.
13086 * grub-core/lib/x86_64/relocator_asm.S: New file.
13087 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
13088 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
13089 (bsd_tag): New struct.
13090 (tags): New variable.
13091 (tags_last): Likewise.
13092 (netbsd_module): New struct.
13093 (netbsd_mods): New variable.
13094 (netbsd_mods_last): Likewise.
13095 (openbsd_opts): New parameter "serial".
13096 (OPENBSD_SERIAL_ARG): New definition.
13097 (netbsd_opts): New parameter "serial".
13098 (NETBSD_SERIAL_ARG): New definition.
13099 (grub_freebsd_add_meta): Reorganised into ...
13100 (grub_bsd_add_meta): ...this. All users updated.
13101 (grub_freebsd_add_mmap): Reorganised into ...
13102 (generate_e820_mmap): ...this...
13103 (grub_bsd_add_mmap): ...and this. All users updated.
13104 (grub_freebsd_list_modules): Use tags.
13105 (grub_netbsd_add_meta_module): New function.
13106 (grub_netbsd_list_modules): Likewise.
13107 (grub_freebsd_boot): Use relocator and finish EFI.
13108 (grub_openbsd_boot): Likewise.
13109 (grub_netbsd_setup_video): New function.
13110 (grub_netbsd_add_modules): Likewise.
13111 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
13112 and finish EFI.
13113 (grub_bsd_unload): Unload tags.
13114 (grub_bsd_load_aout): Use relocator.
13115 (grub_bsd_elf32_size_hook): New function.
13116 (grub_bsd_elf32_hook): Use relocator.
13117 (grub_bsd_elf64_size_hook): New function.
13118 (grub_bsd_elf64_hook): Use relocator.
13119 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
13120 (grub_bsd_load): Zero-out openbsd_ramdisk.
13121 (grub_bsd_load): Use relocator.
13122 (grub_cmd_openbsd): Support serial.
13123 (grub_cmd_netbsd): Support modules.
13124 (grub_cmd_freebsd_module): Use relocator.
13125 (grub_netbsd_module_load): New function.
13126 (grub_cmd_netbsd_module): Likewise.
13127 (grub_cmd_openbsd_ramdisk): Likewise.
13128 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
13129 kopenbsd_ramdisk.
13130 (GRUB_MOD_FINI): Unregister new commands.
13131 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
13132 (grub_freebsd_load_elfmodule_obj): Use relocator.
13133 (grub_freebsd_load_elfmodule): Likewise.
13134 (grub_freebsd_load_elf_meta): Likewise.
13135 (grub_netbsd_load_elf_meta): New function.
13136 (grub_openbsd_find_ramdisk): Likewise.
13137 * grub-core/loader/i386/bsd_helper.S: Removed.
13138 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
13139 * grub-core/loader/i386/bsd_trampoline.S: Removed.
13140 * grub-core/loader/i386/efi/linux.c: Likewise.
13141 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
13142 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
13143 (DEFAULT_VIDEO_MODE): Likewise.
13144 (real_mode_target): New variable.
13145 (prot_mode_target): Likewise.
13146 (initrd_mem_target): Likewise.
13147 (relocator): Likewise.
13148 (efi_mmap_buf): Likewise.
13149 (efi_mmap_size): Likewise.
13150 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
13151 (free_pages): Use relocator.
13152 (allocate_pages): Account for efi_mmap and use relocator. Return error.
13153 (grub_linux_setup_video): Return error.
13154 (grub_linux_trampoline_start): Removed.
13155 (grub_linux_trampoline_end): Likewise.
13156 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
13157 andd video parameters depending on firmware.
13158 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
13159 [GRUB_MACHINE_EFI]: Pass EFI parameters.
13160 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
13161 (grub_cmd_initrd): Use relocator.
13162 * grub-core/loader/i386/linux_trampoline.S: Removed.
13163 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
13164 (elf_sec_entsize): Likewise.
13165 (elf_sec_shstrndx): Likewise.
13166 (elf_sections): Likewise.
13167 (grub_multiboot_load): Use relocator.
13168 (grub_multiboot_get_mbi_size): Account for sections.
13169 (grub_multiboot_make_mbi): Use relocator and support sections.
13170 (grub_multiboot_add_elfsyms): New function.
13171 (grub_multiboot_free_mbi): Free sections.
13172 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
13173 (grub_linux_real_target): Likewise.
13174 (grub_linux_real_chunk): Likewise.
13175 (grub_linux16_prot_size): Likewise.
13176 (grub_linux16_boot): Use relocator.
13177 (grub_linux_unload): Unload relocator.
13178 (grub_cmd_linux): Use relocator.
13179 (grub_cmd_initrd): Likewise.
13180 * grub-core/loader/i386/pc/ntldr.c: New file.
13181 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
13182 Don't try to guess CPU frequency.
13183 (grub_xnu_set_video): Stretch bitmap.
13184 (grub_xnu_boot): Use relocator.
13185 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
13186 (grub_linux_unload): Free relocator.
13187 (grub_linux_load32): Use relocator.
13188 (grub_linux_load64): Likewise.
13189 (grub_cmd_initrd): Likewise.
13190 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
13191 (grub_multiboot_unload): Unload relocator.
13192 (grub_cmd_multiboot): Use relocator.
13193 (grub_cmd_module): Likewise.
13194 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
13195 Use relocator and support sections.
13196 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
13197 (elf_sec_entsize): Likewise.
13198 (elf_sec_shstrndx): Likewise.
13199 (elf_sections): Likewise.
13200 (grub_multiboot_load): Use relocator.
13201 (grub_multiboot_get_mbi_size): Account for sections.
13202 (grub_multiboot_make_mbi): Use relocator and support sections.
13203 (grub_multiboot_add_elfsyms): New function.
13204 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
13205 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
13206 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
13207 Prototype changed. All users updated.
13208 (grub_xnu_align_heap): Simplified.
13209 (grub_xnu_writetree_toheap): Likewise.
13210 (grub_xnu_unload): Unload relocator.
13211 (grub_cmd_xnu_kernel): Use relocator.
13212 (grub_cmd_xnu_kernel64): Likewise.
13213 (grub_xnu_register_memory): Simplified.
13214 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
13215 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
13216 EFI is finished.
13217 (grub_console_checkkey): Likewise.
13218 (grub_console_getkey): Likewise.
13219 (grub_console_getwh): Likewise.
13220 (grub_console_getxy): Likewise.
13221 (grub_console_gotoxy): Likewise.
13222 (grub_console_cls): Likewise.
13223 (grub_console_setcolorstate): Likewise.
13224 (grub_console_setcursor): Likewise.
13225 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
13226 * grub-core/tests/boot/kbsd.init-i386.S: New file.
13227 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
13228 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
13229 * grub-core/tests/boot/kernel-8086.S: Likewise.
13230 * grub-core/tests/boot/kernel-i386.S: Likewise.
13231 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
13232 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
13233 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
13234 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
13235 * grub-core/tests/boot/knetbsd.cfg: Likewise.
13236 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
13237 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
13238 * grub-core/tests/boot/linux.cfg: Likewise.
13239 * grub-core/tests/boot/linux.init-i386.S: Likewise.
13240 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
13241 * grub-core/tests/boot/linux16.cfg: Likewise.
13242 * grub-core/tests/boot/multiboot.cfg: Likewise.
13243 * grub-core/tests/boot/multiboot2.cfg: Likewise.
13244 * grub-core/tests/boot/ntldr.cfg: Likewise.
13245 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
13246 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
13247 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
13248 New definition.
13249 * include/grub/dl.h (grub_dl_unload_all): Removed.
13250 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
13251 (grub_efi_finish_boot_services): Change prototype.
13252 (grub_efi_is_finished): New variable.
13253 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
13254 Changed prototype.
13255 (grub_efiemu_finish_boot_services): Removed.
13256 (grub_machine_efiemu_init_tables): New prototype.
13257 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
13258 (grub_elf64_phdr_iterate): Likewise.
13259 * include/grub/i386/bsd.h: Include relocator.h.
13260 (freebsd_tag_header): New struct.
13261 (grub_openbsd_bios_mmap): Removed.
13262 (grub_unix_real_boot): Removed.
13263 (grub_freebsd_load_elfmodule32): Changed prototype.
13264 (grub_freebsd_load_elfmodule_obj64): Likewise.
13265 (grub_freebsd_load_elf_meta32): Likewise.
13266 (grub_freebsd_load_elf_meta64): Likewise.
13267 (grub_freebsd_add_meta): Removed.
13268 (grub_netbsd_load_elf_meta32): New prototype.
13269 (grub_netbsd_load_elf_meta64): Likewise.
13270 (grub_bsd_add_meta): Likewise.
13271 (grub_openbsd_ramdisk_descriptor): New struct.
13272 (grub_openbsd_find_ramdisk32): New prototype.
13273 (grub_openbsd_find_ramdisk64): Likewise.
13274 * include/grub/i386/coreboot/loader.h: Removed.
13275 * include/grub/i386/efi/loader.h: Likewise.
13276 * include/grub/i386/ieee1275/loader.h: Likewise.
13277 * include/grub/i386/linux.h (linux_kernel_header): Change void *
13278 to grub_uint32_t.
13279 * include/grub/i386/loader.h: Removed.
13280 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
13281 value.
13282 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
13283 (grub_phys_addr_t): New type.
13284 (grub_vtop): New inline function.
13285 (grub_map_memory): Likewise.
13286 (grub_unmap_memory): Likewise.
13287 * include/grub/i386/multiboot/loader.h: Removed.
13288 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
13289 (NETBSD_BTINFO_CONSOLE): New definition.
13290 (NETBSD_BTINFO_SYMTAB): Likewise.
13291 (NETBSD_BTINFO_MODULES): Likewise.
13292 (NETBSD_BTINFO_FRAMEBUF): Likewise.
13293 (grub_netbsd_bootinfo): New struct.
13294 (grub_netbsd_btinfo_common): Use explicit bitsize.
13295 (grub_netbsd_btinfo_mmap_entry): Removed.
13296 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
13297 (grub_netbsd_btinfo_bootdisk): New struct.
13298 (grub_netbsd_btinfo_symtab): Likewise.
13299 (grub_netbsd_btinfo_serial): Likewise.
13300 (grub_netbsd_btinfo_modules): Likewise.
13301 (grub_netbsd_btinfo_framebuf): Likewise.
13302 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
13303 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
13304 Likewise.
13305 (grub_openbsd_bootargs): Use explicit bitsize.
13306 (grub_openbsd_bootarg_console): New struct.
13307 (GRUB_OPENBSD_COM_MAJOR): New definition.
13308 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
13309 * include/grub/i386/pc/efiemu.h: Removed.
13310 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
13311 * include/grub/i386/qemu/loader.h: Removed.
13312 * include/grub/i386/relocator.h: Rewritten.
13313 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
13314 * include/grub/mips/memory.h: New file.
13315 * include/grub/mips/multiboot.h: Rewritten.
13316 * include/grub/mips/relocator.h: Rewritten.
13317 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
13318 (grub_vtop): New function.
13319 (grub_map_memory): Likewise.
13320 (grub_unmap_memory): Likewise.
13321 * include/grub/misc.h (ALIGN_DOWN): New definition.
13322 * include/grub/mm.h (grub_mm_check_real): New proto.
13323 (GRUB_MM_CHECK): New definition.
13324 * include/grub/mm_private.h: New file.
13325 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
13326 (grub_multiboot_get_mbi_size): Removed.
13327 (grub_multiboot_make_mbi): Change prottype.
13328 (grub_multiboot_set_accepts_video): New proto.
13329 (grub_multiboot_add_elfsyms): Likewise.
13330 (grub_multiboot_payload_eip): New variable.
13331 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
13332 New prototype.
13333 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
13334 New definition.
13335 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
13336 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
13337 * include/grub/powerpc/ieee1275/loader.h: Removed.
13338 * include/grub/powerpc/memory.h: New file.
13339 * include/grub/powerpc/relocator.h: Likewise.
13340 * include/grub/relocator.h: Likewise.
13341 * include/grub/relocator_private.h: Likewise.
13342 * include/grub/sparc64/ieee1275/loader.h: Removed.
13343 * include/grub/x86_64/memory.h: New file.
13344 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
13345 (grub_xnu_heap_malloc): Likewise.
13346 (grub_xnu_heap_real_start): Removed.
13347 (grub_xnu_heap_start): Likewise.
13348 (grub_xnu_relocator): New variable.
13349 (grub_xnu_heap_target_start): Likewise.
13350 * tests/util/grub-shell.in: Support non-pc.
13351 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 13352
5303b85d
VS
133532010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13354
13355 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
13356 on malloc error.
13357 (grub_bidi_logical_to_visual): Check that malloc succeded.
13358 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
13359 puts.
13360 (grub_xputs_normal): Likewise.
13361
d768d159
VS
133622010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13363
13364 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
13365 extra_dist.
13366
133672010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13368
13369 * grub-core/efiemu/runtime/efiemu.sh: Removed.
13370
5bf84df4
VS
133712010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13372
13373 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
13374
3626810e
VS
133752010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13376
13377 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
13378 dprintf.
13379
a7363f53
BC
133802010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
13381
13382 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
13383
902f75f6
VS
133842010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13385
13386 * grub-core/normal/term.c (print_more): Fix a memory leak.
13387 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
13388 (grub_xputs_normal): Likewise.
13389
3c707967
VS
133902010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13391
13392 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
13393 the begining of the string
13394
2053cc07
VS
133952010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13396
13397 * grub-core/script/script.c (grub_script_parse): Free parsed on
13398 failure.
13399
46422ebf
VS
134002010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13401
13402 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
13403 on failure.
13404
9e0fa3f6
VS
134052010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13406
13407 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
13408 return.
13409
3393cf16
VS
134102010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13411
13412 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
13413 (scroll_up): Fix a memory leak.
13414
b17540cb
VS
134152010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13416
13417 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
13418 errors.
13419
67140446
VS
134202010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
13421
13422 Handle USB pendrives exposed as floppies.
13423
13424 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
13425 floppy.
13426 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
13427 Check for partitions on all devices.
13428
e35e46fc
VS
134292010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13430
13431 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
13432 (readkey): Likewise.
13433
d24c6190
BC
134342010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
13435
13436 Multiple variable names support to "export" command.
13437
13438 * normal/context.c (grub_cmd_export): "export" command supports
13439 multiple variable names.
13440
04ddcc6a
ST
134412010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
13442
13443 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
13444 --target=drive output to Mach device name.
13445
0c8b61d8
BC
134462010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
13447
13448 New Automake based build system for GRUB.
13449
13450 * ABOUT-NLS: New file.
13451 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
13452 in Makefile.util.def file.
13453 * Makefile.util.def: New file. Autogen build definitions file for
13454 GRUB host utils.
13455 * conf/Makefile.common: New file. Common variables for GRUB host
13456 utils and target modules.
13457 * conf/Makefile.extra-dist: New file. Extra files for make dist.
13458 * docs/Makefile.am: New file. Automake file for docs.
13459 * gentpl.py: New file. Python script to generate Autogen
13460 template.
13461 * grub-core/Makefile.am: New file. GRUB target modules' rules
13462 that doesn't fit in Makefile.core.def file.
13463 * grub-core/Makefile.core.def: New file. Autogen build
13464 definitions file for GRUB target modules.
13465 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
13466 specific setjmp.S file.
13467 * po/Makefile.am: New file.
13468
13469 * .bzrignore: New ignores.
13470 * INSTALL: New requirements, without Ruby.
13471 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
13472 * autogen.sh: Updated to invoke autogen as necessary.
13473 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
13474 and defines for Automake conditionals.
13475 * geninit.sh: Refactoring.
13476
13477 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
13478 necessary.
13479 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
13480 New prototype.
13481
13482 * include/grub/test.h: Fix functional test modules' naming.
13483 * grub-core/tests/example_functional_test.c: Fix test module name.
13484
13485 * util/misc.c: Hosted versions' of grub functions for libgrub.a
13486 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
13487 * util/grub-editenv.c: Likewise.
13488 * util/grub-fstest.c: Likewise.
13489 * util/grub-mkdevicemap.c: Likewise.
13490 * util/grub-mkfont.c: Likewise.
13491 * util/grub-mkimage.c: Likewise.
13492 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13493 * util/grub-probe.c: Likewise.
13494 * util/grub-script-check.c: Likewise.
13495 * util/i386/pc/grub-setup.c: Likewise.
13496 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13497
13498 * tests/util/grub-shell.in: Fix override directory path.
13499 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
13500 * util/import_gcry.py: Create Makefile.gcry.def file instead.
13501
13502 * util/lvm.c: Update #includes.
13503 * util/raid.c: Likewise.
13504 * util/resolve.c: Likewise.
13505 * grub-core/bus/emu/pci.c: Likewise.
13506 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
13507 * grub-core/lib/posix_wrap/string.h: Likewise.
13508 * grub-core/kern/emu/main.c: Likewise.
13509
13510 * grub-core/gensymlist.sh: New file. Script for generating kernel
13511 symbols file.
13512 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
13513
13514 * grub-core/gentrigtables.c: Fix unused variable warnings.
13515
13516 * Makefile.in: Removed.
13517 * conf/any-emu.rmk: Removed.
13518 * conf/common.rmk: Removed.
13519 * conf/i386-coreboot.rmk: Removed.
13520 * conf/i386-efi.rmk: Removed.
13521 * conf/i386-ieee1275.rmk: Removed.
13522 * conf/i386-multiboot.rmk: Removed.
13523 * conf/i386-pc.rmk: Removed.
13524 * conf/i386-qemu.rmk: Removed.
13525 * conf/i386.rmk: Removed.
13526 * conf/mips-yeeloong.rmk: Removed.
13527 * conf/mips.rmk: Removed.
13528 * conf/powerpc-ieee1275.rmk: Removed.
13529 * conf/sparc64-ieee1275.rmk: Removed.
13530 * conf/tests.rmk: Removed.
13531 * conf/x86-efi.rmk: Removed.
13532 * conf/x86_64-efi.rmk: Removed.
13533 * gendistlist.sh: Removed.
13534 * geninitheader.sh: Removed.
13535 * genkernsyms.sh.in: Removed.
13536 * genmk.rb: Removed.
13537 * gensymlist.sh.in: Removed.
13538 * mkinstalldirs: Removed.
13539 * boot: Moved ...
13540 * grub-core/boot: ... to here.
13541 * bus: Moved ...
13542 * grub-core/bus: ... to here.
13543 * commands: Moved ...
13544 * grub-core/commands: ... to here.
13545 * disk: Moved ...
13546 * grub-core/disk: ... to here.
13547 * efiemu: Moved ...
13548 * grub-core/efiemu: ... to here.
13549 * font: Moved ...
13550 * grub-core/font: ... to here.
13551 * fs: Moved ...
13552 * grub-core/fs: ... to here.
13553 * gencmdlist.sh: Moved ...
13554 * grub-core/gencmdlist.sh: ... to here.
13555 * genemuinit.sh: Moved ...
13556 * grub-core/genemuinit.sh: ... to here.
13557 * genemuinitheader.sh: Moved ...
13558 * grub-core/genemuinitheader.sh: ... to here.
13559 * genfslist.sh: Moved ...
13560 * grub-core/genfslist.sh: ... to here.
13561 * genhandlerlist.sh: Moved ...
13562 * grub-core/genhandlerlist.sh: ... to here.
13563 * genmoddep.awk: Moved ...
13564 * grub-core/genmoddep.awk: ... to here.
13565 * genmodsrc.sh: Moved ...
13566 * grub-core/genmodsrc.sh: ... to here.
13567 * genpartmaplist.sh: Moved ...
13568 * grub-core/genpartmaplist.sh: ... to here.
13569 * genparttoollist.sh: Moved ...
13570 * grub-core/genparttoollist.sh: ... to here.
13571 * genterminallist.sh: Moved ...
13572 * grub-core/genterminallist.sh: ... to here.
13573 * gentrigtables.c: Moved ...
13574 * grub-core/gentrigtables.c: ... to here.
13575 * genvideolist.sh: Moved ...
13576 * grub-core/genvideolist.sh: ... to here.
13577 * gettext: Moved ...
13578 * grub-core/gettext: ... to here.
13579 * gfxmenu: Moved ...
13580 * grub-core/gfxmenu: ... to here.
13581 * gnulib: Moved ...
13582 * grub-core/gnulib: ... to here.
13583 * hello: Moved ...
13584 * grub-core/hello: ... to here.
13585 * hook: Moved ...
13586 * grub-core/hook: ... to here.
13587 * io: Moved ...
13588 * grub-core/io: ... to here.
13589 * kern: Moved ...
13590 * grub-core/kern: ... to here.
13591 * lib: Moved ...
13592 * grub-core/lib: ... to here.
13593 * loader: Moved ...
13594 * grub-core/loader: ... to here.
13595 * mmap: Moved ...
13596 * grub-core/mmap: ... to here.
13597 * normal: Moved ...
13598 * grub-core/normal: ... to here.
13599 * partmap: Moved ...
13600 * grub-core/partmap: ... to here.
13601 * parttool: Moved ...
13602 * grub-core/parttool: ... to here.
13603 * script: Moved ...
13604 * grub-core/script: ... to here.
13605 * term: Moved ...
13606 * grub-core/term: ... to here
13607 * tests/example_functional_test.c: Moved ...
13608 * grub-core/tests/example_functional_test.c: ... to here.
13609 * tests/lib/functional_test.c: Moved ...
13610 * grub-core/tests/lib/functional_test.c: ... to here.
13611 * tests/lib/test.c: Moved ...
13612 * grub-core/tests/lib/test.c: ... to here.
13613 * video: Moved ...
13614 * grub-core/video: ... to here.
13615
645586e6
BC
136162010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
13617
13618 Replace --enable-grub-emu-modules with grub-emu-lite.
13619
13620 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
13621 cache.S.
13622
13623 * include/grub/emu/misc.h (grub_emu_init): New prototype.
13624 * kern/emu/full.c: New file. For grub-emu specific initialization.
13625 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
13626 * kern/emu/main.c: Call initialization function grub_emu_init.
13627
13628 * Makefile.in: Include grub-emu-lite in install.
13629 * commands/parttool.c: Use grub_no_autoload to differentiate
13630 between grub-emu and grub-emu-lite.
13631 * include/grub/misc.h: New variable grub_no_autoload.
13632
13633 * conf/any-emu.rmk: New rules for grub-emu-lite.
13634 * configure.ac: Remove --enable-grub-emu-modules.
13635 * genmk.rb: Cleanup unnecessary rules.
13636 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
13637
13638 * normal/main.c: Don't load list files on grub-emu-lite.
13639 * util/misc.c (grub_arch_sync_caches): Removed.
13640
f86a4030
CW
136412010-08-23 Colin Watson <cjwatson@ubuntu.com>
13642
13643 * kern/mips/startup.S (grub_prefix): Update comment to refer to
13644 grub-mkimage rather than grub-mkelfimage.
13645 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
13646
06776944
VS
136472010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
13648
13649 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
13650 a key after CapsLock or NumLock. It's just a qemu bug.
13651
df262419
VS
136522010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
13653
13654 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
13655 needed by libusb wrapper.
13656
b40ea81b
ST
136572010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
13658
13659 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
13660
dee50575
VS
136612010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
13662
13663 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
13664 --nounzip is passed.
13665
fb1d7b79
VS
136662010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
13667
13668 USB hotunplugging and USB serial support.
13669
13670 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
13671 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
13672 (grub_uhci_transfer): Respect timeout and set *actual.
13673 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
13674 non-standard length.
13675 (grub_usb_device_attach): Autoload modules.
13676 (GRUB_MOD_INIT): Set grub_term_poll_usb.
13677 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
13678 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
13679 users updated.
13680 (grub_usb_add_hub): Fill nports and children.
13681 (attach_root_port): Receive hub instead of controller.
13682 All users updated. Fill hub->devices.
13683 (grub_usb_root_hub): Allocate hub->devices.
13684 (detach_device): New function.
13685 (poll_nonroot_hub): Fill children and detach devices.
13686 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
13687 actual arguments. All users updated.
13688 (grub_usb_bulk_read_extended): New function.
13689 * bus/usb/serial/common.c: New file.
13690 * bus/usb/serial/ftdi.c: Likewise.
13691 * bus/usb/serial/pl2303.c: Likewise.
13692 * commands/terminal.c (handle_command): Support wildcard.
13693 * commands/usbtest.c: Output "Unknown" instead of empty string.
13694 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
13695 (usbserial_common_mod_SOURCES): New variable.
13696 (usbserial_common_mod_CFLAGS): Likewise.
13697 (usbserial_common_mod_LDFLAGS): Likewise.
13698 (pkglib_MODULES): Add usbserial_pl2303.mod.
13699 (usbserial_pl2303_mod_SOURCES): New variable.
13700 (usbserial_pl2303_mod_CFLAGS): Likewise.
13701 (usbserial_pl2303_mod_LDFLAGS): Likewise.
13702 (pkglib_MODULES): Add usbserial_ftdi.mod.
13703 (usbserial_ftdi_mod_SOURCES): New variable.
13704 (usbserial_ftdi_mod_CFLAGS): Likewise.
13705 (usbserial_ftdi_mod_LDFLAGS): Likewise.
13706 (pkglib_MODULES): Add serial.mod.
13707 (serial_mod_SOURCES): New variable.
13708 (serial_mod_CFLAGS): Likewise.
13709 (serial_mod_LDFLAGS): Likewise.
13710 * conf/i386-pc.rmk: Likewise.
13711 * conf/mips-yeeloong.rmk: Likewise.
13712 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
13713 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
13714 * disk/usbms.c (first_available_slot): New variable.
13715 (grub_usbms_attach): Don't reuse free slots due to potential cache
13716 problems.
13717 * include/grub/serial.h: Moved to ..
13718 * include/grub/ns8250.h: ...this.
13719 * include/grub/serial.h: New file.
13720 * include/grub/term.h (grub_term_poll_usb): New variable.
13721 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
13722 readkey. All users updated.
13723 (grub_terminfo_output_state): Pass term to put.
13724 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
13725 (grub_usb_controller_dev): Add timeout and actual arguments to
13726 transfer. All users updated.
13727 (grub_usb_interface): New field detach_data.
13728 (grub_usb_device): New fields children and nports.
13729 (grub_usb_ep_type_t): New type.
13730 (grub_usb_get_ep_type): New function.
13731 (grub_usb_bulk_read_extended): Likewise.
13732 * include/grub/usbdesc.h (grub_usb_desc): New type.
13733 * include/grub/usbserial.h: New file.
13734 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
13735 * kern/term.c (grub_term_poll_usb): New variable.
13736 (grub_getkey): Call grub_term_poll_usb if set.
13737 (grub_checkkey): Likewise.
13738 (grub_getkeystatus): Likewise.
13739 * term/serial.c: Moved controller-specific parts to ...
13740 * term/ns8250.c: ... here.
13741 * term/serial.c: Mostly rewritten.
13742 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
13743 according to spec.
13744
21a313de
RM
137452010-08-20 Robert Millan <rmh@gnu.org>
13746
13747 Make kFreeBSD code more generic to support ext2fs as root, ufs as
13748 a separate module and maybe other interesting combinations.
13749
13750 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
13751 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
13752 (kfreebsd_entry): Add generic filesystem module load routine.
13753 Map GRUB `ext2' to kFreeBSD `ext2fs'.
13754
63c734a6
CW
137552010-08-20 Colin Watson <cjwatson@ubuntu.com>
13756
13757 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
13758 "numcenter" (I misunderstood the purpose of this entry).
13759 * docs/grub.texi (sendkey): Likewise.
13760
c4d16542
CW
137612010-08-20 Colin Watson <cjwatson@ubuntu.com>
13762
13763 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
13764 status flag options; simply omitting the option is equivalent and
13765 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
13766 (keysym_table): Rename "num5numlock" to "numlock".
13767 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
13768 can uniformly say that only the last of multiple `sendkey'
13769 invocations has any effect.
13770 * docs/grub.texi (sendkey): New section.
13771
93541d66
CW
137722010-08-19 Colin Watson <cjwatson@ubuntu.com>
13773
13774 * commands/i386/pc/sendkey.c (options): Fix three typos.
13775
b4ece5e1
VS
137762010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13777
13778 Implement sendkey support.
13779
13780 * commands/i386/pc/sendkey.c: New file.
13781 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
13782 (sendkey_mod_SOURCES): New variable.
13783 (sendkey_mod_CFLAGS): Likewise.
13784 (sendkey_mod_LDFLAGS): Likewise.
13785
51f1f5af
CW
137862010-08-18 Colin Watson <cjwatson@ubuntu.com>
13787
13788 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
13789 fix warnings from Autoconf.
13790
9da94e05
CW
137912010-08-18 Colin Watson <cjwatson@ubuntu.com>
13792
13793 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
13794 to avoid false positives with some assemblers that output things
13795 like "someprefix_func" as part of their output.
13796
729a0f2e
RM
137972010-08-15 Robert Millan <rmh@gnu.org>
13798
13799 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
13800 errors.
13801 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
13802 grub_get_libzfs_handle() errors.
13803
f3710e08
RM
138042010-08-14 Robert Millan <rmh@gnu.org>
13805
13806 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
13807 filesystem is not ZFS.
13808
7a3c13de
BC
138092010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13810
13811 Fix for misspelled color names defaulting to black/black (bug
13812 reported by Doug Nazar)
13813
13814 * include/grub/normal.h (grub_parse_color_name_pair): Add return
13815 status to prototype.
13816 * normal/color.c (grub_parse_color_name_pair): Return failure
13817 status.
13818 (grub_env_write_color_normal): Ignore bad color names.
13819 (grub_env_write_color_highlight): Likewise.
13820 * normal/main.c (GRUB_MOD_INIT): Set default color names.
13821
ab8ba50d
BC
138222010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13823
13824 "shift" command support to GRUB script.
13825
13826 * include/grub/script_sh.h (grub_script_shift): New prototype.
13827 * script/execute.c (grub_script_shift): New function.
13828 * script/main.c (grub_script_init): Register shift command.
13829 (grub_script_fini): Unregister shift command.
13830 * util/grub-script-check.c (grub_script_cmd_shift): New function.
13831
13832 * tests/grub_script_shift.in: New testcase.
13833 * conf/tests.rmk: Rules for new testcase.
13834
4d61999e
BC
138352010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13836
13837 "continue" command support to GRUB script.
13838
13839 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
13840 (grub_script_break): Continue support.
13841 * script/main.c (grub_script_init): Register continue command.
13842 (grub_script_fini): Unregister continue command.
13843
13844 * tests/grub_script_continue.in: New testcase.
13845 * conf/tests.rmk: Rules for new testcase.
13846
4df51e00
BC
138472010-08-12 BVK Chaitanya <bvk@dbook>
13848
13849 "break" command support to GRUB script.
13850
13851 * conf/common.rmk: Rule updates to grub-script-check.
13852 * include/grub/misc.h (grub_min): New function.
13853 * include/grub/script_sh.h (grub_script_init): New prototype.
13854 (grub_script_fini): New prototype.
13855 (grub_script_break): New prototype.
13856 * script/main.c (grub_script_init): New function.
13857 (grub_script_fini): New function.
13858 * script/execute.c (grub_script_break): New function.
13859 * normal/main.c: Calls to grub_script_{init,fini}.
13860 * util/grub-script-check.c (grub_script_break): New function.
13861
13862 * tests/grub_script_break.in: New testcase.
13863 * conf/tests.rmk: Rules for new test case.
13864
f12c8420
BC
138652010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13866
13867 Function parameters support to GRUB script.
13868
13869 * script/yylex.l (VARIABLE): Regular expression update.
13870 * script/function.c (grub_script_function_call): Moved ...
13871 * script/execute.c (grub_script_function_call): ... to here.
13872 (grub_script_execute_arglist_to_argv): Removed.
13873 (grub_script_arglist_to_argv): New function.
13874 * script/argv.c: New file.
13875 (grub_script_argv_free): New function.
13876 (grub_script_argv_next): Likewise.
13877 (grub_script_argv_append): Likewise.
13878 (grub_script_argv_split_append): Likewise.
13879 * include/grub/script_sh.h (grub_script_argv): New struct.
13880 (grub_script_argv_free): New function.
13881 (grub_script_argv_next): Likewise.
13882 (grub_script_argv_append): Likewise.
13883 (grub_script_argv_split_append): Likewise.
13884
13885 * conf/common.rmk (normal.mod): New source script/argv.c.
13886
13887 * tests/grub_script_echo1.in: More tests.
13888 * tests/grub_script_vars1.in: Likewise.
13889 * tests/grub_script_functions.in: New test case.
13890 * conf/tests.rmk: Rules for new testcase.
13891
8022b748
BC
138922010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13893
13894 Remove grub_script_cmdblock struct.
13895
13896 * include/grub/script_sh.h: Remove grub_script_cmdblock.
13897 * script/parser.y: Likewise.
13898 * script/execute.c: Rename cmdblock suffix to cmdlist.
13899 * script/script.c: Likewise.
13900 * util/grub-script-check.c: Likewise.
13901
79a6ba61
YB
139022010-08-11 Yves Blusseau <blusseau@zetam.org>
13903
13904 * .bzrignore: add grub-macho2img
13905
d04b9414
VS
139062010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
13907
13908 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
13909
f947ab49
VS
139102010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
13911
13912 Remove the dump of sm712 initialisation sequence.
13913
13914 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
13915 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
13916 (GRUB_VGA_IO_MISC_WRITE): Likewise.
13917 (GRUB_VGA_CR_*): Added many registers.
13918 (GRUB_VGA_SR_*): Likewise.
13919 (GRUB_VGA_GR_*): Likewise.
13920 (grub_vga_write_arx): New function.
13921 (grub_video_hw_config): New struct.
13922 (grub_vga_set_geometry): New function.
13923 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
13924 GRUB_PCI_CLASS_SUBCLASS_VGA.
13925 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
13926 * video/sm712.c (grub_sm712_write_reg): New function
13927 (grub_sm712_read_reg): Likewise.
13928 (grub_sm712_sr_write): Likewise.
13929 (grub_sm712_gr_write): Likewise.
13930 (grub_sm712_cr_write): Likewise.
13931 (grub_sm712_write_arx): Likewise.
13932 (grub_sm712_cr_shadow_write): Likewise.
13933 (grub_sm712_write_dda_lookup): Likewise.
13934 (grub_video_sm712_setup): Initialise the video rather then
13935 blindly replay the dump.
13936 (main) [TEST]: Add a routine to be able to compile as standalone for
13937 tests.
13938 * video/sm712_init.c (sm712_init): Removed.
13939 (sm712_sr_seq1): New array.
13940 (sm712_sr_seq2): Likewise.
13941
f0206638
VS
139422010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
13943
13944 * include/grub/vga.h: Add missing grub/pci.h include.
13945
2764da3b
YB
139462010-08-10 Yves Blusseau <blusseau@zetam.org>
13947
13948 * util/grub-macho2img.c (main): fix typo
13949
cf0c775e
VS
139502010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
13951
13952 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
13953 (grub_vga_gr_read): Likewise.
13954 (grub_vga_cr_write): Likewise.
13955 (grub_vga_cr_read): Likewise.
13956 (grub_vga_sr_write): Likewise.
13957 (grub_vga_sr_read): Likewise.
13958 (grub_vga_palette_read): Likewise.
13959 (grub_vga_palette_write): Likewise.
13960 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
13961 (grub_sm712_sr_read): New function.
13962 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
13963 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
13964
07f360e9
RM
139652010-08-09 Robert Millan <rmh@gnu.org>
13966
13967 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
13968 out unused variables on non-ZFS build.
13969
346c2072
RM
139702010-08-08 Robert Millan <rmh@gnu.org>
13971
13972 Fix path generation for sub-filesystems in ZFS.
13973
13974 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
13975 missing slash.
13976
71175420
RM
139772010-08-08 Robert Millan <rmh@gnu.org>
13978
13979 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
13980
0d8286f3
RM
139812010-08-08 Robert Millan <rmh@gnu.org>
13982
13983 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
13984 exist, issue a proper error message (rely on `ls' for translated
13985 strings).
13986
55dd2924
RM
139872010-08-08 Robert Millan <rmh@gnu.org>
13988
13989 Fix grub-probe invocation.
13990
13991 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
13992
d3dd9e80
RM
139932010-08-04 Robert Millan <rmh@gnu.org>
13994
13995 * configure.ac: Remove checks for getfsstat() and getmntany().
13996 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
13997 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
13998 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
13999 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
14000 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
14001 function.
14002 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
14003 via find_mount_point_from_dir() and getfsstat() / getmntany().
14004
0de22aa9
RM
140052010-08-04 Robert Millan <rmh@gnu.org>
14006
14007 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
14008 (grub_find_zpool_from_mount_point): Merge into ...
14009 (grub_find_zpool_from_dir): ... this.
14010 * kern/emu/misc.c: Likewise.
14011
14012 * kern/emu/misc.c
14013 (grub_make_system_path_relative_to_its_root): Replace
14014 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
14015 with grub_find_zpool_from_dir().
14016 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
14017
62858144
RM
140182010-08-04 Robert Millan <rmh@gnu.org>
14019
14020 Support OpenSolaris in ZFS device resolution.
14021
14022 * configure.ac: Check for getmntany().
14023 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
14024 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
14025 support.
14026
9dd6fd50
RM
140272010-08-03 Robert Millan <rmh@gnu.org>
14028
14029 Fix grub-emu build.
14030
14031 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
14032 * include/grub/emu/misc.h: ... here.
14033
14034 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
14035 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
14036
14037 * util/misc.c: Remove `<grub/util/libzfs.h>'.
14038 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
14039 (grub_get_libzfs_handle): Move to ...
14040 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
14041 (grub_get_libzfs_handle): ... here.
14042
c9f7ff97
BC
140432010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
14044
14045 * script/execute.c (grub_script_execute_cmdline): Check for NULL
14046 as command name case.
14047
a870a783
CW
140482010-08-02 Colin Watson <cjwatson@ubuntu.com>
14049
14050 * disk/raid.c (insert_array): Select unique numbers for named arrays
14051 as well, for use as keys in the disk cache.
14052
c7db243b
RM
140532010-08-01 Robert Millan <rmh@gnu.org>
14054
14055 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
14056 kFreeBSD device name, except on ZFS where the filesystem label is
14057 used.
14058 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
14059 `/boot/zfs/zpool.cache'.
14060 Set mountfrom kernel variable using ${kfreebsd_device}.
14061
f7abdefb
RM
140622010-08-01 Robert Millan <rmh@gnu.org>
14063
14064 Make it even harder to use uninitialized `libzfs_handle' (and
14065 make the interface a bit simpler).
14066
14067 * include/grub/util/misc.h (grub_util_init_libzfs)
14068 (libzfs_handle): Remove.
14069 (grub_get_libzfs_handle): New prototype.
14070
14071 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
14072 attribute.
14073 (grub_util_init_libzfs): Remove.
14074 (grub_get_libzfs_handle): New function.
14075
14076 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
14077 grub_get_libzfs_handle() to obtain a libzfs handle instead of
14078 accessing `libzfs_handle' directly.
14079
c882acc0
RM
140802010-08-01 Robert Millan <rmh@gnu.org>
14081
14082 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
14083 (grub_find_zpool_from_mount_point): New function prototypes.
14084
14085 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
14086 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
14087
14088 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
14089 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
14090 `static' attribute.
14091
14092 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
14093 finding zpool from mount point into ...
14094 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
14095
14096 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
14097 requested path is part of a ZFS pool, use
14098 grub_find_zpool_from_mount_point() to detect its filesystem name,
14099 and generate a path with `/fsname@path' syntax.
14100
8bfe31d8
CW
141012010-08-01 Colin Watson <cjwatson@ubuntu.com>
14102
14103 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
14104 (void) rather than () so that this is a proper prototype.
14105
553df63d
VS
141062010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
14107
14108 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
14109
8687cf07
VS
141102010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
14111
14112 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
14113 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
14114
ea9be8ea
CW
141152010-08-01 Colin Watson <cjwatson@ubuntu.com>
14116
14117 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
14118
6eea041a
CW
141192010-08-01 Colin Watson <cjwatson@ubuntu.com>
14120
14121 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
14122
2cfb45df
CW
141232010-08-01 Colin Watson <cjwatson@ubuntu.com>
14124
14125 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
14126 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
14127 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
14128 disable gfxpayload.
14129 (Shell-like scripting): Add real content.
14130 (Serial terminal): Suggest `terminal_input serial; terminal_output
14131 serial' rather than putting the two commands on separate lines,
14132 since console input will be inoperative after the first command.
14133 (menuentry): Document --class, --users, and --hotkey options.
14134 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
14135 Vladimir Serbinenko).
14136
7decd202
VS
141372010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
141382010-08-01 Colin Watson <cjwatson@ubuntu.com>
14139
14140 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
14141
c882acc0
RM
141422010-08-01 Robert Millan <rmh@gnu.org>
14143
14144 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
14145 (grub_find_zpool_from_mount_point): New function prototypes.
14146
14147 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
14148 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
14149
14150 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
14151 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
14152 `static' attribute.
14153
14154 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
14155 finding zpool from mount point into ...
14156 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
14157
14158 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
14159 requested path is part of a ZFS pool, use
14160 grub_find_zpool_from_mount_point() to detect its filesystem name,
14161 and generate a path with `/fsname@path' syntax.
14162
deb0caa3
RM
141632010-08-01 Robert Millan <rmh@gnu.org>
14164
14165 Prevent accidental use of uninitialized libzfs_handle.
14166
14167 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
14168 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
14169 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
14170
ce04ef47
CW
141712010-08-01 Colin Watson <cjwatson@ubuntu.com>
14172
14173 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
14174 util/grub.d/10_linux.in). Fixes Debian bug #591093.
14175
ebf53056
RM
141762010-08-01 Robert Millan <rmh@gnu.org>
14177
14178 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 14179
3710bb6b
RM
141802010-07-31 Robert Millan <rmh@gnu.org>
14181
14182 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
14183
8072efeb
RM
141842010-07-31 Robert Millan <rmh@gnu.org>
14185
14186 * kern/emu/misc.c: Add missing license header.
14187
3169f4c7
RM
141882010-07-31 Robert Millan <rmh@gnu.org>
14189
14190 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
14191
14192 * include/grub/util/libnvpair.h: Include `<config.h>'.
14193 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
14194 declaring libnvpair prototypes ourselves.
14195 * include/grub/util/libzfs.h: Include `<config.h>'.
14196 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
14197 declaring libzfs prototypes ourselves.
14198
14199 (libzfs_handle): Moved to ...
14200 * include/grub/util/misc.h (libzfs_handle): ... here.
14201 Include `<grub/util/libzfs.h>'.
14202
c9a00aee
RM
142032010-07-30 Robert Millan <rmh@gnu.org>
14204
14205 * include/grub/emu/misc.h: Add missing license header.
14206
a184f9c8
RM
142072010-07-30 Robert Millan <rmh@gnu.org>
14208
14209 Enable `grub-probe -t device' resolution on ZFS.
14210
14211 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
14212 * include/grub/util/libnvpair.h: New file.
14213 * include/grub/util/libzfs.h: New file.
14214
14215 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
14216 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
14217 `<grub/util/libnvpair.h>'.
14218 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
14219
14220 (find_mount_point_from_dir): New static function.
14221 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
14222 function.
14223 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
14224 find_root_device_from_libzfs() before ressorting to find_root_device().
14225
14226 * include/grub/util/misc.h (grub_util_init_libzfs): New function
14227 prototype.
14228 * util/misc.c: Include `<grub/util/libzfs.h>'.
14229 (grub_util_init_libzfs): New function.
14230 [HAVE_LIBZFS] (libzfs_handle): New global variable.
14231 [HAVE_LIBZFS] (fini_libzfs): New static function.
14232 (grub_util_init_libzfs): New function.
14233 * util/grub-probe.c (main): Call grub_util_init_libzfs().
14234
f7790cdd
RM
142352010-07-30 Robert Millan <rmh@gnu.org>
14236
14237 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
14238 (xmalloc, xrealloc, xstrdup, xasprintf): Add
14239 `warn_unused_result' attribute.
14240 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
14241 (grub_xasprintf, grub_xvasprintf): Likewise.
14242 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
14243
0806b63c
RM
142442010-07-29 Robert Millan <rmh@gnu.org>
14245
14246 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
14247 (probe): Handle `PRINT_FS_LABEL'.
14248 (main): Handle `-t fs_label'.
14249
9f841f5c
RM
142502010-07-29 Robert Millan <rmh@gnu.org>
14251
14252 * configure.ac: Remove grub-mkisofs checks.
14253
46371121
VS
142542010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
14255
14256 * util/ieee1275/grub-install.in: Don't use empty grub_device.
14257 Reported by: Lennart Sorensen.
14258
142592010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14260
14261 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
14262 prior to terminal_input/terminal_output separation. It's been over 1.5
14263 years and those versions weren't widely deployed.
14264
a9600892
CW
142652010-07-22 Colin Watson <cjwatson@ubuntu.com>
14266
14267 * disk/raid.c (insert_array): Don't count named arrays when looking
14268 for unused array numbers.
697e053c 14269 Reported and tested by: Michael Guntsche.
a9600892 14270
c03507df
CW
142712010-07-20 Colin Watson <cjwatson@ubuntu.com>
14272
14273 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
14274 implementation of this so that grub-emu links again, with a note
14275 that this should support hotplugging in the future.
14276
b26f1c11
CW
142772010-07-20 Colin Watson <cjwatson@ubuntu.com>
14278
14279 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
14280
efc9d7f1
CW
142812010-07-20 Colin Watson <cjwatson@ubuntu.com>
14282
14283 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
14284 handle on failure.
14285 (grub_loopback_close): Remove empty function.
14286 (grub_loopback_dev): Remove close method.
14287
dd8ff5c9
CW
142882010-07-20 Colin Watson <cjwatson@ubuntu.com>
14289
14290 Disable EFI cursor when the EFI console becomes inactive.
14291
14292 * term/efi/console.c (grub_efi_console_init): New function.
14293 (grub_efi_console_fini): New function.
14294 (grub_console_term_output): Register init and fini methods.
14295
5e3bec67
VS
142962010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14297
14298 * tests/util/grub-shell-tester.in: Remove bashism and declare as
14299 sh script.
14300
afaec079
VS
143012010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14302
14303 * disk/loopback.c (grub_loopback): Replace filename with file.
14304 (delete_loopback): Handle new semantics.
14305 (grub_cmd_loopback): Likewise.
14306 (grub_loopback_iterate): Likewise.
14307 (grub_loopback_close): Likewise.
14308
a6a11f3c
VS
143092010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14310
14311 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
14312 with -p "".
14313 Reported by: Tito Keitel.
14314
64a638b0
VS
143152010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14316
14317 * docs/grub.texi (Naming convention): Document new naming convention.
14318
ab8ba957
VS
143192010-07-20 Vadim Solomin <vadic052@gmail.com>
143202010-07-20 Colin Watson <cjwatson@ubuntu.com>
14321
14322 Generate device.map in something closer to the old ordering.
14323
14324 * util/deviceiter.c (struct device): New declaration.
14325 (compare_file_names): Rename to ...
14326 (compare_devices): ... this. Sort by kernel name in preference to
14327 the stable by-id name, but keep the latter as a fallback comparison.
14328 Update header comment.
14329 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
14330 of `struct device' rather than of plain file names.
14331
a29d6a4b
TF
143322010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
14333
14334 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
14335 on i386.
14336
39d824e8
VS
143372010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14338
14339 * commands/acpi.c (setup_common_tables): Use sizeof instead of
14340 hardcoding size.
14341 (setv1table): Likewise.
14342
f058276b
FZ
143432010-07-20 Colin Watson <cjwatson@ubuntu.com>
14344
14345 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
14346 removing the homehost if present.
14347 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
14348 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
14349 removing the homehost if present.
14350 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
14351 if possible.
14352 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
14353
14354 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
14355 parameter. Set its pointer target to 0.
14356 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
14357 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
14358 `data_offset' value from the superblock for 1.x metadata.
14359 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
14360 data on the device.
14361 (insert_array): Record the start sector of data on the device.
14362 (grub_raid_register): Pass start_sector parameters to
14363 grub_raid_list->detect and insert_array.
14364 * include/grub/raid.h (struct grub_raid_array): Add start_sector
14365 member.
14366 (struct grub_raid): Add start_sector parameter to `detect'.
14367
14368 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
14369 __attribute__ ((packed)), leaving a comment.
14370 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
14371 (grub_mdraid_detect_09): ... here and ...
14372 (grub_mdraid_detect_1x): ... here.
14373
143742010-07-20 Peter Henn <peter.henn@web.de>
14375
14376 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
14377 chunk size and disk size, which are already given as sector counts
14378 as distinct from the 0.90 units. Fetch the correct device number
14379 from the role table instead of using the table index.
14380
143812010-07-20 Felix Zielcke <fzielcke@z-51.de>
14382
14383 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
14384 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
14385 (WriteMostly1): New macro.
14386 Set array->name to NULL for metadata format 0.90. Add support for
14387 metadata 1.x. Fix some comments.
14388 * disk/raid.c (): Add support for name based RAID arrays. Fix a
14389 few comments.
14390 * util/getroot.c (grub_util_get_grub_dev): Add support for
14391 /dev/md/name style devices.
14392
4b761da9
CW
143932010-07-20 Colin Watson <cjwatson@ubuntu.com>
14394
14395 * .bzrignore: Ignore 20_linux_xen.
14396
5771289a
CW
143972010-07-17 Colin Watson <cjwatson@ubuntu.com>
14398
14399 * util/import_unicode.py: Remove unnecessary imports.
14400
5dab68df
AN
144012010-07-17 Aleš Nesrsta <starous@volny.cz>
14402
14403 Hotplugging and USB hub support.
14404
14405 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
14406 (grub_ohci): Likewise.
14407 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
14408 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
14409 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
14410 (GRUB_OHCI_CTRL_EDS): Likewise.
14411 (GRUB_OHCI_BULK_EDS): Likewise.
14412 (GRUB_OHCI_TDS): Likewise.
14413 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
14414 (grub_ohci_ed_phys2virt): New function.
14415 (grub_ohci_virt_to_phys): Likewise.
14416 (grub_ohci_td_phys2virt): Likewise.
14417 (grub_ohci_td_virt2phys): Likewise.
14418 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
14419 attachment.
14420 (grub_ohci_find_ed): New function.
14421 (grub_ohci_alloc_td): Likewise.
14422 (grub_ohci_free_td): Likewise.
14423 (grub_ohci_free_tds): Likewise.
14424 (grub_ohci_transfer): Use previously allocated memory.
14425 (grub_ohci_portstatus): Reset status changed bit.
14426 (grub_ohci_detect_dev): Supply status changed.
14427 (grub_ohci_fini_hw): Free memory.
14428 (grub_ohci_restore_hw): Reallocate memory.
14429 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
14430 Reset status change.
14431 (grub_uhci_detect_dev): Supply status_change.
14432 * bus/usb/usb.c (attach_hooks): New var.
14433 (grub_usb_device_attach): New function.
14434 (grub_usb_register_attach_hook_class): Likewise.
14435 (grub_usb_unregister_attach_hook_class): Likewise.
14436 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
14437 (grub_usb_add_hub): Reset connection changed bit.
14438 (attach_root_port): New function.
14439 (grub_usb_root_hub): Likewise.
14440 (poll_nonroot_hub): Likewise.
14441 (grub_usb_poll_devices): Likewise.
14442 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
14443 * disk/usbms.c (grub_usbms_open): Use device hooks.
14444 (grub_usbms_iterate) :Poll devices.
14445 (grub_usbms_finddevs): Split into ...
14446 (grub_usbms_attach): ... this ...
14447 (grub_usbms_attach): ... and this.
14448 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
14449 in detect_dev.
14450 (grub_usb_interface): New fields attached and detach_hook.
14451 (grub_usb_attach_hook_class): New type.
14452 (grub_usb_attach_desc): New struct.
14453 (grub_usb_register_attach_hook_class): New function.
14454 (grub_usb_unregister_attach_hook_class): Likewise.
14455 (grub_usb_poll_devices): Likewise.
14456 (grub_usb_device_attach): Likewise.
14457 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
14458 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
14459
3222efaf
VS
144602010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
14461
14462 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
14463 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
14464 delta determination style. Works with most NetBSD partitions too.
14465
139b714a
VS
144662010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
14467
14468 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
14469 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
14470
986aad56
VS
144712010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
14472
14473 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
14474
99be513c
AB
144752010-07-14 Anton Blanchard <anton@samba.org>
14476
14477 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
14478 ET_DYN files.
14479
18075f62
GS
144802010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
14481
14482 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
14483
8d9a5b15
GS
144842010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
14485
14486 * kern/partition.c (grub_partition_check_containment): New function to
14487 check that a partition is physically contained in a parent. Since
14488 offsets are relative (and non-negative), this reduces to checking that
14489 the partition ends before its parent.
14490 (grub_partition_map_probe): Discard out-of-range sub-partitions.
14491 (grub_partition_iterate): Likewise.
14492 * include/grub/partition.h (grub_partition_map): Slightly more detailed
14493 comments.
14494 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
14495 partitions that start before their parent, and add debug printfs.
14496
19563c25
CW
144972010-07-13 Colin Watson <cjwatson@ubuntu.com>
14498
14499 * Makefile.in (.SUFFIX): Spell correctly, as ...
14500 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
14501 bare module name without `.mod', e.g. `test') tried to invoke a
14502 Modula-2 compiler.
14503
1a1f1e67
CW
145042010-07-13 Colin Watson <cjwatson@ubuntu.com>
14505
14506 * README: Point to the Info manual.
14507
811b0dca
JS
145082010-07-13 Jiro SEKIBA <jir@unicus.jp>
14509
14510 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
14511 2nd superblock position from partition size.
14512
e4f4eafc
CW
145132010-07-10 Colin Watson <cjwatson@ubuntu.com>
14514
14515 * Makefile.in (MAINTAINER_CLEANFILES): Remove
14516 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
14517 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
14518 outputs.
14519
4274c30f
VS
145202010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14521
14522 Restructure SCSI .id handling.
14523 Reported and tested by: Aleš Nesrsta.
14524
14525 * disk/ata.c (grub_atapi_close): Removed. All users updated.
14526 (grub_atapi_dev): Changed .name to "ata". New field .id.
14527 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
14528 (grub_usbms_dev): New field .id.
14529 * disk/scsi.c (grub_scsi_iterate): Generate name.
14530 (grub_scsi_open): Parse name.
14531 * include/grub/scsi.h (grub_make_scsi_id): New function.
14532 (grub_scsi_dev): Change iterate and open to number instead of naming
14533 busses. All users updated.
14534 (grub_scsi): Remove name. Add .bus.
14535
5bc24388
VS
145362010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14537
14538 * commands/help.c (grub_cmd_help): Fix a typo.
14539
249975ba
VS
145402010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14541
14542 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
14543 Reported and tested by: Colin Watson.
14544
3eaac1a1
VS
145452010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14546
14547 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
14548 in this context.
14549
becce1b1
VS
145502010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14551
14552 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
14553
f7bf0918
CW
145542010-07-07 Colin Watson <cjwatson@ubuntu.com>
14555
14556 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
14557 indentation.
14558
0b0f9620
CW
145592010-07-06 Colin Watson <cjwatson@ubuntu.com>
14560
14561 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
14562 and disk/raid6_recover.c.
14563 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
14564 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
14565
1e545469
CW
145662010-07-06 Colin Watson <cjwatson@ubuntu.com>
14567
14568 * term/gfxterm.c (repaint_schedulded): Rename to ...
14569 (repaint_scheduled): ... this. Update all callers.
14570 (repaint_was_schedulded): Rename to ...
14571 (repaint_was_scheduled): ... this. Update all callers.
14572
5357687a
CW
145732010-07-06 Colin Watson <cjwatson@ubuntu.com>
14574
14575 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
14576 which we expect to be handled by upper layers.
14577
29d7e783
BC
145782010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
14579
14580 * bus/usb/usbhub.c: #include time.h header.
14581
37582066
CW
145822010-07-06 Colin Watson <cjwatson@ubuntu.com>
14583
14584 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
14585 entry_name also for entries without stat blocks (e.g. ".."); fixes
14586 corruption of the first entry in a directory.
14587
c8c06953
CW
145882010-07-06 Colin Watson <cjwatson@ubuntu.com>
14589
14590 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
14591 after setting gfxterm as the active terminal. GRUB_BACKGROUND
14592 doesn't work otherwise.
14593
e75056f1
CW
145942010-07-05 Colin Watson <cjwatson@ubuntu.com>
14595
14596 * docs/grub.texi (Features): Update list of supported file systems.
14597 (GNU/Linux): Update for GRUB 2.
14598 (Serial terminal): Remove mention of --disable-serial, which was a
14599 GRUB Legacy configure option. Update instructions to use
14600 `terminal_input' and `terminal_output' rather than `terminal'.
14601 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
14602 configuration' and `Installing GRUB using grub-install'.
14603 (Menu entry editor): Update for GRUB 2.
14604 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
14605 Document new -a, -u, and -v options.
14606 (initrd): New section.
14607 (initrd16): New section.
14608 (linux): New section.
14609 (linux16): New section.
14610 (search): The `var' argument to `--set' is optional.
14611 (GRUB only offers a rescue shell): Go into a little more detail on
14612 drive ordering.
14613
5cf69151
CW
146142010-07-05 Colin Watson <cjwatson@ubuntu.com>
14615
14616 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
14617
e3f90044
CW
146182010-07-05 Colin Watson <cjwatson@ubuntu.com>
14619
14620 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
14621 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
14622
38d8f4f3
CW
146232010-07-05 Colin Watson <cjwatson@ubuntu.com>
14624
14625 * util/i386/pc/grub-setup.c (setup): Rename prefix to
14626 install_prefix, in line with install_dos_part and install_bsd_part.
14627 Add new prefix variable, which is copied to install_prefix after
14628 comparing core.img in memory with the one read from disk in the
14629 no-embedding case, and use that rather than overwriting
14630 install_prefix immediately when installing to a partition.
14631 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
14632 Bicakci.
14633
57ebd41e
GS
146342010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
14635
14636 * configure.ac: Avoid == in test command, it's not portable.
14637 * util/grub.d/30_os-prober.in: Likewise.
14638
cb7f64b2
CW
146392010-07-04 Colin Watson <cjwatson@ubuntu.com>
14640
14641 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
14642
6b654bb0
GS
146432010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
14644
14645 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
14646 multiple (top-level) partmaps.
14647
72a2026d
VS
146482010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14649
14650 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 14651 Reported by: Tino Keitel.
72a2026d 14652
df3eb88f
VS
146532010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14654
14655 Bidi and diacritics support.
14656
14657 * Makefile.in (widthspec.bin): New target.
14658 (widthspec.h): Likewise.
14659 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
14660 * autogen.sh: Generate unidata.c.
14661 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
14662 * commands/ls.c (grub_ls_list_devices): Likewise.
14663 (grub_ls_list_files): Likewise.
14664 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
14665 (grub_mini_cmd_lsmod): Likewise.
14666 * commands/read.c: Likewise.
14667 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
14668 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
14669 * lib/arg.c (grub_arg_show_help): Likewise.
14670 * lib/crypto.c (grub_password_get): Likewise.
14671 * normal/auth.c (grub_username_get): Likewise.
14672 * normal/misc.c (grub_normal_print_device_info): Likewise.
14673 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
14674 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
14675 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
14676 (normal/charset.c_DEPENDENCIES): New variable.
14677 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
14678 (pkglib_MODULES): Remove charset.mod.
14679 (charset_mod_SOURCES): Removed.
14680 (charset_mod_CFLAGS): Likewise.
14681 (charset_mod_LDFLAGS): Likewise.
14682 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
14683 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
14684 and term/tparm.c.
14685 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14686 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14687 (kernel_img_HEADERS): Add terminfo.h.
14688 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
14689 Fill ->font. Reverse ascii bitmaps.
14690 (grub_font_get_xheight): New function.
14691 * font/font.c (grub_font_get_string_width): Moved from here ...
14692 * gfxmenu/font.c (grub_font_get_string_width): ... here.
14693 * font/font.c (grub_font_draw_string): Moved from here ...
14694 * gfxmenu/font.c (grub_font_draw_string): ... here.
14695 * font/font.c (grub_font_dup_glyph): New function.
14696 (grub_font_blit_glyph): Likewise.
14697 (grub_font_blit_glyph_mirror): Likewise.
14698 (blit_comb): Likewise.
14699 (grub_font_construct_dry_run): Likewise.
14700 (grub_font_get_constructed_device_width): Likewise.
14701 (grub_font_construct_glyph): Likewise.
14702 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
14703 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
14704 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
14705 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
14706 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
14707 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
14708 (grub_font_get_xheight): New proto.
14709 (grub_font_get_constructed_device_width): Likewise.
14710 (grub_font_construct_glyph): Likewise.
14711 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
14712 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
14713 * include/grub/font.h (grub_font_draw_string): Moved from here ...
14714 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
14715 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
14716 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
14717 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
14718 (grub_console_getcharwidth): Likewise.
14719 * include/grub/misc.h (grub_xputs): New proto.
14720 (grub_puts): Inlined.
14721 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
14722 (grub_normal_get_line_counter): Removed.
14723 (grub_install_newline_hook): Likewise.
14724 (grub_normal_get_char_counter): New proto.
14725 (grub_normal_reset_more): Likewise.
14726 (grub_xputs_normal): Likewise.
14727 * include/grub/powerpc/ieee1275/console.h: Removed.
14728 * include/grub/sparc64/ieee1275/console.h: Likewise.
14729 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
14730 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
14731 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
14732 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
14733 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
14734 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
14735 (grub_term_input): Pass reference to self. All users updated.
14736 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
14737 Pass reference to self. New fields normal_color, highlight_color and
14738 data. All users updated.
14739 (grub_putchar): Removed.
14740 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
14741 (grub_unicode_estimate_width): New function.
14742 (grub_term_getcharwidth): Add defaults.
14743 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
14744 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
14745 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
14746 (grub_cls): Remove EXPORT_FUNC.
14747 (grub_setcolorstate): Inline.
14748 (grub_newline_hook): Removed.
14749 * include/grub/terminfo.h: Rewritten. All users updated.
14750 * include/grub/unicode.h: New file.
14751 * include/grub/video.h (grub_video_signed_rect): New type.
14752 * kern/emu/console.c (grub_console_highlight_color): Removed.
14753 (grub_console_normal_color): Likewise.
14754 (grub_console_standard_color): Made static.
14755 (grub_ncurses_putchar): Remove mapping.
14756 (grub_ncurses_getcharwidth): Removed.
14757 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
14758 (grub_ncurses_setcolor): Removed.
14759 (grub_ncurses_getcolor): Likewise.
14760 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
14761 (grub_console_putchar): ... this.
14762 (grub_console_putchar): Handle argument difference.
14763 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
14764 console_init_early and console_init_lately.
14765 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
14766 * kern/misc.c (grub_puts): Removed.
14767 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
14768 (grub_vsnprintf_real): Remove str = NULL support.
14769 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
14770 * normal/charset.c (grub_utf8_to_ucs4): ... here.
14771 * kern/term.c (grub_putcode): Renamed to ...
14772 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
14773 (grub_putchar): Removed.
14774 (grub_xputs_dumb): New function.
14775 (grub_xputs): New variable.
14776 * lib/charset.c: Move from here ...
14777 * normal/charset.c: ... to here.
14778 (grub_ucs4_to_utf8): New function.
14779 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
14780 (join_types): New variable.
14781 (unpack_join): New function.
14782 (bidi_types): New variable.
14783 (unpack_bidi): New function.
14784 (get_bidi_type): Likewise.
14785 (get_join_type): Likewise.
14786 (is_mirrored): Likewise.
14787 (grub_unicode_get_comb_type): Likewise.
14788 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
14789 (is_type_after): Likewise.
14790 (grub_unicode_aglomerate_comb): Likewise.
14791 (bidi_line_wrap): Likewise.
14792 (grub_bidi_line_logical_to_visual): Likewise.
14793 (grub_bidi_logical_to_visual): Likewise.
14794 (grub_unicode_mirror_code): Likewise.
14795 (grub_unicode_shape_code): Likewise.
14796 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
14797 Don't use grub_putchar.
14798 * normal/main.c (grub_normal_init_page): Use grub_putcode.
14799 (grub_normal_reader_init): Likewise.
14800 (grub_xputs_saved): New variable.
14801 (GRUB_MOD_INIT): Set grub_xputs.
14802 (GRUB_MOD_FINI): Restore grub_xputs.
14803 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
14804 (menu_init): Avoid printing gfxmenu error.
14805 (show_menu): Use grub_normal_get_char_counter.
14806 * normal/menu_entry.c (update_screen): Fix out-of-array.
14807 (complete): Avoid NULL dereferencing.
14808 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
14809 * normal/menu_text.c (print_spaces): Removed.
14810 (grub_print_ucs4): Likewise.
14811 (grub_print_message_indented): Use grub_print_ucs4.
14812 (print_message): Use grub_putcode.
14813 (print_entry): Hanlde diacritics.
14814 * normal/term.c (term_state): New type.
14815 (grub_more_lines): Removed.
14816 (term_states): New variable.
14817 (grub_normal_line_counter): Renamed to ..
14818 (grub_normal_char_counter): ...this. All users updated.
14819 (grub_normal_get_line_counter): Renamed to ...
14820 (grub_normal_get_char_counter): ... this.
14821 (grub_normal_reset_more): New function.
14822 (process_newline): Removed.
14823 (print_more): New function.
14824 (grub_install_newline_hook): Removed.
14825 (map_code): New function.
14826 (grub_puts_terminal): Use grub_print_ucs4.
14827 (putglyph): New function.
14828 (putcode_real): Likewise.
14829 (grub_putcode): Use putcode_real.
14830 (get_maxwidth): New function.
14831 (get_startwidth): Likewise.
14832 (print_ucs4_terminal): Likewise.
14833 (find_term_state): Likewise.
14834 (put_glyphs_terminal): Likewise.
14835 (print_backlog): Likewise.
14836 (print_ucs4_real): Likewise.
14837 (grub_print_ucs4): Likewise.
14838 (grub_xputs_normal): Likewise.
14839 * term/efi/console.c (grub_console_putchar): Output diacritics.
14840 (grub_console_getcharwidth): Removed.
14841 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
14842 * term/gfxterm.c (clear_char): Free chars.
14843 (scroll_up): Avoid leaking memory.
14844 (grub_gfxterm_putchar): Support diacritics.
14845 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
14846 * term/i386/pc/console.c (grub_console_term_output): Declare as
14847 GRUB_TERM_CODE_TYPE_VGA.
14848 * term/i386/pc/vga.c (grub_vga_term): Declare as
14849 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
14850 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
14851 GRUB_TERM_CODE_TYPE_VGA.
14852 * term/i386/vga_common.c (map_char): Removed.
14853 (grub_console_putchar): Likewise.
14854 (grub_console_getcharwidth): Likewise.
14855 * term/ieee1275/ofconsole.c: Simplify using terminfo.
14856 (colors): Reordered to match terminfo.
14857 (grub_ofconsole_normal_color): Removed.
14858 (grub_ofconsole_writeesc): Likewise.
14859 (grub_ofconsole_highlight_color): Likewise.
14860 (grub_ofconsole_getcharwidth): Likewise.
14861 (grub_ofconsole_setcolorstate): Likewise.
14862 (grub_ofconsole_setcolor): Likewise.
14863 (grub_ofconsole_getcolor): Likewise.
14864 (grub_ofconsole_readkey): Renamed to ...
14865 (readkey): ... this. Remove escape sequence handling. Return -1 on no
14866 key.
14867 (grub_ofconsole_checkkey): Removed.
14868 (grub_ofconsole_getkey): Likewise.
14869 (grub_ofconsole_getxy): Likewise.
14870 (grub_ofconsole_gotoxy): Likewise.
14871 (grub_ofconsole_cls): Likewise.
14872 (grub_ofconsole_refresh): Likewise.
14873 (grub_ofconsole_terminfo_input): New struct.
14874 (grub_ofconsole_terminfo_output): Likewise.
14875 (grub_ofconsole_term_input): Use terminfo.
14876 (grub_ofconsole_term_output): Likewise.
14877 (grub_console_init): Split into ...
14878 (grub_console_init_early): ...this and ...
14879 (grub_console_init_lately): ...this. Use terminfo.
14880 (grub_ofconsole_putchar): Renamed to ...
14881 (put): ... this. Remove mapping.
14882 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
14883 * term/serial.c: Simplify using terminfo.
14884 (xpos): Removed.
14885 (ypos): Likewise.
14886 (keep_track): Likewise.
14887 (registered): Likewise.
14888 (input_buf): Likewise.
14889 (npending): Likewise.
14890 (serial_translate_key_sequence): Likewise.
14891 (fill_input_buf): Likewise.
14892 (grub_serial_checkkey): Likewise.
14893 (grub_serial_getkey): Likewise.
14894 (grub_serial_getxy): Likewise.
14895 (grub_serial_gotoxy): Likewise.
14896 (grub_serial_putchar): Likewise.
14897 (grub_serial_cls): Likewise.
14898 (grub_serial_setcolorstate): Likewise.
14899 (grub_serial_setcursor): Likewise.
14900 (serial_hw_init): Use serial_hw_fetch.
14901 (grub_serial_terminfo_input): New variable.
14902 (grub_serial_terminfo_output): Likewise.
14903 (grub_serial_term_input): Use terminfo.
14904 (grub_serial_term_output): Likewise.
14905 * term/terminfo.c (putstr): Use put.
14906 (grub_terminfo_all_free): New function
14907 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
14908 (grub_terminfo_output_register): New function.
14909 (grub_terminfo_output_unregister): Likewise.
14910 (grub_terminfo_getxy): Likewise.
14911 (grub_terminfo_readkey): Likewise.
14912 (grub_terminfo_checkkey): Likewise.
14913 (grub_terminfo_getkey): Likewise.
14914 (grub_terminfo_input_init): Likewise.
14915 (print_terminfo): Likewise.
14916 (grub_cmd_terminfo): Handle encoding.
14917 (grub_terminfo_gotoxy): Track position.
14918 (grub_terminfo_cls): Likewise.
14919 (grub_terminfo_putchar): Likewise.
14920 (grub_terminfo_setcolorstate): Handle colors
14921 (grub_terminfo_cursor_on): This ...
14922 (grub_terminfo_cursor_off): ... and this merged into ...
14923 (grub_terminfo_setcursor): ... this.
14924 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
14925 * unicode/ArabicShaping.txt: New file (imported from Unicode).
14926 * unicode/BidiMirroring.txt: Likewise.
14927 * unicode/UnicodeData.txt: Likewise.
14928 * unicode/COPYING: Likewise.
14929 * util/grub-editenv.c (grub_putchar): Removed.
14930 (grub_xputs_real): New function.
14931 (grub_xputs): New variable.
14932 * util/grub-fstest.c (grub_putchar): Removed.
14933 (grub_xputs_real): New function.
14934 (grub_xputs): New variable.
14935 * util/grub-mkdevicemap.c (grub_putchar): Removed.
14936 (grub_xputs_real): New function.
14937 (grub_xputs): New variable.
14938 * util/grub-probe.c (grub_putchar): Removed.
14939 (grub_xputs_real): New function.
14940 (grub_xputs): New variable.
14941 * util/grub-script-check.c (grub_putchar): Removed.
14942 (grub_xputs_real): New function.
14943 (grub_xputs): New variable.
14944 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
14945 (grub_xputs_real): New function.
14946 (grub_xputs): New variable.
14947 * util/import_unicode.py: New file.
14948 * util/grub-mkfont.c (ft_errmsgs): New array.
14949 (grub_glyph_info): Make bitmap a pointer.
14950 (file_formats): New type WIDTH_SPEC.
14951 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
14952 (options): Add width-spec.
14953 (help): Likewise.
14954 (add_char): Renamed to ...
14955 (add_glyph): ... this.
14956 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
14957 (glyph_replace): New type.
14958 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
14959 (add_char): New function.
14960 (add_subst): Likewise.
14961 (process_cursive): Likewise.
14962 (add_font): Handle GSUB.
14963 (write_font_width_spec): New function.
14964 (main): Sort glyphs.
14965 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
14966 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
14967 * kern/term.c (grub_cls): Moved from here...
14968 * normal/term.c (grub_cls): ... here.
14969
50f0bcda
CW
149702010-07-02 Colin Watson <cjwatson@ubuntu.com>
14971
14972 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
14973 suitable for using within the format argument of printf when
14974 converting grub_size_t.
14975 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
14976 "x" to convert grub_size_t arguments.
14977
40372103
VS
149782010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14979
14980 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
14981 too long captions.
14982 (list_get_minimal_size): Take selection box into account.
14983
942a10c7
VS
149842010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14985
14986 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
14987 NULL font.
14988
2bdb2892
CW
149892010-07-02 Colin Watson <cjwatson@ubuntu.com>
14990
14991 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
14992 devices when iterating over /dev/disk/by-id; they will be handled
14993 later if appropriate, which they aren't always (e.g. LVM).
14994
e03ed6c1
CW
149952010-07-02 Colin Watson <cjwatson@ubuntu.com>
14996
14997 * include/grub/misc.h (grub_reboot): Declare as noreturn.
14998 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
14999 fails.
15000 (grub_halt): Likewise.
15001 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
15002 reset-all fails.
15003 (grub_halt): Don't return, even if all of shut-down, power-off, and
15004 poweroff fail.
15005
47695765
CW
150062010-07-02 Colin Watson <cjwatson@ubuntu.com>
15007
15008 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
15009 arguments, not three.
15010
507736c8
CW
150112010-07-02 Colin Watson <cjwatson@ubuntu.com>
15012
15013 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
15014 * util/grub.d/10_linux.in: Use it to check for LVM, so that
15015 LVM-on-RAID is handled correctly.
15016
e3c8cd37
CW
150172010-07-02 Colin Watson <cjwatson@ubuntu.com>
15018
15019 * docs/grub.texi (Changes from GRUB Legacy): New section.
15020 (Future): Fix typo.
15021
8d4a2fec
CW
150222010-07-02 Colin Watson <cjwatson@ubuntu.com>
15023
15024 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
15025 grub.d/README accidentally ends up executable for one reason or
15026 another. Ignore it.
15027
1c4827be
VS
150282010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15029
15030 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
15031 (gpt_partition_map_iterate): Support non-512B sectors.
15032
d9a0c941
VS
150332010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15034
15035 * kern/efi/init.c (grub_efi_init): Disable watchdog.
15036 Tested by: Seth Goldberg.
15037
48f27e87
VS
150382010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15039
15040 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
15041 Properly align mbi.
15042 Reported by: Seth Goldberg.
15043
b0c4f956
VS
150442010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
15045
15046 * util/grub-mkrescue.in: Avoid module duplication.
15047
105a2e8c
SF
150482010-07-01 Sean Finney <seanius@seanius.net>
15049
15050 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
15051
5944958c
SF
150522010-07-01 Sean Finney <seanius@seanius.net>
15053
15054 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
15055
150562010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
15057
15058 * disk/lvm.c (grub_lvm_checkvalue): New function.
15059 (grub_lvm_check_flag): Likewise.
15060
b79889ba
RM
150612010-07-01 Robert Millan <rmh@gnu.org>
15062
15063 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
15064 Support 'p' as partition separator on kernel of FreeBSD (used
15065 with GPT labels).
15066 (grub_util_biosdisk_get_grub_dev): Likewise.
15067
ec1d04f1
VS
150682010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
15069
15070 Yeeloong firmware port.
15071
15072 * boot/mips/yeeloong/fwstart.S: New file.
15073 * bus/cs5536.c (gpiodump): New const.
15074 (set_io_space): New function.
15075 (set_iod): Likewise.
15076 (set_p2d): Likewise.
15077 (grub_cs5536_init_geode): Likewise.
15078 * commands/mips/yeeloong/lsspd.c: New file.
15079 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
15080 (serial_mod_SOURCES): New variable.
15081 (serial_mod_CFLAGS): Likewise.
15082 (serial_mod_LDFLAGS): Likewise.
15083 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
15084 term/terminfo.c and term/tparm.c.
15085 (pkglib_IMAGES): Add fwstart.img.
15086 (fwstart_img_SOURCES): New variable.
15087 (fwstart_img_CFLAGS): Likewise.
15088 (fwstart_img_ASFLAGS): Likewise.
15089 (fwstart_img_LDFLAGS): Likewise.
15090 (fwstart_img_FORMAT): Likewise.
15091 (pkglib_MODULES): Add lsspd.mod.
15092 (lsspd_mod_SOURCES): New variable.
15093 (lsspd_mod_CFLAGS): Likewise.
15094 (lsspd_mod_LDFLAGS): Likewise.
15095 (pkglib_MODULES): Add halt.mod.
15096 (halt_mod_SOURCES): New variable.
15097 (halt_mod_CFLAGS): Likewise.
15098 (halt_mod_LDFLAGS): Likewise.
15099 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
15100 (serial_mod_SOURCES): Removed.
15101 (serial_mod_CFLAGS): Likewise.
15102 (serial_mod_LDFLAGS): Likewise.
15103 * disk/ata.c (check_device): New function.
15104 (grub_ata_device_initialize): Use check_device.
15105 (grub_ata_iterate): Recheck devices.
15106 (grub_ata_open): Likewise.
15107 (grub_atapi_iterate): Likewise.
15108 (grub_atapi_open): Likewise.
15109 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
15110 (GRUB_ATA_CH1_PORT1): Likewise.
15111 (GRUB_ATA_CH0_PORT2): Likewise.
15112 (GRUB_ATA_CH1_PORT2): Likewise.
15113 * include/grub/mips/loongson.h: New file.
15114 * include/grub/mips/yeeloong/ec.h: Likewise.
15115 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
15116 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
15117 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
15118 * include/grub/misc.h (grub_halt): Declare as noreturn.
15119 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
15120 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
15121 (UART_ENABLE_FIFO_TRIGGER1): New definition.
15122 (UART_ENABLE_DTRRTS): Likewise.
15123 (UART_ENABLE_MODEM): Removed.
15124 (UART_ENABLE_OUT2): New const.
15125 * include/grub/term.h (grub_term_register_input_active): New function.
15126 (grub_term_register_output_active): Likewise.
15127 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
15128 argument.
15129 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
15130 (init_pci): New function.
15131 (grub_machine_init): Execute platform init when firmware. Init serial.
15132 (grub_halt): Implement.
15133 (grub_exit): Likewise.
15134 (grub_reboot): Likewise.
15135 * term/serial.c (serial_hw_init): Update macros.
15136 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
15137 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
15138 (image_targets): New target mipsel-yeeloong-flash.
15139 (generate_image): Support IMAGE_YEELOONG_FLASH.
15140 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
15141 (grub_video_sm712_setup): Init card.
15142 (grub_video_sm712_set_palette): Removed.
15143 * video/sm712_init.c: New file.
15144
ff4a70d2
CW
151452010-06-30 Colin Watson <cjwatson@ubuntu.com>
15146
15147 * Makefile.in (install-local): Temporarily prepend $(builddir) to
15148 PATH when running help2man and then run it on the unadorned
15149 executable names, rather than passing $(builddir)/* paths to
15150 help2man. This avoids the build directory ending up in generated
15151 manual pages.
15152
1246efeb
CW
151532010-06-29 Colin Watson <cjwatson@ubuntu.com>
15154
15155 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
15156 to avoid accidents when debugging with 'sh -x'.
15157 * util/grub-mkrescue.in: Likewise.
15158 * util/grub.d/00_header.in: Likewise.
15159 * util/grub.d/10_hurd.in: Likewise.
15160 * util/grub.d/10_kfreebsd.in: Likewise.
15161 * util/grub.d/10_linux.in: Likewise.
15162 * util/grub.d/10_netbsd.in: Likewise.
15163 * util/grub.d/10_windows.in: Likewise.
15164 * util/grub.d/20_linux_xen.in: Likewise.
15165 * util/grub.d/30_os-prober.in: Likewise.
15166 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
15167
1ba9b889
CW
151682010-06-29 Colin Watson <cjwatson@ubuntu.com>
15169
15170 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
15171 last character in the buffer.
15172 Reported by: Vladimir Serbinenko.
15173
dccaf99d
RM
151742010-06-29 Robert Millan <rmh@gnu.org>
15175
15176 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
15177 (Command-line and menu entry commands): Document `badram' command.
15178
d500ed12
RM
151792010-06-28 Robert Millan <rmh@gnu.org>
15180
15181 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
15182 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
15183 command using ${GRUB_BADRAM} as parameter.
15184
20bc84a6
CW
151852010-06-28 Colin Watson <cjwatson@ubuntu.com>
15186
15187 * docs/grub.texi (Device map): New section.
15188 (Themes): New section (stub).
15189 * Makefile.in (docs/grub.info): The info documentation now builds
15190 without errors. Make sure it stays that way.
15191
4045dee1
VS
151922010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
15193
15194 Use normal parser for menu entries.
15195 Reported by: Thomas Frauendorfer
15196
15197 * include/grub/parser.h (grub_parser_execute): Don't export.
15198 * normal/menu.c (grub_menu_execute_entry_real): New function.
15199 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
15200
bca58c7b
CW
152012010-06-28 Colin Watson <cjwatson@ubuntu.com>
15202
15203 * docs/grub.texi (Embedded configuration): New section (replacing
15204 old "Preset Menu" stub).
15205 (Images): New section.
15206 (configfile): Note that any menu entries defined in `file' are shown
15207 immediately.
15208
dec53e63
JT
152092010-06-28 Josh Triplett <josh@joshtriplett.org>
15210
15211 * mmap/i386/pc/mmap_helper.S: Set CF on return.
15212
c06e40f7
CW
152132010-06-28 Colin Watson <cjwatson@ubuntu.com>
15214
15215 * util/grub-install.in: Add --debug-image= option.
15216
cb88052b
CW
152172010-06-28 Colin Watson <cjwatson@ubuntu.com>
15218
15219 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
15220 possible on Linux.
15221
15222 * util/deviceiter.c (check_device): Rename to ...
15223 (check_device_readable_unique): ... this. Update all callers.
15224 Maintain and check a list of which devices (by canonicalized name)
15225 have already been seen.
15226 (clear_seen_devices): New function.
15227 (compare_file_names) [__linux__]: New function.
15228 (grub_util_iterate_devices): Clear the list of seen devices on exit
15229 and (just in case) on entry.
15230 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
15231 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
15232 seen-devices list, superseded by general code in check_device.
15233
bbe34652
CW
152342010-06-28 Colin Watson <cjwatson@ubuntu.com>
15235
15236 * commands/cat.c (options): New variable.
15237 (grub_cmd_cat): Parse options. If the --dos option is given, print
15238 DOS-style "\r\n" line endings as simple newlines (Debian bug
15239 #586358).
15240 (GRUB_MOD_INIT): Use extcmd.
15241 (GRUB_MOD_FINI): Likewise.
15242 * docs/grub.texi (cat): Document --dos.
15243
412e09f3
VS
152442010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
15245
15246 XEN with Linux grub-mkconfig support.
15247
15248 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
15249 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
15250 GRUB_CMDLINE_XEN_DEFAULT.
15251 * util/grub.d/20_linux_xen.in: New file.
15252
53f3ef38 152532010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
15254
15255 Initialise VGA video on qemu ourselves.
15256
15257 * boot/i386/qemu/boot.S: Don't call 0xc000.
15258 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
15259 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
15260 (kernel_img_HEADERS): Add pci.h.
15261 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
15262 * configure.ac: Force unifont on qemu and yeeloong.
15263 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
15264 (grub_vga_palette_write): Use correct register.
15265 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
15266 Call grub_qemu_init_cirrus.
15267 * kern/i386/qemu/init.c: New file.
15268 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
15269
15270 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
15271
c75be4fb
PR
152722010-06-26 Pavel Roskin <proski@gnu.org>
15273
15274 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
15275 13.
15276
d8034603
CW
152772010-06-26 Colin Watson <cjwatson@ubuntu.com>
15278
15279 * docs/grub.texi (Simple configuration): Explain that
15280 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
15281 set to `true' to disable their respective recovery entries, not
15282 merely set.
15283
3fa06487
CW
152842010-06-26 Colin Watson <cjwatson@ubuntu.com>
15285
15286 Make the `source' command slightly faster.
15287
15288 * normal/main.c (grub_normal_execute): Don't re-read list files when
15289 nested.
15290
e9b29642
CW
152912010-06-23 Colin Watson <cjwatson@ubuntu.com>
15292
15293 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
15294 field position and mask size to red fields from mode_info, not
15295 green.
15296 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
15297 Remove redundant tag->common.framebuffer_type assignment.
15298 Reported by: Seth Goldberg.
15299
e726542f
CW
153002010-06-23 Colin Watson <cjwatson@ubuntu.com>
15301
15302 Sync up other versions of the Linux loader with Robert Millan's
15303 change of 2010-01-09, "Make loader output a bit more user-friendly".
15304
15305 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
15306 grub_dprintf().
15307 (grub_cmd_linux): Likewise.
15308 (grub_cmd_initrd): Likewise.
15309 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
15310 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
15311
d6e98a17
CW
153122010-06-21 Colin Watson <cjwatson@ubuntu.com>
15313
15314 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
15315 larger than MEMORY_MAP_SIZE.
15316
14d3f08e
BC
153172010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
15318
15319 Fix parallel build.
15320
15321 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
15322 dependency.
15323 * script/parser.y: #include grub_script.tab.h header.
15324
4f9613a3
VS
153252010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
15326
15327 Support >3GiB and <16MiB RAM in i386-qemu.
15328
15329 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
15330 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
15331 (grub_lower_mem): Removed.
15332 (grub_upper_mem): Likewise.
15333 (mem_size): Made static.
15334 (above_4g): New variable.
15335 (grub_machine_mmap_init): Detect small mem_size and above_4g.
15336 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
15337 support.
15338
05e51879
VS
153392010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
15340
15341 Cirrus 5446 and Bochs video cards support.
15342
15343 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
15344 video_bochs.mod
15345 (video_cirrus_mod_SOURCES): New variable.
15346 (video_cirrus_mod_CFLAGS): Likewise.
15347 (video_cirrus_mod_LDFLAGS): Likewise.
15348 (video_bochs_mod_SOURCES): Likewise.
15349 (video_bochs_mod_CFLAGS): Likewise.
15350 (video_bochs_mod_LDFLAGS): Likewise.
15351 * include/grub/vga.h: New file.
15352 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
15353 (grub_video_fb_set_page_t): New type.
15354 (grub_video_fb_setup): New prototype.
15355 (grub_video_fb_swap_buffers): Likewise.
15356 (grub_video_fb_get_info_and_fini): Likewise.
15357 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
15358 (CRTC_DATA_PORT): Likewise.
15359 (CRTC_CURSOR): Likewise.
15360 (CRTC_CURSOR_ADDR_HIGH): Likewise.
15361 (CRTC_CURSOR_ADDR_LOW): Likewise.
15362 (CRTC_CURSOR_DISABLE): Likewise.
15363 (update_cursor): Use grub_vga_cr_write.
15364 (grub_vga_text_setcursor): Likewise.
15365 * video/bochs.c: New file.
15366 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
15367 (palette): Likewise.
15368 (palette_size): Likewise.
15369 (framebuffer): New variable.
15370 (grub_video_fb_init): Use 'framebuffer'.
15371 (grub_video_fb_fini): Likewise.
15372 (grub_video_fb_get_info): Likewise.
15373 (grub_video_fb_get_palette): Likewise.
15374 (grub_video_fb_set_palette): Likewise.
15375 (grub_video_fb_set_viewport): Likewise.
15376 (grub_video_fb_get_viewport): Likewise.
15377 (grub_video_fb_map_color): Likewise.
15378 (grub_video_fb_map_rgb): Likewise.
15379 (grub_video_fb_map_rgba): Likewise.
15380 (grub_video_fb_unmap_color): Likewise.
15381 (grub_video_fb_unmap_color_int): Likewise.
15382 (grub_video_fb_fill_rect): Likewise.
15383 (grub_video_fb_blit_bitmap): Likewise.
15384 (grub_video_fb_blit_render_target): Likewise.
15385 (grub_video_fb_scroll): Likewise.
15386 (grub_video_fb_create_render_target): Likewise.
15387 (grub_video_fb_doublebuf_blit_init): Likewise.
15388 (grub_video_fb_set_active_render_target): Handle doublebuffering.
15389 (doublebuf_pageflipping_update_screen): New function.
15390 (doublebuf_pageflipping_init): Likewise.
15391 (grub_video_fb_setup): Likewise.
15392 (grub_video_fb_swap_buffers): Likewise.
15393 (grub_video_fb_get_info_and_fini): Likewise.
15394 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
15395 All users updated.
15396 (doublebuf_pageflipping_commit): Restructured into ...
15397 (doublebuf_pageflipping_set_page): ... this.
15398 (doublebuf_pageflipping_update_screen): Removed.
15399 (doublebuf_pageflipping_init): Likewise.
15400 (double_buffering_init): Likewise.
15401 (grub_video_vbe_setup): Use grub_video_fb_setup.
15402 (grub_video_vbe_swap_buffers): Removed.
15403 (grub_video_vbe_set_active_render_target): Likewise.
15404 (grub_video_vbe_get_active_render_target): Likewise.
15405 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
15406 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
15407 grub_video_fb_set_active_render_target and
15408 grub_video_fb_get_active_render_target.
15409 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
15410 (SEQUENCER_DATA_PORT): Likewise.
15411 (MAP_MASK_REGISTER): Likewise.
15412 (CRTC_ADDR_PORT): Likewise.
15413 (CRTC_DATA_PORT): Likewise.
15414 (START_ADDR_HIGH_REGISTER): Likewise.
15415 (START_ADDR_LOW_REGISTER): Likewise.
15416 (GRAPHICS_ADDR_PORT): Likewise.
15417 (GRAPHICS_DATA_PORT): Likewise.
15418 (READ_MAP_REGISTER): Likewise.
15419 (INPUT_STATUS1_REGISTER): Likewise.
15420 (INPUT_STATUS1_VERTR_BIT): Likewise.
15421 (get_map_mask): Use grub_vga_sr_read.
15422 (set_map_mask): Use grub_vga_sr_write.
15423 (set_read_map): Use grub_vga_gr_write.
15424 (set_start_address): Use grub_vga_cr_write.
15425 * video/sm712.c (framebuffer): Remove leftover fields.
15426
4321c64a
CW
154272010-06-20 Colin Watson <cjwatson@ubuntu.com>
15428
15429 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
15430 setting GRUB_VIDEO_BACKEND. Make it available as a user override
15431 instead. Replace the gfxterm backend check with a check that
15432 ${GRUB_PREFIX}/video.lst is non-empty.
15433 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
15434 again.
15435 (load_video): New generated function. Call it before loading
15436 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
15437 * util/grub.d/10_linux.in (linux_entry): Call load_video.
15438 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
15439 * docs/grub.texi (Simple configuration): Document
15440 GRUB_VIDEO_BACKEND.
15441
154422010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
15443
15444 Use video functions in linux and xnu loaders.
15445
15446 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
15447 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
15448 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
15449 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
15450 loader/i386/pc/linux.c.
15451 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
15452 (find_line_len): Removed.
15453 (find_framebuf): Likewise.
15454 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
15455 * loader/i386/efi/xnu.c: Removed.
15456 * loader/i386/pc/xnu.c: Moved from here...
15457 * loader/i386/xnu.c: ...here.
15458
15459 Enable priorities in video drivers.
15460
15461 * include/grub/video.h (grub_video_adapter_prio_t): New type.
15462 (grub_video_adapter): New field prio.
15463 (grub_video_register): Respect prio when inserting.
15464 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
15465 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
15466 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
15467 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
15468 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
15469 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
15470 * video/sm712.c (grub_video_sm712_adapter): Likewise.
15471
15472 Fix SDL driver ID.
15473
15474 * include/grub/video.h (grub_video_driver_id_t): New value
15475 GRUB_VIDEO_DRIVER_SDL.
15476 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
15477
7d24e434
CW
154782010-06-17 Colin Watson <cjwatson@ubuntu.com>
15479
15480 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
15481 argument to printf.
15482 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
15483
c88a83f6
CW
154842010-06-17 Colin Watson <cjwatson@ubuntu.com>
15485
15486 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
15487 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
15488
094dfb69
CW
154892010-06-17 Colin Watson <cjwatson@ubuntu.com>
15490
15491 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
15492 directly, and recommend grub-install instead.
15493 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
15494
2164da6b
CW
154952010-06-17 Colin Watson <cjwatson@ubuntu.com>
15496
15497 Fix i386-pc prefix handling with nested partitions (Debian bug
15498 #585068). Note that the case where the core image is booted using
15499 multiboot and relocated from its original location still requires
15500 more work.
15501
15502 * kern/i386/pc/init.c (make_install_device): If the prefix starts
15503 with "(,", fill the boot drive in between those two characters, but
15504 expect that a full partition specification including partition map
15505 names will follow.
15506 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
15507 specified, write a prefix without the drive name but including a
15508 full partition specification.
15509
044e2e60
CW
155102010-06-16 Colin Watson <cjwatson@ubuntu.com>
15511
15512 * util/grub-mkconfig.in: Ignore non-option arguments, for
15513 compatibility with older versions (before 2010-06-12) which did the
15514 same. In particular, this makes it easier to ship an update-grub
15515 wrapper which is compatible with that used with GRUB Legacy (Debian
15516 bug #586056).
15517
5591324f
GS
155182010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15519
15520 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
15521 for manual page generation.
15522
662e24d5
GS
155232010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15524
15525 * po/POTFILES: Remove leftover commands/handler.c.
15526
8d70754e
CW
155272010-06-14 Colin Watson <cjwatson@ubuntu.com>
15528
15529 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
15530 left this script non-functional.
15531
41160e2e
CW
155322010-06-14 Colin Watson <cjwatson@ubuntu.com>
15533
15534 * docs/man/grub-emu.h2m: New file.
15535
b5309cc1
CW
155362010-06-13 Colin Watson <cjwatson@ubuntu.com>
15537
15538 * docs/grub.texi (Commands): Document reduced command set in rescue
15539 mode.
15540 (cpuid): New section.
15541
fcb2d090
GS
155422010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
15543
15544 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
15545 new partition naming style.
15546 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
15547
96e5c556
BC
155482010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
15549
15550 Add "-o grub.iso" like cmdline options support.
15551
15552 * util/grub-install.in: Improve cmdline option parsing.
15553 * util/grub-mkconfig.in: Likewise.
15554 * util/grub-mkrescue.in: Likewise.
15555 * util/grub-reboot.in: Likewise.
15556 * util/grub-set-default.in: Likewise.
15557 * util/i386/efi/grub-install.in: Likewise.
15558 * util/ieee1275/grub-install.in: Likewise.
15559 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
15560
c16be99b
CW
155612010-06-12 Colin Watson <cjwatson@ubuntu.com>
15562
15563 * .bzrignore: Ignore 41_custom.
15564
ce08a9fb
TS
155652010-06-12 Thomas Schmitt <scdbackup@gmx.net>
15566
15567 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
15568
7beac90c
CW
155692010-06-12 Colin Watson <cjwatson@ubuntu.com>
15570
15571 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
15572 prototype declarations.
15573
15574 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
15575 generating fs, partmap, and video lists.
15576 * include/grub/fs.h (grub_fs_register): Omit prototype if
15577 GRUB_LST_GENERATOR is defined.
15578 * include/grub/partition.h (grub_partition_map_register): Likewise.
15579 * include/grub/video.h (grub_video_register): Likewise.
15580
1c8f0f8d
JM
155812010-06-12 Javier Martín <lordhabbit@gmail.com>
15582
15583 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
15584
a6085973
TS
155852010-06-12 Thomas Schmitt <scdbackup@gmx.net>
15586
15587 * util/grub-mkrescue.in: Support --xorriso argument.
15588
25c56d29
VS
155892010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15590
15591 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
15592 Suggested by: Thomas Schmitt.
15593
e03e4b24
VS
155942010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15595
15596 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
15597 Suggested by: Thomas Schmitt.
15598
57711df6
VS
155992010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15600
15601 custom.cfg support.
15602
15603 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
15604 * util/grub.d/41_custom.in: New file.
15605
ee62c427
CW
156062010-06-12 Colin Watson <cjwatson@ubuntu.com>
15607
15608 * util/grub-mkrescue.in (make_image): Remove sh module, which has
15609 been merged back into normal.
15610
283af07a
CW
156112010-06-11 Colin Watson <cjwatson@ubuntu.com>
15612
15613 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
15614 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
15615
56a0d956
CW
156162010-06-11 Colin Watson <cjwatson@ubuntu.com>
15617
15618 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
15619 when generating manual pages.
15620 * docs/man/grub-bin2h.h2m: New file.
15621 * docs/man/grub-editenv.h2m: New file.
15622 * docs/man/grub-fstest.h2m: New file.
15623 * docs/man/grub-install.h2m: New file.
15624 * docs/man/grub-macho2img.h2m: New file.
15625 * docs/man/grub-mkconfig.h2m: New file.
15626 * docs/man/grub-mkdevicemap.h2m: New file.
15627 * docs/man/grub-mkfont.h2m: New file.
15628 * docs/man/grub-mkimage.h2m: New file.
15629 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
15630 * docs/man/grub-mkrelpath.h2m: New file.
15631 * docs/man/grub-mkrescue.h2m: New file.
15632 * docs/man/grub-ofpathname.h2m: New file.
15633 * docs/man/grub-pe2elf.h2m: New file.
15634 * docs/man/grub-probe.h2m: New file.
15635 * docs/man/grub-reboot.h2m: New file.
15636 * docs/man/grub-script-check.h2m: New file.
15637 * docs/man/grub-set-default.h2m: New file.
15638 * docs/man/grub-setup.h2m: New file.
15639
3a37e322
VS
156402010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
15641
15642 Use FOR_* macros instead of *_iterate whenever possible.
15643
15644 * commands/handler.c: Removed.
15645 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
15646 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
15647 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15648 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
15649 (grub_probe_SOURCES): Remove kern/parser.c.
15650 (util/grub-script-check.c_DEPENDENCIES): Removed.
15651 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
15652 and grub_script_check_init.c.
15653 (grub_script_check_init.lst): Removed.
15654 (grub_script_check_init.h): Likewise.
15655 (grub_script_check_init.c): Likewise.
15656 (pkglib_MODULES): Remove handler.mod and sh.mod.
15657 (handler_mod_SOURCES): Removed.
15658 (handler_mod_CFLAGS): Likewise.
15659 (handler_mod_LDFLAGS): Likewise.
15660 (normal_mod_SOURCES): Remove normal/handler.c.
15661 Add script/main.c, script/script.c, script/execute.c,
15662 script/function.c, script/lexer.c, grub_script.tab.c
15663 and grub_script.yy.c.
15664 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15665 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15666 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
15667 (grub_setup_SOURCES): Remove kern/parser.c.
15668 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15669 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
15670 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
15671 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15672 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15673 (grub_setup_SOURCES): Remove kern/parser.c.
15674 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15675 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
15676 * include/grub/command.h (grub_command_iterate): Removed.
15677 (FOR_COMMANDS): New macro.
15678 * include/grub/dl.h (grub_dl): New member next.
15679 (grub_dl_iterate): Removed.
15680 (grub_dl_head): New variable declaration.
15681 (FOR_DL_MODULES): New macro.
15682 * include/grub/fs.h: Include list.h.
15683 (grub_fs): Make next first element.
15684 (grub_fs_list): New variable declaration.
15685 (grub_fs_register): Make inline.
15686 (grub_fs_unregister): Likewise.
15687 (grub_fs_iterate): Removed.
15688 (FOR_FILESYSTEMS): New macro.
15689 * include/grub/handler.h: Removed.
15690 * include/grub/list.h (grub_list_hook_t): Removed.
15691 (grub_list_test_t): Likewise.
15692 (grub_list_pop): Likewise.
15693 (grub_list_iterate): Likewise.
15694 (grub_list_insert): Likewise.
15695 (FOR_LIST_ELEMENTS): New macro.
15696 * include/grub/parser.h (grub_parser_class): Removed.
15697 (grub_parser_register): Likewise.
15698 (grub_parser_unregister): Likewise.
15699 (grub_parser_get_current): Likewise.
15700 (grub_parser_set_current): Likewise.
15701 (grub_register_rescue_parser): Likewise.
15702 (grub_rescue_parse_line): New function.
15703 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
15704 * include/grub/script_sh.h (grub_script_function_list): New variable
15705 declaration.
15706 (FOR_SCRIPT_FUNCTIONS): New macro.
15707 (grub_script_function_iterate): Removed.
15708 (grub_normal_parse_line): New prototype.
15709 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
15710 (FOR_DISABLED_TERM_INPUTS): Likewise.
15711 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
15712 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
15713 * include/grub/video.h (grub_video_adapter): Move 'next' to first
15714 element.
15715 (grub_video_register): Inline.
15716 (grub_video_unregister): Likewise.
15717 (grub_video_adapter_list): New variable declaration.
15718 (grub_video_iterate): Removed.
15719 (FOR_VIDEO_ADAPTERS): New macro.
15720 * kern/dl.c (grub_dl_list): Removed. All users updated.
15721 (grub_dl_iterate): Removed.
15722 * kern/fs.c (grub_fs_list): Make global.
15723 (grub_fs_register): Removed.
15724 (grub_fs_unregister): Likewise.
15725 (grub_fs_iterate): Likewise.
15726 * kern/handler.c: Removed.
15727 * kern/list.c (grub_list_pop): Removed.
15728 (grub_list_iterate): Likewise.
15729 (grub_list_insert): Likewise.
15730 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
15731 (grub_prio_list_insert): Don't use grub_list_insert.
15732 * kern/main.c (grub_register_rescue_parser): Don't call
15733 grub_register_rescue_parser.
15734 * kern/parser.c (grub_parser_class): Removed.
15735 (grub_parser_execute): Use grub_rescue_parse_line.
15736 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
15737 (grub_rescue_parser): Removed.
15738 (grub_register_rescue_parser): Likewise.
15739 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
15740 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
15741 (grub_auth_check_authentication): Likewise.
15742 * normal/completion.c (iterate_command): Removed.
15743 (grub_normal_do_completion): Use FOR_COMMANDS.
15744 * normal/handler.c: Removed.
15745 * normal/main.c (read_config_file): Remove parser changing.
15746 (grub_normal_execute): Don't call read_handler_list.
15747 (grub_normal_read_line_real): Statically allocate prompt.
15748 (grub_cmdline_run): Use grub_normal_parse_line.
15749 (GRUB_MOD_FINI): Don't call free_handler_list.
15750 * normal/menu_entry.c (run): Likewise.
15751 * script/function.c (grub_script_function_list): Make global.
15752 (grub_script_function_iterate): Removed.
15753 * script/main.c (grub_normal_parse_line): Make global.
15754 (grub_sh_parser): Removed.
15755 (GRUB_MOD_INIT): Likewise.
15756 (GRUB_MOD_FINI): Likewise.
15757 * tests/lib/functional_test.c (grub_functional_test): Use
15758 FOR_LIST_ELEMENTS.
15759 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
15760 (grub_test_run): Use FOR_LIST_ELEMENTS.
15761 * tests/lib/unit_test.c (main): Likewise.
15762 * util/deviceiter.c (grub_util_iterate_devices): Don't use
15763 grub_list_pop.
15764 * util/grub-fstest.c (grub_term_input_class): Removed.
15765 (grub_term_output_class): Likewise.
15766 * util/grub-probe.c: Likewise.
15767 * util/i386/pc/grub-setup.c: Likewise.
15768 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15769 * util/grub-script-check.c (main): Don't call grub_init_all and
15770 grub_fini_all.
15771 * video/video.c (grub_video_adapter_list): Make global.
15772 (grub_video_register): Removed.
15773 (grub_video_unregister): Likewise.
15774 (grub_video_iterate): Likewise.
15775
6289c3a7
VS
157762010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
15777
15778 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
15779 reported by Henrique Ferreiro.
15780
91460247
RM
157812010-06-09 Robert Millan <rmh@gnu.org>
15782
15783 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
15784 ones, when both are available.
15785
0ea7c4f9
GS
157862010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15787
15788 Make --version uniform and avoid hard-coded program name.
15789
15790 * util/grub-mkimage.c (main): Use `program_name' instead of
15791 hard-coded string.
15792 * util/i386/pc/grub-setup.c (main): Likewise.
15793 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
15794 * util/grub-install.in: Save the basename of $0 in $self, and use the
15795 latter in informational messages. Use the same format for --version
15796 as the binary programs.
15797 * util/grub-mkconfig.in: Likewise.
15798 * util/grub-mkrescue.in: Likewise.
15799 * util/grub-reboot.in: Likewise.
15800 * util/grub-set-default.in: Likewise.
15801 * util/i386/efi/grub-install.in: Likewise.
15802 * util/ieee1275/grub-install.in: Likewise.
15803 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
15804
e8a6f3b6
GS
158052010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15806
15807 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
15808 embedding area. Use <= instead of == when checking for non-emptiness.
15809
f4d095d7
GS
158102010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15811
15812 * configure.ac: Add `.' to the directories searched for unifont.
15813
50e532ca
CW
158142010-06-08 Colin Watson <cjwatson@ubuntu.com>
15815
15816 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
15817 grub_script.yy.h.
15818
d39f3dec
CW
158192010-06-08 Colin Watson <cjwatson@ubuntu.com>
15820
15821 * docs/grub.texi (History): Expand to cover GRUB 2.
15822 (Serial terminal): Refer to `terminal_input' and `terminal_output'
15823 commands, not `terminal'.
15824 (serial): Likewise.
15825 (terminal_input): New section.
15826 (terminal_output): New section.
15827 (uppermem): New section (stub).
15828 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
15829
6ef0ddb4
CW
158302010-06-08 Colin Watson <cjwatson@ubuntu.com>
15831
15832 * docs/grub.texi (Security): Menu entries are unrestricted by
15833 default, not restricted to superusers as I had previously thought.
15834 Reword to account for this.
15835
e0f4c438
CW
158362010-06-07 Colin Watson <cjwatson@ubuntu.com>
15837
15838 * kern/emu/misc.c (device_mapper_null_log): New function.
15839 (grub_device_mapper_supported): New function.
15840 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
15841 prototype.
15842 * kern/emu/hostdisk.c (find_partition_start): Check whether
15843 device-mapper is supported before trying to use it.
15844 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
15845
da908200
CW
158462010-06-07 Colin Watson <cjwatson@ubuntu.com>
15847
15848 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
15849 (File name syntax): Likewise.
15850 (help): --all is no longer supported in GRUB 2. Be more precise
15851 about pattern matching.
15852
fb55c3ac
CW
158532010-06-07 Colin Watson <cjwatson@ubuntu.com>
15854
15855 * normal/completion.c (grub_normal_do_completion): When completing
15856 arguments to "set" and the current word contains an equals sign,
15857 skip to after the equals sign before starting completion.
15858
258c2573
CW
158592010-06-07 Colin Watson <cjwatson@ubuntu.com>
15860
15861 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
15862
ee75515e
CW
158632010-06-07 Colin Watson <cjwatson@ubuntu.com>
15864
15865 * docs/grub.texi (Network): New section.
15866 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
15867 `(nd)' as in GRUB Legacy.
15868 (pxe_unload): New section.
15869
a6a700aa
CW
158702010-06-07 Colin Watson <cjwatson@ubuntu.com>
15871
15872 * docs/grub.texi (Troubleshooting): `echo' is not usually available
15873 in the rescue shell, so recommend using `set' instead. Thanks,
15874 Jordan Uggla.
15875
4003dd38
CW
158762010-06-07 Colin Watson <cjwatson@ubuntu.com>
15877
15878 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
15879 (password): New section.
15880 (password_pbkdf2): New section.
15881 (search): New section.
15882 (Security): New section.
15883 (Troubleshooting): New section, currently very incomplete.
15884 (Invoking grub-mkpasswd-pbkdf2): New section.
15885 (Internals): New section, currently very incomplete.
15886
e1cbcc40
CW
158872010-06-07 Colin Watson <cjwatson@ubuntu.com>
15888
15889 * util/grub.d/00_header.in: Add some more quoting (of
15890 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
15891 work again.
15892 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
15893
db8fa1ad
CW
158942010-06-07 Colin Watson <cjwatson@ubuntu.com>
15895
15896 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
15897 to `count', fixing variable shadowing that broke the -c option.
15898
158992010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
15900
15901 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
15902 in case they contain spaces.
15903
f28a9212
CW
159042010-06-04 Colin Watson <cjwatson@ubuntu.com>
15905
15906 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
15907 "part_" to partmap module names, in line with grub-install.
15908 Reported by: Jindřich Makovička (Debian bug #584426).
15909
9cdfe32f
CW
159102010-06-04 Colin Watson <cjwatson@ubuntu.com>
15911
15912 * util/grub-mkimage.c: Make target-related error messages slightly
15913 more helpful; -O talks about "format". Explicitly point to the use
15914 of -O if no target is specified.
15915 Reported by: Didier Raboud (Debian bug #584415).
15916
795b593a
CW
159172010-06-03 Colin Watson <cjwatson@ubuntu.com>
15918
15919 * INSTALL: Document several build requirements for optional features
15920 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
15921
9d9b5833
GS
159222010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
15923
15924 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
15925 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
15926 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
15927
0819fec8
CW
159282010-06-02 Colin Watson <cjwatson@ubuntu.com>
15929
15930 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
15931 Thanks to Jordan Uggla for spotting this.
15932
49396b4f
VS
159332010-06-02 Aleš Nesrsta <starous@volny.cz>
15934
15935 Finally make USB usable.
15936
15937 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
15938 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
15939 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
15940 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
15941 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
15942 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
15943 (GRUB_OHCI_FSMPS): Likewise.
15944 (GRUB_OHCI_PERIODIC_START): Likewise.
15945 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
15946 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
15947 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
15948 (GRUB_OHCI_SET_PORT_RESET): Likewise.
15949 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
15950 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
15951 (grub_ohci_transaction): Likewise.
15952 (grub_ohci_transfer): Improve condition detection algorithms.
15953 Handle toggle property. Program the transactions correctly.
15954 Improve error handling. Various important fixups.
15955 (grub_ohci_portstatus): Put register writes in right order.
15956 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
15957 (grub_uhci_transfer): Don't show "failed" message on success.
15958 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
15959 array.
15960 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
15961 determine its size.
15962 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
15963 before initialization is completed. Use IN direction for empty
15964 transfers. Use last_trans and compute toggle.
15965 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
15966 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
15967 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
15968 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
15969 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
15970 (grub_usb_device): Increase toggle to 256.
15971 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
15972 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
15973 GRUB_USBMS_SUBCLASS_SFF8070.
15974 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
15975 (grub_scsi_inquiry): New member page and alloc_length.
15976 (grub_scsi_request_sense): New structure.
15977 (grub_scsi_request_sense_data): Likewise.
15978 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
15979 control.
15980 * disk/scsi.c (grub_scsi_request_sense): New function.
15981 (grub_scsi_test_unit_ready): Likewise.
15982 (grub_scsi_inquiry): Fill new fields.
15983 (grub_scsi_read_capacity): Likewise.
15984 (grub_scsi_read10): Add request sense at the end.
15985 (grub_scsi_read12): Likewise.
15986 (grub_scsi_write10): Likewise.
15987 (grub_scsi_write12): Likewise.
15988 (grub_scsi_open): Add Test Unit Ready.
15989 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
15990 Support additional subclasses. Con't clear halt yet. Activate the
15991 proper config. Calculate LUNs correctly.
15992 (grub_usbms_transfer): Various important fixups.
15993
159942010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15995
15996 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
15997 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
15998 (grub_ohci_fini_hw): New function.
15999 (grub_ohci_restore_hw): Likewise.
16000 (GRUB_MOD_INIT(ohci)): Register preboot hook.
16001 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
16002 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
16003
160042010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
16005
16006 Dedicated DMA allocations.
16007
16008 * bus/pci.c (grub_memalign_dma32): New function
16009 (grub_dma_free): Likewise.
16010 (grub_dma_get_virt): Likewise.
16011 (grub_dma_get_phys): Likewise.
16012 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
16013 (grub_ohci_pci_iter): Use dma32_alloc.
16014 (grub_ohci_transfer): Likewise.
16015 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
16016 (grub_usb_bulk_readwrite): Likewise.
16017 * include/grub/pci.h: Add declarations.
16018
160192010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
16020
16021 CS5536 support.
16022
16023 * bus/cs5536.c: New file.
16024 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
16025 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
16026 (cs5536_mod_SOURCES): New variable.
16027 (cs5536_mod_CFLAGS): Likewise.
16028 (cs5536_mod_LDFLAGS): Likewise.
16029 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
16030 machine/pci.h.
16031 (kernel_img_SOURCES): Add bus/cs5536.c.
16032 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
16033 usb_keyboard.mod.
16034 (usb_mod_SOURCES): New variable.
16035 (usb_mod_CFLAGS): New variable.
16036 (usb_mod_LDFLAGS): New variable.
16037 (usbtest_mod_SOURCES): New variable.
16038 (usbtest_mod_CFLAGS): New variable.
16039 (usbtest_mod_LDFLAGS): New variable.
16040 (ohci_mod_SOURCES): New variable.
16041 (ohci_mod_CFLAGS): New variable.
16042 (ohci_mod_LDFLAGS): New variable.
16043 (usbms_mod_SOURCES): New variable.
16044 (usbms_mod_CFLAGS): New variable.
16045 (usbms_mod_LDFLAGS): New variable.
16046 (usb_keyboard_mod_SOURCES): New variable.
16047 (usb_keyboard_mod_CFLAGS): New variable.
16048 (usb_keyboard_mod_LDFLAGS): New variable.
16049 * include/grub/smbus.h: New file.
16050 * include/grub/cs5536.h: New file.
16051
0b35b2a9
CW
160522010-06-02 Colin Watson <cjwatson@ubuntu.com>
16053
16054 * util/grub.d/00_header.in: Add safety check to make sure that
16055 ${locale_dir} exists before trying to probe it.
16056
ca0afd5b
CW
160572010-06-02 Colin Watson <cjwatson@ubuntu.com>
16058
16059 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
16060 per the GNU Coding Standards; this is now too obscure to be worth
16061 documenting.
16062 (QNX): Likewise.
16063 (chainloader): Remove cross-reference to `SCO UnixWare'.
16064
1c41aa78
CW
160652010-06-02 Colin Watson <cjwatson@ubuntu.com>
16066
16067 * docs/grub.texi (Chain-loading): New section.
16068 (DOS/Windows): New section, borrowed from GRUB Legacy with details
16069 adjusted for GRUB 2.
16070 (SCO UnixWare): Likewise.
16071 (QNX): Likewise.
16072 (chainloader): Add reference to `Block list syntax'.
16073 (drivemap): New section.
16074 (parttool): New section.
16075
bb8ea0f5
CW
160762010-06-02 Colin Watson <cjwatson@ubuntu.com>
16077
16078 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
16079 the grub shell'.
16080 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
16081 (Installing GRUB using grub-install): Remove reference to the grub
16082 shell; mention `grub-mkimage' and `grub-setup' instead.
16083 (Invoking grub-install): Likewise.
16084 (Interface): Add reference to `Menu entry editor'.
16085 (serial): Remove `--device' option.
16086
288dd6ed
CW
160872010-06-02 Colin Watson <cjwatson@ubuntu.com>
16088
16089 * docs/grub.texi (Configuration): New section, documenting
16090 configuration file generation using grub-mkconfig. I've left a slot
16091 for documenting the full shell scripting format but have not yet
16092 started on writing that up.
16093 (Invoking grub-mkconfig): New section.
16094
34c9f0e9
CW
160952010-06-02 Colin Watson <cjwatson@ubuntu.com>
16096
16097 * docs/grub.texi (direntry): Remove grub-terminfo reference.
16098 (GNU GRUB manual): Likewise.
16099 (General commands): Update description of `terminfo' for GRUB 2.
16100
9121567e
CW
161012010-06-02 Colin Watson <cjwatson@ubuntu.com>
16102
16103 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
16104 (GRUB_MOD_INIT): Fix capitalisation.
16105 * docs/grub.texi (Command-line and menu entry commands): Document
16106 gettext and gptsync commands.
16107
ab631611
CW
161082010-06-02 Colin Watson <cjwatson@ubuntu.com>
16109
16110 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
16111 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
16112
bde4a9ac
CW
161132010-06-01 Colin Watson <cjwatson@ubuntu.com>
16114
16115 Add btrfs probing support, currently only in the single-device case.
16116
16117 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
16118 function.
16119 (grub_guess_root_device): Call find_root_device_from_mountinfo
16120 before looking in /dev.
16121
b1d17e10
VS
161222010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16123
16124 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
16125 GRUB_DISK_SIZE_UNKNOWN.
16126 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
16127
dfbfe004
JS
161282010-05-31 Jiro SEKIBA <jir@unicus.jp>
16129
16130 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
16131 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
16132 corrupted or not synced properly.
16133
c2ffc8e9
VS
161342010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16135
16136 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
16137 Reported by: Seth Goldberg.
16138
56293166
VS
161392010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16140
16141 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
16142 addition of dest.
16143 Reported by: Seth Goldberg.
16144
7620e7de
VS
161452010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16146
16147 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
16148 Reported by: Seth Goldberg.
16149
c837af3f
VS
161502010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16151
16152 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
16153 64-bit address as signed on MIPS.
16154
c7c75cf4
CW
161552010-05-28 Colin Watson <cjwatson@ubuntu.com>
16156
16157 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
16158 to the empty string.
16159
fa4b8490
BC
161602010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
16161
16162 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
16163
16164 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
16165 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
16166 * kern/misc.c (__enable_execute_stack): Disable on
16167 GRUB_MACHINE_EMU.
16168
a33075b9
CW
161692010-05-28 Colin Watson <cjwatson@ubuntu.com>
16170
16171 Make grub-probe work with symbolic links under /dev/mapper as well
16172 as with real block devices. The Linux world seems to be (at best)
16173 in transition here, and GRUB shouldn't get caught in the middle.
16174
16175 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
16176 /dev/mapper.
16177
d8708134
CW
161782010-05-27 Colin Watson <cjwatson@ubuntu.com>
16179
16180 * util/grub-script-check.c (main): Ensure defined behaviour on empty
16181 input files (in which case exit zero).
16182
db2102a0
CW
161832010-05-27 Colin Watson <cjwatson@ubuntu.com>
16184
16185 * kern/emu/misc.c (canonicalize_file_name): realpath can still
16186 return NULL for various reasons even if it has a maximum-length
16187 buffer: for example, there might be a symlink loop, or the path
16188 might exceed PATH_MAX. If this happens, return NULL.
16189
5fdba519
RM
161902010-05-27 Robert Millan <rmh@gnu.org>
16191
16192 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
16193 partmap module to handle cross-partmap setups.
16194 Reported by Orestes Mas. Gràcies!
16195
d1d368e4
CW
161962010-05-27 Colin Watson <cjwatson@ubuntu.com>
16197
16198 * util/grub-mkrescue.in: Initialise override_dir rather than
16199 assuming that it's unset or empty in the environment.
16200
95ac3c73
GS
162012010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
16202
16203 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
16204 variable index into p_index to suppress a warning with -Wshadow.
16205
7d8c0213
BC
162062010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
16207
16208 * INSTALL: Added flex >= 2.5.35 requirement.
16209
db4d5813
VS
162102010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
16211
16212 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
16213
f24f4300
VS
162142010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
16215
16216 cmostest support.
16217
16218 * commands/i386/cmostest.c: New file.
16219 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
16220 (cmostest_mod_SOURCES): New variable.
16221 (cmostest_mod_CFLAGS): Likewise.
16222 (cmostest_mod_LDFLAGS): Likewise.
16223 * conf/i386-pc.rmk: Likewise.
16224 * docs/grub.texi (Vendor power-on keys): New section.
16225 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
16226 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
16227 and GRUB_BUTTON_CMOS_ADDRESS.
16228 * util/grub.d/00_header.in: Handle powering-on by separate button.
16229
ad603f61
VS
162302010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
16231
16232 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
16233 Removed drawing_scrollbar argument. All users updated
16234 Fixes #29792.
16235 Reported by Jo Shields
16236
3ecb080a
VS
162372010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
16238
16239 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
16240 buffer since gfxterm handles double repaint.
16241
5f2316c1
VS
162422010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
16243
16244 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
16245 * term/gfxterm.c (real_scroll): Likewise.
16246
9a25f885
VS
162472010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16248
16249 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
16250 before calling BIOS.
16251
39fbb79a
VS
162522010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16253
16254 * include/grub/i18n.h: Always enable grub_gettext.
16255
228cfa97
VS
162562010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16257
16258 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
16259 partition naming style.
16260
21717c8f
CW
162612010-05-21 Colin Watson <cjwatson@ubuntu.com>
16262
16263 * util/grub-mkconfig.in: Fix handling of -o so that it works when
16264 not the first option.
16265
c0f48e65
CW
162662010-05-20 Colin Watson <cjwatson@ubuntu.com>
16267
16268 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
16269
96779aec
CW
162702010-05-20 Colin Watson <cjwatson@ubuntu.com>
16271
16272 * util/misc.c: Move inclusion of <limits.h> to ...
16273 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
16274
fa9d256e
GS
162752010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
16276
16277 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
16278 Fix merge error in NetBSD code.
16279 (find_partition_start) [__NetBSD__]: Likewise.
16280
123b7a85
BC
162812010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
16282
16283 Fix grub-mkrescue usage unit testing.
16284
16285 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
16286
74276c0d
CF
162872010-05-18 Christian Franke <franke@computer.org>
16288
16289 * util/grub.d/10_windows.in: Use path names instead of
16290 drive letters to prevent warning from Cygwin 1.7.
16291 Add drivemap command to menuentry if needed.
16292
c4f7b523
ST
162932010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
16294
16295 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
16296 gnumach and gnumach.gz.
16297
95b97950
VS
162982010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16299
16300 * include/grub/i18n.h (gettext): Inline instead of using #define.
16301 (grub_gettext): Likewise.
16302 (_): Likewise.
16303
01b8d2d7
VS
163042010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16305
16306 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
16307 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
16308 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
16309 (main): Add a slash after pkglibdirroot.
16310
654e1d1e
VS
163112010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16312
16313 * util/grub-install.in: Add missing "in" keyword.
16314
26966aeb
VS
163152010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16316
16317 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
16318 Reported by: Seth Goldberg.
16319
75006747
VS
163202010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16321
16322 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
16323
74cbf5bd
CW
163242010-05-18 Colin Watson <cjwatson@ubuntu.com>
16325
16326 * configure.ac: Check for Linux device-mapper support.
16327
16328 * util/hostdisk.c (device_is_mapped): New function.
16329 (find_partition_start): New function, partly broken out from
16330 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
16331 device-mapper support added.
16332 (linux_find_partition): Use find_partition_start.
16333 (convert_system_partition_to_system_disk): Add `st' argument.
16334 Support Linux /dev/mapper/* devices if device-mapper support is
16335 available; only DM-RAID devices are understood at present.
16336 (find_system_device): Add `st' argument. Pass it to
16337 convert_system_partition_to_system_disk.
16338 (grub_util_biosdisk_get_grub_dev): Pass stat result to
16339 find_system_device and convert_system_partition_to_system_disk. Use
16340 find_partition_start.
16341
16342 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
16343 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
16344 * util/deviceiter.c [__linux__]: Define MINOR.
16345 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
16346 * util/mkdevicemap.c (grub_putchar): New function.
16347 (grub_getkey): New function.
16348 (grub_refresh): New function.
16349 (main): Set debug=all if -v -v is used.
16350
355b51e9
CW
163512010-05-18 Colin Watson <cjwatson@ubuntu.com>
16352
16353 Fix build with non-GNU libcs.
16354
16355 * util/misc.c (canonicalize_file_name): Move to ...
16356 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
16357 grub_make_system_path_relative_to_its_root.
16358
7fb5c25f
CW
163592010-05-18 Colin Watson <cjwatson@ubuntu.com>
16360
16361 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
16362 we handle finding grub-mkimage. Default to finding grub-mkimage in
16363 ${bindir} with program_transform_name applied, and provide a
16364 --grub-mkimage option to override this.
16365
1d3293d6
VS
163662010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16367
16368 Remove grub-mkisofs.
16369
16370 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
16371 (grub_mkisofs_SOURCES): Removed.
16372 (grub_mkisofs_CFLAGS): Removed.
16373 * util/mkisofs/defaults.h: Removed.
16374 * util/mkisofs/eltorito.c: Likewise.
16375 * util/mkisofs/exclude.h: Likewise.
16376 * util/mkisofs/hash.c: Likewise.
16377 * util/mkisofs/include/: Likewise.
16378 * util/mkisofs/include/fctldefs.h: Likewise.
16379 * util/mkisofs/include/mconfig.h: Likewise.
16380 * util/mkisofs/include/prototyp.h: Likewise.
16381 * util/mkisofs/include/statdefs.h: Likewise.
16382 * util/mkisofs/iso9660.h: Likewise.
16383 * util/mkisofs/joliet.c: Likewise.
16384 * util/mkisofs/match.c: Likewise.
16385 * util/mkisofs/match.h: Likewise.
16386 * util/mkisofs/mkisofs.c: Likewise.
16387 * util/mkisofs/mkisofs.h: Likewise.
16388 * util/mkisofs/msdos_partition.h: Likewise.
16389 * util/mkisofs/multi.c: Likewise.
16390 * util/mkisofs/name.c: Likewise.
16391 * util/mkisofs/rock.c: Likewise.
16392 * util/mkisofs/tree.c: Likewise.
16393 * util/mkisofs/write.c: Likewise.
16394
5dde9afe
VS
163952010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16396
16397 Unify grub-mkimage accross platforms.
16398
16399 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
16400 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
16401 (grub_mkelfimage_SOURCES): Removed.
16402 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
16403 (util/grub-mkimage.c_DEPENDENCIES): .. this.
16404 (bin_UTILITIES): Add grub-mkimage.
16405 (grub_mkimage_SOURCES): New variable.
16406 (kernel_img_HEADERS): Remove machine/kernel.h.
16407 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
16408 (pkglib_PROGRAMS): Add kernel.img.
16409 (kernel_img_HEADERS): Add machine/kernel.h.
16410 (kernel_img_FORMAT): Removed.
16411 (bin_UTILITIES): Remove grub-mkimage.
16412 (grub_mkimage_SOURCES): Removed.
16413 (grub_mkimage_CFLAGS): Likewise.
16414 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16415 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
16416 (pkglib_PROGRAMS): Add kernel.img.
16417 (bin_UTILITIES): Remove grub-mkimage.
16418 (grub_mkimage_SOURCES): Removed.
16419 (grub_mkimage_CFLAGS): Likewise.
16420 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16421 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
16422 (pkglib_PROGRAMS): Add kernel.img.
16423 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
16424 (pkglib_PROGRAMS): Add kernel.img.
16425 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
16426 (grub_mkimage_SOURCES): Removed.
16427 (grub_mkimage_CFLAGS): Likewise.
16428 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16429 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
16430 (pkglib_PROGRAMS): Add kernel.img.
16431 (bin_UTILITIES): Remove grub-mkimage.
16432 (grub_mkimage_SOURCES): Removed.
16433 (grub_mkimage_CFLAGS): Likewise.
16434 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16435 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
16436 (grub_mkimage_SOURCES): Removed.
16437 (grub_mkimage_CFLAGS): Likewise.
16438 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16439 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
16440 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
16441 (grub_pe32_optional_header): ... this.
16442 (grub_pe64_optional_header): ... and this. All users updated.
16443 (GRUB_PE32_PE32_MAGIC): Split into ..
16444 (GRUB_PE32_PE32_MAGIC): .. this.
16445 (GRUB_PE32_PE64_MAGIC): .. and this.
16446 (GRUB_PE32_SIGNATURE_SIZE): New definition.
16447 * include/grub/elf.h (PT_GNU_STACK): New definition.
16448 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
16449 * include/grub/i386/efi/kernel.h: Likewise.
16450 * include/grub/i386/kernel.h: Likewise.
16451 * include/grub/i386/pc/kernel.h: Likewise.
16452 * include/grub/i386/qemu/boot.h: Likewise.
16453 * include/grub/mips/kernel.h: Likewise.
16454 * include/grub/mips/qemu-mips/kernel.h: Likewise.
16455 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
16456 * include/grub/powerpc/kernel.h: Likewise.
16457 * include/grub/sparc64/ieee1275/boot.h: Likewise.
16458 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
16459 * include/grub/sparc64/kernel.h: Likewise.
16460 * include/grub/x86_64/efi/kernel.h: Likewise.
16461 * include/grub/x86_64/kernel.h: Likewise.
16462 * include/grub/offsets.h: New file.
16463 * include/grub/kernel.h (grub_module_info): Split into ...
16464 (grub_module_info32): ... this.
16465 (grub_module_info64): ... and this.
16466 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
16467 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
16468 (grub_boot_blocklist): Moved from here ...
16469 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
16470 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
16471 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
16472 * include/grub/types.h (grub_target_to_host16): Removed.
16473 (grub_target_to_host32): Likewise.
16474 (grub_target_to_host64): Likewise.
16475 (grub_host_to_target16): Likewise.
16476 (grub_host_to_target32): Likewise.
16477 (grub_host_to_target64): Likewise.
16478 (grub_host_to_target_addr): Likewise.
16479
16480 Support grub-mkrescue for efi, coreboot and qemu.
16481
16482 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
16483 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
16484 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
16485 * util/grub-mkrawimage.c: Moved from here ...
16486 * util/grub-mkimage.c: ... here. All users updated.
16487 (ALIGN_ADDR): Use image_target.
16488 (TARGET_NO_FIELD): New const.
16489 (image_target_desc): New type.
16490 (image_targets): New array.
16491 (grub_target_to_host64): Use image_target.
16492 (grub_target_to_host32): Likewise.
16493 (grub_target_to_host16): Likewise.
16494 (grub_host_to_target64): Likewise.
16495 (grub_host_to_target32): Likewise.
16496 (grub_host_to_target16): Likewise.
16497 (grub_host_to_target_addr): Likewise.
16498 (generate_image): Handle multiimage.
16499 (main): Require -O parameter. All users updated.
16500 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
16501 util/efi/grub-mkimage.c
16502 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
16503 New option --rom-directory.
16504 Use xorriso.
16505 * util/i386/efi/grub-mkimage.c: Removed.
16506 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
16507 (grub_target_to_host32): Likewise.
16508 (grub_target_to_host64): Likewise.
16509 (grub_host_to_target16): Likewise.
16510 (grub_host_to_target32): Likewise.
16511 (grub_host_to_target64): Likewise.
16512 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
16513 (grub_target_to_host32): Likewise.
16514 (grub_target_to_host64): Likewise.
16515 (grub_host_to_target16): Likewise.
16516 (grub_host_to_target32): Likewise.
16517 (grub_host_to_target64): Likewise.
16518
f4fc97d0
BC
165192010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
16520
16521 Source tree is reorganized for emu build.
16522
16523 * include/grub/util/console.h: Move from here...
16524 * include/grub/emu/console.h: ...to here.
16525 * include/grub/util/getroot.h: Move from here...
16526 * include/grub/emu/getroot.h: ...to here.
16527 * include/grub/util/hostdisk.h: Move from here...
16528 * include/grub/emu/hostdisk.h: ...to here.
16529 * util/console.c: Move from here...
16530 * kern/emu/console.c: ...to here.
16531 * util/getroot.c: Move from here...
16532 * kern/emu/getroot.c: ...to here.
16533 * util/grub-emu.c: Move from here...
16534 * kern/emu/main.c: ...to here.
16535 * util/hostdisk.c: Move from here...
16536 * kern/emu/hostdisk.c: ...to here.
16537 * util/hostfs.c: Move from here...
16538 * kern/emu/hostfs.c: ...to here.
16539 * util/mm.c: Move from here...
16540 * kern/emu/mm.c: ...to here.
16541 * util/pci.c: Move from here...
16542 * bus/emu/pci.c: ...to here.
16543 * util/sdl.c: Move from here...
16544 * video/emu/sdl.c: ...to here.
16545 * util/time.c: Move from here...
16546 * kern/emu/time.c: ...to here.
16547 * util/usb.c: Move from here...
16548 * bus/usb/emu/usb.c: ...to here.
16549
16550 * include/grub/emu/misc.h: New header for grub-emu functions.
16551 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
16552
16553 * conf/any-emu.rmk: Rule updates for above renames.
16554 * conf/common.rmk: Likewise.
16555 * conf/i386-pc.rmk: Likewise.
16556 * conf/i386-qemu.rmk: Likewise.
16557 * conf/mips.rmk: Likewise.
16558 * conf/sparc64-ieee1275.rmk: Likewise.
16559 * conf/x86-efi.rmk: Likewise.
16560
16561 * disk/lvm.h: #include updates for above renames.
16562 * util/grub-mkrelpath.c: Likewise.
16563 * util/grub-probe.c: Likewise.
16564 * util/i386/pc/grub-setup.c: Likewise.
16565 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16566 * kern/emu/console.c: Likewise.
16567 * kern/emu/getroot.c: Likewise.
16568 * kern/emu/hostdisk.c: Likewise.
16569 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
16570
16571 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
16572 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
16573 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
16574 * util/misc.c: Remove grub-emu functions.
16575
cced9145
VS
165762010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16577
16578 Fix gfxmenu crash.
16579 Reported by: Thorsten Grützmacher.
16580
16581 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
16582 timeout hook.
16583 (circprog_set_property): Register and unregister timeout hook.
16584 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
16585 (label_destroy): Free template. and unregister hook.
16586 (label_set_state): New function.
16587 (label_set_property): Handle templates and hooks.
16588 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
16589 timeout hook.
16590 (progress_bar_set_property): Register and unregister timeout hook.
16591 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
16592 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
16593 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
16594 (update_timeout_visit): Removed.
16595 (update_timeouts): New function.
16596 (redraw_timeouts): Likewise.
16597 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
16598 (grub_gfxmenu_clear_timeout): Likewise.
16599 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
16600 (grub_gfxmenu_timeout_notify): Likewise.
16601 (grub_gfxmenu_timeout_notifications): New external variable.
16602 (grub_gfxmenu_timeout_register): New function.
16603 (grub_gfxmenu_timeout_unregister): Likewise.
16604
c6e5caab
VS
166052010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16606
16607 Transform (broken) vga terminal into (working) vga video driver.
16608
16609 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
16610 video/i386/pc/vga.c.
16611 * include/grub/video.h (grub_video_driver_id):
16612 Add GRUB_VIDEO_DRIVER_VGA.
16613 * term/i386/pc/vga.c: Renamed to ...
16614 * video/i386/pc/vga.c: ...this
16615 (DEBUG_VGA): Removed.
16616 (CHAR_WIDTH): Likewise.
16617 (CHAR_HEIGHT): Likewise.
16618 (TEXT_WIDTH): Likewise.
16619 (TEXT_HEIGHT): Likewise.
16620 (DEFAULT_FG_COLOR): Likewise.
16621 (DEFAULT_BG_COLOR): Likewise.
16622 (colored_char): Likewise.
16623 (xpos): Likewise.
16624 (ypos): Likewise.
16625 (cursor_state): Likewise.
16626 (fg_color): Likewise.
16627 (bg_color): Likewise.
16628 (text_buf): Likewise.
16629 (page): Likewise.
16630 (font): Likewise.
16631 (framebuffer): New variable.
16632 (set_read_map): Disabled.
16633 (setup): New variable.
16634 (is_target): Likewise.
16635 (grub_vga_mod_init): Likewise.
16636 (grub_vga_mod_fini): Likewise.
16637 (check_vga_mem): Likewise.
16638 (write_char): Likewise.
16639 (write_cursor): Likewise.
16640 (scroll_up): Likewise.
16641 (grub_vga_putchar): Likewise.
16642 (grub_vga_getcharwidth): Likewise.
16643 (grub_vga_getwh): Likewise.
16644 (grub_vga_getxy): Likewise.
16645 (grub_vga_gotoxy): Likewise.
16646 (grub_vga_cls): Likewise.
16647 (grub_vga_setcolorstate): Likewise.
16648 (grub_vga_setcursor): Likewise.
16649 (grub_video_vga_init): New function.
16650 (grub_video_vga_setup): Likewise.
16651 (grub_video_vga_fini): Likewise.
16652 (update_target): Likewise.
16653 (grub_video_vga_blit_bitmap): Likewise.
16654 (grub_video_vga_blit_render_target): Likewise.
16655 (grub_video_vga_set_active_render_target): Likewise.
16656 (grub_video_vga_get_active_render_target): Likewise.
16657 (grub_video_vga_swap_buffers): Likewise.
16658 (grub_video_vga_set_palette): Likewise.
16659 (grub_video_vga_get_info_and_fini): Likewise.
16660 (grub_vga_term): Removed.
16661 (grub_video_vga_adapter): New variable.
16662 (GRUB_MOD_INIT): Register a video driver instead of terminal.
16663 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
16664
2bf61a98
VS
166652010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16666
16667 * video/readers/jpeg.c: Indented.
16668
09ddcd11
VS
166692010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16670
16671 Various jpeg cleanups.
16672
16673 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
16674 (grub_jpeg_decode_quan_table): Use sizeof.
16675 (grub_jpeg_decode_du): Use ARRAY_SIZE.
16676
e5507505
PH
166772010-05-05 Peter Hurley <No e-mail available> (tiny change)
16678
16679 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
16680 tables. Ignore non-last ac bit.
16681 (grub_jpeg_decode_quan_table): Likewise.
16682
7e720a9b
VS
166832010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16684
16685 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
16686 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
16687 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16688 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
16689 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
16690 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
16691
a7fc080b
VS
166922010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16693
16694 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
16695 error.
16696
2bf6012d
VS
166972010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16698
16699 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
16700
265d68cd
VS
167012010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
16702
16703 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
16704 condition.
16705
167062010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
16707
16708 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
16709 part.
16710
265d68cd 167112010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
16712
16713 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
16714 pointers.
16715
265d68cd 167162010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
16717
16718 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
16719
d1b61374
CF
167202010-05-01 Christian Franke <franke@computer.org>
16721
16722 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
16723 Remove broken Cygwin path conversion.
16724 * util/misc.c: [__CYGWIN__] Add include and define.
16725 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
16726 for Cygwin 1.7.
16727 (make_system_path_relative_to_its_root): Simplify loop, replace early
16728 return by break.
16729 [__CYGWIN__] Add conversion to win32 path.
16730 Include "/" case in trailing slash removal.
16731
3558c6e9
VS
167322010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16733
16734 * kern/main.c (grub_load_config): Fix copy-pasted comment.
16735 Reported by: Seth Goldberg
16736
f5f3ff93
VS
167372010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16738
16739 * commands/help.c (grub_cmd_help): Fix a typo.
16740 Reported by: Seth Goldberg
16741
d8b5cd40
VS
167422010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16743
16744 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
16745 name and add N_.
16746 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
16747 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
16748 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
16749 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
16750 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
16751 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
16752 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
16753 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
16754 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
16755 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
16756 * normal/context.c (GRUB_MOD_INIT): Likewise.
16757 * normal/main.c (GRUB_MOD_INIT): Likewise.
16758 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
16759 * term/serial.c (GRUB_MOD_INIT): Likewise.
16760 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
16761
88c14915
VS
167622010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16763
16764 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
16765 extra == 0.
16766
165134bc
VS
167672010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16768
16769 * commands/iorw.c: New file.
16770 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
16771 (iorw_mod_SOURCES): New variable.
16772 (iorw_mod_CFLAGS): Likewise.
16773 (iorw_mod_LDFLAGS): Likewise.
16774
c5ac9b32
VS
167752010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16776
16777 Hotkey support
16778
16779 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
16780 * normal/main.c (hotkey_aliases): New variable.
16781 (grub_normal_add_menu_entry): Parse "--hotkey".
16782 * normal/menu_text.c (run_menu): Handle hotkeys.
16783
ce60689c
VS
167842010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16785
16786 * kern/i386/coreboot/init.c (grub_machine_init): Call
16787 grub_machine_mmap_init on qemu.
16788
0359d006
VS
167892010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16790
16791 * boot/i386/qemu/boot.S: Add a missing .code16.
16792
7819a456
VS
167932010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16794
16795 Use LBIO on coreboot.
16796
16797 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
16798 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
16799 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
16800 New declaration.
16801 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
16802 grub_machine_mmap_init on coreboot.
16803 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
16804 GRUB_LINUXBIOS_MEMBER_LINK.
16805 (grub_machine_mmap_iterate): Fix declaration.
16806 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
16807
7210dca9
VS
168082010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16809
16810 Split coreboot and multiboot ports.
16811
16812 * conf/i386-multiboot.rmk: New file.
16813 * configure.ac: Add multiboot port.
16814 * include/grub/i386/multiboot/boot.h: New file.
16815 * include/grub/i386/multiboot/console.h: Likewise.
16816 * include/grub/i386/multiboot/init.h: Likewise.
16817 * include/grub/i386/multiboot/kernel.h: Likewise.
16818 * include/grub/i386/multiboot/loader.h: Likewise.
16819 * include/grub/i386/multiboot/memory.h: Likewise.
16820 * include/grub/i386/multiboot/serial.h: Likewise.
16821 * include/grub/i386/multiboot/time.h: Likewise.
16822 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
16823 * loader/multiboot.c: Likewise.
16824 * loader/multiboot_mbi2.c: Likewise.
16825 * util/grub-mkrescue.in: Generate multiboot rescue.
16826
6f8aaf68
VS
168272010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16828
3080f7a7
VS
16829 * kern/parser.c (grub_parser_execute): Cope with read-only config.
16830
168312010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16832
16833 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
16834
16835 * commands/terminal.c (abstract_terminal): New struct.
16836 (handle_command): New function. Based on grub_cmd_terminal_input.
16837 (grub_cmd_terminal_input): Use handle_command.
16838 (grub_cmd_terminal_output): Use handle_command.
16839
a8ebb841
BC
168402010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
16841
16842 Fix comment handling.
16843
16844 * tests/grub_script_comments.in: New testcase.
16845 * conf/tests.rmk: Rules for new testcase.
16846 * script/yylex.l: Updated flex rules.
16847
bb06ba08
ST
168482010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
16849
16850 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
16851 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
16852 if argc is 1.
bb06ba08 16853
cc9d2425
VS
168542010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
16855
16856 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
16857 autogen issues.
16858
460d8402
CF
168592010-04-26 Christian Franke <franke@computer.org>
16860
16861 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
16862 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
16863 (grub_get_prefix): Remove function.
16864 * util/grub-emu.c (main): Replace grub_get_prefix () call by
16865 make_system_path_relative_to_its_root ().
16866 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
16867
553c01f9
CF
168682010-04-24 Christian Franke <franke@computer.org>
16869
16870 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
16871 (kernel_img_LDFLAGS): Remove -static-libgcc.
16872
2aec1692
CF
168732010-04-24 Christian Franke <franke@computer.org>
16874
16875 * configure.ac: Do not CHECK_BSS_START_SYMBOL
16876 and CHECK_END_SYMBOL if grub-emu is built.
16877 Unset TARGET_OBJ2ELF if grub-emu is built
16878 without module support.
16879
f67dc308
JS
168802010-04-24 Jiro SEKIBA <jir@unicus.jp>
16881
16882 Nilfs2 support.
16883
16884 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
16885 (grub_fstest_SOURCES): Likewise.
16886 (pkglib_MODULES): Add nilfs2.mod.
16887 (nilfs2_mod_SOURCES): New variable.
16888 (nilfs2_mod_CFLAGS): Likewise.
16889 (nilfs2_mod_LDFLAGS): Likewise.
16890 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
16891 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
16892 * fs/nilfs2.c: New file.
16893
4ba8d354
VS
168942010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
16895
16896 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
16897 is not supported.
16898
0d2c20c6
GS
168992010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
16900
16901 Add grub-mkconfig support for NetBSD.
16902
16903 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
16904 * util/grub-mkconfig.in: export new NetBSD specific variables.
16905 * po/POTFILES-shell: added 10_netbsd.in.
16906 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
16907
bc4a2d83
BC
169082010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
16909
16910 Fix emu build with grub-emu-pci and grub-emu-modules.
16911
16912 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
16913 functions.
16914 * include/grub/libpciaccess.h: New file.
16915 * conf/any-emu.rmk: Update kernel headers for emu build.
16916
f48c87aa
VS
169172010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16918
16919 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
16920
18959385
VS
169212010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16922
16923 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
16924
0037de3f
VS
169252010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16926
16927 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
16928 Retrieve chosen/bootpath if bootpath isn't hardcoded.
16929 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
16930 util/ieee1275/ofpath.c.
16931 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
16932 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
16933 * include/grub/sparc64/ieee1275/boot.h
16934 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
16935 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
16936 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
16937 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
16938 const char *.
16939 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
16940 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
16941 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
16942 install.
16943
38e55e90
GS
169442010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
16945
16946 * util/grub-mkconfig.in: Corrected two == equality tests.
16947 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
16948 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
16949 expect a number appended to it.
16950 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
16951 expects a number appended to it.
16952
a9e6ff28
VS
169532010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16954
16955 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
16956
0b830b8f
VS
169572010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16958
16959 * util/hostdisk.c (make_device_name): Change to new partition naming.
16960
0973daeb
VS
169612010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16962
16963 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
16964
460d8402 169652010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
16966
16967 * Makefile.in: Add missing localedir setting.
16968
0b456309
CW
169692010-04-14 Colin Watson <cjwatson@ubuntu.com>
16970
16971 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
16972 mistake in r2156. Noticed by Anthony Fok.
16973
16974 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
16975 @localedir@.
16976 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
16977
08f46d62
BC
169782010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
16979
16980 Fix a spurious, uninitialized variable warning.
16981
16982 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
16983 Initialize variable, shdr.
16984 (grub_freebsd_load_elfmodule): Likewise.
16985 (grub_freebsd_load_elf_meta): Likewise.
16986
8c4a72d4
BC
169872010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
16988
16989 Fix for escaped dollar in double quoted strings.
16990
16991 * script/yylex.l: Updated flex rules.
16992 * conf/tests.rmk: Rule for new testcase.
16993 * tests/grub_script_dollar.in: New testcase.
16994
ce44826e
CPE
169952010-04-13 Carles Pina i Estany <carles@pina.cat>
169962010-04-13 Colin Watson <cjwatson@ubuntu.com>
16997
16998 Enclose all translated strings in grub.cfg in single quotes, and
16999 escape them appropriately (Ubuntu bug #552921).
17000
17001 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
17002 * util/grub.d/10_hurd.in: Use it.
17003 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
17004 * util/grub.d/10_linux.in (linux_entry): Likewise.
17005
4b0cd8f8
VS
170062010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17007
17008 Fix cygwin compilation.
17009
17010 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
17011 * include/grub/misc.h (__register_frame_info)
17012 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
17013 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
17014 * kern/misc.c (__register_frame_info)
17015 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
17016 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
17017
01fcf061
VS
170182010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17019
17020 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
17021
5d04b11e
VS
170222010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17023
17024 Unify libgcc processing.
17025
17026 * Makefile.in (kernel_img_LDFLAGS): New variable.
17027 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
17028 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
17029 overwriting.
17030 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
17031 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
17032 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
17033 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
17034 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
17035 overwriting. Remove -lgcc and -static-libgcc
17036 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
17037 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
17038 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
17039 (kernel_img_LDFLAGS): Append instead of overwriting.
17040 Remove -lgcc and -static-libgcc
17041 * conf/sparc64-ieee1275.rmk: Likewise.
17042 * include/grub/powerpc/libgcc.h: Move to ...
17043 * include/grub/libgcc.h: .. this.
17044 * include/grub/libgcc.h: Don't export most of the function on x86.
17045 (__bswapsi2): New export.
17046 (__bswapdi2): Likewise.
17047 * include/grub/mips/libgcc.h: Removed.
17048 * include/grub/sparc64/libgcc.h: Likewise.
17049
b7f3ac29
VS
170502010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17051
17052 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
17053 disk_info_msg (conflicts with gettexting into languages with cases).
17054
2c7031b1
GS
170552010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
17056
17057 Add grub-probe support for NetBSD.
17058
17059 * util/getroot.c (find_root_device): Convert block device to
17060 character device on NetBSD.
17061 * util/probe.c (probe): Require character device on NetBSD.
17062 * util/hostdisk.c: NetBSD specific headers.
17063 (configure_device_driver): new function to tune device driver
17064 parameters (currently only for NetBSD floppy driver).
17065 (grub_util_biosdisk_open): NetBSD specific code (get disk size
17066 via disklabel ioctl).
17067 (open_device): call configure_device_driver on NetBSD.
17068 (convert_system_partition_to_system_disk): NetBSD specific code.
17069 (device_is_wholedisk): Likewise.
17070 (grub_util_biosdisk_get_grub_dev): Likewise.
17071 (make_device_name): Fixed a typo in bsd_part_str.
17072 * configure.ac: check for opendisk() and getrawpartition() on
17073 NetBSD and set LIBUTIL.
17074 * Makefile.in: add LIBUTIL to LIBS.
17075
f516290c
BC
170762010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
17077
17078 Documentation fix.
17079
17080 * util/grub-script-check.c: Better help message.
17081
d8dcc0df
BC
170822010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
17083
17084 Fix FreeBSD build.
17085
17086 * configure.ac: Flex version check.
17087 * conf/common.rmk: Add -Wno-error to sh.mod.
17088 * script/yylex.l: Remove all #pragma.
17089
6734334a
VS
170902010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17091
17092 * include/grub/util/misc.h (canonicalise_file_name): Add missing
17093 prototype.
17094 Reported by: Seth Goldberg.
17095
daea6abd
VS
170962010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17097
17098 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
17099 Rename "module" to "module2".
17100 Reported by: Seth Goldberg.
17101
f2fd9d2b
VS
171022010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17103
17104 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
17105 EXPORT_FUNC.
17106 Reported by: Seth Goldberg.
17107
be124579
VS
171082010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17109
17110 * lib/posix_wrap/locale.h: Add missing file.
17111 Reported by: Seth Goldberg.
17112
ef5da797
VS
171132010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17114
17115 grub-emu module load support.
17116
17117 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
17118 NO_DYNAMIC_MODULES switched to this.
17119 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
17120 (CFLAGS): Likewise.
17121 * conf/any-emu.rmk: Generate symlist.
17122 (kernel_img_HEADERS): Add util/datetime.h.
17123 (kernel_img_HEADERS) [sdl]: Add sdl.h.
17124 (kernel_img_HEADERS) [libusb]: Add libusb.h.
17125 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
17126 kern/$(target_cpu)/cache.S.
17127 * configure.ac (grub-emu-modules): New option.
17128 * genmk.rb: Handle multiple source lists.
17129 * include/grub/sdl.h: New file.
17130 * include/grub/libusb.h: Likewise.
17131 * util/grub-emu.c (main): Hanle (host) root.
17132 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
17133 GRUB_ERR_UNKNOWN_DEVICE.
17134 * util/misc.c: Move mm functions to ...
17135 * util/mm.c: ... here. All users updated.
17136
47822096
VS
171372010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17138
17139 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
17140 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
17141 missing files.
17142 (maintainer-clean): Remove libgcrypt-grub.
17143
5d7e7445
VS
171442010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17145
17146 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
17147
25f4e252
EC
171482010-04-09 EFI Coder <eficoder@hotmail.com>
17149
17150 * normal/menu_text.c (print_message): Clean up the message and show
17151 the Fn information when on EFI
17152 * term/efi/console.c (grub_console_checkkey): Add F4 support.
17153
027de555
VS
171542010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17155
17156 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
17157 All users updated.
17158 * normal/crypto.c (read_crypto_list): Likewise.
17159 * normal/dyncmd.c (read_command_list): Likewise.
17160 * normal/term.c (read_terminal_list): Likewise.
17161 * normal/main.c (read_lists): Use explicit prefix.
17162 (read_lists_hook): Use read_lists.
17163 (grub_normal_execute): Likewise.
17164
47779711
VS
171652010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17166
17167 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
17168 Reported by: Thomas Schmitt.
17169 Add -no-emul-boot to grub-mkisofs parameters.
17170
1118c32e
VS
171712010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17172
17173 * font/font.c: Indented.
17174
7d652447
BC
171752010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
17176
17177 Elif support to GRUB script (by Deepak Vankadaru).
17178
17179 * tests/grub_script_if.in: New testcase.
17180 * conf/tests.rmk: Rule for new testcase.
17181 * script/parser.y: Grammar rules for elif.
17182
34bb22df
BC
171832010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
17184
17185 While and until loops support to GRUB script.
17186
17187 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
17188 (grub_script_create_cmdwhile): New function prototype.
17189 (grub_script_execute_cmdwhile): New function prototype.
17190 * script/execute.c (grub_script_execute_cmdwhile): New function.
17191 * script/parser.y (command): New commands.
17192 (whilecmd): New grammar rule.
17193 (untilcmd): New grammar rule.
17194 * script/script.c (grub_script_create_cmdwhile): New function.
17195 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
17196 function.
17197
17198 * tests/grub_script_while1.in: New testcase.
17199 * conf/tests.rmk: Rule for new testcase.
17200
e215d8e0
VS
172012010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17202
17203 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
17204 as *.jpg.
17205
d7c43ba1
MV
172062010-04-09 Mario Vazquez <mariovazq@gmail.com>
17207
17208 GRUB_BACKGROUND support.
17209
17210 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
17211 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
17212
d64795c0
VS
172132010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17214
17215 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 17216 Idea by: Mario Vazquez
d64795c0
VS
17217
17218 * util/grub.d/00_header.in: Load pf2 and image modules.
17219
f267f83a
VS
172202010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17221
17222 grub-mkconfig multiple terminal support.
17223
17224 * util/grub-mkconfig.in: Handle multiple terminals correctly.
17225 * util/grub.d/00_header.in: Likewise.
17226
b7841ceb
VS
172272010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17228
17229 * Makefile.in: Specify files explicitly instead of using $< and $@ since
17230 we use cd $(srcdir).
17231
df60998c
CW
172322010-04-08 Colin Watson <cjwatson@ubuntu.com>
17233
17234 * util/grub.d/10_linux.in: Only use the first word of
17235 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
17236 spaces in GRUB_DISTRIBUTOR.
17237 * util/grub.d/10_kfreebsd.in: Likewise.
17238 * util/grub.d/10_hurd.in: Likewise.
17239
fa09c82e
BC
172402010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
17241
14e18ae3 17242 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
17243
17244 * tests/util/grub-shell.in: Remove -serial stdio option.
17245
daf892b3
BC
172462010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17247
17248 POSIX header file wrappers.
17249
17250 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
17251 equivalents.
17252 * lib/posix_wrap/ctype.h: Likewise.
17253 * lib/posix_wrap/errno.h: Likewise.
17254 * lib/posix_wrap/langinfo.h: Likewise.
17255 * lib/posix_wrap/limits.h: Likewise.
17256 * lib/posix_wrap/localcharset.h: Likewise.
17257 * lib/posix_wrap/stdint.h: Likewise.
17258 * lib/posix_wrap/stdio.h: Likewise.
17259 * lib/posix_wrap/stdlib.h: Likewise.
17260 * lib/posix_wrap/string.h: Likewise.
17261 * lib/posix_wrap/sys/types.h: Likewise.
17262 * lib/posix_wrap/unistd.h: Likewise.
17263 * lib/posix_wrap/wchar.h: Likewise.
17264 * lib/posix_wrap/wctype.h: Likewise.
17265 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
17266 (grub_script.yy.h): Likewise.
17267 * script/yylex.l: Remove POSIX emulation #defines.
17268 * Makefile.in (POSIX_CFLAGS): New variable.
17269 (GNULIB_UTIL_CFLAGS): Likewise.
17270
17271 Regexp support.
17272
17273 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
17274 (regexp_mod_SOURCES): New variable.
17275 (regexp_mod_CFLAGS): Likewise.
17276 (regexp_mod_LDFLAGS): Likewise.
17277 * commands/regexp.c: New file.
17278 * gnulib/regcomp.c: New file. Imported from gnulib.
17279 * gnulib/regex.c: Likewise.
17280 * gnulib/regex_internal.c: Likewise.
17281 * gnulib/regex_internal.h: Likewise.
17282 * gnulib/regexec.c: Likewise.
17283 * gnulib/regex.h: Likewise.
17284
974ac4f7
VS
172852010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17286
17287 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
17288 unsupported video mode types.
17289
2622c3ff
VS
172902010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17291
17292 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
17293
064cb524
VS
172942010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17295
17296 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
17297 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
17298
a8c3b552
VS
172992010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
17300
17301 Remove unused grub_vga_get_font.
17302
17303 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
17304 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
17305
187bbe3d
GS
173062010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
17307
17308 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
17309 * include/grub/misc.h: Likewise.
17310
b9396631
GS
173112010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
17312
17313 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
17314 for which failure is fatal.
17315
50479feb
GS
173162010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
17317
17318 * util/grub-install.in: Use mkdir -p to create grub directory.
17319 * util/i386/efi/grub-install.in: Likewise.
17320 * util/ieee1275/grub-install.in: Likewise.
17321
b1654fdf
GS
173222010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
17323
17324 * Makefile.in (LEX): new variable.
17325
bd5a6415
GS
173262010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
17327
17328 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
17329 `=' and added double quotes on operands of this equality test.
17330
3db3a82b
VS
173312010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
17332
17333 * Makefile.in (uninstall): Remove a leftover debug echo.
17334 Reported by: Grégoire Sutre
17335
38023412
VS
173362010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
17337
17338 MIPS multiboot2 support.
17339
17340 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
17341 (multiboot2_mod_SOURCES): New variable.
17342 (multiboot2_mod_CFLAGS): Likewise.
17343 (multiboot2_mod_LDFLAGS): Likewise.
17344 (multiboot2_mod_ASFLAGS): Likewise.
17345 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
17346 definition.
17347 (MULTIBOOT_ENTRY_REGISTER): Likewise.
17348 (MULTIBOOT_MBI_REGISTER): Likewise.
17349 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
17350 (MULTIBOOT_ELF32_MACHINE): Likewise.
17351 (MULTIBOOT_ELF64_MACHINE): Likewise.
17352 * include/grub/mips/multiboot.h: New file.
17353 * include/grub/video.h (grub_video_driver_id): New type
17354 GRUB_VIDEO_DRIVER_SM712.
17355 (grub_video_get_info_and_fini): Export.
17356 (grub_video_get_palette): Likewise.
17357 (grub_video_get_driver_id): Likewise.
17358 * include/multiboot2.h: Resynced with spec.
17359 * loader/i386/multiboot.c: Moved from here ...
17360 * loader/multiboot.c: ... here. All users updated.
17361 (grub_multiboot_boot): Use platform-specific macros.
17362 * loader/i386/multiboot_elfxx.c: Moved from here ...
17363 * loader/multiboot_elfxx.c: ... here. All users updated.
17364 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
17365 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
17366 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
17367
47674667
VS
173682010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17369
17370 Import gnulib argp module.
17371
17372 * gnulib/argp-ba.c: New file.
17373 * gnulib/argp-eexst.c: Likewise.
17374 * gnulib/argp-fmtstream.c: Likewise.
17375 * gnulib/argp-fmtstream.h: Likewise.
17376 * gnulib/argp-fs-xinl.c: Likewise.
17377 * gnulib/argp-help.c: Likewise.
17378 * gnulib/argp-namefrob.h: Likewise.
17379 * gnulib/argp-parse.c: Likewise.
17380 * gnulib/argp-pin.c: Likewise.
17381 * gnulib/argp-pv.c: Likewise.
17382 * gnulib/argp-pvh.c: Likewise.
17383 * gnulib/argp-version-etc.c: Likewise.
17384 * gnulib/argp-version-etc.h: Likewise.
17385 * gnulib/argp-xinl.c: Likewise.
17386 * gnulib/argp.h: Likewise.
17387
495442ed
VS
173882010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
17389
17390 * kern/device.c (grub_device_iterate): Clear errors after failed
17391 opening device.
17392
f9fd65df
VS
173932010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
17394
17395 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
17396 returned by firmware.
17397
af09641e
VS
173982010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17399
17400 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
17401 compilation on coreboot and qemu
17402
016883a5
VS
174032010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
17404
17405 * include/multiboot2.h: Resync with spec.
17406
f97e1f7d
VS
174072010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
17408
17409 Multiboot2 tag support
17410
17411 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
17412 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
17413 Remove loader/multiboot_loader.c.
17414 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
17415 (grub_multiboot2_real_boot): Likewise.
17416 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
17417 (grub_get_multiboot_mmap_count): New proto.
17418 (grub_fill_multiboot_mmap): Likewise.
17419 (grub_multiboot_set_video_mode): Likewise.
17420 (grub_multiboot_set_console): Likewise.
17421 (grub_multiboot_load): Likewise.
17422 (grub_multiboot_load_elf): Likewise.
17423 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
17424 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
17425 * include/multiboot.h: Resynced with specification.
17426 * include/multiboot2.h: Resynced with specification.
17427 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
17428 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
17429 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
17430 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
17431 users updated.
17432 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
17433 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
17434 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
17435 Removed.
17436 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
17437 Moved from here...
17438 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
17439 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
17440 Moved from here...
17441 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
17442 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
17443 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
17444 All users updated.
17445 * loader/i386/multiboot_mbi2.c: New file.
17446
3506b90b
VS
174472010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
17448
17449 Resync with gnulib.
17450
17451 * Makefile.in (GNULIB_CFLAGS): New variable.
17452 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
17453 (grub_script_check_CFLAGS): New variable.
17454 * gnulib/alloca.h: Resync with gnulib.
17455 * gnulib/error.c: Likewise.
17456 * gnulib/error.h: Likewise.
17457 * gnulib/fnmatch.c: Likewise.
17458 * gnulib/fnmatch_loop.c: Likewise.
17459 * gnulib/getdelim.c: Likewise.
17460 * gnulib/getline.c: Likewise.
17461 * gnulib/getopt.c: Likewise.
17462 * gnulib/getopt1.c: Likewise.
17463 * gnulib/getopt_int.h: Likewise.
17464 * gnulib/gettext.h: Likewise.
17465 * gnulib/progname.c: Likewise.
17466 * gnulib/progname.h: Likewise.
17467
394a3120
GS
174682010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
17469
17470 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
17471 which is the case with --disabled-nls.
17472
17473 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
17474 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
17475 * util/misc.c: Likewise.
17476 * util/mkisofs/mkisofs.c: Likewise.
17477 * util/mkisofs/mkisofs.h: Likewise.
17478
969d1c78
VS
174792010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
17480
17481 Simplify Apple CC support.
17482
17483 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
17484 Add 0 byte at the end not to have a symbol with empty target.
17485 * mmap/i386/pc/mmap_helper.S: Likewise.
17486 * genmk.rb: Ignore errors 2030 and 2050.
17487 * kern/i386/pc/startup.S: Use LOCAL when possible.
17488
8d2977bb
BC
174892010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
17490
17491 Testcase and the fix for final semicolon on cmdline.
17492
17493 * tests/grub_script_final_semicolon.in: New testcase.
17494 * conf/tests.rmk: Rules for the new testcase.
17495 * script/parser.y: Grammar fix.
17496
a7bd6915
BC
174972010-03-26 BVK Chaitanya <bvk@localhost>
17498
17499 Blank lines testcase for GRUB script.
17500
17501 * tests/grub_script_blanklines.in: New testcase.
17502 * conf/tests.rmk: Rules for the new testcase.
17503
e4ff6628
VS
175042010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17505
17506 Don't use __FILE__.
17507
17508 * genmk.rb: Add -DGRUB_FILE to all C targets.
17509 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
17510 * include/grub/list.h: Likewise.
17511 * include/grub/misc.h: Likewise.
17512 * include/grub/mm.h: Likewise.
17513 * include/grub/test.h: Likewise.
17514 * kern/mm.c: Likewise.
17515 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
17516
6a5cf6b6
VS
175172010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17518
17519 Sunpc partitions support.
17520
17521 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
17522 (grub_fstest_SOURCES): Likewise.
17523 (pkglib_MODULES): Add part_sunpc.mod.
17524 (part_sunpc_mod_SOURCES): New variable.
17525 (part_sunpc_mod_CFLAGS): Likewise.
17526 (part_sunpc_mod_LDFLAGS): Likewise.
17527 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
17528 * partmap/sunpc.c: New file.
17529
746d9045
BC
175302010-03-26 BVK Chaitanya <bvk@localhost>
17531
17532 For loop support to GRUB script.
17533
17534 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
17535 (grub_script_create_cmdfor): New function prototype.
17536 (grub_script_execute_cmdfor): New function prototype.
17537 * script/execute.c (grub_script_execute_cmdfor): New function.
17538 * script/parser.y (command): New for command.
17539 (forcmd): New grammar rule.
17540 * script/script.c (grub_script_create_cmdfor): New function.
17541 * util/grub-script-check.c (grub_script_execute_cmdfor): New
17542 function.
17543 * tests/grub_script_for1.in: New testcase.
17544 * conf/tests.rmk: Rules for new testcase.
17545
18486b18
VS
175462010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17547
17548 Nested partitions
17549
17550 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
17551 'partition' is NULL, grub_partition_get_start already does that.
17552 * commands/loadenv.c (check_blocklists): Likewise.
17553 (write_blocklists): Likewise.
17554 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
17555 (grub_fstest_SOURCES): Likewise.
17556 (pkglib_MODULES): Add part_bsd.mod.
17557 (part_bsd_mod_SOURCES): New variable.
17558 (part_bsd_mod_CFLAGS): Likewise.
17559 (part_bsd_mod_LDFLAGS): Likewise.
17560 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
17561 (grub_emu_SOURCES): Likewise.
17562 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17563 * include/grub/bsdlabel.h: New file.
17564 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
17565 'get_name'.
17566 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
17567 (grub_partition_map_list): New variable.
17568 (grub_partition_map_register): Inline.
17569 (grub_partition_map_unregister): Likewise.
17570 (FOR_PARTITION_MAPS): New macro.
17571 (grub_partition_map_iterate): Removed.
17572 (grub_partition_get_start): Handle nested partitions.
17573 * include/grub/msdos_partition.h: Remove bsd-related entries.
17574 (grub_pc_partition): Remove.
17575 * kern/disk.c (grub_disk_close): Free partition data.
17576 (grub_disk_adjust_range): Handle nested partitions.
17577 * kern/partition.c (grub_partition_map_probe): New function.
17578 (grub_partition_probe): Parse name to number, handle subpartitions.
17579 (get_partmap): New function.
17580 (grub_partition_iterate): Handle subpartitions.
17581 (grub_partition_get_name): Likewise.
17582 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
17583 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
17584 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
17585 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
17586 Set 'number'.
17587 (acorn_partition_map_probe): Remove.
17588 (acorn_partition_map_get_name): Likewise.
17589 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
17590 Set 'number'.
17591 Set 'index' to 0 since there can be only one partition entry per sector.
17592 (amiga_partition_map_probe): Remove.
17593 (amiga_partition_map_get_name): Likewise.
17594 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
17595 Set 'number'.
17596 Set 'offset' and 'index' to real positions of partitions.
17597 (apple_partition_map_probe): Remove.
17598 (apple_partition_map_get_name): Likewise.
17599 * partmap/bsdlabel.c: New file.
17600 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
17601 Set 'number'.
17602 Allocate 'data' so it can be correctly freed.
17603 Set 'index' to offset inside sector.
17604 (gpt_partition_map_probe): Remove.
17605 (gpt_partition_map_get_name): Likewise.
17606 * partmap/msdos.c (grub_partition_parse): Remove.
17607 (pc_partition_map_iterate): Don't force raw access.
17608 Set 'number'.
17609 Make 'ext_offset' a local variable.
17610 (pc_partition_map_probe): Remove.
17611 (pc_partition_map_get_name): Remove.
17612 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
17613 Set 'number'.
17614 (sun_partition_map_probe): Remove.
17615 (sun_partition_map_get_name): Likewise.
17616 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
17617 (grub_pcpart_type): Likewise.
17618 * util/hostdisk.c (open_device): Handle new numbering scheme.
17619 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
17620 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
17621 * util/grub-probe.c (probe_partmap): Handle nested paritions.
17622 * util/grub-install.in: Insert all subpartition modules.
17623 * util/ieee1275/grub-install.in: Likewise.
17624
a3940f88
AG
176252010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
17626
17627 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
17628 grammar.
17629
21b99926 176302010-03-24 Colin Watson <cjwatson@ubuntu.com>
17631
17632 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
17633
bed1d352
CW
176342010-03-21 Colin Watson <cjwatson@ubuntu.com>
17635
17636 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
17637 match where 'make install' puts them.
17638 * util/i386/efi/grub-install.in: Likewise.
17639
c9f58427
CW
176402010-03-19 Colin Watson <cjwatson@ubuntu.com>
17641
17642 * .bzrignore: Add gentrigtables, grub-script-check,
17643 grub_script_check_init.c, grub_script_check_init.h, and
17644 trigtables.c.
17645
f84afb27
VS
176462010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
17647
17648 * kern/parser.c: Indented.
17649
ed0e3d30
VS
176502010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
17651
17652 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
17653
0ea81d98
VS
176542010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
17655
17656 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
17657 alpha_mask_size == 0 case.
17658
0cdc2a09
BC
176592010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
17660
17661 GRUB shell lexer and parser improvements.
17662
17663 * conf/any-emu.rmk: Build rule updates.
17664 * conf/common.rmk: Likewise.
17665 * conf/i386-coreboot.rmk: Likewise.
17666 * conf/i386-efi.rmk: Likewise.
17667 * conf/i386-ieee1275.rmk: Likewise.
17668 * conf/i386-pc.rmk: Likewise.
17669 * conf/powerpc-ieee1275.rmk: Likewise.
17670 * conf/x86_64-efi.rmk: Likewise.
17671
17672 * configure.ac: Configure check for flex.
17673
17674 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
17675 types.
17676 (grub_lexer_param): Struct member updates.
17677 (grub_parser_param): Likewise.
17678 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
17679 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
17680 (grub_script_lexer_init): Prototype update.
17681 (grub_script_lexer_record_start): Likewise.
17682 (grub_script_lexer_record_stop): Likewise.
17683 (grub_script_lexer_yywrap): New function prototype.
17684 (grub_script_lexer_fini): Likewise.
17685 (grub_script_execute_argument_to_string): Removed by...
17686 (grub_script_execute_argument_to_argv): ...better version.
17687
17688 * script/execute.c (ROUND_UPTO): New macro.
17689 (grub_script_execute_cmdline): Out of memory fixes.
17690 (grub_script_execute_menuentry): Likewise.
17691 (grub_script_execute_argument_to_string): Removed. Update all
17692 users by...
17693 (grub_script_execute_argument_to_argv): ...better version.
17694 * script/function.c (grub_script_function_create): Use
17695 grub_script_execute_argument_to_argv instead of
17696 grub_script_execute_argument_to_string.
17697
17698 * script/lexer.c (check_varstate): Removed.
17699 (check_textstate): Removed.
17700 (grub_script_lexer_record_start): Likewise.
17701 (grub_script_lexer_record_stop): Likewise.
17702 (recordchar): Replaced with...
17703 (grub_script_lexer_record): ...new function.
17704 (nextchar): Removed.
17705 (grub_script_lexer_init): Rewritten.
17706 (grub_script_yylex): Rewritten.
17707 (append_newline): New function.
17708 (grub_script_lexer_yywrap): New function.
17709 (grub_script_lexer_fini): New function.
17710 (grub_script_yyerror): Sets error flag.
17711
17712 * script/yylex.l: New file.
17713 (grub_lexer_yyfree): Wrapper for flex yyffre.
17714 (grub_lexer_yyalloc): Likewise.
17715 (grub_lexer_yyrealloc): Likewise.
17716 * script/parser.y: Refactored.
17717
17718 * script/script.c (grub_script_arg_add): Out of memory fixes.
17719 (grub_script_add_arglist): Likewise.
17720 (grub_script_create_cmdline): Likewise.
17721 (grub_script_create_cmdmenu): Likewise.
17722 (grub_script_add_cmd): Likewise.
17723 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
17724 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
17725 unnecessary code.
17726
17727 * tests/grub_script_echo1.in: New testcase.
17728 * tests/grub_script_vars1.in: New testcase.
17729 * tests/grub_script_echo_keywords.in: New testcase.
17730
1d63a066
VS
177312010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17732
17733 Remove some redundancy in build system.
17734
17735 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
17736 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
17737 (TARGET_LDFLAGS): Add -nostdlib.
17738 (TARGET_IMG_LDFLAGS): Likewise.
17739 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
17740 anything since mmap isn't available.
17741 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
17742 Add util/time.c.
17743 (pkglib_MODULES): Remove reboot.mod.
17744 (reboot_mod_SOURCES): Removed.
17745 (reboot_mod_CFLAGS): Likewise.
17746 (reboot_mod_LDFLAGS): Likewise.
17747 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
17748 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
17749 (DEFSYMFILES): Add kernel_syms.lst.
17750 (kernel_img_HEADERS): Add common headers.
17751 (symlist.c): New target.
17752 (kernel_syms.lst): Likewise.
17753 (pkglib_MODULES): Add memdisk.mod.
17754 (memdisk_mod_SOURCES): New variable.
17755 (memdisk_mod_CFLAGS): Likewise.
17756 (memdisk_mod_LDFLAGS): Likewise.
17757 (pkglib_MODULES): Add reboot.mod.
17758 (reboot_mod_SOURCES): New variable.
17759 (reboot_mod_CFLAGS): Likewise.
17760 (reboot_mod_LDFLAGS): Likewise.
17761 (pkglib_MODULES): Add date.mod.
17762 (date_mod_SOURCES): New variable.
17763 (date_mod_CFLAGS): Likewise.
17764 (date_mod_LDFLAGS): Likewise.
17765 (pkglib_MODULES): Add datehook.mod.
17766 (datehook_mod_SOURCES): New variable.
17767 (datehook_mod_CFLAGS): Likewise.
17768 (datehook_mod_LDFLAGS): Likewise.
17769 (pkglib_MODULES): Add lsmmap.mod.
17770 (lsmmap_mod_SOURCES): New variable.
17771 (lsmmap_mod_CFLAGS): Likewise.
17772 (lsmmap_mod_LDFLAGS): Likewise.
17773 (pkglib_MODULES): Add boot.mod.
17774 (boot_mod_SOURCES): New variable.
17775 (boot_mod_CFLAGS): Likewise.
17776 (boot_mod_LDFLAGS): Likewise.
17777 * conf/i386-coreboot.rmk: Removed redundant parts.
17778 * conf/i386-ieee1275.rmk: Likewise.
17779 * conf/i386-pc.rmk: Likewise.
17780 * conf/mips-yeeloong.rmk: Likewise.
17781 * conf/mips.rmk: Likewise.
17782 * conf/powerpc-ieee1275.rmk: Likewise.
17783 * conf/sparc64-ieee1275.rmk: Likewise.
17784 * conf/x86_64-efi.rmk: Likewise.
17785 * conf/i386-coreboot.rmk: Moved qemu parts ..
17786 * conf/i386-qemu.rmk: ... here
17787 * conf/i386-efi.rmk: Moved common parts to...
17788 * conf/x86-efi.rmk: ... here.
17789 * conf/i386.rmk: Added modules common to all x86 variants.
17790 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
17791 * disk/memdisk.c: Remove grub/machine/kernel.h.
17792 * gensymlist.sh.in: Include symbol.h.
17793 * hook/datehook.c: Correct module name.
17794 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
17795 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
17796 * include/grub/i386/efi/serial.h: New file.
17797 * include/grub/x86_64/efi/serial.h: Likewise.
17798 * util/time.c: Likewise.
17799 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
17800
463ac55f
CK
178012010-03-14 Colin King <colin.king@ubuntu.com>
178022010-03-14 Colin Watson <cjwatson@ubuntu.com>
17803
17804 Shrink the pre-partition-table part of boot.img by eight bytes.
17805
17806 * boot/i386/pc/boot.S (ERR): New macro.
17807 (chs_mode): Use ERR.
17808 (geometry_error): Likewise.
17809 (hd_probe_error): Remove. This is only used once, so we wrwite
17810 it inline instead.
17811 (read_error): Instead of printing read_error_string, just set up
17812 %si and fall through to ...
17813 (error_message): ... this new function, also used by ERR.
17814
08e46ede
CW
178152010-03-14 Colin Watson <cjwatson@ubuntu.com>
17816
17817 Speed up consecutive hostdisk operations on the same device.
17818
17819 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
17820 (grub_util_biosdisk_open): Initialise disk->data.
17821 (struct linux_partition_cache): New structure.
17822 (linux_find_partition): Cache partition start positions; these are
17823 expensive to compute on every read and write.
17824 (open_device): Cache open file descriptor in disk->data, so that we
17825 don't have to reopen it and flush the buffer cache for consecutive
17826 operations on the same device.
17827 (grub_util_biosdisk_close): New function.
17828 (grub_util_biosdisk_dev): Set `close' member.
17829
17830 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
17831 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
17832 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
17833 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
17834 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
17835
4a6d2d06
VS
178362010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17837
17838 Compile parts of grub-emu as modules.
17839
17840 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
17841 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
17842 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
17843 (all-local): Add $(GRUB_EMU).
17844 (install-local): Install $(GRUB_EMU).
17845 (uninstall): Uninstall $(GRUB_EMU).
17846 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
17847 * kern/dl.c: Likewise.
17848 * commands/sleep.c: Not include machine/time.h.
17849 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
17850 (COMMON_CFLAGS): Likewise.
17851 (sbin_UTILITIES): Remove grub-emu.
17852 (grub_emu_SOURCES): Removed.
17853 (kernel_img_RELOCATABLE): New variable.
17854 (pkglib_PROGRAMS): Add kernel.img.
17855 (kernel_img_SOURCES): New variable
17856 (kernel_img_CFLAGS): Likewise.
17857 (kernel_img_LDFLAGS): Likewise.
17858 (TARGET_NO_STRIP): Likewise.
17859 (TARGET_NO_DYNAMIC_MODULES): Likewise.
17860 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
17861 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
17862 (grub-emu): New target.
17863 (GRUB_EMU): New variable.
17864 * configure.ac: Whitelist -emu as possible x86_64 architecture.
17865 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
17866 * loader/xnu.c: Likewise.
17867 * include/grub/pci.h: Likewise.
17868 * genemuinit.sh: New file.
17869 * genemuinitheader.sh: Likewise.
17870 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
17871 Support TARGET_NO_DYNAMIC_MODULES.
17872 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
17873 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
17874 * disk/loopback.c: Likewise.
17875 * font/font_cmd.c: Likewise.
17876 * partmap/acorn.c: Likewise.
17877 * partmap/amiga.c: Likewise.
17878 * partmap/apple.c: Likewise.
17879 * partmap/gpt.c: Likewise.
17880 * partmap/msdos.c: Likewise.
17881 * partmap/sun.c: Likewise.
17882 * parttool/msdospart.c: Likewise.
17883 * term/gfxterm.c: Likewise.
17884 * video/bitmap.c: Likewise.
17885 * video/readers/jpeg.c: Likewise.
17886 * video/readers/png.c: Likewise.
17887 * video/readers/tga.c: Likewise.
17888 * video/video.c: Likewise.
17889 * util/grub-emu.c (read_command_list): Removed.
17890 (main): Don't call util_init_nls.
17891 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
17892 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
17893
91fdd2ed
VS
178942010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17895
17896 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
17897 date.mod, datehook.mod.
17898 (datetime_mod_SOURCES): New variable.
17899 (datetime_mod_CFLAGS): Likewise.
17900 (datetime_mod_LDFLAGS): Likewise.
17901 (date_mod_SOURCES): Likewise.
17902 (date_mod_CFLAGS): Likewise.
17903 (date_mod_LDFLAGS): Likewise.
17904 (datehook_mod_SOURCES): Likewise.
17905 (datehook_mod_CFLAGS): Likewise.
17906 (datehook_mod_LDFLAGS): Likewise.
17907 * conf/sparc64-ieee1275.rmk: Likewise.
17908 * lib/ieee1275/datetime.c: New file.
17909
873ccae6
VS
179102010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17911
17912 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
17913 (ieee1275_fb_mod_SOURCES): New variable.
17914 (ieee1275_fb_mod_CFLAGS): Likewise.
17915 (ieee1275_fb_mod_LDFLAGS): Likewise.
17916 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
17917 New proto.
17918 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
17919 (HEAP_MAX_ADDR): Likewise.
17920 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
17921 type.
17922 Correct stop condition.
17923 (grub_ieee1275_devices_iterate): New function.
17924 * video/ieee1275.c: New file.
17925
601c97c0
VS
179262010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17927
17928 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
17929
17930 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
17931 as scratch.
17932 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
17933 SCRATCH_PAD_DISKBOOT as scratch.
17934 (bootit): Pass Openfirmware pointer in %o4.
17935 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
17936 of 0x200000.
17937 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
17938 with util/grub-mkrawimage.c.
17939 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
17940 * include/grub/aout.h (AOUT_MID_SUN): New definition.
17941 (grub_aout_get_type) [GRUB_UTIL]: Removed.
17942 (grub_aout_load) [GRUB_UTIL]: Likewise.
17943 * include/grub/kernel.h (grub_modules_get_end): New proto.
17944 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
17945 (SCRATCH_PAD_BOOT): New definition.
17946 (SCRATCH_PAD_DISKBOOT): Likewise.
17947 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
17948 * include/grub/sparc64/ieee1275/ieee1275.h
17949 (grub_ieee1275_original_stack): New variable
17950 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
17951 New definition
17952 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
17953 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
17954 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
17955 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
17956 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
17957 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
17958 (grub_platform_image_format_t): New type.
17959 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
17960 * kern/main.c (grub_modules_get_end)
17961 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
17962 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
17963 (codestart): Switch stacks.
17964 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
17965 variable.
17966 (grub_heap_init): Use grub_modules_get_end.
17967 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
17968 stack.
17969 * util/grub-mkrawimage.c (generate_image): Support sparc64.
17970 (main): Likewise.
17971 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
17972
d68b491e
TG
179732010-03-14 Thorsten Glaser <tg@mirbsd.org>
17974
17975 * util/grub-mkrescue.in: Base ISO UUID on UTC.
17976
4e02ed50
MK
179772010-03-08 Matt Kraai <kraai@ftbfs.org>
17978
17979 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
17980 bug #559005).
17981
1f15fc1e
VS
179822010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
17983
17984 * genmoddep.awk: Output all missing symbols and not only first.
17985
fce5d8ff
VS
179862010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17987
17988 * NEWS: Put the date of 1.98 release.
17989
d1e8a02f
VS
179902010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17991
17992 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
17993 ft2build.h.
17994
696fd607
VS
179952010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17996
17997 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
17998 completition in the middle of string.
17999
33e2e6f3
VS
180002010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18001
18002 * util/grub-mkrescue.in: Use mktemp with explicit template.
18003
b1f6d291
VS
180042010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18005
18006 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
18007
2ac227c7
VS
180082010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18009
18010 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
18011 right pointer.
18012
8f9a632b
VS
180132010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
18014
18015 Fix FreeBSD compilation.
18016
18017 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
18018 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
18019
60b03859
VS
180202010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
18021
18022 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
18023
48a5a769
VS
180242010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18025
18026 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
18027
3ab4bd77
VS
180282010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18029
18030 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
18031
d116e0d8
RM
180322010-03-04 Robert Millan <rmh.grub@aybabtu.com>
18033
18034 Support relative image path in theme file.
18035
18036 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
18037 (image_set_property): Handle theme_dir and relative path.
18038
c7ef54aa
VS
180392010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18040
18041 * configure.ac: Alias amd64 to x86_64.
18042
fcee14ed
VS
180432010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18044
18045 * NEWS: mention multiboot on EFI.
18046
d0780363
VS
180472010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18048
18049 * kern/main.c (grub_load_modules): Handle errors from init functions of
18050 embeded modules.
18051
41168ea4
VS
180522010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18053
18054 * normal/autofs.c (autoload_fs_module): Handle errors.
18055
b54d93ac
VS
180562010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18057
18058 Disable linux.mod on qemu-mips since it's not functional and leads
18059 to compilation failure.
18060
18061 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
18062 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
18063 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
18064 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
18065 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
18066 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
18067 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
18068 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
18069 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
18070 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
18071 Reported by: BVK Chaitanya
18072
fc8345da
JU
180732010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
18074
18075 * INSTALL: Add gettext as a dependency and add qemu to a new section
18076 "Prerequisites for make-check".
18077
4760f979
CF
180782010-03-04 Christian Franke <franke@computer.org>
18079
18080 * util/grub-pe2elf.c: Add missing include "progname.h".
18081
f209b5b2
VS
180822010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18083
18084 * normal/crypto.c (read_crypto_list): Fix a typo.
18085 Reported by: Seth Goldberg.
18086
b4b7be98
VS
180872010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18088
18089 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 18090 Reported by: Seth Goldberg.
b4b7be98 18091
c0ee0385
VS
180922010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18093
18094 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
18095 ascii.bitmaps.
18096
a8efbf64
VS
180972010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18098
18099 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 18100 Reported by: Seth Goldberg.
a8efbf64 18101
08dcd913
VS
181022010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18103
18104 * util/i386/efi/grub-install.in: Copy gettext files.
18105
c4d0b332
VS
181062010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18107
18108 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
18109
c6f2fe52
VS
181102010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18111
18112 Wait for user entry basing on presence of output rather than on errors.
18113
18114 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
18115 (grub_install_newline_hook): Likewise.
18116 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
18117 * normal/menu.c (show_menu): Check line_counter to determine presence
18118 of output.
18119 * normal/term.c (grub_normal_line_counter): New variable.
18120 (grub_normal_get_line_counter): New function.
18121 (grub_install_newline_hook): Likewise.
18122
5382b1e4
VS
181232010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18124
18125 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
18126
5519963b
VS
181272010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18128
18129 * configure.ac: Update version to 1.98.
18130
72b28631
VS
181312010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
18132
18133 * util/grub.d/10_linux.in (linux_entry): Don't default to
18134 gfxpayload=keep if Linux doesn't support video handover.
18135
c140a180
VS
181362010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
18137
18138 Don't compile video modules on yeeloong since video subsystem is part
18139 of kernel.
18140
18141 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
18142 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
18143 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
18144 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
18145 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
18146 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
18147 * include/grub/bitmap_scale.h: Likewise.
18148 * include/grub/bufio.h: Likewise.
18149 * include/grub/font.h: Likewise.
18150 * include/grub/gfxterm.h: Likewise.
18151 * include/grub/video.h: Likewise.
18152 * include/grub/vbe.h: Don't include video_fb.h.
18153 * video/i386/pc/vbe.c: Include video_fb.h.
18154 * commands/i386/pc/vbetest.c: Include video.h.
18155
a0ca21c2
CW
181562010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
18157
18158 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
18159 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
18160 default entry if GRUB_SAVEDEFAULT=true. This allows using
18161 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
18162 saving a new default on every boot.
18163
4a8a763c
VS
181642010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
18165
18166 * normal/crypto.c (read_crypto_list): Fix a memory leak.
18167 * normal/term.c (read_terminal_list): Likewise.
18168 * normal/main.c (grub_normal_init_page): Likewise.
18169 (grub_normal_read_line_real): Likewise.
18170
607ffde2
VS
181712010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
18172
18173 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
18174 memory leak.
18175 Reported by: Seth Goldberg.
18176
2b8fa975
CW
181772010-02-24 Joey Korkames <joey+lists@kidfixit.com>
18178
18179 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
18180 duplicate declaration of `start'.
18181
618307dd
VS
181822010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
18183
18184 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
18185 filename.
18186 Reported by: Georgy Buranov
18187
7dd05b96 181882010-02-20 Carles Pina i Estany <carles@pina.cat>
18189
18190 * util/grub-mkrawimage.c (usage): Change string formatting to
18191 improve gettext.
18192
d1484a42
MRA
181932010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
18194
18195 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
18196 backspace keys.
18197
42b1d186
VS
181982010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
18199
18200 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
18201 Reported by: Michael Suchanek.
18202
182032010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
18204
18205 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
18206 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
18207
d9f31a41
VS
182082010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
18209
18210 Remove any reference to non-free fonts.
18211
18212 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
18213 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
18214 uses non-free components.
18215 * font/font.c (grub_font_get_name): Remove example name.
18216 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
18217 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
18218 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
18219 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
18220
2793c71e
GB
182212010-02-16 Georgy Buranov <gburanov@gmail.com>
18222
18223 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
18224
402e3779
VS
182252010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
18226
18227 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
18228 Double divisor.
18229 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
18230 features.
18231 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
18232
0dd1e0dd
VS
182332010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
18234
18235 * gensymlist.sh.in: Use TARGET_CC instead of CC.
18236
6fa7cfce
ST
182372010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
18238
18239 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
18240 * docs/grub.texi (Command-line and menu entry commands): Document play
18241 command.
18242
37c8483b
ST
182432010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
18244
18245 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
18246 parse arguments as inline tempo and notes. Move code for playing notes
18247 to...
18248 (play): ... new function.
18249
14da0fb7
ST
182502010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
18251
18252 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
18253 grub_uint16_t instead of short.
18254 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
18255 disk from little endian to cpu endianness.
18256
04459e70
ST
182572010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
18258
18259 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
18260 GRUB_TICKS_PER_SECOND instead of 120.
18261
a0876943
VS
182622010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18263
18264 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
18265 escape sequence after \e.
18266
e29f95dc
VS
182672010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18268
18269 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
18270 non-ASCII characters.
18271
d27859b2
VS
182722010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18273
18274 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
18275 set root in single quotes to prevent \, from being unescaped.
18276
bc028f2f
VS
182772010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18278
18279 Prevent unknown commands from stopping menuentry execution.
18280
18281 * script/execute.c (grub_script_execute_cmdline): Print error after
18282 unknown command.
18283
095f5f82
VS
182842010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18285
18286 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
18287 Reported by: Pavel Pisa.
18288
8c717950
VS
182892010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18290
18291 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
18292
904935c3
VS
182932010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18294
18295 Merge grub_ieee1275_map_physical into grub_map and rename to
18296 grub_ieee1275_map
18297
18298 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
18299 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
18300 Remove.
18301 * kern/ieee1275/openfw.c (grub_map): Rename to ...
18302 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
18303 necessary.
18304 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
18305
5b59a4e3
VS
183062010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18307
18308 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
18309 opening and not after.
18310
69e137e8
VS
183112010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18312
18313 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
18314 constants.
18315
2c0fcc36
VS
183162010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18317
18318 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
18319 (alloc_phys): Use ALIGN_UP instead of align_addr.
18320
8c6052ce
VS
183212010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18322
18323 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
18324
17cec782
VS
183252010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18326
18327 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
18328
e0128bbd
VS
183292010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18330
18331 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
18332 verbose dprintf.
18333
ca62070b
VS
183342010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18335
18336 Fix over-4GiB seek on sparc64.
18337
18338 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
18339 Replace pos_i and pos_lo with pos. All users updated.
18340 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
18341 New constant.
18342 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
18343 Likewise.
18344 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
18345 and pos_lo.
18346
bdca2607
VS
183472010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18348
18349 * util/grub-mkrawimage.c (main): Call set_program_name.
18350
da278c4d
VS
183512010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18352
18353 Properly align 64-bit targets.
18354
18355 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
18356 (generate_image): Use ALIGN_ADDR.
18357
b274d734
VS
183582010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18359
18360 Properly create cross-endian images.
18361
18362 * include/grub/types.h (grub_host_to_target_addr): New macro
18363 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
18364
82da2062
VS
183652010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18366
18367 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
18368
7cae4377
VS
183692010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
18370
18371 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
18372
18373 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
18374 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
18375 (grub_linux_boot): Divide by 64K when on VESA.
18376
65a533e7
VS
183772010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
18378
18379 Support GRUB_GFXPAYLOAD_LINUX.
18380
18381 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
18382 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
18383
dd01d397
VS
183842010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
18385
18386 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
18387 to show messages instead of discarding them.
18388 Process errors after executing command and not before. Keep old method
18389 too as precaution.
18390
660960d6
VS
183912010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
18392
18393 * configure.ac: Check for ft2build.h.
18394
62509f04
VS
183952010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18396
18397 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
18398
473df63d
VS
183992010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18400
18401 * genkernsyms.sh.in: Use TARGET_CC.
18402
c98d2a13
CW
184032010-02-07 Colin Watson <cjwatson@ubuntu.com>
18404
18405 * NEWS: Update.
18406
6e14234c
VS
184072010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18408
18409 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
18410 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
18411 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 18412
b255e9cf
YB
184132010-02-07 Yves Blusseau <blusseau@zetam.org>
18414
6e14234c 18415 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 18416
98e6959d
VS
184172010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18418
18419 Fix warnings in grub-emu when compiling with maximum warning options.
18420
18421 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
18422 (grub_arch_modules_addr): Return 0 and not NULL.
18423 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 18424 (xstrdup): Use newstr instead of dup.
f88d801b
VS
18425 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
18426 of disk to dsk to avoid shadowing.
74e4934e
VS
18427 (find_free_slot): Fix prototype.
18428 * util/getroot.c (grub_util_is_dmraid): Make static.
18429 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
18430 Add missing prototype.
18431 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 18432
74e31b5c
VS
184332010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18434
18435 * loader/i386/linux.c (grub_linux_setup_video): Handle error
18436 appropriately.
18437
6b2ad14b
VS
184382010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18439
18440 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
18441 code out.
18442
8f891adc
VS
184432010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18444
18445 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
18446 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
18447 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
18448 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
18449 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
18450 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
18451
74b45184
VS
184522010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18453
18454 * include/grub/err.h (grub_err_printf): Don't export.
18455
a4bced77
VS
184562010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18457
18458 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
18459
007d0695
VS
184602010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18461
18462 * include/grub/i18n.h (grub_gettext_dummy): Removed.
18463 * kern/misc.c (grub_gettext_dummy): Make static.
18464
b6c0d9c2
VS
184652010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18466
18467 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
18468 by non-valid ones.
18469 * kern/term.c (grub_putchar): Likewise.
18470
f51a90d0
VS
184712010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18472
18473 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
18474 buggy hook call and memory leak.
18475
6846cec5
VS
184762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18477
18478 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
18479
468d69fe
VS
184802010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18481
18482 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
18483
51906b8c
VS
184842010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18485
18486 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
18487 modevar.
18488 Return grub_errno on allocation error.
18489
09706ce5
VS
184902010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18491
18492 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
18493
911df80c
YB
184942010-02-06 Yves Blusseau <blusseau@zetam.org>
18495
18496 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
18497 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
18498
3746a6bc
VS
184992010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18500
18501 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
18502 non-pxe disk.
18503 (grub_pxefs_open): Likewise.
18504
09706ce5
VS
185052010-02-06 Robert Millan <rmh.grub@aybabtu.com>
18506
18507 * util/grub.d/10_hurd.in: Add --class information to menuentries.
18508 * util/grub.d/10_kfreebsd.in: Likewise.
18509 * util/grub.d/10_linux.in: Likewise.
18510
7cc192d9
VS
185112010-02-06 Colin D Bennett <colin@gibibit.com>
18512
18513 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
18514 (gfxmenu_mod_SOURCES): New variable.
18515 (gfxmenu_mod_CFLAGS): Likewise.
18516 (gfxmenu_mod_LDFLAGS): Likewise.
18517 * include/grub/term.h (grub_term_set_current_output): Declare
18518 argument as const.
18519 * docs/gfxmenu-theme-example.txt: New file.
18520 * gfxmenu/gfxmenu.c: Likewise.
18521 * gfxmenu/gui_box.c: Likewise.
18522 * gfxmenu/gui_canvas.c: Likewise.
18523 * gfxmenu/gui_circular_progress.c: Likewise.
18524 * gfxmenu/gui_image.c: Likewise.
18525 * gfxmenu/gui_label.c: Likewise.
18526 * gfxmenu/gui_list.c: Likewise.
18527 * gfxmenu/gui_progress_bar.c: Likewise.
18528 * gfxmenu/gui_string_util.c: Likewise.
18529 * gfxmenu/gui_util.c: Likewise.
18530 * gfxmenu/icon_manager.c: Likewise.
18531 * gfxmenu/model.c: Likewise.
18532 * gfxmenu/named_colors.c: Likewise.
18533 * gfxmenu/theme_loader.c: Likewise.
18534 * gfxmenu/view.c: Likewise.
18535 * gfxmenu/widget-box.c: Likewise.
18536 * include/grub/gfxmenu_model.h: Likewise.
18537 * include/grub/gfxmenu_view.h: Likewise.
18538 * include/grub/gfxwidgets.h: Likewise.
18539 * include/grub/gui.h: Likewise.
18540 * include/grub/gui_string_util.h: Likewise.
18541 * include/grub/icon_manager.h: Likewise.
18542
185432010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18544
18545 Agglomerate scrolling in gfxterm.
18546
18547 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
18548 (grub_virtual_screen_setup): Initialise 'total_screen'.
18549 (write_char): Split to ...
18550 (paint_char): ... this ...
18551 (write_char): ... and this.
18552 (paint_char): Handle delayed scrolling.
18553 (draw_cursor): Likewise.
18554 (scroll_up): Split to ...
18555 (real_scroll): ... this ...
18556 (scroll_up): ... and this.
18557 (real_scroll): Handle multi-line scroll and draw below-the-bottom
18558 characters.
18559 (grub_gfxterm_refresh): Call real_scroll.
18560
185612010-02-06 Colin D Bennett <colin@gibibit.com>
18562
18563 * include/grub/misc.h (grub_iscntrl): New inline function.
18564 (grub_isalnum): Likewise.
18565 (grub_strtol): Likewise.
18566
185672010-02-06 Colin D Bennett <colin@gibibit.com>
18568
18569 * normal/menu_text.c (get_entry_number): Move from here ...
18570 * normal/menu.c (get_entry_number): ... moved here.
18571 * include/grub/menu.h (grub_menu_get_default_entry_index):
18572 New prototype.
18573 * normal/menu.c (grub_menu_get_default_entry_index): New function.
18574 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
18575 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
18576 (grub_menu_viewer_should_return): Likewise.
18577 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
18578 * normal/menu_text.c (run_menu): Enable menu switching.
18579 * normal/menu_viewer.c (should_return): New variable.
18580 (menu_viewer_changed): Likewise.
18581 (grub_menu_viewer_show_menu): Handle menu viewer changes.
18582 (grub_menu_viewer_should_return): New function.
18583 (menuviewer_write_hook): Likewise.
18584 (grub_menu_viewer_init): Likewise.
18585
185862010-02-06 Colin D Bennet <colin@gibibit.com>
185872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18588
18589 Support for gfxterm in a window.
18590
18591 * include/grub/gfxterm.h: New file.
18592 * include/grub/video.h (struct grub_video_rect): New declaration.
18593 (grub_video_rect_t): Likewise.
18594 * term/gfxterm.c (struct grub_gfxterm_window): New type.
18595 (refcount): New variable.
18596 (render_target): Likewise.
18597 (window): Likewise.
18598 (repaint_callback): Likewise.
18599 (grub_virtual_screen_setup): Use 'render_target'.
18600 (init_window): New function.
18601 (grub_gfxterm_init_window): Likewise.
18602 (grub_gfxterm_init): Check reference counter.
18603 Use init_window.
18604 (destroy_window): New function.
18605 (grub_gfxterm_destroy_window): Likewise.
18606 (grub_gfxterm_fini): Check reference counter.
18607 Use destroy_window.
18608 (redraw_screen_rect): Restore viewport.
18609 Use 'render_target' and 'window'.
18610 Call 'repaint_callback'.
18611 (write_char): Use 'render_target'.
18612 (draw_cursor): Likewise.
18613 (scroll_up): Restore viewport.
18614 Use 'render_target' and 'window'.
18615 Call 'repaint_callback'.
18616 (grub_gfxterm_cls): Likewise.
18617 (grub_gfxterm_refresh): Use 'window'.
18618 (grub_gfxterm_set_repaint_callback): New function.
18619 (grub_gfxterm_background_image_cmd): Use 'window'.
18620 (grub_gfxterm_get_term): New function.
18621 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
18622
186232010-02-06 Colin D Bennett <colin@gibibit.com>
18624
18625 Bitmap scaling support.
18626
18627 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
18628 (bitmap_scale_mod_SOURCES): New variable.
18629 (bitmap_scale_mod_CFLAGS): Likewise.
18630 (bitmap_scale_mod_LDFLAGS): Likewise.
18631 * include/grub/bitmap_scale.h: New file.
18632 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
18633 (background_image_cmd_options): New variable.
18634 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
18635 (cmd): Rename and change type to ...
18636 (background_image_cmd_handle): ... this. All users updated.
18637 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
18638 * video/bitmap_scale.c: New file.
18639
186402010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18641
18642 SDL support.
18643
18644 * Makefile.in (LIBSDL): New variable.
18645 (enable_grub_emu_sdl): Likewise.
18646 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
18647 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
18648 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
18649 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
18650 * util/sdl.c: New file.
18651
186522010-02-06 Colin D Bennett <colin@gibibit.com>
186532010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18654
18655 Double buffering support.
18656
18657 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
18658 * include/grub/video.h: Update comment.
18659 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
18660 New type.
18661 (grub_video_fb_doublebuf_blit_init): New prototype.
18662 * term/gfxterm.c (scroll_up): Support double buffering.
18663 (grub_gfxterm_refresh): Likewise.
18664 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
18665 (grub_video_fb_doublebuf_blit_init): Likewise.
18666 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
18667 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
18668 'displayed_page', 'render_page' and 'update_screen'.
18669 (grub_video_vbe_fini): Free offscreen buffer.
18670 (doublebuf_pageflipping_commit): New function.
18671 (doublebuf_pageflipping_update_screen): Likewise.
18672 (doublebuf_pageflipping_init): Likewise.
18673 (double_buffering_init): Likewise.
18674 (grub_video_vbe_setup): Enable doublebuffering.
18675 (grub_video_vbe_swap_buffers): Implement.
18676 (grub_video_vbe_set_active_render_target): Handle double buffering.
18677 (grub_video_vbe_get_active_render_target): Likewise.
18678 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
18679 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
18680 (grub_video_vbe_enable_double_buffering): Likewise.
18681 (grub_video_vbe_swap_buffers): Use update_screen.
18682 (grub_video_set_mode): Use double buffering.
18683
186842010-02-06 Robert Millan <rmh.grub@aybabtu.com>
18685
18686 * maintainance/gentrigtables.py: Remove.
18687 * lib/trig.c: Likewise.
18688
18689 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
18690
18691 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
18692 `trigtables.c'.
18693 (trigtables.c): New rule.
18694 (gentrigtables): Likewise.
18695 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
18696
186972010-02-06 Robert Millan <rmh.grub@aybabtu.com>
18698
18699 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
18700 integer constants.
18701
187022010-02-06 Colin D Bennet <colin@gibibit.com>
18703
18704 Trigonometry support.
18705
18706 * include/grub/trig.h: New file.
18707 * lib/trig.c: Likewise.
18708 * maintainance/gentrigtables.py: Likewise.
18709 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
18710 (trig_mod_SOURCES): New variable.
18711 (trig_mod_CFLAGS): Likewise.
18712 (trig_mod_LDFLAGS): Likewise.
18713
5562834e
VS
187142010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18715
18716 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
18717 disk devices.
18718
4f8528fc
VS
187192010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18720
18721 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
18722 error.
18723
2b4068e9
VS
187242010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
18725
18726 * util/hostdisk.c (open_device): Don't use partition device when reading
18727 before the partition.
18728 (grub_util_biosdisk_read): Don't read from partition and before the
18729 partition in single operation.
18730 (grub_util_biosdisk_write): Don't write to partition and before the
18731 partition in single operation.
18732
399f6e4d
TL
187332010-02-03 Torsten Landschoff <torsten@debian.org>
18734
18735 * kern/disk.c (grub_disk_read): Fix offset computation when reading
18736 last sectors.
18737
996649b0
VS
187382010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
18739
18740 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
18741 CDROM reads.
18742 (grub_biosdisk_write): Refuse to write to CDROM.
18743
3b205d4d
VS
187442010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
18745
18746 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
18747
61e89d9d
VS
187482010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
18749
18750 * font/font.c (find_glyph): Check that bmp_idx is available before
18751 using it.
18752 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
18753 with (font == NULL).
18754
bf7fcba2
CS
187552010-01-28 Christian Schmitt <chris@ilovelinux.de>
18756
18757 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
18758
f45d2663
BC
187592010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
18760
18761 * include/grub/script_sh.h (sourcecode): Add const qualifier.
18762 * util/grub-script-check.c (getline): Fix empty lines case.
18763
ec1444e6
RM
187642010-01-28 Robert Millan <rmh.grub@aybabtu.com>
18765
18766 * Makefile.in (check): Exit with fail status when one of the tests
18767 fails.
18768 * tests/example_functional_test.c (example_test): Fix reversed assert.
18769 * tests/example_unit_test.c (example_test): Likewise.
18770
2e1cb9bb
CW
187712010-01-28 Colin Watson <cjwatson@ubuntu.com>
18772
18773 * util/grub.d/10_linux.in: This script does not use any of the
18774 contents of gettext.sh, only the external command `gettext', so stop
18775 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
18776 the same prefix as GRUB.)
18777 * util/grub.d/10_kfreebsd.in: Likewise.
18778
63533ab0
VS
187792010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
18780
18781 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
18782 of the line.
18783
989e1f93
VS
187842010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
18785
18786 * kern/disk.c (grub_disk_read): Fix offset computation when reading
18787 last sectors.
18788
e709ebe2
VS
187892010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
18790
18791 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
18792 having a 4KiB and not 32KiB buffer size.
18793
27dea7ed
RM
187942010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18795
18796 * util/hostfs.c: Include `<errno.h>'.
18797 (grub_hostfs_read): Handle errors from fseeko() and fread().
18798
67667b9c
RM
187992010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18800
18801 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
18802 loop when using read hooks on files whose size isn't sector-aligned.
18803
c294d9d8
RM
188042010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18805
18806 Remove unused parameter.
18807
18808 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
18809 (grub_iso9660_open): Remove initialization of `data->length'.
18810
af75a9f1
RM
188112010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18812
18813 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
18814 memleak conditions.
18815
254e2ce5 188162010-01-27 Carles Pina i Estany <carles@pina.cat>
18817
18818 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
18819 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
18820
b510928c 188212010-01-26 Carles Pina i Estany <carles@pina.cat>
18822
18823 * util/bin2h.c (usage): Fix warning (space after backslash).
18824
aa2f9dd2 188252010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 18826
18827 * font/font.c: Include `grub/fontformat.h.
18828 Remove font file format constants.
18829 (grub_font_load): Use the new macros.
18830 * include/grub/fontformat.h: New file.
18831 * util/grub-mkfont.c: Include `grub/fontformat.c'.
18832 (write_font_pf2): Use the new macros.
18833
94e7e712
RM
188342010-01-26 Robert Millan <rmh.grub@aybabtu.com>
18835
18836 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
18837 does.
18838
3973a59a
RM
188392010-01-26 Robert Millan <rmh.grub@aybabtu.com>
18840
18841 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
18842
18843 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
18844 (_start): Macroify `0x7F'.
18845
18846 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
18847 (make_install_device): Use "(pxe)" as fallback prefix when booting
18848 via PXE.
18849
42e0cba3
GS
188502010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
18851
18852 * configure.ac: Reset LIBS after check for libgcc symbols.
18853
847effd8
CW
188542010-01-25 Colin Watson <cjwatson@ubuntu.com>
18855
18856 * util/hostdisk.c (open_device): Add trailing newline to debug
18857 message.
18858
ea4a7e35
GS
188592010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
18860
18861 * configure.ac: Check for `limits.h'.
18862 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
18863
67951a53
RM
188642010-01-24 Robert Millan <rmh.grub@aybabtu.com>
18865
18866 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
18867 capitalize error strings.
18868
c273d4ce
ST
188692010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
18870
18871 * util/grub.d/10_hurd.in: Add a recovery mode.
18872
69be5b74
VS
188732010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
18874
18875 * configure.ac: Check for libgcc symbols with -nostdlib.
18876
fc9e5810
BC
188772010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
18878
18879 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
18880
4b358c0a
VS
188812010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18882
18883 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
18884 stack since heap may be unavailable at that point.
18885 (grub_ofconsole_gotoxy): Likewise.
18886
454fcd1c
VS
188872010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18888
18889 * configure.ac: Check for _restgpr_14_x.
18890 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
18891 and _savegpr_* prototypes.
18892
566863ca
RM
188932010-01-22 Robert Millan <rmh.grub@aybabtu.com>
18894
18895 Use generic grub_reboot() for i386-efi.
18896
18897 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
18898 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
18899 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
18900
bf86e59a
VS
189012010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18902
18903 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
18904 presence of "prefix" variable as it breaks when normal.mod is
18905 embedded.
18906
d645e0f8
VS
189072010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
18908
18909 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
18910 stack since heap is unavailable at that point.
18911
f9ab2e25
VS
189122010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
18913
18914 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
18915 (grub_freebsd_bootinfo): Rewritten.
18916 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
18917
01fc7054
VS
189182010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
18919
18920 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
18921
caab4fd6
RM
189222010-01-21 Robert Millan <rmh.grub@aybabtu.com>
18923
18924 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
18925 domain now.
18926
67eb1427
FZ
189272010-01-20 Felix Zielcke <fzielcke@z-51.de>
18928
18929 * util/misc.c (make_system_path_relative_to_its_root): Change the work
18930 around for handling "/" to the correct fix. Fix a memory leak. Use
18931 xstrdup instead of strdup.
18932
a9ed4ff3
VS
189332010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18934
18935 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
18936
189372010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
18938
18939 Optimise glyph lookup by Basic Multilingual Plane lookup array.
18940
18941 * font/font.c (struct grub_font): New member 'bmp_idx'.
18942 (font_init): Initialise 'bmp_idx'.
18943 (load_font_index): Fill 'bmp_idx'.
18944 (find_glyph): Make inline. Use bmp_idx for BMP characters.
18945
48209f4f
VS
189462010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18947
18948 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
18949 unnecessary calls.
18950
9f0a4bb7
VS
189512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18952
18953 Move context handling out of the kernel.
18954
18955 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
18956 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
18957 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
18958 * conf/i386-efi.rmk: Likewise.
18959 * conf/i386-ieee1275.rmk: Likewise.
18960 * conf/i386-pc.rmk: Likewise.
18961 * conf/powerpc-ieee1275.rmk: Likewise.
18962 * conf/sparc64-ieee1275.rmk: Likewise.
18963 * conf/x86_64-efi.rmk: Likewise.
18964 * include/grub/env.h: Include grub/menu.h.
18965 (grub_env_var_type): Removed.
18966 (grub_env_var): Replaced field 'type' with 'global'.
18967 (grub_env_find): New prototype.
18968 (grub_env_context_open): Remove EXPORT_FUNC.
18969 (grub_env_context_close): Likewise.
18970 (grub_env_export): Likewise.
18971 (grub_env_set_data_slot): Removed.
18972 (grub_env_get_data_slot): Likewise.
18973 (grub_env_unset_data_slot): Likewise.
18974 (grub_env_unset_menu): New prototype.
18975 (grub_env_set_menu): Likewise.
18976 (grub_env_get_menu): Likewise.
18977 * include/grub/env_private.h: New file.
18978 * include/grub/normal.h (grub_context_init): New prototype.
18979 (grub_context_fini): Likewise.
18980 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
18981 * normal/context.c (grub_cmd_export): ... to here.
18982 * kern/env.c: Include env_private.h.
18983 (HASHSZ): Moved to include/grub/env_private.h.
18984 (grub_env_context): Likewise.
18985 (grub_env_sorted_var): Likewise.
18986 (current_context): Renamed from this ...
18987 (grub_current_context): ...to this. 'static' removed. All users updated.
18988 (grub_env_find): Removed 'static'.
18989 (grub_env_context_open): Moved to normal/context.c.
18990 (grub_env_context_close): Likewise.
18991 (grub_env_export): Likewise.
18992 (mangle_data_slot_name): Removed.
18993 (grub_env_set_data_slot): Likewise.
18994 (grub_env_get_data_slot): Likewise.
18995 (grub_env_unset_data_slot): Likewise.
18996 * kern/main.c (grub_set_root_dev): Don't export root.
18997 It will be done later.
18998 (grub_main): Don't export prefix.
18999 It will be done later.
19000 * normal/context.c: New file.
19001 * normal/main.c (free_menu): Use grub_env_unset_menu.
19002 (grub_normal_add_menu_entry): Use grub_env_get_menu.
19003 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
19004 (GRUB_MOD_INIT(normal)): Call grub_context_init.
19005 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
19006
8dd35b8c
VS
190072010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19008
19009 setpci support.
19010
19011 * commands/setpci.c: New file.
19012 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
19013 (setpci_mod_SOURCES): New variable.
19014 (setpci_mod_CFLAGS): Likewise.
19015 (setpci_mod_LDFLAGS): Likewise.
19016
449193d5
VS
190172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19018
19019 Byte-addressable PCI configuration space.
19020
19021 * bus/pci.c (grub_pci_make_address): Use byte address instead of
19022 dword address.
19023 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
19024 GRUB_PCI_REG_CACHELINE.
19025 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
19026 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
19027 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
19028 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
19029 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
19030 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
19031 grub_pci_make_address.
19032 (lock_rom_area): Likewise.
19033 * commands/lspci.c (grub_lspci_iter): Use macroses
19034 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
19035 of grub_pci_make_address.
19036 * disk/ata.c (grub_ata_pciinit): Likewise.
19037 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
19038 (GRUB_PCI_REG_VENDOR): Likewise.
19039 (GRUB_PCI_REG_DEVICE): Likewise.
19040 (GRUB_PCI_REG_COMMAND): Likewise.
19041 (GRUB_PCI_REG_STATUS): Likewise.
19042 (GRUB_PCI_REG_REVISION): Likewise.
19043 (GRUB_PCI_REG_CLASS): Likewise.
19044 (GRUB_PCI_REG_CACHELINE): Likewise.
19045 (GRUB_PCI_REG_LAT_TIMER): Likewise.
19046 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
19047 (GRUB_PCI_REG_BIST): Likewise.
19048 (GRUB_PCI_REG_ADDRESSES): Likewise.
19049 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19050 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19051 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19052 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19053 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19054 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19055 (GRUB_PCI_REG_CIS_POINTER): Likewise.
19056 (GRUB_PCI_REG_SUBVENDOR): Likewise.
19057 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
19058 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
19059 (GRUB_PCI_REG_CAP_POINTER): Likewise.
19060 (GRUB_PCI_REG_IRQ_LINE): Likewise.
19061 (GRUB_PCI_REG_IRQ_PIN): Likewise.
19062 (GRUB_PCI_REG_MIN_GNT): Likewise.
19063 (GRUB_PCI_REG_MAX_LAT): Likewise.
19064 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
19065 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
19066 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 19067 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
19068 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
19069 space.
19070
96d73208
RM
190712010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19072
19073 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
19074 can be reliably determined to be supported.
19075
d4484482
RM
190762010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19077
19078 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
19079 that VESA is supported.
19080 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
19081 supported.
19082
00308ecf
VS
190832010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19084
19085 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
19086
f66924a4
RM
190872010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19088
19089 * util/misc.c (make_system_path_relative_to_its_root): Work around
19090 special-casing of "/", as previous incarnation of this routine did.
19091
cbca0ada
VS
190922010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19093
19094 Fix any-emu compilation.
19095
19096 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
19097 * grub_bin2h_SOURCES: New variable.
19098
34a66d99
RM
190992010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19100
19101 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
19102
94fabf58
RM
191032010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19104
19105 * util/grub.d/00_header.in: Fix handling of locale_dir.
19106
02cf98ca
VS
191072010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19108
19109 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
19110 as possible unifont location (Gentoo).
19111 Reported by: Alexander Brüning
19112
327dbcd7
VS
191132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19114
19115 Don't try to generate lists for kernel.img.
19116
19117 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
19118 (pkglib_MODULES): Remove kernel.img.
19119 (kernel_img_EXPORTS): Removed.
19120 (kernel_img_RELOCATABLE): New variable.
19121 * conf/x86_64-efi.rmk: Likewise.
19122 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
19123
ca467290
VS
191242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19125
19126 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
19127 grub_xasprintf or grub_snprintf.
19128 (grub_vsprintf): Likewise.
19129 (grub_snprintf): New proto.
19130 (grub_vsnprintf): Likewise.
19131 (grub_xasprintf): Likewise.
19132 (grub_xvasprintf): Likewise.
19133 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
19134 (grub_sprintf): Removed.
19135 (grub_vsnprintf): New function.
19136 (grub_snprintf): Likewise.
19137 (grub_xvasprintf): Likewise.
19138 (grub_xasprintf): Likewise.
19139 (grub_vsprintf): Renamed to ...
19140 (grub_vsnprintf_real): ...this. New argument max_len.
19141
aca655fd
BC
191422010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
19143
19144 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
19145 fix grub-script-check warning.
19146
7ee92c32
VS
191472010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19148
19149 * include/grub/font.h (grub_font_load): Fix prototype.
19150
f80927ca
VS
191512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19152
19153 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
19154
119c50ea
VS
191552010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19156
19157 * include/grub/x86_64/at_keyboard.h: New file.
19158
47d5f3c1
VS
191592010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19160
19161 * loader/mips/linux.c: Include missing grub/i18n.h.
19162
55ff5266
RM
191632009-12-20 Robert Millan <rmh.grub@aybabtu.com>
19164
19165 * normal/menu.c (notify_execution_failure): Clarify error message.
19166
c893cc87
RM
191672009-12-20 Robert Millan <rmh.grub@aybabtu.com>
19168
19169 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
19170 return value (and revert all return statements). Update users.
19171
917dd370
CW
191722010-01-20 Dan Merillat <debian@dan.merillat.org>
19173
19174 * kern/device.c (grub_device_iterate): Allocate new part_ent
19175 structure based on sizeof (*p) rather than sizeof (p->next), to
19176 account for structure padding.
19177
19178 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
19179 disk is NULL, which might happen for LVM physical volumes with no
19180 LVM signature.
19181
d4a4ee57
RM
191822009-12-20 Robert Millan <rmh.grub@aybabtu.com>
19183
19184 * loader/mips/linux.c (grub_cmd_initrd)
19185 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
19186
191872009-12-20 Robert Millan <rmh.grub@aybabtu.com>
19188
19189 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
19190 (grub_video_video_init, grub_video_bitmap_init)
19191 (grub_font_manager_init, grub_term_gfxterm_init)
19192 (grub_at_keyboard_init): New extern declarations.
19193 (grub_machine_init): Initialize gfxterm and at_keyboard.
19194
19195 * kern/main.c (grub_main): Revert grub_printf delay kludge.
19196
19197 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
19198 `gfxterm.mod' into core image.
19199
19200 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
19201 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
19202 (kernel_img_FORMAT): Copy to ...
19203
19204 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
19205 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
19206 (kernel_img_FORMAT): ... here, and ...
19207
19208 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
19209 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
19210 (kernel_img_FORMAT): ... here.
19211
19212 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
19213 and input (at_keyboard) terminals in kernel.
19214 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
19215
19216 (pkglib_MODULES): Remove `pci.mod'.
19217 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
19218 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
19219 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
19220 (at_keyboard_mod_LDFLAGS): Remove variables.
19221
192222010-01-11 Felix Zielcke <fzielcke@z-51.de>
19223
19224 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
19225
192262009-12-10 Robert Millan <rmh.grub@aybabtu.com>
19227
19228 * include/grub/mips/libgcc.h: Only export symbols for functions
19229 that libgcc provides.
19230
192312009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
19232
19233 MIPS support.
19234
19235 * bus/bonito.c: New file.
19236 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
19237 GRUB_PCI_NUM_DEVICES.
19238 * term/i386/pc/serial.c: Move to ...
19239 * term/serial.c: ... here. All users updated.
19240 * util/i386/pc/grub-mkimage.c: Move to ...
19241 * util/grub-mkrawimage.c: ... here. All users updated.
19242 * term/i386/pc/at_keyboard.c: Move to ...
19243 * term/at_keyboard.c: ... here. All users updated.
19244 * conf/mips-qemu-mips.rmk: New file.
19245 * conf/mips-yeeloong.rmk: Likewise.
19246 * conf/mips.rmk: Likewise.
19247 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
19248 mipsel-qemu-mips.
19249 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
19250 to port addresses.
19251 (grub_ata_pciinit): Support CS5536.
19252 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
19253 * font/font_cmd.c (loadfont_command): Open file before passing it to
19254 grub_font_load.
19255 (pseudo_file_read): New function.
19256 (pseudo_file_close): Likewise.
19257 (pseudo_fs): New structure.
19258 (load_font_module): New function.
19259 (GRUB_MOD_INIT(font_manager)): Load embedded font.
19260 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
19261 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
19262 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
19263 * include/grub/i386/at_keyboard.h: Split into ...
19264 * include/grub/at_keyboard.h: ... this ...
19265 * include/grub/i386/at_keyboard.h: ... and this.
19266 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
19267 New prototype.
19268 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
19269 updated.
19270 (grub_elf64_size): Likewise.
19271 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
19272 filename.
19273 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
19274 * include/grub/i386/coreboot/serial.h: Rewritten.
19275 * include/grub/i386/ieee1275/serial.h: Include
19276 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
19277 * include/grub/i386/pc/serial.h: Moved from here ...
19278 * include/grub/serial.h: ... to here. All users updated.
19279 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
19280 (GRUB_PCI_NUM_BUS): Likewise.
19281 (GRUB_PCI_NUM_DEVICES): Likewise.
19282 (grub_pci_device_map_range): Add missing volatile keyword.
19283 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
19284 * include/grub/mips/at_keyboard.h: New file.
19285 * include/grub/mips/cache.h: Likewise.
19286 * include/grub/mips/io.h: Likewise.
19287 * include/grub/mips/kernel.h: Likewise.
19288 * include/grub/mips/libgcc.h: Likewise.
19289 * include/grub/mips/pci.h: Likewise.
19290 * include/grub/mips/qemu-mips/boot.h: Likewise.
19291 * include/grub/mips/qemu-mips/kernel.h: Likewise.
19292 * include/grub/mips/qemu-mips/loader.h: Likewise.
19293 * include/grub/mips/qemu-mips/memory.h: Likewise.
19294 * include/grub/mips/qemu-mips/serial.h: Likewise.
19295 * include/grub/mips/qemu-mips/time.h: Likewise.
19296 * include/grub/mips/relocator.h: Likewise.
19297 * include/grub/mips/time.h: Likewise.
19298 * include/grub/mips/types.h: Likewise.
19299 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
19300 * include/grub/mips/yeeloong/boot.h: Likewise.
19301 * include/grub/mips/yeeloong/kernel.h: Likewise.
19302 * include/grub/mips/yeeloong/loader.h: Likewise.
19303 * include/grub/mips/yeeloong/memory.h: Likewise.
19304 * include/grub/mips/yeeloong/pci.h: Likewise.
19305 * include/grub/mips/yeeloong/serial.h: Likewise.
19306 * include/grub/mips/yeeloong/time.h: Likewise.
19307 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
19308 * kern/elf.c (grub_elf32_size): New parameter. All users
19309 updated.
19310 (grub_elf64_size): Likewise.
19311 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
19312 Load modules before saying "Welcome to GRUB!".
19313 Call grub_refresh after saying "Welcome to GRUB!".
19314 * kern/mips/cache.S: New file.
19315 * kern/mips/cache_flush.S: Likewise.
19316 * kern/mips/dl.c: Likewise.
19317 * kern/mips/init.c: Likewise.
19318 * kern/mips/qemu-mips/init.c: Likewise.
19319 * kern/mips/startup.S: Likewise.
19320 * kern/mips/yeeloong/init.c: Likewise.
19321 * kern/term.c (grub_putcode): Handle NULL terminal.
19322 (grub_getcharwidth): Likewise.
19323 (grub_getkey): Likewise.
19324 (grub_checkkey): Likewise.
19325 (grub_getkeystatus): Likewise.
19326 (grub_getxy): Likewise.
19327 (grub_getwh): Likewise.
19328 (grub_gotoxy): Likewise.
19329 (grub_cls): Likewise.
19330 (grub_setcolorstate): Likewise.
19331 (grub_setcolor): Likewise.
19332 (grub_getcolor): Likewise.
19333 (grub_refresh): Likewise.
19334 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
19335 (write_jump): Add hatch nop.
19336 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
19337 * lib/mips/setjmp.S: New file.
19338 * loader/mips/linux.c: Likewise.
19339 * term/i386/pc/at_keyboard.c: Move from here ...
19340 * term/at_keyboard.c: ... to here.
19341 * term/i386/pc/serial.c: Moved from here ...
19342 * term/serial.c: ... to here. All users updated.
19343 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
19344 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
19345 (serial_translate_key_sequence): Avoid deadlock.
19346 (grub_serial_getkey): Handle backspace.
19347 (grub_serial_putchar): Fix newline handling.
19348 * util/i386/pc/grub-mkimage.c: Move from here ...
19349 * util/grub-mkrawimage.c: ... to here. All users updated.
19350 (generate_image): New parameters 'font_path' and 'format'.
19351 Support embedding font.
19352 Use grub_host_to_target* instead of grub_cpu_to_le*.
19353 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
19354 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
19355 (options): New option "--font".
19356 (usage): Likewise.
19357 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
19358 (main): Handle "--font".
19359 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
19360 (grub_virtual_screen_setup): Set bg_color_display.
19361 (redraw_screen_rect): Use bg_color_display instead of incorrect
19362 bg_color.
19363 (grub_gfxterm_cls): Likewise.
19364 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
19365 Support embedding config file.
19366 (add_segments): Likewise.
19367 (options): New option "--config".
19368 (main): Handle "--config".
19369 * video/sm712.c: New file.
19370
25c2b5b3
RM
193712010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19372
19373 Fix parallel builds.
19374
19375 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
19376 font.c depend on ascii.h).
19377
193782010-01-12 Carles Pina i Estany <carles@pina.cat>
19379
19380 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
19381
193822010-01-11 Carles Pina i Estany <carles@pina.cat>
19383
19384 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
19385 By default: disabled.
19386 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
19387 parameter.
19388
193892010-01-10 Carles Pina i Estany <carles@pina.cat>
19390
19391 * font/font.c: Update copyright years.
19392 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
19393
193942010-01-10 Carles Pina i Estany <carles@pina.cat>
19395
19396 * font/font.c: Include `ascii.h'.
19397 (ASCII_BITMAP_SIZE): New macro.
19398 (ascii_font_glyph): Define.
19399 (ascii_glyph_lookup): New function.
19400 (grub_font_get_string_width): Change comment. If glyph not found, use
19401 ascii_glyph_lookup.
19402 (grub_font_get_glyph_with_fallback): If glyph not available returns
19403 ascii_glyph_lookup.
19404 * util/grub-mkfont.c (file_formats): New enum.
19405 (options): Add `ascii-bitmaps' new option.
19406 (usage): Add `asii-bitmaps' new option.
19407 (write_font_ascii_bitmap): New function.
19408 (write_font): Rename to ...
19409 (write_font_p2): ... this. Remove print_glyphs call.
19410 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
19411 used. Call print_glyphs.
19412 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
19413
194142010-01-14 Robert Millan <rmh.grub@aybabtu.com>
19415
19416 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
19417 (grub_bin2h_SOURCES): New variable.
19418 * util/bin2h.c: New file.
19419
915fc1b8
VS
194202010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19421
19422 * include/multiboot.h: Resynced with spec.
19423 * include/multiboot2.h: Likewise.
19424 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
19425 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
19426
9444b678
RM
194272010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19428
19429 * include/grub/term.h (grub_term_register_input,
19430 grub_term_register_output): Check return of terminal init()
19431 routines, and abort if errors are raised.
19432
19433 * commands/terminal.c: Update copyright year.
19434
cba98e8d
RM
194352010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19436
19437 * commands/terminal.c (grub_cmd_terminal_input)
19438 (grub_cmd_terminal_output): Check return of terminal init()
19439 routines, and abort if errors are raised.
19440
6f7db5d6
VS
194412010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
19442
19443 * include/grub/i386/bsd.h: Fix include pathes.
19444
262bff8d
VS
194452010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
19446
19447 Add missing *BSD copyright headers.
19448
19449 * include/grub/aout.h: Add BSD licence.
19450 * include/grub/i386/bsd.h: Parts under different licences moved to ...
19451 * include/grub/i386/freebsd_linker.h: ... here,
19452 * include/grub/i386/freebsd_reboot.h: ... here,
19453 * include/grub/i386/netbsd_bootinfo.h: ... here,
19454 * include/grub/i386/netbsd_reboot.h: ... here,
19455 * include/grub/i386/openbsd_bootarg.h: ... here,
19456 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
19457 licence to each file.
19458
b2cab848
RM
194592010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19460
19461 * acinclude.m4: Remove `nop' assembly instruction; it's not
19462 implemented by all architectures.
19463
2cb6be4b
RM
194642010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19465
19466 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
19467 ELILO. This is no longer necessary.
19468
a2eaee15
BC
194692010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
19470
19471 Added new tool, grub-scrit-check to verify grub.cfg syntax.
19472
19473 * util/grub-script-check.c: grub-script-check tool.
19474 * conf/common.rmk: Make rules for grub-script-check.
19475
88d17012
RM
194762010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19477
19478 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
19479 spotting it back in 2008. Shame on me for forgetting he did.
19480
19481 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
19482
8040619d
RM
194832010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19484
19485 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
19486 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
19487 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
19488 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
19489 (GRUB_VIDEO_TYPE_EFI): Rename to ...
19490 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
19491
a0c2a0f6
RM
194922010-01-17 Robert Millan <rmh.grub@aybabtu.com>
19493
19494 * include/grub/test.h: Add license header.
19495 * tests/example_functional_test.c: Likewise.
19496 * tests/example_unit_test.c: Likewise.
19497 * tests/lib/functional_test.c: Likewise.
19498 * tests/lib/test.c: Likewise.
19499 * tests/lib/unit_test.c: Likewise.
19500
b0b13907
VS
195012010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
19502
19503 Use flag-based instead of hook-based video mode selection and "auto"
19504 keyword.
19505
19506 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
19507 (grub_video_set_mode): Changed prototype. All users updated.
19508 (grub_video_check_mode_flag): New inline function.
19509 * video/video.c (parse_modespec): New function.
19510 (grub_video_set_mode): Parse flags and keywords.
19511
ea379330 195122010-01-17 Carles Pina i Estany <carles@pina.cat>
19513
19514 * util/misc.c (grub_util_info): Fix the order of the parameters in a
19515 fprintf call.
19516
e15c215e
FZ
195172010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
19518
19519 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
19520
409ae1c9 195212010-01-16 Carles Pina i Estany <carles@pina.cat>
19522
19523 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
19524 string.
19525 * util/grub-emu.c (usage): Likewise.
19526 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
19527 * util/i386/efi/grub-mkimage.c (usage): Likewise.
19528 * util/i386/pc/grub-mkimage.c (usage): Likewise.
19529 * util/i386/pc/grub-setup.c (usage): Likewise.
19530
70a14d3d 195312010-01-16 Carles Pina i Estany <carles@pina.cat>
19532
19533 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
19534 the message.
19535 (grub_util_info): Likewise.
19536 (grub_util_error): Likewise.
19537 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
19538 and/or new lines in `grub_util_warna', `grub_util_info',
19539 `grub_util_error' calls.
19540 * util/getroot.c: Likewise.
19541 * util/grub-editenv.c: Likewise.
19542 * util/grub-emu.c: Likewise.
19543 * util/grub-fstest.c: Likewise.
19544 * util/grub-mkdevicemap.c: Likewise.
19545 * util/grub-mkfont.c: Likewise.
19546 * util/grub-mkpasswd-pbkdf2.c: Likewise.
19547 * util/grub-mkrelpath.c: Likewise.
19548 * util/grub-pe2elf.c: Likewise.
19549 * util/grub-probe.c: Likewise.
19550 * util/hostdisk.c: Likewise.
19551 * util/i386/efi/grub-mkimage.c: Likewise.
19552 * util/i386/pc/grub-mkimage.c: Likewise.
19553 * util/i386/pc/grub-setup.c: Likewise.
19554 * util/ieee1275/ofpath.c: Likewise.
19555 * util/mkisofs/eltorito.c: Likewise.
19556 * util/mkisofs/rock.c: Likewise.
19557 * util/mkisofs/write.c: Likewise.
19558 * util/raid.c: Likewise.
19559 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
19560 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19561
a0b766fc
VS
195622010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19563
19564 Enable multiboot on non-pc.
19565
19566 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
19567 multiboot.mod and multiboot2.mod to ...
19568 * conf/i386.rmk (pkglib_MODULES): ... here.
19569 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
19570 Moved to ...
19571 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
19572 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
19573 Moved to ...
19574 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
19575 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
19576 Moved to ...
19577 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
19578 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
19579 Moved to ...
19580 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
19581 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
19582 relocator.mod.
19583 (ata_mod_SOURCES): Removed.
19584 (ata_mod_CFLAGS): Likewise.
19585 (ata_mod_LDFLAGS): Likewise.
19586 (relocator_mod_SOURCES): Removed.
19587 (relocator_mod_CFLAGS): Likewise.
19588 (relocator_mod_ASFLAGS): Likewise.
19589 (relocator_mod_LDFLAGS): Likewise.
19590 Include i386.mk.
19591 * include/grub/x86_64/multiboot.h: New file.
19592 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
19593 Terminate EFI.
19594
884ade56
VS
195952010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19596
19597 Video multiboot support.
19598
19599 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
19600 New prototype.
19601 * include/multiboot.h: Resynced with multiboot specification.
19602 * include/multiboot2.h: Likewise.
19603 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
19604 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
19605 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
19606 (HAS_VGA_TEXT): Likewise.
19607 (accepts_video): New variable.
19608 (grub_multiboot_set_accepts_video): New function.
19609 (grub_multiboot_get_mbi_size): Account for video structures.
19610 (set_video_mode): New function.
19611 (retrieve_video_parameters): Likewise.
19612 (grub_multiboot_make_mbi): Fill video fields.
19613
0d90e8a6
VS
196142010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19615
19616 Video driver ids.
19617
19618 * include/grub/video.h (grub_video_driver_id): New type.
19619 (grub_video_adapter): New member 'id'. All users updated.
19620 (grub_video_get_driver_id): New proto.
19621 * video/video.c (grub_video_get_driver_id): New function.
19622
5c71db1b 196232010-01-14 Carles Pina i Estany <carles@pina.cat>
19624
19625 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
19626 `var=val'.
19627
cca15b52 196282010-01-14 Carles Pina i Estany <carles@pina.cat>
19629
19630 * normal/cmdline.c (print_completion): Gettextizze.
19631
c586fbb2 196322001-01-14 Carles Pina i Estany <carles@pina.cat>
19633
19634 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
19635
ba2f6848 196362010-01-14 Carles Pina i Estany <carles@pina.cat>
19637
19638 * gettext/gettext.c (grub_gettext_translate): Push and pop
19639 grub_errno.
19640 (grub_gettext_delete_list): Change comment style.
19641 * kern/err.c (grub_error): Gettextizze.
19642 (grub_fatal): Gettextizze.
19643
0a46429a
RM
196442010-01-14 Robert Millan <rmh.grub@aybabtu.com>
19645
19646 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
19647 (grub_linux16_real_boot): ... this.
19648 * kern/i386/loader.S: Likewise.
19649 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
19650 (grub_linux16_boot): New function. Switches to text mode and calls
19651 grub_linux16_real_boot().
19652
19653 * loader/i386/bsd.c: Include `<grub/video.h>'.
19654 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
19655 text mode before calling grub_unix_real_boot().
19656
19657 * loader/i386/multiboot.c: Include `<grub/video.h>'.
19658 (grub_multiboot_boot): Switch to text mode before calling
19659 grub_relocator32_boot().
19660
19661 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
19662 (grub_chainloader_boot): Switch to text mode before calling
19663 grub_chainloader_real_boot().
19664
d6f93a66
RM
196652010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
196662010-01-05 Colin Watson <cjwatson@ubuntu.com>
19667
19668 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
19669 non-empty value.
19670
196712010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
196722010-01-05 Colin Watson <cjwatson@ubuntu.com>
19673
19674 * util/grub.d/00_header.in: Define a "savedefault" function for use
19675 in menu entries.
19676 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
19677
196782010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
196792010-01-05 Colin Watson <cjwatson@ubuntu.com>
19680
19681 * util/grub-mkconfig_lib.in (save_default_entry): Only set
19682 saved_entry if boot_once is unset.
19683 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
19684 previous saved entry (i.e. grub-reboot).
19685
196862009-12-08 Colin Watson <cjwatson@ubuntu.com>
19687
19688 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
19689
196902009-12-08 Colin Watson <cjwatson@ubuntu.com>
19691
19692 * util/grub.d/00_header.in: Use `set var=val' rather than plain
19693 `var=val'.
19694 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
19695
196962009-12-08 Colin Watson <cjwatson@ubuntu.com>
19697
19698 * util/grub-reboot.in: Fix --version output.
19699 * util/grub-set-default.in: Likewise.
19700
197012009-12-08 Colin Watson <cjwatson@ubuntu.com>
19702
19703 * util/grub.d/00_header.in: Silently ignore zero-sized environment
19704 blocks.
19705
197062009-12-08 Colin Watson <cjwatson@ubuntu.com>
19707
19708 * util/grub.d/00_header.in: Quote the value assigned to `default',
19709 in case it contains spaces.
19710
197112009-12-08 Colin Watson <cjwatson@ubuntu.com>
19712
19713 * util/grub.d/30_os-prober.in: Fix merge error that moved a
19714 `save_default_entry' call from the macosx case to the linux case.
19715
197162009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
197172009-10-25 Colin Watson <cjwatson@ubuntu.com>
19718
19719 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
19720 in `chosen' environment variable.
19721 * normal/menu_text.c (get_entry_number): Check if the variable
19722 matches the title of a menu entry.
19723 (run_menu): Pass menu to get_entry_number.
19724
19725 * util/grub-reboot.in: New file.
19726 * util/grub-set-default.in: New file.
19727 * conf/common.rmk (grub-reboot): New utility.
19728 (grub-set-default): New utility.
19729
19730 * util/grub-mkconfig_lib.in (save_default_entry): New function.
19731 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
19732 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
19733 move it to `saved_entry' for the next boot. Load environment on
19734 initialisation.
19735 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
19736 * util/grub.d/10_hurd.in: Likewise.
19737 * util/grub.d/10_linux.in (linux_entry): Likewise.
19738 * util/grub.d/10_windows.in: Likewise.
19739 * util/grub.d/30_os-prober.in: Likewise.
19740
19741 * util/grub-install.in: Create environment block.
19742 * util/i386/efi/grub-install.in: Likewise.
19743 * util/ieee1275/grub-install.in: Likewise.
19744 * util/sparc64/ieee1275/grub-install.in: Likewise.
19745
0934d184
BC
197462010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
19747
19748 Unit testing framework for GRUB.
19749
19750 * Makefile.in: Test framework build rules for 'make check'.
19751 * conf/tests.rmk: Build rules for individual tests and framework.
19752
19753 * include/grub/test.h: Header file for whitebox tests.
19754 * tests/lib/functional_test.c: Framework support for whitebox
19755 functional tests.
19756 * tests/lib/test.c: Common whitebox testing code for unit and
19757 functional tests.
19758 * tests/lib/unit_test.c: Framework support for whitebox unit
19759 tests.
19760
19761 * tests/util/grub-shell-tester.in: Support utility for grub-script
19762 tests.
19763 * tests/util/grub-shell.in: Utility to execute grub-script
19764 commands in a Qemu instance.
19765
19766 * tests/example_functional_test.c: Example whitebox functional
19767 test.
19768 * tests/example_grub_script_test.in: Example grub-script test.
19769 * tests/example_scripted_test.in: Example scripted test.
19770 * tests/example_unit_test.c: Example whitebox unit test.
19771
9c4ffeeb
VS
197722010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
19773
19774 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
19775 Add loader/i386/multiboot_mbi.c.
19776 (multiboot2_mod_SOURCES): Likewise.
19777 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
19778 (multiboot2_mod_SOURCES): Likewise.
19779 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
19780 (grub_multiboot_make_mbi): Likewise.
19781 (grub_multiboot_free_mbi): Likewise.
19782 (grub_multiboot_init_mbi): Likewise.
19783 (grub_multiboot_add_module): Likewise.
19784 (grub_multiboot_set_bootdev): Likewise.
19785 * loader/i386/multiboot.c (mbi): Removed.
19786 (mbi_dest): Likewise.
19787 (alloc_mbi): New variable.
19788 (grub_multiboot_payload_size): Removed. All users updated.
19789 (grub_multiboot_pure_size): New variable.
19790 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
19791 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
19792 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
19793 (grub_fill_multiboot_mmap): Likewise.
19794 (grub_multiboot_get_bootdev): Likewise.
19795 (grub_multiboot): Use multiboot_mbi functions.
19796 * loader/i386/multiboot_mbi.c: New file.
19797
17383dfe
VS
197982010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19799
19800 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
19801 it would result in module crash.
19802
c1f28820
VS
198032010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19804
19805 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
19806 (grub_ofconsole_getwh): Split to ...
19807 (grub_ofconsole_getwh): ... this.
19808 (grub_ofconsole_dimensions): ...and this.
19809 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
19810
58655a16
RM
198112010-01-13 Robert Millan <rmh.grub@aybabtu.com>
19812
19813 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
19814
10891398
VS
198152010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19816
19817 * loader/i386/pc/multiboot2.c: Removed stalled file.
19818
0b8a223c
VS
198192010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19820
19821 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
19822 Reported by: Grégoire Sutre
19823
92ab12b0
RM
198242010-01-11 Robert Millan <rmh.grub@aybabtu.com>
19825
19826 * util/misc.c (canonicalize_file_name): New function.
19827 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
19828 instead of realpath().
19829
a788afb6
CW
198302010-01-11 Colin Watson <cjwatson@ubuntu.com>
19831
19832 * util/grub-install.in (usage): Clarify meaning of --root-directory,
19833 and make it clearer that it's optional. Based on confusion
19834 witnessed on IRC.
19835
ffa8e3d2
VS
198362010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19837
19838 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
19839 in premature implicit newline.
19840
e9060a9d
VS
198412010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19842
19843 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
19844 which resulted in garbled command line at the end of screen.
19845
f0d0c0b7
RM
198462010-01-10 Robert Millan <rmh.grub@aybabtu.com>
19847
19848 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
19849 initialization with similar approach as with other Linux loaders.
19850
0e60bae7
RM
198512010-01-10 Robert Millan <rmh.grub@aybabtu.com>
19852
19853 Fix i386-ieee1275 build.
19854
19855 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
19856 and grub_term_height() for video_{width,height} initialization.
19857
198582010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
19859
19860 Fix grub-emu build.
19861
19862 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
19863
cdb3f378
RM
198642010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
198652010-01-09 Robert Millan <rmh.grub@aybabtu.com>
19866
19867 Support for multiple terminals.
19868
19869 * Makefile.in (pkglib_DATA): terminal.lst.
19870 (terminal.lst): New target.
19871 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
19872 (GRUB_MOD_INIT(handler)): Likewise.
19873 (GRUB_MOD_FINI(handler)): Likewise.
19874 * commands/help.c (grub_cmd_help): Handle multiple terminals.
19875 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
19876 * commands/sleep.c (do_print): Use grub_term_restore_pos.
19877 (grub_cmd_sleep): Use grub_term_save_pos.
19878 * commands/terminal.c: New file.
19879 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
19880 commands/terminal.c and lib/charset.c.
19881 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
19882 (pkglib_MODULES): Add terminal.mod.
19883 (terminal_mod_SOURCES): New variable.
19884 (terminal_mod_CFLAGS): Likewise.
19885 (terminal_mod_LDFLAGS): Likewise.
19886 * genhandlerlist.sh: Don't handle terminals.
19887 * genmk.rb: Generate terminal-*.lst.
19888 * genterminallist.sh: New file.
19889 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
19890 (grub_is_valid_utf8): Likewise.
19891 (grub_utf8_to_ucs4_alloc): Likewise.
19892 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
19893 (grub_menu_register_viewer): Changed argument.
19894 (grub_menu_try_text): New proto.
19895 (grub_gfxmenu_try_hook): New declaration.
19896 * include/grub/normal.h (grub_normal_exit_level): New declaration.
19897 (grub_menu_init_page): Additional argument term.
19898 (grub_normal_init_page): Likewise.
19899 (grub_cmdline_get): Arguments simplified.
19900 (grub_utf8_to_ucs4_alloc): Removed.
19901 (grub_print_ucs4): Additional argument term.
19902 (grub_getstringwidth): Likewise.
19903 (grub_print_message_indented): Likewise.
19904 (grub_menu_text_register_instances): New proto.
19905 (grub_show_menu): Likewise.
19906 (read_terminal_list): Likewise.
19907 (grub_set_more): Likewise.
19908 * include/grub/parser.h: Include handler.h.
19909 * include/grub/reader.h: Rewritten.
19910 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
19911 (GRUB_TERM_WIDTH): Changed to function.
19912 (GRUB_TERM_HEIGHT): Likewise.
19913 (GRUB_TERM_BORDER_WIDTH): Likewise.
19914 (GRUB_TERM_BORDER_HEIGHT): Likewise.
19915 (GRUB_TERM_NUM_ENTRIES): Likewise.
19916 (GRUB_TERM_ENTRY_WIDTH): Likewise.
19917 (GRUB_TERM_CURSOR_X): Likewise.
19918 (grub_term_input_class): Likewise.
19919 (grub_term_output_class): Likewise.
19920 (grub_term_outputs_disabled): New declaration.
19921 (grub_term_inputs_disabled): Likewise.
19922 (grub_term_outputs): Likewise.
19923 (grub_term_inputs): Likewise.
19924 (grub_term_register_input): Rewritten.
19925 (grub_term_register_output): Likewise.
19926 (grub_term_unregister_input): Likewise.
19927 (grub_term_unregister_output): Likewise.
19928 (FOR_ACTIVE_TERM_INPUTS): New macro.
19929 (FOR_DISABLED_TERM_INPUTS): Likewise.
19930 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
19931 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
19932 * include/grub/terminfo.h: Add oterm argument to all protypes.
19933 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
19934 Use grub_rescue_run.
19935 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
19936 All users updated.
19937 * kern/reader.c: Removed. All users updated.
19938 * kern/rescue_reader.c (grub_rescue_init): Removed.
19939 (grub_rescue_reader): Likewise.
19940 (grub_register_rescue_reader): Likewise.
19941 (grub_rescue_run): New function based on kern/reader.c.
19942 * kern/term.c: Adapted for multiterm.
19943 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
19944 (grub_is_valid_utf8): Likewise.
19945 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
19946 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
19947 right terminal.
19948 * loader/i386/linux.c (grub_linux_boot): Likewise.
19949 * normal/auth.c (grub_username_get): New function.
19950 (grub_auth_check_authentication): Use grub_username_get.
19951 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
19952 * normal/color.c: Adapt for multiterm.
19953 * normal/main.c (read_config_file): Don't use grub_reader_loop.
19954 (grub_normal_init_page): Additional argument term.
19955 (read_lists): Call read_terminal_lists.
19956 (grub_enter_normal_mode): Call grub_cmdline_run.
19957 Handle grub_normal_exit_level.
19958 (grub_cmd_normal): Make reentrant.
19959 (grub_cmd_normal_exit): New function.
19960 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
19961 * normal/menu.c: Adapt for multiterm.
19962 * normal/menu_entry.c: Likewise.
19963 * normal/menu_text.c: Likewise.
19964 * normal/menu_viewer.c: Removed. All users updated.
19965 * normal/term.c: New file.
19966 * util/console.c: Change order of includes to workaround a bug in
19967 ncurses headers.
19968 * term/terminfo.c: New argument oterm on all exported functions.
19969 All users updated.
19970 * util/grub-editenv.c (grub_term_input_class): Removed.
19971 (grub_term_output_class): Likewise.
19972
1a064917
RM
199732010-01-09 Robert Millan <rmh.grub@aybabtu.com>
19974
19975 Make loader output a bit more user-friendly.
19976
19977 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
19978 is being loaded. Likewise for the Hurd.
19979
19980 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
19981 that kernel of FreeBSD ${version} is being loaded.
19982
19983 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
19984 grub_dprintf().
19985 (grub_cmd_initrd): Likewise.
19986 * util/grub.d/10_linux.in (linux_entry): Print message indicating
19987 that Linux ${version} is being loaded. Likewise for initrd.
19988
5ce0a83a 199892010-01-09 Carles Pina i Estany <carles@pina.cat>
19990
19991 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
19992
809bbfeb 199932010-01-08 Carles Pina i Estany <carles@pina.cat>
19994
19995 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
19996 (GRUB_MOD_INIT): Gettextizze.
19997 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
19998 (GRUB_MOD_INIT): Gettextizze.
19999 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
20000 (grub_cmd_linux): Capitalise Linux.
20001 (GRUB_MOD_INIT): Gettextizze.
20002 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
20003 (grub_cmd_linux): Capitalise Linux.
20004 (GRUB_MOD_INIT): Gettextizze.
20005 * loader/i386/linux.c: Include `<grub/i18n.h>'.
20006 (grub_cmd_linux): Capitalise Linux.
20007 (GRUB_MOD_INIT): Gettextizze.
20008 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
20009 (GRUB_MOD_INIT): Gettextizze.
20010 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
20011 (grub_cmd_linux): Capitalise Linux.
20012 (GRUB_MOD_INIT): Gettextizze.
20013 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
20014 (grub_cpu_xnu_init): Gettextizze.
20015 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
20016 (GRUB_MOD_INIT): Gettextizze.
20017 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
20018 (GRUB_MOD_INIT): Gettextizze.
20019 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
20020 (grub_linux_load64): Capitalise Linux.
20021 (GRUB_MOD_INIT): Gettextizze.
20022 * loader/xnu.c: Include `<grub/i18n.h>'.
20023 (GRUB_MOD_INIT): Gettextizze.
20024 * po/POTFILES: Add `loader/efi/appleloader.c',
20025 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
20026 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
20027 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
20028 `loader/i386/xnu.c', `loader/multiboot_loader.c',
20029 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
20030 and `loader/xnu.c'.
20031
b394b2ca
RM
200322010-01-08 Robert Millan <rmh.grub@aybabtu.com>
20033
20034 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
20035
200362010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
20037
20038 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
20039 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
20040 * util/mkisofs/mkisofs.c (main): Readjust --version output.
20041
bc8b32b3
RM
200422010-01-07 Robert Millan <rmh.grub@aybabtu.com>
20043
20044 Reset Multiboot 2 support. New loader implements the draft in
20045 /branches/multiboot2 and shares as much code as possible with the
20046 production Multiboot 1 implementation.
20047
20048 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
20049 * loader/multiboot2.c: Likewise.
20050 * loader/i386/multiboot_helper.S: Likewise.
20051 * include/multiboot2.h: Replace with latest version from the draft
20052 in /branches/multiboot2.
20053
20054 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
20055 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
20056 and `loader/multiboot2.c'.
20057 (pkglib_MODULES): Add `multiboot2.mod'.
20058 (multiboot2_mod_SOURCES): New variable.
20059 (multiboot2_mod_LDFLAGS): Likewise.
20060 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
20061
20062 * conf/i386-pc.rmk: Likewise.
20063
20064 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
20065 (multiboot_mod_SOURCES): Remove variable.
20066 (multiboot_mod_LDFLAGS): Likewise.
20067 (multiboot_mod_CFLAGS): Likewise.
20068
20069 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
20070 `<multiboot2.h>' instead of `<multiboot.h>'.
20071 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
20072 (MULTIBOOT_HEADER_MAGIC): New macros.
20073
20074 * loader/multiboot_loader.c (module_version_status): Remove variable.
20075 (find_multi_boot2_header): Remove function.
20076 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
20077 logic. Always check for the Multiboot version we're compiling for.
20078 (grub_cmd_module_loader): Likewise.
20079 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
20080 command instead of `multiboot'.
20081
5d2c52b8
RM
200822010-01-07 Robert Millan <rmh.grub@aybabtu.com>
20083
20084 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
20085 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
20086 all users.
20087
53108d92
RM
200882010-01-07 Robert Millan <rmh.grub@aybabtu.com>
200892010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20090
20091 Fix breakage introduced with previous commit.
20092
20093 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
20094 commands.
20095 * normal/handler.c (read_handler_list): Revert part of previous commit
20096 affecting this file.
20097 * normal/main.c (read_lists): Move read_handler_list() call back to ...
20098 (grub_normal_execute): ... here.
20099
e2e936b2
RM
201002010-01-07 Robert Millan <rmh.grub@aybabtu.com>
20101
20102 Merge prefix-redefinition-fix branch.
20103
20104 * normal/autofs.c (read_fs_list): Make function capable of being
20105 run multiple times, gracefuly replacing the previous data
20106 structures.
20107 * normal/dyncmd.c (read_command_list): Likewise.
20108 * normal/handler.c (read_handler_list): Likewise.
20109 * normal/main.c (read_lists): New function. Calls all the
20110 list reading functions.
20111 (grub_normal_execute): Use read_lists() instead of calling all
20112 list reading functions explicitly. Register read_lists() as a
20113 variable hook attached to ${prefix}.
20114
607a3701
VS
201152010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20116
20117 Merge crypto branch.
20118
20119 * Makefile.in (pkglib_DATA): Add crypto.lst.
20120 (crypto.lst): New target.
20121 * commands/hashsum.c: New file.
20122 * commands/password.c (check_password): Use grub_crypto_memcmp.
20123 * commands/password_pbkdf2.c: New file.
20124 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
20125 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
20126 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
20127 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
20128 -I$(srcdir)/lib/libgcrypt_wrap.
20129 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
20130 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
20131 password_pbkdf2.mod.
20132 (crypto_mod_SOURCES): New variable.
20133 (crypto_mod_CFLAGS): Likewise.
20134 (crypto_mod_LDFLAGS): Likewise.
20135 (hashsum_mod_SOURCES): New variable.
20136 (hashsum_mod_CFLAGS): Likewise.
20137 (hashsum_mod_LDFLAGS): Likewise.
20138 (pbkdf2_mod_SOURCES): New variable.
20139 (pbkdf2_mod_CFLAGS): Likewise.
20140 (pbkdf2_mod_LDFLAGS): Likewise.
20141 (password_pbkdf2_mod_SOURCES): New variable.
20142 (password_pbkdf2_mod_CFLAGS): Likewise.
20143 (password_pbkdf2_mod_LDFLAGS): Likewise.
20144 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
20145 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
20146 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
20147 Include conf/gcry.rmk.
20148 * include/grub/auth.h: Rewritten.
20149 * include/grub/crypto.h: New file.
20150 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
20151 * include/grub/normal.h (read_crypto_list): New prototype.
20152 * lib/crypto.c: New file.
20153 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
20154 * lib/pbkdf2.c: Likewise.
20155 * normal/auth.c (grub_auth_strcmp): Removed.
20156 (grub_iswordseparator): Likewise.
20157 (grub_auth_strword): Likewise.
20158 (is_authenticated): Use grub_strword.
20159 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
20160 and grub_strword. Pass entered password to authentication callback.
20161 * normal/crypto.c: New file.
20162 * normal/main.c: Call read_crypto_list.
20163 * util/grub-mkpasswd-pbkdf2.c: New file.
20164 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
20165
42841caa
VS
201662010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
20167
20168 Fix descent and ascent calculation.
20169
20170 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
20171 (options): New option "asce".
20172 (usage): Likewise.
20173 (add_char): Ignore invalid glyphs for descent calculation.
20174 Calculate ascent from actual content.
20175 (print_glyphs): Use 'asce'.
20176 (write_font): Likewise. Allow ascent override.
20177 (main): Handle "asce" option.
20178
e7730de7 201792010-01-06 Carles Pina i Estany <carles@pina.cat>
20180
20181 * kern/err.c: Include `<grub/i18n.h>'.
20182 (grub_print_error): Add full stop. Gettextizze.
20183 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
20184 (grub_bsd_load_elf): Capitalise ELF.
20185 (grub_cmd_freebsd_loadenv): Add `s' in error string.
20186 (grub_cmd_freebsd_module): Likewise.
20187 (grub_cmd_freebsd_module_elf): Likewise.
20188 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
20189
40e3a41f 201902010-01-06 Carles Pina i Estany <carles@pina.cat>
20191
20192 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
20193 * commands/search_file.c (HELP_MESSAGE): New macro.
20194 * commands/search_label.c (HELP_MESSAGE): Likewise.
20195 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
20196 * po/POTFILES: Add `commands/search_file.c',
20197 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
20198 `commands/search.c'.
20199
83507e68
RM
202002010-01-05 Robert Millan <rmh.grub@aybabtu.com>
20201
20202 * config.rpath: Update from Gnulib.
20203
465c787b
YB
202042010-01-05 Yves Blusseau <blusseau@zetam.org>
20205
20206 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
20207
6581dd3a
YB
202082010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
20209
20210 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
20211
3bff18c5
CW
202122010-01-05 Colin Watson <cjwatson@ubuntu.com>
20213
20214 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
20215 arguments to fread so that we get a return value in bytes, rather
20216 than something that will normally be rounded down to 0.
20217 Adjust error handling to avoid producing garbage when size_t is not
20218 the same size as long long.
20219
a1368118
CW
202202010-01-05 Colin Watson <cjwatson@ubuntu.com>
20221
20222 * util/mkisofs/write.c (padblock_write): Check return value of
20223 fread.
20224
7c302978
RM
202252010-01-05 Robert Millan <rmh.grub@aybabtu.com>
20226
20227 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
20228 floppy images now.
20229
20230 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
20231
e33ace06
RM
202322010-01-04 Robert Millan <rmh.grub@aybabtu.com>
20233
20234 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
20235 instead of manual alignment.
20236 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
20237 verbose). Avoid attempts to read past end of the device
20238 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
20239 but GRUB_DISK_CACHE_SIZE may exceed that).
20240
4b856776
RM
202412010-01-04 Robert Millan <rmh.grub@aybabtu.com>
20242
20243 * commands/crc.c (grub_cmd_crc): Abort on read errors.
20244 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
20245 it to upper layer.
20246
52c2d97f
VS
202472010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20248
20249 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
20250 New constant.
20251 (grub_efi_piwg_device_path): New structure
20252 (grub_efi_piwg_device_path_t): New type.
20253 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
20254 (devpath_1): Transform to a structure. All users updated.
20255 (devpath_2): Likewise.
20256 (devpath_3): Likewise.
20257 (devpath_4): Likewise.
20258 (devpath_5): Likewise.
20259
98ff6a54
VS
202602010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20261
20262 * loader/efi/appleloader.c: Restored. Update all users.
20263
3a73dcb6
RM
202642010-01-03 Robert Millan <rmh.grub@aybabtu.com>
20265
20266 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
20267
20268 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
20269 (struct boot_blocklist): Move from here ...
20270 * include/grub/i386/pc/boot.h [ASM_FILE]
20271 (struct grub_boot_blocklist): ... to here. Update all users.
20272 (setup): Only initialize `start' member of `first_block'
20273 structure. Add assert() calls to verify the other members.
20274
20275 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
20276 (generate_image): Fix broken blocklist length initialization.
20277 Add assert() call to verify blocklist `segment' field.
20278
ab0eeb0c
RM
202792010-01-03 Robert Millan <rmh.grub@aybabtu.com>
20280
20281 * loader/efi/appleloader.c: Remove. Update all users.
20282
58bc8bd5
RM
202832010-01-03 Robert Millan <rmh.grub@aybabtu.com>
20284
20285 * boot/i386/pc/boot.S: Update copyright year.
20286 * boot/i386/pc/cdboot.S: Likewise.
20287 * boot/i386/pc/diskboot.S: Likewise.
20288 * boot/i386/pc/lnxboot.S: Likewise.
20289 * boot/i386/pc/pxeboot.S: Likewise.
20290 * bus/pci.c: Likewise.
20291 * commands/cmp.c: Likewise.
20292 * commands/help.c: Likewise.
20293 * commands/hexdump.c: Likewise.
20294 * commands/i386/pc/halt.c: Likewise.
20295 * commands/i386/pc/play.c: Likewise.
20296 * commands/i386/pc/vbeinfo.c: Likewise.
20297 * commands/ls.c: Likewise.
20298 * commands/test.c: Likewise.
20299 * disk/dmraid_nvidia.c: Likewise.
20300 * disk/i386/pc/biosdisk.c: Likewise.
20301 * disk/ieee1275/nand.c: Likewise.
20302 * disk/ieee1275/ofdisk.c: Likewise.
20303 * disk/lvm.c: Likewise.
20304 * disk/raid.c: Likewise.
20305 * disk/raid6_recover.c: Likewise.
20306 * disk/scsi.c: Likewise.
20307 * fs/affs.c: Likewise.
20308 * fs/cpio.c: Likewise.
20309 * fs/ext2.c: Likewise.
20310 * fs/hfs.c: Likewise.
20311 * fs/iso9660.c: Likewise.
20312 * fs/ntfs.c: Likewise.
20313 * fs/sfs.c: Likewise.
20314 * fs/udf.c: Likewise.
20315 * fs/ufs.c: Likewise.
20316 * fs/xfs.c: Likewise.
20317 * gencmdlist.sh: Likewise.
20318 * genmk.rb: Likewise.
20319 * include/grub/disk.h: Likewise.
20320 * include/grub/efi/api.h: Likewise.
20321 * include/grub/efi/efi.h: Likewise.
20322 * include/grub/efi/pe32.h: Likewise.
20323 * include/grub/elf.h: Likewise.
20324 * include/grub/fs.h: Likewise.
20325 * include/grub/i386/at_keyboard.h: Likewise.
20326 * include/grub/i386/pc/memory.h: Likewise.
20327 * include/grub/i386/pc/vbe.h: Likewise.
20328 * include/grub/i386/pci.h: Likewise.
20329 * include/grub/i386/tsc.h: Likewise.
20330 * include/grub/ieee1275/ieee1275.h: Likewise.
20331 * include/grub/ntfs.h: Likewise.
20332 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
20333 * include/grub/sparc64/libgcc.h: Likewise.
20334 * include/grub/symbol.h: Likewise.
20335 * include/grub/types.h: Likewise.
20336 * include/multiboot2.h: Likewise.
20337 * io/gzio.c: Likewise.
20338 * kern/device.c: Likewise.
20339 * kern/disk.c: Likewise.
20340 * kern/efi/efi.c: Likewise.
20341 * kern/efi/mm.c: Likewise.
20342 * kern/elf.c: Likewise.
20343 * kern/file.c: Likewise.
20344 * kern/i386/dl.c: Likewise.
20345 * kern/i386/pc/init.c: Likewise.
20346 * kern/i386/pc/startup.S: Likewise.
20347 * kern/ieee1275/ieee1275.c: Likewise.
20348 * kern/ieee1275/init.c: Likewise.
20349 * kern/main.c: Likewise.
20350 * kern/mm.c: Likewise.
20351 * kern/powerpc/dl.c: Likewise.
20352 * kern/sparc64/dl.c: Likewise.
20353 * kern/x86_64/dl.c: Likewise.
20354 * lib/hexdump.c: Likewise.
20355 * loader/efi/appleloader.c: Likewise.
20356 * loader/i386/ieee1275/linux.c: Likewise.
20357 * loader/i386/pc/chainloader.c: Likewise.
20358 * loader/i386/pc/linux.c: Likewise.
20359 * loader/i386/pc/multiboot2.c: Likewise.
20360 * loader/ieee1275/multiboot2.c: Likewise.
20361 * loader/multiboot2.c: Likewise.
20362 * loader/multiboot_loader.c: Likewise.
20363 * loader/powerpc/ieee1275/linux.c: Likewise.
20364 * normal/completion.c: Likewise.
20365 * normal/menu_entry.c: Likewise.
20366 * partmap/apple.c: Likewise.
20367 * util/grub.d/10_hurd.in: Likewise.
20368 * util/hostfs.c: Likewise.
20369 * video/readers/png.c: Likewise.
20370
e2d70b5c
CW
203712010-01-03 Colin Watson <cjwatson@ubuntu.com>
20372
20373 * include/grub/misc.h (GNUC_PREREQ): New macro.
20374 (ATTRIBUTE_ERROR): New macro.
20375 * include/grub/list.h (grub_bad_type_cast_real): Use
20376 ATTRIBUTE_ERROR.
20377
a173283f 203782010-01-03 Carles Pina i Estany <carles@pina.cat>
20379
20380 * normal/menu_text.c (print_message): Change messages.
20381
7fa7ff74 203822010-01-03 Carles Pina i Estany <carles@pina.cat>
20383
20384 * normal/menu_entry.c (store_completion): Gettextizze.
20385
136d24f6 203862010-01-03 Carles Pina i Estany <carles@pina.cat>
20387
20388 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
20389
f936862e 203902010-01-03 Carles Pina i Estany <carles@pina.cat>
20391
20392 * po/POTFILES: Sort correctly.
20393
29c44ad1 203942010-01-03 Carles Pina i Estany <carles@pina.cat>
20395
20396 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
20397 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
20398 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
20399 full stop.
20400 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
20401 summary. Gettextizze the strings.
20402 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
20403 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
20404 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
20405 full stop.
20406 (GRUB_MOD_INIT): Remove command name from summary.
20407 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
20408 summary.
20409 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
20410 * term/i386/pc/serial.c (options): Add full stops.
20411 (GRUB_MOD_INIT): Remove command name from the summary.
20412
77a79592 204132010-01-03 Carles Pina i Estany <carles@pina.cat>
20414
20415 * commands/acpi.c: Gettextizze help strings and/or options. Include
20416 `grub/i18n.h' if needed.
20417 * commands/blocklist.c: Likewise.
20418 * commands/boot.c: Likewise.
20419 * commands/cat.c: Likewise.
20420 * commands/cmp.c: Likewise.
20421 * commands/configfile.c: Likewise.
20422 * commands/crc.c: Likewise.
20423 * commands/date.c: Likewise.
20424 * commands/echo.c: Likewise.
20425 * commands/efi/fixvideo.c: Likewise.
20426 * commands/efi/loadbios.c: Likewise.
20427 * commands/gptsync.c: Likewise.
20428 * commands/halt.c: Likewise.
20429 * commands/handler.c: Likewise.
20430 * commands/hdparm.c: Likewise.
20431 * commands/hexdump.c: Likewise.
20432 * commands/i386/cpuid.c: Likewise.
20433 * commands/i386/pc/drivemap.c: Likewise.
20434 * commands/i386/pc/halt.c: Likewise.
20435 * commands/i386/pc/pxecmd.c: Likewise.
20436 * commands/i386/pc/vbeinfo.c: Likewise.
20437 * commands/i386/pc/vbetest.c: Likewise.
20438 * commands/ieee1275/suspend.c: Likewise.
20439 * commands/keystatus.c: Likewise.
20440 * commands/loadenv.c: Likewise.
20441 * commands/ls.c: Likewise.
20442 * commands/lsmmap.c: Likewise.
20443 * commands/lspci.c: Likewise.
20444 * commands/memrw.c: Likewise.
20445 * commands/minicmd.c: Likewise.
20446 * commands/parttool.c: Likewise.
20447 * commands/password.c: Likewise.
20448 * commands/probe.c: Likewise.
20449 * commands/read.c: Likewise.
20450 * commands/reboot.c: Likewise.
20451 * commands/search.c: Likewise.
20452 * commands/sleep.c: Likewise.
20453 * commands/test.c: Likewise.
20454 * commands/true.c: Likewise.
20455 * commands/usbtest.c: Likewise.
20456 * commands/videotest.c: Likewise.
20457 * commands/xnu_uuid.c: Likewise.
20458 * disk/loopback.c: Likewise.
20459 * hello/hello.c: Likewise.
20460 * loader/i386/bsd.c: Likewise.
20461 * term/i386/pc/serial.c: Likewise.
20462 * po/POTFILES: Add new files.
20463
da8d5c53
CW
204642010-01-02 Colin Watson <cjwatson@ubuntu.com>
20465
20466 * term/i386/pc/at_keyboard.c
20467 (keyboard_controller_wait_untill_ready): Rename to ...
20468 (keyboard_controller_wait_until_ready): ... this. Update all users.
20469
33937904 204702010-01-01 Carles Pina i Estany <carles@pina.cat>
20471
20472 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
20473 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
20474 string using string width.
20475 * normal/menu_text.c (grub_print_message_indented): Use
20476 grub_print_spaces and not print_spaces.
20477 (print_timeout): Likewise.
20478 (print_spaces): Move to...
20479 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
20480
3fd3b8d8
RM
204812010-01-01 Robert Millan <rmh.grub@aybabtu.com>
20482
20483 Import from Gnulib.
20484
20485 * gnulib/getdelim.c: New file.
20486 * gnulib/getline.c: Likewise.
20487
33433555
VS
204882009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
20489
20490 * include/grub/list.h (grub_assert_fail): Removed.
20491 (grub_bad_type_cast_real): New function.
20492 (grub_bad_type_cast): New macro.
20493 (GRUB_AS_LIST): Use grub_bad_type_cast.
20494 (GRUB_AS_LIST_P): Likewise.
e44721e8 20495 (GRUB_AS_NAMED_LIST): Likewise.
33433555 20496 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 20497 (GRUB_AS_PRIO_LIST): Likewise.
33433555 20498 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 20499 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 20500
f5a51306
VS
205012009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
20502
20503 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
20504 Fix syntax error.
20505
90d1e879
RM
205062009-12-29 Robert Millan <rmh.grub@aybabtu.com>
20507
20508 * configure.ac: Check for TARGET_CFLAGS initialization before we
20509 initialize it ourselves (sigh).
20510 Move a few modifications to TARGET_CFLAGS to be unconditional
20511 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
20512 eh_frame)
20513
20514 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
20515 * term/i386/pc/at_keyboard.c
20516 (keyboard_controller_wait_untill_ready): Likewise.
20517 (keyboard_controller_led): Rename `led_status' paramter to avoid
20518 name conflict.
20519
465b5a81 205202009-12-28 Carles Pina i Estany <carles@pina.cat>
20521
20522 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
20523 quotes.
20524
c181849b
VS
205252009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20526
20527 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
20528
9c8739a4
VS
205292009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20530
20531 * normal/menu_text.c (grub_print_message_indented): Prevent
20532 past-the-end-of-array dereference.
20533
3e74249c
VS
205342009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20535
20536 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
20537 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
20538
64fd18ed 205392009-12-27 Carles Pina i Estany <carles@pina.cat>
20540
20541 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
20542 * normal/main.c (grub_normal_read_line): Remove a space from the
20543 default prompt.
20544
714af9b9 205452009-12-27 Carles Pina i Estany <carles@pina.cat>
20546
20547 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
20548 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20549 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
20550 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
20551 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20552 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20553 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
20554
82f3e412 205552009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 20556
20557 * video/readers/jpeg.c (cmd): Declare.
20558 (grub_cmd_jpegtest): Use `grub_command_t' type.
20559 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
20560 Assign to `cmd'.
20561 (GRUB_MOD_FINI): Use `cmd' to unregister.
20562 * video/readers/png.c (cmd): Declare.
20563 (grub_cmd_pngtest): Use `grub_command_t' type.
20564 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
20565 Assign to `cmd'.
20566 (GRUB_MOD_FINI): Use `cmd' to unregister.
20567 * video/readers/tga.c (cmd): Declare.
20568 (grub_cmd_tgatest): Use `grub_command_t' type.
20569 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
20570 Assign to `cmd'.
20571 (GRUB_MOD_FINI): Use `cmd' to unregister.
20572
82f3e412 205732009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 20574
20575 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
20576 stops.
20577 * kern/corecmd.c (grub_register_core_commands): Likewise.
20578 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
20579 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
20580 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
20581 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20582 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
20583 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
20584 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
20585 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
20586 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20587 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20588 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
20589 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20590 * normal/handler.c (insert_handler): Likewise.
20591 * normal/main.c (GRUB_MOD_INIT): Likewise.
20592 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
20593
fdcdbb66 205942009-12-26 Carles Pina i Estany <carles@pina.cat>
20595
20596 * commands/help.c (grub_cmd_help): Print the command name before the
20597 summary.
20598 (GRUB_MOD_INIT): Remove command name from the summary.
20599 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 20600 string as summary.
fdcdbb66 20601 * lib/arg.c (find_long): Print the command name before the summary.
20602 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
20603 summary.
20604 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
20605 * commands/cat.c (GRUB_MOD_INIT): Likewise.
20606 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
20607 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
20608 * commands/crc.c (GRUB_MOD_INIT): Likewise.
20609 * commands/date.c (GRUB_MOD_INIT): Likewise.
20610 * commands/echo.c (GRUB_MOD_INIT): Likewise.
20611 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
20612 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
20613 * commands/handler.c (GRUB_MOD_INIT): Likewise.
20614 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
20615 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
20616 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
20617 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
20618 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
20619 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
20620 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
20621 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
20622 * commands/ls.c (GRUB_MOD_INIT): Likewise.
20623 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
20624 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
20625 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
20626 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
20627 * commands/password.c (GRUB_MOD_INIT): Likewise.
20628 * commands/probe.c (GRUB_MOD_INIT): Likewise.
20629 * commands/read.c (GRUB_MOD_INIT): Likewise.
20630 * commands/search.c (GRUB_MOD_INIT): Likewise.
20631 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
20632 * commands/test.c (GRUB_MOD_INIT): Likewise.
20633 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
20634 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
20635 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
20636 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
20637 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
20638 * lib/arg.c (GRUB_MOD_INIT): Likewise.
20639 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
20640 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
20641 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
20642 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20643 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
20644 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
20645 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
20646 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
20647
9c288be2
VS
206482009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20649
20650 Use search command for preliminar UUID search.
20651
20652 * commands/search.c: Split into ...
20653 * commands/search_wrap.c: ...this
20654 * commands/search.c: ...and this.
20655 * commands/search_file.c: New file.
20656 * commands/search_label.c: New file.
20657 * commands/search_uuid.c: New file.
20658 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
20659 Add commands/search_wrap.c, commands/search_file.c,
20660 commands/search_label.c and commands/search_uuid.c.
20661 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
20662 (search_mod_SOURCES): Set to commands/search_wrap.c.
20663 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
20664 search_label.mod.
20665 (search_fs_file_mod_SOURCES): New variable.
20666 (search_fs_file_mod_CFLAGS): Likewise.
20667 (search_fs_file_mod_LDFLAGS): Likewise.
20668 (search_label_mod_SOURCES): Likewise.
20669 (search_label_mod_CFLAGS): Likewise.
20670 (search_label_mod_LDFLAGS): Likewise.
20671 (search_fs_uuid_mod_SOURCES): New variable.
20672 (search_fs_uuid_mod_CFLAGS): Likewise.
20673 (search_fs_uuid_mod_LDFLAGS): Likewise.
20674 (fs_file_mod_SOURCES): Removed.
20675 (fs_file_mod_CFLAGS): Likewise.
20676 (fs_file_mod_LDFLAGS): Likewise.
20677 (fs_uuid_mod_SOURCES): Removed.
20678 (fs_uuid_mod_CFLAGS): Likewise.
20679 (fs_uuid_mod_LDFLAGS): Likewise.
20680 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
20681 Set to util/grub-install.in.
20682 * disk/fs_file.c: Removed.
20683 * disk/fs_uuid.c: Likewise.
20684 * include/grub/search.h: New file.
20685 * util/grub-install.in: Handle sparc64.
20686 Create and use load.cfg.
20687 * util/sparc64/ieee1275/grub-install.in: Removed.
20688
db943399
VS
206892009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20690
20691 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
20692 Ignore return status if CF is cleared.
20693 (grub_biosdisk_get_diskinfo_standard): Likewise.
20694
3fdae612
RM
206952009-12-25 Robert Millan <rmh.grub@aybabtu.com>
20696
20697 * term/i386/pc/at_keyboard.c
20698 (keyboard_controller_wait_untill_ready): New function.
20699 (grub_keyboard_controller_write, grub_keyboard_controller_read)
20700 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
20701 for keyboard polling, rather than duplicate the same loop. This
20702 saves a few bytes in code size.
20703
7ebaa2b4
VS
207042009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20705
20706 Support for (pxe[:server[:gateway]]) syntax and
20707 use environment variable for PXE.
20708
20709 * commands/i386/pc/pxecmd.c (options): Removed.
20710 (print_ip): Removed.
20711 (grub_cmd_pxe): Removed
20712 (grub_cmd_pxe_unload): New function.
20713 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
20714 (grub_pxe_your_ip): Made static.
20715 (grub_pxe_default_server_ip): Likewise.
20716 (grub_pxe_default_gateway_ip): Likewise.
20717 (grub_pxe_blksize): Likewise.
20718 (parse_ip): New function.
20719 (grub_pxe_open): Support server and gateway specification.
20720 (grub_pxe_close): Free disk->data.
20721 (grub_pxefs_open): Use disk->data.
20722 (grub_pxefs_read): Likewise.
20723 (grub_env_write_readonly): New function.
20724 (set_mac_env): Likewise.
20725 (set_env_limn_ro): Likewise.
20726 (parse_dhcp_vendor): Likewise.
20727 (grub_pxe_detect): Set the environment variables.
20728 (set_ip_env): New function.
20729 (write_ip_env): Likewise.
20730 (grub_env_write_pxe_default_server): Likewise.
20731 (grub_env_write_pxe_default_gateway): Likewise.
20732 (grub_env_write_pxe_blocksize): Likewise.
20733 (GRUB_MOD_INIT(pxe)): Set environment variables.
20734 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
20735 (grub_pxe_mac_addr_t): ... this. All users updated.
20736 (grub_pxe_your_ip): Removed.
20737 (grub_pxe_server_ip): Likewise.
20738 (grub_pxe_gateway_ip): Likewise.
20739 (grub_pxe_blksize): Likewise.
20740
ec5f98ab 207412009-12-25 Carles Pina i Estany <carles@pina.cat>
20742
20743 * commands/help.c: Include `<grub/i18n.h>'.
20744 (grub_cmd_help): Gettextizze.
20745 (GRUB_MOD_INIT): Likewise.
20746 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
20747 (GRUB_MOD_INIT): Gettextizze.
20748 * commands/search.c: Include `<grub/i18n.h>'.
20749 (options): Gettextizze.
20750 (GRUB_MOD_INIT): Gettextizze.
20751 * lib/arg.c: Include `<grub/i18n.h>'.
20752 (help_options): Gettextizze.
20753 (find_long): Likewise.
20754 (grub_arg_show_help): Likewise.
20755 * normal/dyncmd.c: Include `<grub/i18n.h>'.
20756 (read_command_list): Gettextizze.
20757 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 20758 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 20759
22815526
RM
207602009-12-25 Robert Millan <rmh.grub@aybabtu.com>
20761
20762 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
20763 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
20764 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
20765 (led_status): New variable.
20766 (keyboard_controller_led): New function.
20767 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
20768 update led status for caps lock, num lock and scroll lock.
20769
0ad46fd7
FZ
207702009-12-25 Felix Zielcke <fzielcke@z-51.de>
20771
20772 * util/hostdisk.c (open_device): Fix a comment.
20773
d0e158c2
RM
207742009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20775
20776 * util/grub-install.in (host_os): New variable.
20777 * util/i386/efi/grub-install.in (host_os): Likewise.
20778
401c0ad6
RM
207792009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20780
20781 * util/mkisofs/write.c (padblock_write): Abort when given an
20782 excedingly large embed image, instead of silently truncating it.
20783
d14d3370
RM
207842009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20785
20786 * include/multiboot.h: Indentation fixes.
20787
eeed10b4
RM
207882009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20789
20790 * include/multiboot.h (struct multiboot_aout_symbol_table)
20791 (struct multiboot_elf_section_header_table): New structure
20792 declarations (stolen from GRUB Legacy).
20793 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
20794 table information.
20795
20796 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
20797 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
20798 type aliases.
20799
681c70ab
RM
208002009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20801
20802 * include/multiboot.h: Make comments src2texi-friendly.
20803
e4d47d8d
RM
208042009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20805
20806 For consistency with [multiboot]/docs/boot.S.
20807
20808 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
20809 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
20810 (MULTIBOOT_MAGIC2): Rename from this ...
20811 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
20812
a0b70bda
RM
208132009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20814
20815 * include/multiboot.h: Remove `<grub/types.h>'.
20816 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
20817 types. Update all users.
20818
61ba42be 208192009-12-25 Carles Pina i Estany <carles@pina.cat>
20820
20821 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
20822 `couldn't' and `can not' by `cannot'.
20823 * commands/i386/pc/drivemap.c: Likewise.
20824 * disk/ata.c: Likewise.
20825 * disk/ieee1275/nand.c: Likewise.
20826 * fs/affs.c: Likewise.
20827 * fs/fat.c: Likewise.
20828 * fs/hfs.c: Likewise.
20829 * fs/hfsplus.c: Likewise.
20830 * fs/iso9660.c: Likewise.
20831 * fs/jfs.c: Likewise.
20832 * fs/minix.c: Likewise.
20833 * fs/reiserfs.c: Likewise.
20834 * fs/sfs.c: Likewise.
20835 * fs/udf.c: Likewise.
20836 * fs/ufs.c: Likewise.
20837 * fs/xfs.c: Likewise.
20838 * loader/powerpc/ieee1275/linux.c: Likewise.
20839 * loader/sparc64/ieee1275/linux.c: Likewise.
20840 * util/grub-probe.c: Likewise.
20841 * util/misc.c: Likewise.
20842
7fd0baee 208432009-12-24 Carles Pina i Estany <carles@pina.cat>
20844
20845 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
20846 grub_errno calls.
20847 * commands/acpi.c: Likewise.
20848 * commands/blocklist.c: Likewise.
20849 * commands/efi/loadbios.c: Likewise.
20850 * commands/i386/pc/drivemap.c: Likewise.
20851 * commands/loadenv.c: Likewise.
20852 * commands/memrw.c: Likewise.
20853 * commands/password.c: Likewise.
20854 * commands/videotest.c: Likewise.
20855 * disk/ata.c: Likewise.
20856 * disk/ata_pthru.c: Likewise.
20857 * disk/dmraid_nvidia.c: Likewise.
20858 * disk/ieee1275/nand.c: Likewise.
20859 * disk/ieee1275/ofdisk.c: Likewise.
20860 * disk/loopback.c: Likewise.
20861 * disk/lvm.c: Likewise.
20862 * disk/mdraid_linux.c: Likewise.
20863 * disk/raid.c: Likewise.
20864 * disk/raid6_recover.c: Likewise.
20865 * disk/scsi.c: Likewise.
20866 * efiemu/main.c: Likewise.
20867 * efiemu/mm.c: Likewise.
20868 * efiemu/pnvram.c: Likewise.
20869 * efiemu/symbols.c: Likewise.
20870 * font/font.c: Likewise.
20871 * fs/cpio.c: Likewise.
20872 * fs/hfsplus.c: Likewise.
20873 * fs/iso9660.c: Likewise.
20874 * fs/jfs.c: Likewise.
20875 * fs/minix.c: Likewise.
20876 * fs/ntfs.c: Likewise.
20877 * fs/ntfscomp.c: Likewise.
20878 * fs/reiserfs.c: Likewise.
20879 * fs/ufs.c: Likewise.
20880 * fs/xfs.c: Likewise.
20881 * gettext/gettext.c: Likewise.
20882 * include/grub/auth.h: Likewise.
20883 * kern/elf.c: Likewise.
20884 * kern/file.c: Likewise.
20885 * kern/ieee1275/init.c: Likewise.
20886 * kern/ieee1275/mmap.c: Likewise.
20887 * kern/ieee1275/openfw.c: Likewise.
20888 * kern/powerpc/dl.c: Likewise.
20889 * kern/sparc64/dl.c: Likewise.
20890 * lib/arg.c: Likewise.
20891 * loader/i386/bsd.c: Likewise.
20892 * loader/i386/bsdXX.c: Likewise.
20893 * loader/i386/efi/linux.c: Likewise.
20894 * loader/i386/efi/xnu.c: Likewise.
20895 * loader/i386/ieee1275/linux.c: Likewise.
20896 * loader/i386/linux.c: Likewise.
20897 * loader/i386/multiboot.c: Likewise.
20898 * loader/i386/pc/linux.c: Likewise.
20899 * loader/i386/pc/multiboot2.c: Likewise.
20900 * loader/i386/xnu.c: Likewise.
20901 * loader/ieee1275/multiboot2.c: Likewise.
20902 * loader/macho.c: Likewise.
20903 * loader/machoXX.c: Likewise.
20904 * loader/multiboot2.c: Likewise.
20905 * loader/multiboot_loader.c: Likewise.
20906 * loader/powerpc/ieee1275/linux.c: Likewise.
20907 * loader/sparc64/ieee1275/linux.c: Likewise.
20908 * loader/xnu.c: Likewise.
20909 * loader/xnu_resume.c: Likewise.
20910 * mmap/i386/pc/mmap.c: Likewise.
20911 * normal/menu_viewer.c: Likewise.
20912 * partmap/acorn.c: Likewise.
20913 * partmap/amiga.c: Likewise.
20914 * partmap/apple.c: Likewise.
20915 * script/lexer.c: Likewise.
20916 * term/gfxterm.c: Likewise.
20917 * term/i386/pc/serial.c: Likewise.
20918 * term/i386/pc/vga.c: Likewise.
20919 * term/ieee1275/ofconsole.c: Likewise.
20920 * term/terminfo.c: Likewise.
20921 * video/bitmap.c: Likewise.
20922 * video/efi_gop.c: Likewise.
20923 * video/efi_uga.c: Likewise.
20924 * video/fb/video_fb.c: Likewise.
20925 * video/i386/pc/vbe.c: Likewise.
20926 * video/readers/tga.c: Likewise.
20927 * video/video.c: Likewise.
20928
0ad46fd7 209292009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
20930
20931 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
20932 * commands/lspci.c: Likewise.
20933 * commands/probe.c: Likewise.
20934 * commands/xnu_uuid.c: Likewise.
20935 * conf/i386-coreboot.rmk: Likewise.
20936 * conf/i386-efi.rmk: Likewise.
20937 * conf/i386-ieee1275.rmk: Likewise.
20938 * conf/i386-pc.rmk: Likewise.
20939 * conf/powerpc-ieee1275.rmk: Likewise.
20940 * conf/sparc64-ieee1275.rmk: Likewise.
20941 * conf/x86_64-efi.rmk: Likewise.
20942 * fs/i386/pc/pxe.c: Likewise.
20943 * gettext/gettext.c: Likewise.
20944 * include/grub/efi/graphics_output.h: Likewise.
20945 * include/grub/i386/pc/memory.h: Likewise.
20946 * kern/env.c: Likewise.
20947 * kern/i386/qemu/startup.S: Likewise.
20948 * lib/i386/pc/biosnum.c: Likewise.
20949 * lib/i386/relocator.c: Likewise.
20950 * lib/i386/relocator_asm.S: Likewise.
20951 * lib/relocator.c: Likewise.
20952 * loader/i386/bsd.c: Likewise.
20953 * loader/i386/multiboot.c: Likewise.
20954 * loader/i386/pc/chainloader.c: Likewise.
20955 * loader/i386/xnu.c: Likewise.
20956 * loader/xnu.c: Likewise.
20957 * normal/main.c: Likewise.
20958 * normal/menu_text.c: Likewise.
20959 * util/getroot.c: Likewise.
20960 * util/grub-mkconfig_lib.in: Likewise.
20961 * util/grub.d/00_header.in: Likewise.
20962 * util/i386/pc/grub-mkimage.c: Likewise.
20963 * util/mkisofs/eltorito.c: Likewise.
20964 * util/mkisofs/exclude.h: Likewise.
20965 * util/mkisofs/hash.c: Likewise.
20966 * util/mkisofs/iso9660.h: Likewise.
20967 * util/mkisofs/joliet.c: Likewise.
20968 * util/mkisofs/mkisofs.c: Likewise.
20969 * util/mkisofs/mkisofs.h: Likewise.
20970 * util/mkisofs/multi.c: Likewise.
20971 * util/mkisofs/name.c: Likewise.
20972 * util/mkisofs/rock.c: Likewise.
20973 * util/mkisofs/tree.c: Likewise.
20974 * util/mkisofs/write.c: Likewise.
20975 * video/efi_gop.c: Likewise.
20976
009ec743
VS
209772009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
20978
20979 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
20980 size counting.
20981
0ad46fd7 209822009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
20983
20984 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
20985 * genmk.rb (class SCRIPT): Modify the target file instead of source.
20986
d3d30ea0
VS
209872009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20988
20989 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
20990 (GRUB_MOD_INIT(memrw)): Update help line.
20991
a34f5c70
VS
209922009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20993
20994 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
20995 Use grub_extcmd_t. All users updated.
20996 (options): New variable.
20997 (grub_cmd_read): Restructure for readability. Support "-v" option.
20998 (grub_cmd_write): Restructure for readability.
20999
0ad46fd7 210002009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
21001
21002 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
21003
0ad46fd7 210042009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
21005
21006 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
21007 with the actual contents of the correspondending make variable.
21008 * util/grub-mkrescue.in (pkglib_DATA): New variable.
21009 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
21010 specifying `*.lst' and `efiemu??.o'
21011
0ad46fd7 210122009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
21013
21014 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
21015 after function name.
21016 Noticed by Rene Engelhard <rene@debian.org>.
21017
dc77a799
VS
210182009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21019
21020 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
21021 (options): New variable.
21022 (iospace): Likewise.
21023 (grub_lspci_iter): List IO spaces if "-i" was given.
21024 (grub_cmd_lspci): Parse options.
21025 (GRUB_MOD_INIT(lspci)): Use extcmd.
21026 (GRUB_MOD_FINI(lspci)): Likewise.
21027
0ad46fd7 210282009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
21029
21030 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
21031 `function' keyword.
21032 Patch by Tony Mancill <tmancill@debian.org>.
21033
b5d5993b
VS
210342009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21035
21036 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
21037 (grub_uhci_portstatus): Likewise.
21038 (grub_uhci_portstatus): Add necessary delay.
11d18281 21039 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 21040
941903f2 210412009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 21042
941903f2 21043 * commands/acpi.c (options): Fix capitalizations and/or full stops.
21044 (GRUB_MOD_INIT): Likewise.
21045 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 21046 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
21047 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 21048 * commands/efi/loadbios.c (enable_rom_area): Likewise.
21049 (enable_rom_area): Likewise.
21050 (GRUB_MOD_INIT): Likewise.
21051 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
21052 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
21053 * commands/handler.c (GRUB_MOD_INIT): Likewise.
21054 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
21055 * commands/hexdump.c (options): Likewise.
21056 * commands/i386/cpuid.c (options): Likewise.
21057 (GRUB_MOD_INIT): Likewise.
21058 * commands/i386/pc/drivemap.c (options): Likewise.
21059 (GRUB_MOD_INIT): Likewise.
21060 * commands/i386/pc/halt (options): Likewise.
21061 (GRUB_MOD_INIT): Likewise.
21062 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
21063 * commands/i386/pc/pxecmd.c (options): Likewise.
21064 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
21065 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
21066 * commands/keystatus.c (options): Likewise.
21067 (GRUB_MOD_INIT): Likewise.
21068 * commands/loadenv.c (options): Likewise.
21069 * commands/ls.c (options): Likewise.
21070 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
21071 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
21072 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
21073 * commands/parttool.c (helpmsg): Likewise.
21074 * commands/probe.c (options): Likewise.
21075 * commands/read.c (GRUB_MOD_INIT): Likewise.
21076 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
21077 * commands/search.c (options): Likewise.
21078 * commands/sleep.c (options): Likewise.
21079 * commands/test.c (GRUB_MOD_INIT): Likewise.
21080 * commands/true.c (GRUB_MOD_INIT): Likewise.
21081 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
21082 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
21083 * lib/arg.c (help_options): Likewise.
e9bbb4e7 21084 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
21085 `$(XGETTEXT)'.
98a50553 21086 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 21087
0ad46fd7 210882009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 21089
ef3c2c3a 21090 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
21091 instead of specifying them explicit.
21092
7922f68b
RM
210932009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21094
21095 * NEWS: Add grub-probe support for GNU/Hurd.
21096
537ce47f
RM
210972009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21098
21099 * NEWS: gettext was added after 1.97.
21100
9b214e3a
RM
211012009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21102
21103 * util/mkisofs/msdos_partition.h: New file (based on
21104 include/grub/msdos_partition.h).
21105 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
21106 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
21107 (ld_options, main): Recognize --protective-msdos-label.
21108 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
21109 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
21110 (padblock_write): If `use_protective_msdos_label' is set, patch a
21111 protective DOS-style label in the output image.
21112
21113 * util/grub-mkrescue.in: Use --protective-msdos-label.
21114
e9309813
RM
211152009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21116
21117 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
21118 boot.
21119
0ae56929
RM
211202009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21121
21122 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
21123 variables.
21124 (ld_options, main): Recognize `--embedded-boot'.
21125 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
21126 declarations.
21127 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
21128 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
21129 (padblock_write): Likewise. Rewrite to support embedded boot image.
21130
21131 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
21132 for BIOS-based disk boot instead of only ElTorito.
21133
b15937b1
RM
211342009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21135
21136 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
21137 build (not needed for bootstrap).
21138
52cc3ce0
RM
211392009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21140
21141 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
21142 from i386-pc build (not needed for bootstrap).
21143 Rewrite a pair of strings.
21144
36f5ff04
RM
211452009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21146
21147 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
21148
973c6c85 211492009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
21150
21151 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
21152
05d21547
AB
211532009-12-21 Andreas Born <futur.andy@googlemail.com>
21154
21155 * kern/env.c (grub_env_context_open): Mark exported variable for
21156 reexport.
21157
0175d51f
AB
211582009-12-21 Andreas Born <futur.andy@googlemail.com>
21159
21160 * kern/env.c (grub_env_export): Create nonexistent variables before
21161 exporting.
21162
7f39d92f 211632009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 21164
7f39d92f 21165 * include/grub/auth.h: Include `<grub/i18n.h>'.
21166 (GRUB_GET_PASSWORD): Gettextizze string.
21167 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
21168 menu_text.c.
21169 (grub_utf8_to_ucs4_alloc): Fix indentation.
21170 (grub_print_ucs4): Likewise.
21171 (grub_getstringwidth): Likewise.
21172 (print_message_indented): New declaration.
21173 * normal/auth.c: Include `<grub/i18n.h>'.
21174 (grub_auth_check_authentication): Gettexttize string.
21175 * normal/cmdline.c: Include `<grub/i18n.h>'.
21176 (grub_cmdline_get): Gettextizze.
21177 * normal/color.c: Include `<grub/i18n.h>'.
21178 (grub_parse_color_name_pair): Gettexttize strings.
21179 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
21180 string (use `print_message_indented').
21181 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
21182 `include/grub/normal.h'.
21183 (print_message_indented): Renamed to ...
21184 (grub_print_message_indented): ... this. Remove `static' qualifer (now
21185 used in normal/main.c).
21186 (print_message): Use `grub_print_message_indented' instead of
21187 `print_message_indented'.
21188 (print_timeout): Likewise.
21189 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
21190 (grub_normal_print_device_info): Gettexttize strings.
21191 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
21192
3041d898
VS
211932009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
21194
21195 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
21196 of arguments. Return number of tokens and not arguments. All users
21197 updated.
21198
de15bf8e
VS
211992009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
21200
21201 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
21202 non-MSDOS paritions.
21203
e0a6ca52
VS
212042009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21205
21206 * include/grub/types.h (UNUSED): Removed since it conflicts with
21207 NetBSD headers. All users changed to direct __attribute__ ((unused)).
21208 Reported by Grégoire Sutre.
21209
b99518d1 212102009-12-19 Carles Pina i Estany <carles@pina.cat>
21211
21212 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
21213 (grub_print_ucs4_alloc): Likewise.
21214 (grub_getstringwidth): Likewise.
21215 * normal/main.c (grub_normal_init_page): Gettextize version string.
21216 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
21217 (getstringwidth): Renamed to ...
21218 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
21219 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
21220 (grub_print_ucs4): Remove `static' qualifer (now used in
21221 normal/main.c).
21222 * po/POTFILES: Add normal/main.c.
21223
bfd5e52b 212242009-12-19 Carles Pina i Estany <carles@pina.cat>
21225
21226 * normal/menu_text.c (STANDARD_MARGIN): New macro.
21227 (print_message_indented): Add `margin_left' and `margin_right'
21228 parameters.
21229 (print_message): Update `print_message_indented' calls. Adds '\n' to the
21230 strings.
21231 (print_timeout): Use `print_message_indented' to print the message.
21232 Deletes `second_stage' parameter.
21233 (run_menu): Update `print_timeout' calls.
21234
5a1ad2b9
VS
212352009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21236
21237 Fix console palette on OpenFirmware.
21238
21239 * term/ieee1275/ofconsole.c (MAX): Removed.
21240 (colors): Redone based on VGA palette.
21241 (grub_ofconsole_setcolor): Discard brightness bit since only 8
21242 colors are supported.
21243 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
21244
b045f00a
VS
212452009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21246
21247 Fix potential EfiEmu double prepare.
21248
21249 * efiemu/main.c (prepared): New variable
21250 (grub_efiemu_unload): Set prepare to '0'.
21251 (grub_efiemu_prepare): Return if already prepared. Set prepared.
21252
21253 set_virtual_address_map support.
21254
21255 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
21256 prototype.
21257 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
21258 prototype.
21259 (grub_efiemu_crc32): Likewise.
21260 (grub_efiemu_crc64): Likewise.
21261 (grub_efiemu_set_virtual_address_map): Likewise.
21262 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
21263 New definition.
21264 (grub_autoefi_set_virtual_address_map): Likewise.
21265 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
21266 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
21267 Restructure flow to accomodate it.
21268 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
21269 (grub_efiemu_crc): Recompute CRC32.
21270 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
21271 (efiemu_ptv_relocated): ... this. Made global. All users updated.
21272 * efiemu/symbols.c (relocated_handle): New variable.
21273 (grub_efiemu_free_syms): Free relocated_handle.
21274 (grub_efiemu_alloc_syms): Allocate relocated_handle.
21275 (grub_efiemu_write_sym_markers): New function.
21276 (grub_efiemu_set_virtual_address_map): Likewise.
21277
21278 Newer XNU parameters.
21279
21280 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
21281 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
21282 (grub_xnu_fill_devicetree): New prototype.
21283 (grub_xnu_heap_real_start): New variable.
21284 * loader/xnu.c (get_name_ptr): New function.
21285 (grub_xnu_load_driver): Fill namelen and name.
21286
21287 64-bit xnu support.
21288
21289 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
21290 and 'loader/macho64.c'.
21291 * conf/i386-pc.rmk: Likewise.
21292 * conf/x86_64-efi.rmk: Likewise.
21293 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
21294 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
21295 * include/grub/macho.h (grub_macho_segment64): New structure.
21296 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
21297 (grub_macho_size32): ... to this.
21298 (grub_macho32_get_entry_point): Renamed from ...
21299 (grub_macho_get_entry_point32): ... to this.
21300 (grub_macho_contains_macho64): New prototype.
21301 (grub_macho_size64): Likewise.
21302 (grub_macho_get_entry_point64): Likewise.
21303 (grub_macho32_load): Renamed from ...
21304 (grub_macho_load32): ... to this.
21305 (grub_macho32_filesize): Renamed from ...
21306 (grub_macho_filesize32): ... to this.
21307 (grub_macho32_readfile): Renamed from ...
21308 (grub_macho_readfile32): ... to this.
21309 (grub_macho_filesize64): New prototype.
21310 (grub_macho_readfile64): Likewise.
21311 (grub_macho_parse32): Likewise.
21312 (grub_macho_parse64): Likewise.
21313 * loader/macho.c: Split into ...
21314 * loader/machoXX.c: ... and this. Replace 32 with XX.
21315 * loader/macho32.c: New file.
21316 * loader/macho64.c: Likewise.
21317 * loader/xnu.c (grub_xnu_is_64bit): New variable.
21318 (grub_cmd_xnu_kernel): Make 32-bit only.
21319 (grub_cmd_xnu_kernel64): New function.
21320 (grub_xnu_load_driver): Support Mach-O 64.
21321 (grub_cmd_xnu_mkext): Likewise.
21322 * util/grub.d/30_os-prober.in (osx_entry): New function.
21323 Generate entries for 64-bit boot too.
21324
21325 Eliminate ad-hoc tree format in XNU and EfiEmu.
21326
21327 * efiemu/main.c (grub_efiemu_prepare): Update comment.
21328 * efiemu/pnvram.c: Rewritten to use environment variables.
21329 All users updated.
21330
21331 Inline utf16_to_utf8.
21332
21333 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
21334 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
21335 All users updated.
21336 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
21337
21338 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
21339 * commands/usbtest.c (grub_usb_get_string): ... move here.
21340 (usb_print_str): Fix error handling.
21341 * include/grub/usb.h (grub_usb_get_string): Remove.
21342
21343 UTF-8 to UTF-16 transformation.
21344
21345 * conf/common.rmk (pkglib_MODULES): Add charset.mod
21346 (charset_mod_SOURCES): New variable.
21347 (charset_mod_CFLAGS): Likewise.
21348 (charset_mod_LDFLAGS): Likewise.
21349 * include/grub/utf.h: New file.
21350 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
21351
21352 Support for device properties.
21353
21354 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
21355 (grub_xnu_devprop_device_header): Likewise.
21356 (grub_xnu_devprop_device_descriptor): Likewise.
21357 (grub_xnu_devprop_add_device): New prototype.
21358 (grub_xnu_devprop_remove_device): Likewise.
21359 (grub_xnu_devprop_remove_property): Likewise.
21360 (grub_xnu_devprop_add_property_utf8): Likewise.
21361 (grub_xnu_devprop_add_property_utf16): Likewise.
21362 (grub_cpu_xnu_init): Likewise.
21363 (grub_cpu_xnu_fini): Likewise.
21364 (grub_cpu_xnu_unload): Likewise.
21365 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
21366 (property_descriptor): Likewise.
21367 (devices): New variable.
21368 (grub_xnu_devprop_remove_property): New function.
21369 (grub_xnu_devprop_add_device): Likewise.
21370 (grub_xnu_devprop_remove_device): Likewise.
21371 (grub_xnu_devprop_add_property): Likewise.
21372 (grub_xnu_devprop_add_property_utf8): Likewise.
21373 (grub_xnu_devprop_add_property_utf16): Likewise.
21374 (hextoval): Likewise.
21375 (grub_cpu_xnu_fill_devprop): Likewise.
21376 (grub_cmd_devprop_load): Likewise.
21377 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
21378 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
21379 (cmd_devprop_load): New variable.
21380 (grub_cpu_xnu_init): New function.
21381 (grub_cpu_xnu_fini): Likewise.
21382 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
21383 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
21384 (grub_cmd_xnu_devtree): Likewise.
21385 (hextoval): New function.
21386 (unescape): Likewise.
21387 (grub_xnu_fill_devicetree): Likewise.
21388
21389 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
21390 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
21391
0945f181
VS
213922009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21393
21394 Workaround for broken ATI VBE.
21395
21396 * video/i386/pc/vbe.c (last_set_mode): New variable.
21397 (grub_vbe_set_video_mode): Set 'last_set_mode'.
21398 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
21399 (grub_video_vbe_setup): Don't check for reserved flag.
21400
0ad46fd7 214012009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
21402
21403 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
21404 the `find' command.
21405
c179ebe4
VS
214062009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
21407
21408 UUID support for HFS.
21409
21410 * fs/hfs.c (grub_hfs_uuid): New function.
21411 (grub_hfs_fs): New value .uuid.
21412 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
21413
0ad46fd7 214142009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
21415
21416 Fix a segfault with parsing unknown long options.
21417
21418 * util/grub-mkrelpath.c (options): Zero terminate it.
21419
c4a3e41a
CPE
214202009-12-13 Carles Pina i Estany <carles@pina.cat>
21421
21422 * include/grub/misc.h (grub_puts): New declaration.
21423 (grub_puts_): Likewise.
a22008a6 21424 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
21425 (grub_puts_): Likewise.
21426
2e8a7602
RM
214272009-12-13 Robert Millan <rmh.grub@aybabtu.com>
21428
21429 * util/grub-probe.c (probe): Improve error message.
21430
b50b77b9
RM
214312009-12-13 Robert Millan <rmh.grub@aybabtu.com>
21432
21433 * loader/i386/multiboot_elfxx.c
21434 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
21435 initialization.
21436
214372009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
21438
21439 Relocator framework
21440
21441 * loader/i386/xnu_helper.S: Removed. All users updated.
21442 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
21443 (relocator_mod_SOURCES): New variable.
21444 (relocator_mod_CFLAGS): Likewise.
21445 (relocator_mod_LDFLAGS): Likewise.
21446 (relocator_mod_ASFLAGS): Likewise.
21447 * conf/x86_64.rmk: Likewise.
21448 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
21449 (grub_multiboot_payload_entry_offset): Likewise.
21450 (grub_multiboot_forward_relocator): Likewise.
21451 (grub_multiboot_forward_relocator_end): Likewise.
21452 (grub_multiboot_backward_relocator): Likewise.
21453 (grub_multiboot_backward_relocator_end): Likewise.
21454 (grub_multiboot_payload_eip): New variable.
21455 (grub_multiboot_payload_orig): Likewise.
21456 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
21457 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
21458 * include/grub/i386/memory.h
21459 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
21460 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
21461 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
21462 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
21463 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
21464 * include/grub/i386/relocator.h: New file.
21465 * include/grub/x86_64/relocator.h: Likewise.
21466 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
21467 (XNU_RELOCATOR): New macro.
21468 (grub_xnu_launcher_start): Remove.
21469 (grub_xnu_launcher_end): Likewise.
21470 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
21471 (grub_xnu_heap_real_start): Remove.
21472 (grub_xnu_heap_start): Change to void *. All users updated.
21473 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
21474 * lib/i386/relocator.c: New file.
21475 * lib/i386/relocator_asm.S: Likewise.
21476 * lib/i386/relocator_backward.S: Likewise.
21477 * lib/mips/relocator.c: Likewise.
21478 * lib/mips/relocator_asm.S: Likewise.
21479 * lib/relocator.c: Likewise.
21480 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
21481 (entry): Removed.
21482 (playground): Likewise.
21483 (grub_multiboot_payload_orig): New variable.
21484 (grub_multiboot_payload_dest): Likewise.
21485 (grub_multiboot_payload_size): Likewise.
21486 (grub_multiboot_payload_eip): Likewise.
21487 (grub_multiboot_payload_esp): Likewise.
21488 (grub_multiboot_boot): Use grub_relocator32_boot.
21489 (grub_multiboot_unload): Free relocators.
21490 (grub_multiboot): Setup stack. Use relocators.
21491 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
21492 (grub_multiboot_load_elfXX): Use relocators.
21493 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
21494 (grub_multiboot_payload_size): Likewise.
21495 (grub_multiboot_payload_dest): Likewise.
21496 (grub_multiboot_payload_entry_offset): Likewise.
21497 (grub_multiboot_forward_relocator): Likewise.
21498 (grub_multiboot_backward_relocator): Likewise.
21499 (grub_multiboot_real_boot): Likewise.
21500 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
21501 (grub_xnu_entry_point): Likewise.
21502 (grub_xnu_arg1): Likewise.
21503 (grub_xnu_stack): Likewise.
21504 (grub_xnu_launch): Removed.
21505 (grub_xnu_boot_resume): New function.
21506 (grub_xnu_boot): Use relocators.
21507 * loader/i386/xnu_helper.S: Removed.
21508 * loader/xnu.c (grub_xnu_heap_start): New variable.
21509 (grub_xnu_heap_size): Likewise.
21510 (grub_xnu_heap_malloc): Use relocators.
21511 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
21512
29eb90c6
VS
215132009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
21514
21515 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
21516 anything.
21517
31027430
CPE
215182009-12-13 Carles Pina i Estany <carles@pina.cat>
21519
21520 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
21521 GRUB_ERR_NONE before calling grub_env_set.
21522
dc0c71d9
RM
215232009-12-12 Robert Millan <rmh@aybabtu.com>
21524
21525 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
21526 * genmk.rb (video): New variable.
21527 (CLEANFILES, VIDEOFILES): Add #{video}.
21528 (#{video}): New target rule.
21529 * genvideolist.sh: New file.
21530 * Makefile.in (pkglib_DATA): Add video.lst.
21531 (video.lst): New target rule.
21532 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
21533 `video.lst'.
21534 * util/grub.d/30_os-prober.in: Replace `vbe' with
21535 ${GRUB_VIDEO_BACKEND}.
21536
2a4bfcf0
RM
215372009-12-11 Robert Millan <rmh.grub@aybabtu.com>
21538
21539 * THANKS: Add David Miller.
21540
2a3aa4d5
RM
215412009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
21542
21543 libpciaccess support.
21544
21545 * Makefile.in (LIBPCIACCESS): New variable.
21546 (enable_grub_emu_pci): Likewise.
21547 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
21548 util/pci.c and commands/lspci.c.
21549 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
21550 * configure.ac (grub-emu-pci): New option.
21551 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
21552 (grub_pci_device_unmap_range): Likewise.
21553 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
21554 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
21555 (grub_pci_address_t) [!GRUB_UTIL]: New type.
21556 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
21557 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
21558 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
21559 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
21560 * include/grub/pciutils.h: New file.
21561 * util/pci.c: Likewise.
21562
0ad46fd7 215632009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
21564
21565 * util/misc.c: Don't include <errno.h> twice.
21566
0ad46fd7 215672009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
21568
21569 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
21570 name in an error message.
21571 (grub_biosdisk_rw): Likewise.
21572
2e59983c
VS
215732009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
21574
21575 Eliminate NTFS 4Gib barrier.
21576
21577 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
21578 (read_run_data): Likewise.
21579 (grub_ntfs_read_run_list): Likewise.
21580 (grub_ntfs_read_block): Likewise.
21581 (grub_ntfs_iterate_dir): Likewise.
21582 (read_mft): Likewise.
21583 (read_data): Likewise.
21584 Use COM_LOG_LEN.
21585 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
21586 to avoid 64-bit division
21587 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
21588 (grub_ntfs_rlst): Use grub_disk_addr_t.
21589
71ee178a
VS
215902009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
21591
21592 Eliminate grub-fstest 4Gib barrier.
21593
21594 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
21595 (read_file): Fix error reporting.
21596
2520d4b8
VS
215972009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
21598
21599 Eliminate hexdump 4Gib barrier.
21600
21601 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
21602 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
21603
e1f27065
VS
216042009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
21605
21606 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
21607 Fixes amarsh bug.
21608
1a0f7f45
RM
216092009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
21610
21611 Remove miscellaneous files in distclean target.
21612
21613 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
21614
c631d9fb
CW
216152009-12-09 Colin Watson <cjwatson@ubuntu.com>
21616
21617 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
21618 if they're already set. This resolves the conflict between my
21619 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
21620 fixing the --grub-probe option again.
21621 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
21622 change on 2009-10-06, so that we now once again source
21623 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
21624
7c7b6106
RM
216252009-12-08 Robert Millan <rmh.grub@aybabtu.com>
21626
21627 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
21628 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
21629 `util/devicemap.c'.
21630
e3069ec1
CPE
216312009-12-08 Carles Pina i Estany <carles@pina.cat>
21632
21633 * include/grub/misc.h (grub_printf_): New declaration.
21634 * kern/misc.c (grub_printf_): New definition.
21635 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
21636 instead of `grub_printf' and `_'.
21637 * normal/menu_entry.c (store_completion): Likewise.
21638 (run): Likewise.
21639 (grub_menu_entry_run): Likewise.
21640 * normal/menu_text.c (grub_wait_after_message): Likewise.
21641 (notify_booting): Likewise.
21642 (notify_fallback): Likewise.
21643 (notify_execution_failure): Likewise.
21644
d6ceebf1
CW
216452009-12-07 Colin Watson <cjwatson@ubuntu.com>
21646
21647 * configure.ac: Check for vasprintf.
21648 * util/misc.c (asprintf): Move allocation from here ...
21649 (vasprintf): ... to here. New function.
21650 (xasprintf): New function.
21651 * include/grub/util/misc.h (vasprintf, xasprintf): Add
21652 prototypes.
21653 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
21654 * util/grub-mkfont.c (write_font): Likewise.
21655 * util/grub-probe.c (probe): Likewise.
21656 * util/hostdisk.c (make_device_name): Likewise.
21657
de6daa8b
DM
216582009-12-06 David S. Miller <davem@sunset.davemloft.net>
21659
21660 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
21661 anything even prefixed with 'cdrom' as a cdrom.
21662
0ad46fd7 216632009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
21664
21665 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
21666 mount points.
21667
98d3dc02
CPE
216682009-12-05 Carles Pina i Estany <carles@pina.cat>
21669
21670 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
21671 grub_gettext_msg_list.
21672 (grub_gettext_gettranslation_from_position): Return const char *
21673 and not char *.
a2c1332b 21674 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
21675 returns from the list if existing there.
21676 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
21677 (grub_gettext_delete_list): Delete the list.
21678 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
21679 lang environment variable is changed.
21680 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
21681
b283f108
VS
216822009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
21683
21684 Rename kernel.mod to kernel.img.
21685
21686 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
21687 (kernel_mod_EXPORTS): Rename to ...
21688 (kernel_img_EXPORTS): ... this.
21689 (kernel_mod_SOURCES): Rename to ...
21690 (kernel_img_SOURCES): ... this.
21691 (kernel_mod_HEADERS): Rename to ...
21692 (kernel_img_HEADERS): ... this. All users updated.
21693 (kernel_mod_CFLAGS): Rename to ...
21694 (kernel_img_CFLAGS): ... this.
21695 (kernel_mod_ASFLAGS): Rename to ...
21696 (kernel_img_ASFLAGS): ... this.
21697 (kernel_mod_LDFLAGS): Rename to ...
21698 (kernel_img_LDFLAGS): ... this.
21699 * conf/x86_64-efi.rmk: Likewise.
21700 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
21701 (read_kernel_image): ... this. All users updated.
21702 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
21703
69055f8a
CPE
217042009-12-05 Carles Pina i Estany <carles@pina.cat>
21705
21706 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
21707 (print_spaces): New function.
21708 (grub_print_ucs4): New function.
21709 (getstringwidth): New function.
21710 (print_message_indented): New function.
21711 (print_message): Gettexttize strings using print_message_indented.
21712 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
21713 width.
21714 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 21715 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
21716 Gettextize.
21717 * normal/menu_entry.c (store_completion): Cleanup the gettextized
21718 string.
21719 (run): Likewise.
21720 (grub_menu_entry_run): Likewise.
21721 * PO/POTFILES: Add normal/menu_entry.c.
21722
f616f51c
VS
217232009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
21724
21725 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
21726
57bbe3be
CPE
217272009-12-05 Carles Pina i Estany <carles@pina.cat>
21728
21729 * util/grub-install.in: Install gettext .mo files.
21730 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
21731
013d67a1
CPE
217322009-12-05 Carles Pina i Estany <carles@pina.cat>
21733
21734 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
21735 grub_dprintf.
21736
fb954db0
RM
217372009-12-05 Robert Millan <rmh.grub@aybabtu.com>
21738
21739 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
21740 non-firmware-dependant one in realmode.S takes precedence.
21741
6b8474f8
RM
217422009-12-04 Robert Millan <rmh.grub@aybabtu.com>
21743
21744 * commands/halt.c: Replace misc arch-specific headers with
21745 `<grub/misc.h>'.
21746 * commands/reboot.c: Likewise.
21747 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
21748 `<grub/misc.h>'.
21749 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
21750 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
21751 (kernel_img_SOURCES): ... to here.
21752
21753 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
21754 * include/grub/i386/pc/init.h: Likewise.
21755 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
21756 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21757
21758 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
21759
21760 * include/grub/i386/halt.h: Remove.
21761 * include/grub/i386/reboot.h: Likewise.
21762
21763 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
21764
4b2e6ca2
DM
217652009-12-03 David S. Miller <davem@sunset.davemloft.net>
21766
21767 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
21768 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
21769 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
21770 "progname.h"
21771 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
21772 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21773 (usage): Add missing comma in printf.
21774
5239348f
RM
217752009-12-02 Robert Millan <rmh.grub@aybabtu.com>
21776
21777 Use the same reboot approach on i386 coreboot and qemu as we do on
21778 BIOS.
21779
21780 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
21781 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
21782 * kern/i386/reboot.c: Remove.
21783 * include/grub/i386/reboot.h (grub_reboot): Export function.
21784 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
21785 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
21786 0xf000:0xfff0 instead of 0xffff:0x0000.
21787 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
21788 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
21789
ef34cbd4
RM
217902009-11-30 Robert Millan <rmh.grub@aybabtu.com>
21791
21792 Fix $srcdir != $objdir build.
21793
21794 * Makefile.in (po/%.po): Rewrite as ...
21795 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
21796
dc9837ea
ST
217972009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
21798
21799 Fix GNU/Hurd grub-install crash.
21800 * util/grub-probe.c (probe): Try to access `path' only when it is not
21801 NULL.
21802
2f857f98
VS
218032009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
21804
21805 Correct module naming.
21806
21807 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
21808 (GRUB_MOD_INIT(efi_uga)): ... to this
21809 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
21810 (GRUB_MOD_FINI(efi_uga)): ... to this
21811 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
21812 (GRUB_MOD_INIT(efi_gop)): ... to this
21813 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
21814 (GRUB_MOD_FINI(efi_gop)): ... to this
21815
c5448046
RM
218162009-11-28 Robert Millan <rmh.grub@aybabtu.com>
21817
21818 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
21819 translatable.
21820 (usage): Translate `arg' strings using gettext().
21821 Thanks to Jordi Mallach for the suggestion.
21822
c85184ad
VS
218232009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
21824
21825 GOP support. Based on patch from Bean
21826 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
21827
21828 * video/efi_gop.c: New file.
21829 * include/grub/efi/graphics_output.h: Likewise.
21830 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
21831 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
21832 variables.
21833 * conf/x86_64-efi.rmk: Likewise.
21834
8a4c48d8
VS
218352009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
21836
21837 Rename efi_fb to efi_uga.
21838
21839 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
21840 'efi_uga.mod'.
21841 (efi_fb_mod_SOURCES): Rename this ...
21842 (efi_uga_mod_SOURCES): ... to this.
21843 (efi_fb_mod_CFLAGS): Rename this ...
21844 (efi_uga_mod_CFLAGS): ... to this.
21845 (efi_fb_mod_LDFLAGS): Rename this ...
21846 (efi_uga_mod_LDFLAGS): ... to this.
21847 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
21848 'efi_uga.mod'.
21849 (efi_fb_mod_SOURCES): Rename this ...
21850 (efi_uga_mod_SOURCES): ... to this.
21851 (efi_fb_mod_CFLAGS): Rename this ...
21852 (efi_uga_mod_CFLAGS): ... to this.
21853 (efi_fb_mod_LDFLAGS): Rename this ...
21854 (efi_uga_mod_LDFLAGS): ... to this.
21855 * video/efi_fb.c: Move this ...
21856 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
21857
fb6c1a7b
RM
218582009-11-27 Robert Millan <rmh.grub@aybabtu.com>
21859
21860 * po/README: New file. Explain our PO file workflow.
21861
3bc7896c
RM
218622009-11-27 Robert Millan <rmh.grub@aybabtu.com>
21863
21864 * po/ChangeLog: Remove. Move relevant entries back to ...
21865 * ChangeLog: ... here.
21866 * po/ca.po: Remove (now handled by TLP).
21867 * po/id.po: Likewise.
21868 * po/zh_CN.po: Likewise.
21869 * Makefile.in (LINGUAS): Initialize in a way that supports
21870 empty set.
21871
9ed4841d
RM
218722009-11-27 Robert Millan <rmh.grub@aybabtu.com>
21873
21874 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
21875 reliing on po/LINGUAS.
21876 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
21877 (po/%.po): ... this.
21878
0ad46fd7 218792009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
21880
21881 * util/i386/efi/grub-mkimage.c: Include "progname.h".
21882 (main): Use `program_name' instead of nonexistent `progname'.
21883
e30dd392
FZ
218842009-11-26 Felix Zielcke <fzielcke@z-51.de>
21885
21886 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21887 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
21888
7656de4f
RM
218892009-11-26 Robert Millan <rmh.grub@aybabtu.com>
21890
21891 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
21892 commit.
21893 * conf/i386-efi.rmk: Likewise.
21894 * conf/i386-ieee1275.rmk: Likewise.
21895 * conf/powerpc-ieee1275.rmk: Likewise.
21896 * conf/sparc64-ieee1275.rmk: Likewise.
21897 * conf/x86_64-efi.rmk: Likewise.
21898
db77c4d4
FZ
218992009-11-26 Felix Zielcke <fzielcke@z-51.de>
21900
21901 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
21902
a755bb04
FZ
219032009-11-26 Felix Zielcke <fzielcke@z-51.de>
21904
21905 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
21906
8a4c07fd
RM
219072009-11-26 Robert Millan <rmh.grub@aybabtu.com>
21908
21909 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
21910 (grub_mkdevicemap_SOURCES): New variable.
21911 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
21912 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
21913 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
21914 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
21915 (grub_mkdevicemap_SOURCES): Remove.
21916 * conf/i386-efi.rmk: Likewise.
21917 * conf/i386-ieee1275.rmk: Likewise.
21918 * conf/i386-pc.rmk: Likewise.
21919 * conf/powerpc-ieee1275.rmk: Likewise.
21920 * conf/sparc64-ieee1275.rmk: Likewise.
21921 * conf/x86_64-efi.rmk: Likewise.
21922 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
21923 (usage): Fix strings to use `program_name'.
21924 (main): Initialize gettext.
21925 * util/grub-editenv.c: Likewise.
21926 * util/grub-emu.c: Likewise.
21927 * util/grub-fstest.c: Likewise.
21928 * util/grub-mkdevicemap.c: Likewise.
21929 * util/grub-mkfont.c: Likewise.
21930 * util/grub-mkrelpath.c: Likewise.
21931 * util/grub-pe2elf.c: Likewise.
21932 * util/grub-probe.c: Likewise.
21933 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
21934 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
21935 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21936
21937 * util/misc.c: Include `"progname.h"'.
21938 (progname): Remove variable.
21939 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
21940
6f61ed55
FZ
219412009-11-25 Felix Zielcke <fzielcke@z-51.de>
21942
21943 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
21944 printf and print a newline after the menuentry header line.
21945 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
21946
f022876b
FZ
219472009-11-25 Felix Zielcke <fzielcke@z-51.de>
21948
21949 autoconf >= 2.60 support $(localedir).
21950
21951 * INSTALL: Note that autoconf 2.60 is required.
21952 * configure.ac (AC_PREREQ): Bump to 2.60.
21953 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
21954 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
21955
6717926e
YB
219562009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
21957
21958 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
21959 aclocal is run.
21960
08806a54
RM
219612009-11-25 Robert Millan <rmh.grub@aybabtu.com>
21962
21963 * normal/main.c (grub_normal_read_line): Fix off-by-one
21964 buffer overflow.
21965
13b33fba
RM
219662009-11-25 Robert Millan <rmh.grub@aybabtu.com>
21967
21968 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
21969 "parser.grub" in grub_command_execute() call.
21970
4a8572e9
CPE
219712009-11-24 Carles Pina i Estany <carles@pina.cat>
21972
21973 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
21974 * conf/i386-efi.rmk: Likewise.
21975 * conf/i386-ieee1275.rmk: Likewise.
21976 * conf/i386-pc.rmk: Likewise.
21977 * conf/powerpc-ieee1275.rmk: Likewise.
21978 * conf/sparc64-ieee1275.rmk: Likewise.
21979 * conf/x86_64-efi.rmk: Likewise.
21980 * gettext/gettex.c: Include <grub/i18n.h>.
21981 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
21982 here ...
21983 * include/grub/i18n.h: ... to here
21984 * include/grub/i18n.h: ... to here.
21985 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 21986 (grub_gettext_dummy): Move above user.
4a8572e9 21987
bee48093
FZ
219882009-11-24 Felix Zielcke <fzielcke@z-51.de>
21989
21990 * util/Makefile.in (install-local): Convert a `for' into a normal
21991 shell expansion.
21992
a031e91c
RM
219932009-11-24 Robert Millan <rmh.grub@aybabtu.com>
21994
21995 * autogen.sh: Add automake call.
21996 * config.guess: Remove.
21997 * config.sub: Likewise.
21998 * install-sh: Likewise.
21999
26bec39d
FZ
220002009-11-24 Felix Zielcke <fzielcke@z-51.de>
22001
22002 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
22003
8e2532fd
FZ
220042009-11-24 Felix Zielcke <fzielcke@z-51.de>
22005
22006 * util/Makefile.in (install-local): Convert a make `$(foreach)'
22007 function to a normal shell `for'.
22008
fefa1b7d
FZ
220092009-11-24 Felix Zielcke <fzielcke@z-51.de>
22010
22011 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
22012
4501250b
FZ
220132009-11-24 Felix Zielcke <fzielcke@z-51.de>
22014
22015 * util/grub-mkrelpath.c: New file.
22016 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
22017 (grub_mkrelpath_SOURCES): New variable.
22018 * include/grub/util/misc.h: New function prototype.
22019 * util/misc.c (make_system_path_relative_to_its_root): New function.
22020
22021 * util/grub-mkconfig_lib.in (bindir): New variable.
22022 (grub_mkrelpath): Likewise.
22023 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
22024
22025 * util/probe.c (probe): Make the file path relative to its root.
22026 Change a info message to use the GRUB path. Enable again the
22027 check if we can read the file with GRUB facilities.
22028
22029 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
22030 to its root.
22031
11d9778b
FZ
220322009-11-24 Felix Zielcke <fzielcke@z-51.de>
22033
22034 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
22035 platform.
22036
4465287d
FZ
220372009-11-24 Felix Zielcke <fzielcke@z-51.de>
22038
22039 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
22040 strncmp().
22041
62b47f22
FZ
220422009-11-24 Felix Zielcke <fzielcke@z-51.de>
22043
22044 * util/getroot.c (grub_util_is_dmraid): New function.
22045 (grub_util_get_dev_abstraction): Treat dmraid and multipath
22046 devices as normal ones, not as LVM.
22047
1eafb9b9 220482009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
22049
22050 * conf/common.rmk: Add grub-gettext_lib target and updates
22051 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
22052 LDFLAGS.
22053 * gettext/gettext.c: New file. (Reads mo files).
22054 * include/grub/file.h (grub_file_pread): New prototype.
22055 * include/grub/i18n.h (_): New prototype.
22056 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
22057 prototypes.
22058 * kern/misc.c (grub_gettext_dummy): New function.
22059 * normal/menu_text.c: Include <grub/i18n.h>.
22060 * normal/menu_text.c (print_timeout): Gettexttize string.
22061 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
22062 * po/POTFILES: Add `normal/menu_text.c'.
22063 * po/ca.po: Add new translations.
c3ea6bd4
CPE
22064 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
22065 gettext module and defines locale_dir and lang in grub.cfg.
22066 * NEWS: Add gettext support.
22067
0fdb2568
RM
220682009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22069
22070 * util/hostdisk.c: Include `<grub/i18n.h>'.
22071 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
22072 (make_device_name): Rewrite using asprintf.
22073 (convert_system_partition_to_system_disk): Replace 0 with NULL.
22074 (find_system_device): If a device is not found, generate one just
22075 by reusing the OS path name.
22076 (read_device_map): Make it permissible for device.map not to exist.
22077
f515aa62
RM
220782009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22079
22080 * script/sh/execute.c: Move from here ...
22081 * script/execute.c: ... to here. Update all users.
22082 * script/sh/function.c: Move from here ...
22083 * script/function.c: ... to here. Update all users.
22084 * script/sh/lexer.c: Move from here ...
22085 * script/lexer.c: ... to here. Update all users.
22086 * script/sh/main.c: Move from here ...
22087 * script/main.c: ... to here. Update all users.
22088 * script/sh/parser.y: Move from here ...
22089 * script/parser.y: ... to here. Update all users.
22090 * script/sh/script.c: Move from here ...
22091 * script/script.c: ... to here. Update all users.
22092
f84b481b
RM
220932009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22094
22095 * configure.ac: Detect all `emu' platforms. Define
22096 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
22097 --enable-grub-emu logic. Disable include/grub/machine
22098 symlink on `emu' platforms.
22099
22100 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
22101 * gensymlist.sh.in: Likewise.
22102
22103 * include/grub/i386/coreboot/machine.h: Remove file.
22104 * include/grub/i386/efi/machine.h: Likewise.
22105 * include/grub/i386/ieee1275/machine.h: Likewise.
22106 * include/grub/i386/pc/machine.h: Likewise.
22107 * include/grub/i386/qemu/machine.h: Likewise.
22108 * include/grub/powerpc/ieee1275/machine.h: Likewise.
22109 * include/grub/sparc64/ieee1275/machine.h: Likewise.
22110 * include/grub/x86_64/efi/machine.h: Likewise.
22111
22112 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
22113 * commands/halt.c: Likewise.
22114 * commands/reboot.c: Likewise.
22115 * include/grub/autoefi.h: Likewise.
22116 * include/grub/i386/at_keyboard.h: Likewise.
22117 * include/grub/i386/kernel.h: Likewise.
22118 * include/grub/i386/loader.h: Likewise.
22119 * include/grub/i386/pc/memory.h: Likewise.
22120 * kern/dl.c: Likewise.
22121 * kern/i386/coreboot/init.c: Likewise.
22122 * loader/i386/bsd.c: Likewise.
22123 * loader/i386/linux.c: Likewise.
22124 * loader/multiboot_loader.c: Likewise.
22125 * term/i386/pc/serial.c: Likewise.
22126 * term/usb_keyboard.c: Likewise.
22127
22128 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
22129 `<grub/machine/machine.h>'
22130 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
22131 * util/misc.c: Remove `<grub/machine/machine.h>' and
22132 `<grub/machine/time.h>'.
22133
22134 * Makefile.in (enable_grub_emu): Remove variable.
22135 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
22136
22137 * conf/any-emu.rmk: New file.
22138 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
22139 (grub_emu_init.c): Move from here ...
22140 * conf/any-emu.rmk: ... to here.
22141
22142 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
22143 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
22144 * conf/any-emu.rmk: ... to here.
22145
4efeab03
RM
221462009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22147
22148 * include/grub/parser.h (grub_parser_register): Document need
22149 of `name' parameter.
22150 * normal/main.c (grub_normal_read_line): Simplify prompt string.
22151 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
22152 "sh" to "grub".
22153
ea1dd8bf
RM
221542009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22155
22156 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
22157 `$(XGETTEXT)'.
22158 * include/grub/i18n.h (N_): New macro.
22159 * util/mkisofs/mkisofs.h: Likewise.
22160 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
22161 around N_().
22162 (usage): Use gettext() to translate help strings when printing them.
22163
0c140626
RM
221642009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22165
22166 Based on patch from Bean
22167 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
22168
22169 * video/efi_fb.c: New file.
22170 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
22171 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
22172 variables.
22173 * conf/x86_64-efi.rmk: Likewise.
22174
87d58298
RM
221752009-11-22 Robert Millan <rmh.grub@aybabtu.com>
22176
22177 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
22178 * util/i386/pc/grub-setup.c: Likewise.
22179
994cc3a3
ST
221802009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
22181
22182 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
22183 <hurd/fs.h>
22184 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
22185 file_get_storage_info to implement grub_guess_root_device.
22186
26a61d6a
FZ
221872009-11-21 Felix Zielcke <fzielcke@z-51.de>
22188
22189 * Makefile.in (target): Use make's builtin $(shell) function
22190 instead of calling directly $(SHELL) to create the locale directories,
22191 inside the $(foreach) function.
22192
74ff1dd5
FZ
221932009-11-21 Felix Zielcke <fzielcke@z-51.de>
22194
22195 * util/grub-mkrescue.in: Print an error and usage if output option
22196 has not been given.
22197
0b787d0e
FZ
221982009-11-21 Felix Zielcke <fzielcke@z-51.de>
22199
22200 Patch from Loïc Minier <loic.minier@ubuntu.com>.
22201 * util/grub.d/30_os-prober.in: Cope with Linux entries where
22202 root and /boot are on different devices.
22203
1164b270
RM
222042009-11-21 Robert Millan <rmh.grub@aybabtu.com>
22205
22206 Fix build for srcdir != objdir.
22207
22208 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
22209 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
22210 $(srcdir).
22211 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
22212 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
22213 reference for input.
22214
13774a2f
RM
222152009-11-21 Robert Millan <rmh.grub@aybabtu.com>
22216
22217 * util/grub-mkrescue.in: Use source directory direcly (without copiing
22218 or hardlinking it). Remove -J option, Joliet is not compatible with
22219 multiple source directories.
22220
efda854e
RM
222212009-11-21 Carles Pina i Estany <carles@pina.cat>
222222009-11-21 Robert Millan <rmh.grub@aybabtu.com>
22223
22224 * util/grub-mkrescue.in: Recognize `--override-directory' option.
22225 (process_input_dir): New function. Process an arbitrary input
22226 directory.
22227 Misc adjustments to support both "override mode" and system-wide mode.
22228
6c09890c
FZ
222292009-11-20 Felix Zielcke <fzielcke@z-51.de>
22230
22231 * configure.ac (UNIFONT_BDF): Rename to ...
22232 (FONT_SOURCE): ... this. Update all users.
22233
a797824f
FZ
222342009-11-20 Felix Zielcke <fzielcke@z-51.de>
22235
22236 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
22237 to the list of unifont files to look for.
22238
cd4f42b0
RM
222392009-11-19 Robert Millan <rmh.grub@aybabtu.com>
22240
22241 Patch from Joe Auricchio <jauricchio@gmail.com>
22242 * commands/minicmd.c (grub_mini_cmd_clear): New function.
22243 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
22244 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
22245
393c783d
FZ
222462009-11-19 Felix Zielcke <fzielcke@z-51.de>
22247
22248 * Makefile.in (install-local): Add a missing backslash.
22249
b2f1e327
FZ
222502009-11-19 Felix Zielcke <fzielcke@z-51.de>
22251
22252 * include/grub/x86_64/io.h: New file.
22253
f577f7a0
RM
222542009-11-19 Robert Millan <rmh.grub@aybabtu.com>
22255
22256 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
22257 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
22258 Include `"progname.h"'.
22259 (main): Initialize gettext.
22260 * util/i386/pc/grub-setup.c: Gettexttize.
22261 * util/i386/pc/grub-mkimage.c: Likewise.
22262
22263 * Makefile.in (po/*.po): Redefine as ...
22264 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
22265
3bc7896c
RM
22266 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
22267
c37943b6
RM
222682009-11-19 Robert Millan <rmh.grub@aybabtu.com>
22269
22270 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
22271 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
22272 (program_name): Remove.
22273 (main): Initialize gettext support.
6323f705
RM
22274 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
22275 Include `<libintl.h>'.
22276 (_): New macro.
c37943b6
RM
22277
22278 * util/mkisofs/eltorito.c: Gettexttize.
22279 * util/mkisofs/joliet.c: Likewise.
22280 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
22281 * util/mkisofs/multi.c: Likewise.
22282 * util/mkisofs/rock.c: Likewise.
22283 * util/mkisofs/tree.c: Likewise.
22284 * util/mkisofs/write.c: Likewise.
22285
3bc7896c
RM
22286 * po/POTFILES: Update with new files.
22287
5ce77c6e
RM
222882009-11-18 Robert Millan <rmh.grub@aybabtu.com>
22289
22290 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
22291 * util/mkisofs/iso9660.h: Likewise.
22292 * util/mkisofs/joliet.c: Likewise.
22293 * util/mkisofs/mkisofs.c: Likewise.
22294 * util/mkisofs/mkisofs.h: Likewise.
22295 * util/mkisofs/rock.c: Likewise.
22296 * util/mkisofs/tree.c: Likewise.
22297 * util/mkisofs/write.c: Likewise.
22298
22299 * util/mkisofs/eltorito.c (rcsid): Remove.
22300 * util/mkisofs/hash.c: Likewise.
22301 * util/mkisofs/joliet.c: Likewise.
22302 * util/mkisofs/name.c: Likewise.
22303 * util/mkisofs/rock.c: Likewise.
22304 * util/mkisofs/tree.c: Likewise.
22305 * util/mkisofs/write.c: Likewise.
22306
1dabbc77
RM
223072009-11-18 Robert Millan <rmh.grub@aybabtu.com>
22308
22309 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
22310 instead of static allocation.
22311 * util/mkisofs/match.h: Likewise.
22312
633877cb
RM
223132009-11-18 Robert Millan <rmh.grub@aybabtu.com>
22314
3bc7896c
RM
22315 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
22316 and `util/grub.d/10_linux.in'.
633877cb
RM
22317 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
22318 translatable Shell files.
22319
af1c0c85
RM
223202009-11-18 Robert Millan <rmh.grub@aybabtu.com>
22321
22322 * Makefile.in ($(srcdir)/aclocal.m4): New target.
22323
769ae37b
RM
223242009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22325
22326 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 22327 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
22328 * util/grub.d/10_kfreebsd.in (bindir): New variable.
22329 Add gettext initialization.
22330 (kfreebsd_entry): Make menuentry output translatable.
22331
223322009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22333
22334 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
22335 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
22336 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
22337 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
22338 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 22339 * po/LINGUAS: New file.
769ae37b
RM
22340
223412009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22342
22343 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
22344 other things).
22345 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
22346 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
22347 bindtextdomain() calls for gettext initialization.
22348
223492009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22350
22351 * gnulib/progname.c: New file (imported from Gnulib).
22352 * gnulib/progname.h: Likewise.
22353 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
22354 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
22355 (usage): Replace `progname' with `program_name'.
22356 (main): Use set_program_name() for program name initialization.
22357
223582009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22359
22360 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
22361 from here ...
22362 * Makefile.in (CPPFLAGS): ... to here.
22363
223642009-11-16 Robert Millan <rmh.grub@aybabtu.com>
22365
22366 * aclocal.m4: Move from here ...
22367 * acinclude.m4: ... to here.
22368 * autogen.sh: Add call to `aclocal'.
22369 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
22370
223712009-11-16 Robert Millan <rmh.grub@aybabtu.com>
22372
22373 * Makefile.in (CLEANFILES): Add `po/*.mo'.
22374 (LINGUAS): New variable.
22375 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
22376 (install-local): Install MO files.
22377 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
22378 * include/grub/i18n.h: New file.
3bc7896c
RM
22379 * po/POTFILES: New file.
22380 * po/ca.po: New file.
769ae37b
RM
22381 * util/grub.d/10_linux.in (bindir): New variable.
22382 Add gettext initialization.
22383 (linux_entry): Make menuentry output translatable.
22384 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
22385 (usage): Make --help output translatable.
22386 (main): Initialize gettext.
22387
02c0a6ad
RM
223882009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22389
22390 * import_gcry.py: New file (written by Vladimir with minor
22391 adjustments).
22392 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
22393 ciphers.
22394 * INSTALL: Document that Python is required for bootstrap.
22395
223962009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22397
22398 Import ciphers from libgcrypt 1.4.4.
22399
22400 * lib/libgcrypt/cipher/ChangeLog
22401 * lib/libgcrypt/cipher/ac.c
22402 * lib/libgcrypt/cipher/arcfour.c
22403 * lib/libgcrypt/cipher/bithelp.h
22404 * lib/libgcrypt/cipher/blowfish.c
22405 * lib/libgcrypt/cipher/camellia-glue.c
22406 * lib/libgcrypt/cipher/camellia.c
22407 * lib/libgcrypt/cipher/camellia.h
22408 * lib/libgcrypt/cipher/cast5.c
22409 * lib/libgcrypt/cipher/cipher.c
22410 * lib/libgcrypt/cipher/crc.c
22411 * lib/libgcrypt/cipher/des.c
22412 * lib/libgcrypt/cipher/dsa.c
22413 * lib/libgcrypt/cipher/ecc.c
22414 * lib/libgcrypt/cipher/elgamal.c
22415 * lib/libgcrypt/cipher/hash-common.c
22416 * lib/libgcrypt/cipher/hash-common.h
22417 * lib/libgcrypt/cipher/hmac-tests.c
22418 * lib/libgcrypt/cipher/md.c
22419 * lib/libgcrypt/cipher/md4.c
22420 * lib/libgcrypt/cipher/md5.c
22421 * lib/libgcrypt/cipher/primegen.c
22422 * lib/libgcrypt/cipher/pubkey.c
22423 * lib/libgcrypt/cipher/rfc2268.c
22424 * lib/libgcrypt/cipher/rijndael-tables.h
22425 * lib/libgcrypt/cipher/rijndael.c
22426 * lib/libgcrypt/cipher/rmd.h
22427 * lib/libgcrypt/cipher/rmd160.c
22428 * lib/libgcrypt/cipher/rsa.c
22429 * lib/libgcrypt/cipher/seed.c
22430 * lib/libgcrypt/cipher/serpent.c
22431 * lib/libgcrypt/cipher/sha1.c
22432 * lib/libgcrypt/cipher/sha256.c
22433 * lib/libgcrypt/cipher/sha512.c
22434 * lib/libgcrypt/cipher/tiger.c
22435 * lib/libgcrypt/cipher/twofish.c
22436 * lib/libgcrypt/cipher/whirlpool.c
22437
af2f93ac
RM
224382009-11-16 Robert Millan <rmh.grub@aybabtu.com>
22439
22440 Fix build for systems without error().
22441
22442 * gnulib/error.c: New file (imported from Gnulib).
22443 * gnulib/error.h: Likewise.
22444 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
22445 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
22446 (this variable is now used by error()).
22447
73fb3dd5
FZ
224482009-11-16 Felix Zielcke <fzielcke@z-51.de>
22449
814f5e96
FZ
22450 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
22451 instead of relying that char is signed.
73fb3dd5 22452
a691ca33
VS
224532009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
22454
22455 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
22456 blocksize different from specified.
22457 (grub_pxefs_read): Likewise.
22458
2af8f0f4
FZ
224592009-11-16 Felix Zielcke <fzielcke@z-51.de>
22460
22461 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
22462
22463 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
22464 (grub_ata_readwrite): Likewise. Update 2 format strings.
22465 (grub_atapi_read): Likewise.
22466
22467 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
22468 * conf/i386.rmk (pkglib_MODULES): ... to here ...
22469 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
22470 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
22471 (ata_mod_LDFLAGS): Move from here ...
22472 * conf/i386.rmk: ... to here ...
22473 * conf/x86_64-efi.rmk: ... and here.
22474 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
22475 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
22476
83bdecaf
RM
224772009-11-16 Robert Millan <rmh.grub@aybabtu.com>
22478
22479 Relicense multiboot.h, with RMS' blessing.
22480
22481 * include/multiboot.h: Change to X11 license.
22482
fd6fd3d7
RM
224832009-11-15 Robert Millan <rmh.grub@aybabtu.com>
22484
22485 Support --version in grub-mkisofs.
22486
22487 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
22488 (OPTION_VERSION): New macro.
22489 (ld_options): Recognize --version.
22490 (usage): Move `program_name' from here ...
22491 (program_name): ... to here. Add `static' qualifier.
22492 (main): Recognize `OPTION_VERSION'.
22493
16a88c49
FZ
224942009-11-15 Felix Zielcke <fzielcke@z-51.de>
22495
22496 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
22497 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
22498
a4158476
RM
224992009-11-14 Robert Millan <rmh.grub@aybabtu.com>
22500
22501 Fix help2man generation for mkisofs.
22502
22503 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
22504 (usage): Send output to stdout (rather than stderr).
22505
fc2208b0
RM
225062009-11-14 Robert Millan <rmh.grub@aybabtu.com>
22507
22508 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
22509 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
22510 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
22511 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
22512 (bin_SCRIPTS): Add `grub-mkfloppy'.
22513 (grub_mkfloppy_SOURCES): New variable.
22514
22515 * util/grub-mkrescue.in: New file.
22516 * util/i386/pc/grub-mkfloppy.in: New file.
22517
22518 * util/i386/coreboot/grub-mkrescue.in: Remove.
22519 * util/i386/pc/grub-mkrescue.in: Remove.
22520
8d0edf4a
RM
225212009-11-13 Robert Millan <rmh.grub@aybabtu.com>
22522
22523 * include/grub/multiboot.h (struct grub_multiboot_header): Move
22524 from here ...
22525 * include/multiboot.h (struct multiboot_header): ... to here. Update
22526 all users.
22527 * include/grub/multiboot.h (struct grub_multiboot_info): Move
22528 from here ...
22529 * include/multiboot.h (struct multiboot_info): ... to here. Update
22530 all users.
22531 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
22532 from here ...
22533 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
22534 Update all users.
22535 * include/grub/multiboot.h (struct grub_mod_list): Move
22536 from here ...
22537 * include/multiboot.h (struct multiboot_mod_list): ... to here.
22538 Update all users.
22539
a73f5969
RM
225402009-11-13 Robert Millan <rmh.grub@aybabtu.com>
22541
22542 * include/multiboot2.h (multiboot_word): Rename from this ...
22543 (multiboot2_word): ... to this. Update all users.
22544 (multiboot_header): Rename from this ...
22545 (multiboot2_header): ... to this. Update all users.
22546 (multiboot_tag_header): Rename from this ...
22547 (multiboot2_tag_header): ... to this. Update all users.
22548 (multiboot_tag_start): Rename from this ...
22549 (multiboot2_tag_start): ... to this. Update all users.
22550 (multiboot_tag_name): Rename from this ...
22551 (multiboot2_tag_name): ... to this. Update all users.
22552 (multiboot_tag_module): Rename from this ...
22553 (multiboot2_tag_module): ... to this. Update all users.
22554 (multiboot_tag_memory): Rename from this ...
22555 (multiboot2_tag_memory): ... to this. Update all users.
22556 (multiboot_tag_unused): Rename from this ...
22557 (multiboot2_tag_unused): ... to this. Update all users.
22558 (multiboot_tag_end): Rename from this ...
22559 (multiboot2_tag_end): ... to this. Update all users.
22560
1c8927f0
RM
225612009-11-13 Robert Millan <rmh.grub@aybabtu.com>
22562
22563 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
22564 this platform we should support Multiboot1 first.
22565
22566 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
22567 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
22568 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
22569
6e1e0d89
RM
225702009-11-12 Robert Millan <rmh.grub@aybabtu.com>
22571
22572 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
22573 of write calls (converting them to fwrite() if they aren't already).
22574 (get_torito_desc): Likewise.
22575 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
22576
7f2b34d8
RM
225772009-11-12 Robert Millan <rmh.grub@aybabtu.com>
22578
22579 * util/i386/pc/grub-install.in: Move from here ...
22580 * util/grub-install.in: ... to here. Update all users.
22581
c0ef3311
CW
225822009-11-11 Colin Watson <cjwatson@ubuntu.com>
22583
22584 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
22585
e1f240ff
RM
225862009-11-11 Robert Millan <rmh.grub@aybabtu.com>
22587
22588 Support for El Torito without floppy emulation.
22589
22590 * util/mkisofs/eltorito.c: Include `<errno.h>'.
22591 (init_boot_catalog): Improve error handling.
22592 (get_torito_desc): Don't use floppy emulation unless requested by
22593 user. Patch boot information table when requested via
22594 `-boot-info-table'.
22595 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
22596 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
22597 (use_boot_info_table): New variables.
22598 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
22599 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
22600 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
22601 `--eltorito-emul-floppy'.
22602 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
22603 and `OPTION_ELTORITO_EMUL_FLOPPY'.
22604 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
22605 (use_boot_info_table, get_731): New prototypes.
22606 * util/mkisofs/write.c (get_731): New function.
22607
af7d4de5
FZ
226082009-11-11 Felix Zielcke <fzielcke@z-51.de>
22609
22610 Fix the generation of the man page.
22611
22612 * util/pc/i386/grub-install.in: Source
22613 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
22614
2c55dbc0
RM
226152009-11-11 Robert Millan <rmh.grub@aybabtu.com>
22616
22617 Large file support for grub-mkisofs.
22618
22619 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
22620 * util/mkisofs/mkisofs.c (next_extent, last_extent)
22621 (session_start): Upgrade type to `uint64_t'. Update all users.
22622 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
22623 (struct directory_entry): Upgrade type of `starting_block' and
22624 `size' to `uint64_t'. Update all users.
22625 (struct deferred): Remove unused structure.
22626 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
22627 Update all users.
22628 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
22629 file is larger than `UINT32_MAX'.
22630 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
22631 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
22632 return value.
22633 (struct deferred_write): Upgrade type of `extent' and `size' to
22634 `uint64_t'. Update all users.
22635 (last_extent_written): Upgrade type to `uint64_t'. Update all
22636 users.
22637 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
22638 Update all users. Upgrade type of `remain' to `int64_t' and
22639 `use' to `size_t'. Use error() to handle fread() errors.
22640 (write_files): Rely on write_one_file() rather than calling
22641 xfwrite() directly.
22642
6a9cead5
FZ
226432009-11-09 Felix Zielcke <fzielcke@z-51.de>
22644
22645 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
22646
4825d790
RM
226472009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22648
22649 * util/mkisofs/fnmatch.c: Remove.
22650 * util/mkisofs/getopt1.c: Likewise.
22651 * util/mkisofs/getopt.c: Likewise.
22652 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
22653 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
22654 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
22655 `gnulib/getopt1.c' and `gnulib/getopt.c'.
22656 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
22657
22658 * configure.ac: Detect `mingw32msvc' host_os.
22659 Check for lstat(), getuid() and getgid().
22660
22661 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
22662 instances of `u_char' with `uint8_t'.
22663
22664 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
22665 [!HAVE_GETUID] (getuid): New function (stub).
22666 [!HAVE_GETGID] (getgid): Likewise.
22667 [!HAVE_LSTAT] (lstat): Likewise.
22668 [!S_IROTH] (S_IROTH): New macro (dummy).
22669 [!S_IRGRP] (S_IRGRP): Likewise.
22670
84b860d8
RM
226712009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22672
22673 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
22674 conditional expression).
22675
66e9b712
RM
226762009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22677
22678 Import from Gnulib.
22679
22680 * gnulib/fnmatch.c: New file.
22681 * gnulib/fnmatch.h: Likewise.
22682 * gnulib/fnmatch_loop.c: Likewise.
22683 * gnulib/getopt.c: Likewise.
22684 * gnulib/getopt.h: Likewise.
22685 * gnulib/getopt1.c: Likewise.
22686 * gnulib/getopt_int.h: Likewise.
22687 * gnulib/gettext.h: Likewise.
22688
34f4a5b0
RM
226892009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22690
22691 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
22692 * normal/handler.c (read_handler_list): Likewise.
22693
ac451143
RM
226942009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22695
22696 Misc cleanup.
22697
22698 * kern/command.c (grub_register_command_prio): Use
22699 grub_zalloc() instead of explicitly zeroing data.
22700 * kern/list.c: Include `<grub/mm.h>'.
22701 (grub_named_list_find): Replace `0' with `NULL'.
22702 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
22703 (fs_module_list): Change type to `grub_named_list_t'. Update all
22704 users.
22705 * normal/dyncmd.c (read_command_list): Add space between function
22706 call and parenthesis.
22707 * normal/handler.c (read_handler_list): Likewise.
22708
4089b167
RM
227092009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22710
22711 * normal/auth.c (punishment_delay): Moved from here ...
22712 (grub_auth_strcmp): ... to here (inside function).
22713
325f5037
RM
227142009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22715
22716 * include/grub/list.h (struct grub_named_list): Remove `const'
22717 qualifier from `name'.
22718 (struct grub_prio_list): Likewise.
22719
7aea29a3
RM
227202009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22721
22722 * normal/auth.c: Include `<grub/time.h>'.
22723 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
22724
3fd6f044
RM
227252009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22726
22727 * normal/auth.c (punishment_delay): New variable.
22728 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
22729 (grub_auth_check_authentication): Punish failed login attempts with
22730 an incremental (2^N) delay.
22731
a4cd68e4
RM
227322009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22733
22734 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
22735 path with $(srcdir).
22736
7ad12f43
VS
227372009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
22738
22739 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
22740
c1129f03
RM
227412009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22742
22743 * util/i386/coreboot/grub-mkrescue.in: New file.
22744 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
22745 variables.
22746
22747 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
22748 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
22749 * configure.ac: Add header and function checks to satisfy grub-mkisofs
22750 requirements.
22751 * util/mkisofs/defaults.h: New file.
22752 * util/mkisofs/eltorito.c: Likewise.
22753 * util/mkisofs/exclude.h: Likewise.
22754 * util/mkisofs/fnmatch.c: Likewise.
22755 * util/mkisofs/getopt.c: Likewise.
22756 * util/mkisofs/getopt1.c: Likewise.
22757 * util/mkisofs/hash.c: Likewise.
22758 * util/mkisofs/include/fctldefs.h: Likewise.
22759 * util/mkisofs/include/mconfig.h: Likewise.
22760 * util/mkisofs/include/prototyp.h: Likewise.
22761 * util/mkisofs/include/statdefs.h: Likewise.
22762 * util/mkisofs/iso9660.h: Likewise.
22763 * util/mkisofs/joliet.c: Likewise.
22764 * util/mkisofs/match.c: Likewise.
22765 * util/mkisofs/match.h: Likewise.
22766 * util/mkisofs/mkisofs.c: Likewise.
22767 * util/mkisofs/mkisofs.h: Likewise.
22768 * util/mkisofs/multi.c: Likewise.
22769 * util/mkisofs/name.c: Likewise.
22770 * util/mkisofs/rock.c: Likewise.
22771 * util/mkisofs/tree.c: Likewise.
22772 * util/mkisofs/write.c: Likewise.
22773
ec8bb77d
VS
227742009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
22775
22776 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
22777 being insecure.
22778
3716b12c
RM
227792009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22780
22781 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
22782 `grub-mkimage' (and use $0 when possible).
22783
b97b7b91
RM
227842009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22785
22786 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
22787 error message for excessively large memory map.
22788
04114812
RM
227892009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22790
22791 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
22792 executable bit.
22793
e4eb2373
RM
227942009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22795
22796 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
22797 message for coreboot users.
22798
c926e1d5 227992009-11-07 Robert Millan <rmh.grub@aybabtu.com>
22800
22801 Fix build with GNU gold.
22802
22803 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
22804 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
22805 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
22806 link addresses.
22807 * aclocal.m4: Likewise.
22808
86e5b1db 228092009-11-04 Felix Zielcke <fzielcke@z-51.de>
22810
22811 * configure.ac (AC_PREREQ): Bump to 2.59d.
22812 * INSTALL: Make it more clear when Autoconf and Ruby are
22813 needed and when to run `./autogen.sh'.
22814
246cd78f 228152009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
22816
22817 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
22818 OSes.
22819
4f9dfb37 228202009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22821
22822 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
22823
b82bd5e1 228242009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22825
22826 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
22827 giving it to GNU Mach.
22828
ff1a9bca 228292009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22830
22831 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
22832 GNU partition number to get internal GRUB partition number.
22833
61697d9c 228342009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22835
22836 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
22837 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
22838
a50569e1 228392009-11-01 Robert Millan <rmh.grub@aybabtu.com>
22840
22841 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
22842 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
22843 case.
22844
5b153867 228452009-11-01 Felix Zielcke <fzielcke@z-51.de>
22846
22847 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
22848
d9e2cd70 228492009-10-30 Robert Millan <rmh.grub@aybabtu.com>
22850
22851 Fix build problem.
22852
22853 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
22854 `-isystem=$(srcdir)/include'.
22855
805111a4 228562009-10-30 Robert Millan <rmh.grub@aybabtu.com>
22857
22858 * util/i386/pc/grub-install.in: Remove hint that device.map should be
22859 checked (grub-install doesn't currently rely on it).
22860
fa6e945f 228612009-10-29 Robert Millan <rmh.grub@aybabtu.com>
22862
22863 Revert SVN r2660.
22864
22865 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
22866 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
22867 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
22868 * conf/i386-ieee1275.rmk: Likewise.
22869 * conf/i386-pc.rmk: Likewise.
22870 * conf/powerpc-ieee1275.rmk: Likewise.
22871 * conf/sparc64-ieee1275.rmk: Likewise.
22872 * conf/x86_64-efi.rmk: Likewise.
22873
cee15086 228742009-10-28 Robert Millan <rmh.grub@aybabtu.com>
22875
22876 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
22877
95b9239e 228782009-10-28 Robert Millan <rmh.grub@aybabtu.com>
22879
22880 * include/grub/misc.h: Stop checking for APPLE_CC.
22881
2ed19dfd 228822009-10-28 Robert Millan <rmh.grub@aybabtu.com>
22883
22884 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
22885 doesn't cause an infinite call loop.
22886
fdcdde19 228872009-10-28 Felix Zielcke <fzielcke@z-51.de>
22888
22889 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
22890 strings.
22891
cefabfe1 228922009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22893
22894 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
22895 variable.
22896 * Makefile.in: Likewise.
22897
ed96ab6d 228982009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22899
22900 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
22901
0579b753 229022009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22903
22904 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
22905
478df409 229062009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22907
22908 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
22909
083d1679 229102009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22911
22912 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
22913 from here ...
22914 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
22915
5947ae32 229162009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22917
22918 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
22919 in $(MAKEINFO) invocation. This makes it clear in output that
22920 errors are being ignored.
22921
94180ff6 229222009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22923
22924 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
22925 from here ...
22926 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
22927 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
22928 * conf/i386-ieee1275.rmk: Likewise.
22929 * conf/i386-pc.rmk: Likewise.
22930 * conf/powerpc-ieee1275.rmk: Likewise.
22931 * conf/sparc64-ieee1275.rmk: Likewise.
22932 * conf/x86_64-efi.rmk: Likewise.
22933
9031b03a 229342009-10-26 Colin Watson <cjwatson@ubuntu.com>
22935
22936 * util/grub-editenv.c (main): If only a command is given, use
22937 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
22938 (usage): FILENAME is now optional and has a default.
22939
e4f6809b 229402009-10-26 Colin Watson <cjwatson@ubuntu.com>
22941
22942 Improve grub-mkconfig performance when there are several menu
22943 entries on a single filesystem.
22944
22945 * util/grub.d/10_linux.in (linux_entry): Cache the output of
22946 prepare_grub_to_access_device.
22947 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
22948 * util/grub.d/30_os-prober.in: Likewise.
22949
67937d4d 229502009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22951
22952 * util/grub.d/10_freebsd.in: Remove.
22953 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
22954 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
22955
ee3756cc 229562009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22957
5c35048e 22958 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 22959
4dea1c6f 229602009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22961
22962 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
22963 grub_util_error() call.
22964
042484d7 229652009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22966
22967 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
22968 `reserved_first_sector' member.
22969 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
22970 `reserved_first_sector' to 1.
22971 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
22972 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
22973 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
22974 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
22975 filesystems which begin at first sector.
22976 (options): New option --skip-fs-probe.
22977 (main): Handle --skip-fs-probe and pass it to setup().
22978
d64448a7 229792009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22980
22981 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
22982 (memset): Fix function prototype.
22983
508d42ec 229842009-10-25 Robert Millan <rmh.grub@aybabtu.com>
229852009-10-25 Vasily Averin <vvs@parallels.com>
22986
22987 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
22988 `dirent.direntlen == 0'.
22989
b240e30c 229902009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22991
22992 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
22993 `cpio'.
22994 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
22995
346e7fbe 229962009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22997
22998 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
22999 `__trampoline_setup' and `__ucmpdi2'.
23000 * include/grub/powerpc/libgcc.h: Only export symbols for functions
23001 that libgcc provides.
23002
cdb308b0 230032009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23004
23005 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
23006 * include/grub/sparc64/libgcc.h (memset): Likewise.
23007 * include/grub/misc.h (memset, memcmp): New function prototypes.
23008
fb26abc2 230092009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23010
23011 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
23012 `cpio'.
23013 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
23014
f6693890 230152009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23016
23017 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
23018 * docs/grub.cfg: Compensate for recent change in multiboot
23019 loader (since 2009-08-14 it won't pass filename to payload).
23020 * util/grub.d/10_hurd.in: Likewise.
23021
0933cdc0 230222009-10-21 Felix Zielcke <fzielcke@z-51.de>
23023
23024 * config.guess: Update to latest version from config git
23025 repository.
23026 * config.sub: Likewise.
23027
3b2fe8c2 230282009-10-20 Robert Millan <rmh.grub@aybabtu.com>
23029
23030 Fix build on sparc64.
23031
23032 * configure.ac: Perform checks for libgcc symbols before
23033 adding `-nostdlib' to LDFLAGS.
23034
46695a62 230352009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
23036
23037 Let user specify OpenBSD root device.
23038
23039 * loader/i386/bsd.c (openbsd_root): New variable.
23040 (openbsd_opts): New option 'root'.
23041 (OPENBSD_ROOT_ARG): New macro.
23042 (grub_openbsd_boot): Use 'openbsd_root'.
23043 (grub_cmd_openbsd): Fill 'openbsd_root'.
23044
d2b6b7fc 230452009-10-16 Robert Millan <rmh.grub@aybabtu.com>
23046
23047 * NEWS: Misc adjustments.
23048
421bd7ac 230492009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
23050
23051 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
23052
f1d29d87 230532009-10-16 Robert Millan <rmh.grub@aybabtu.com>
23054
23055 * configure.ac: Bump version to 1.97.
23056
6f3cd880 230572009-10-16 Colin Watson <cjwatson@ubuntu.com>
23058
23059 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
23060 -mno-3dnow on x86 architectures. Some toolchains enable these
23061 features by default, but they rely on registers that aren't enabled
23062 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
23063
035f7122 230642009-10-15 Robert Millan <rmh.grub@aybabtu.com>
23065
23066 Make entry text a bit more readable.
23067
23068 * util/grub.d/10_linux.in: Add `with' before `Linux'.
23069
44998e58 230702009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23071
23072 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
23073
cd2851b3 230742009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23075
23076 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
23077 operations.
23078
c6f3b249 230792009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23080
23081 * configure.ac: Add missing dollar.
23082
6b5886ba 230832009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23084
23085 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
23086
23087 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
23088 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
23089 exports.
23090 * include/grub/sparc64/libgcc.h: Likewise. Use
23091 preprocessor conditionals.
23092
e9d66f6d 230932009-10-14 Robert Millan <rmh.grub@aybabtu.com>
23094
23095 * conf/common.rmk (grub-dumpbios): Remove rule.
23096 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
23097 * util/grub-dumpbios.in: Remove file.
23098
9155bc17 230992009-10-14 Robert Millan <rmh.grub@aybabtu.com>
23100
23101 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
23102 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
23103
23104 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
23105 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
23106 users.
23107
23108 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
23109 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
23110 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
23111 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
23112 users.
23113
bf7f7a18 231142009-10-12 Robert Millan <rmh.grub@aybabtu.com>
23115
23116 * term/tparm.c: Switch to GPLv3.
23117
86564c26 231182009-10-09 Robert Millan <rmh.grub@aybabtu.com>
23119
23120 * include/grub/i386/cpuid.h: Add header protection.
23121
5c936493 231222009-10-09 Robert Millan <rmh.grub@aybabtu.com>
23123
23124 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
23125
23126 * include/grub/i386/cpuid.h: New file.
23127 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
23128 (has_longmode): Rename to ...
23129 (grub_cpuid_has_longmode): ... this. Update all users. Remove
23130 `static' attribute.
23131 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
23132 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
23133 on a CPU that doesn't implement AMD64 instruction set.
23134
186e7cf2 231352009-10-06 Colin Watson <cjwatson@ubuntu.com>
23136
23137 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
23138 that version.texi is rebuilt on version number changes.
23139
83b65c4a 231402009-10-06 Colin Watson <cjwatson@ubuntu.com>
23141
23142 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
23143 Fixes bug #27602.
23144
d244281c 231452009-10-06 Colin Watson <cjwatson@ubuntu.com>
23146
23147 * util/i386/pc/grub-install.in: Source
23148 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
23149 that the --grub-probe option will work.
23150 * util/sparc64/ieee1275/grub-install.in: Likewise.
23151
da25306d 231522009-10-05 Robert Millan <rmh.grub@aybabtu.com>
23153
23154 * configure.ac: Bump version to 1.97~beta4.
23155
e8ee83c0 231562009-10-03 Robert Millan <rmh.grub@aybabtu.com>
23157
23158 Resync grub-mkdevicemap in x86_64-efi.
23159
23160 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
23161 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
23162 `util/devicemap.c'.
23163
50dcabcf 231642009-10-01 Colin Watson <cjwatson@ubuntu.com>
23165
23166 * util/grub-editenv.c (create_envblk_file): Write new block with a
23167 .new suffix and then rename it into place, to ensure atomic
23168 creation.
23169
0e51c3a7 231702009-09-28 Robert Millan <rmh.grub@aybabtu.com>
23171
23172 Do not automatically install headers.
23173
23174 * Makefile.in (include_DATA): Remove. Update all users.
23175
31299a95 231762009-09-26 Robert Millan <rmh.grub@aybabtu.com>
23177
23178 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
23179 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
23180
23181 * util/osdetect.lua: Remove.
23182 * script/lua/lauxlib.c: Likewise.
23183 * script/lua/ldebug.c: Likewise.
23184 * script/lua/grub_main.c: Likewise.
23185 * script/lua/lauxlib.h: Likewise.
23186 * script/lua/ldebug.h: Likewise.
23187 * script/lua/ltablib.c: Likewise.
23188 * script/lua/liolib.c: Likewise.
23189 * script/lua/lstrlib.c: Likewise.
23190 * script/lua/lualib.h: Likewise.
23191 * script/lua/ldo.c: Likewise.
23192 * script/lua/ldump.c: Likewise.
23193 * script/lua/ldo.h: Likewise.
23194 * script/lua/loslib.c: Likewise.
23195 * script/lua/lundump.c: Likewise.
23196 * script/lua/grub_lib.c: Likewise.
23197 * script/lua/ldblib.c: Likewise.
23198 * script/lua/lundump.h: Likewise.
23199 * script/lua/lmem.c: Likewise.
23200 * script/lua/grub_lib.h: Likewise.
23201 * script/lua/lmathlib.c: Likewise.
23202 * script/lua/lstate.c: Likewise.
23203 * script/lua/ltm.c: Likewise.
23204 * script/lua/lvm.c: Likewise.
23205 * script/lua/lmem.h: Likewise.
23206 * script/lua/lstate.h: Likewise.
23207 * script/lua/ltm.h: Likewise.
23208 * script/lua/ltable.c: Likewise.
23209 * script/lua/lvm.h: Likewise.
23210 * script/lua/llex.c: Likewise.
23211 * script/lua/lgc.c: Likewise.
23212 * script/lua/grub_lua.h: Likewise.
23213 * script/lua/loadlib.c: Likewise.
23214 * script/lua/lfunc.c: Likewise.
23215 * script/lua/lopcodes.c: Likewise.
23216 * script/lua/lparser.c: Likewise.
23217 * script/lua/ltable.h: Likewise.
23218 * script/lua/llex.h: Likewise.
23219 * script/lua/lgc.h: Likewise.
23220 * script/lua/lfunc.h: Likewise.
23221 * script/lua/lbaselib.c: Likewise.
23222 * script/lua/lopcodes.h: Likewise.
23223 * script/lua/lparser.h: Likewise.
23224 * script/lua/lzio.c: Likewise.
23225 * script/lua/linit.c: Likewise.
23226 * script/lua/lobject.c: Likewise.
23227 * script/lua/llimits.h: Likewise.
23228 * script/lua/lstring.c: Likewise.
23229 * script/lua/lzio.h: Likewise.
23230 * script/lua/lapi.c: Likewise.
23231 * script/lua/lcode.c: Likewise.
23232 * script/lua/lua.h: Likewise.
23233 * script/lua/lobject.h: Likewise.
23234 * script/lua/lstring.h: Likewise.
23235 * script/lua/lapi.h: Likewise.
23236 * script/lua/lcode.h: Likewise.
23237 * script/lua/luaconf.h: Likewise.
23238
cb8a2c38 232392009-09-26 Colin Watson <cjwatson@ubuntu.com>
23240
23241 * docs/grub.texi (Command-line and menu entry commands): Document
23242 date and echo commands.
23243
6b9b6276 232442009-09-24 Pavel Roskin <proski@gnu.org>
23245
23246 * include/grub/kernel.h (struct grub_module_header): Remove
23247 `grub_module_header_types'. Make `type' unsigned. Make `size'
23248 32-bit on all platforms.
23249 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
23250 8-bit field. Use grub_host_to_target32() for `size'.
23251 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
23252 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
23253 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
23254
4e5a02a7 232552009-09-24 Robert Millan <rmh.grub@aybabtu.com>
23256
23257 Fix "lost keypress" bug in at_keyboard.
23258
23259 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
23260 Checks for readyness of input buffer (without flushing it).
23261 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
23262 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
23263
c6dcedf6 232642009-09-24 Robert Millan <rmh.grub@aybabtu.com>
23265
23266 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
23267 size check within GRUB_MACHINE_PCBIOS section.
23268
74c958b1 232692009-09-24 Robert Millan <rmh.grub@aybabtu.com>
23270
23271 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
23272 return value.
23273 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
23274 KEYBOARD_ISREADY check.
23275 (grub_at_keyboard_checkkey): Rename to ...
23276 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
23277 Remove gratuitous cast.
23278
ff420223 232792009-09-23 Colin Watson <cjwatson@ubuntu.com>
23280
23281 * configure.ac: Call AC_PROG_MKDIR_P.
23282 * Makefile.in (docs/stamp-vti): Create docs directory. Create
23283 version.texi in $(builddir) rather than $(srcdir).
23284 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
23285 to makeinfo's @include search path.
23286
d96875df 232872009-09-23 Felix Zielcke <fzielcke@z-51.de>
23288
23289 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
23290
9b3f8365 232912009-09-23 Felix Zielcke <fzielcke@z-51.de>
23292
23293 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
23294 for `*.dpkg-new'.
23295
c44c90db 232962009-09-21 Colin Watson <cjwatson@ubuntu.com>
23297
23298 Build info documentation. Some code borrowed from Automake.
23299
23300 * configure.ac: Check for makeinfo.
23301 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
23302 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
23303 docs/version.texi.
23304 (MOSTLYCLEANFILES): Add vti.tmp.
23305 (docs/version.texi, docs/stamp-vti): Update automatically.
23306 (docs/grub.info): Build info documentation. Use --force and ignore
23307 errors for now.
23308 (all-local): Add $(INFOS).
23309 (install-local): Install info files.
23310 (uninstall): Uninstall info files.
23311 * docs/version.texi: Remove from revision control. This file is
23312 automatically generated on build now.
23313 * gendistlist.sh: Add `*.info'.
23314
e0b37bb5 233152009-09-21 Felix Zielcke <fzielcke@z-51.de>
23316
23317 * kern/term.c: Fix indentation.
23318
5a78865b 233192009-09-21 Felix Zielcke <fzielcke@z-51.de>
23320
23321 * util/hostdisk.c: Fix a comment.
23322
dace7e8a 233232009-09-20 Robert Millan <rmh.grub@aybabtu.com>
23324
23325 Fix regression introduced in r2539.
23326
23327 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
23328 to 0xA1.
23329
a83d079b 233302009-09-19 Colin Watson <cjwatson@ubuntu.com>
23331
23332 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 23333 os-prober. Under normal operation, it does not print anything to
23334 stderr; if it does, we need to debug it, and throwing away stderr
23335 makes that excessively difficult.
a83d079b 23336
be94a509 233372009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
23338
23339 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
23340
63f745e8 233412009-09-16 Robert Millan <rmh.grub@aybabtu.com>
23342
23343 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
23344 AC_LANG_PROGRAM from autoconf.
23345 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
23346 prototypes (fixes warning).
23347
23348 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
23349 `--disable-werror' was used.
23350
bbb2a70f 233512009-09-16 Robert Millan <rmh.grub@aybabtu.com>
23352
23353 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
23354 uninitialized `lastaddr'.
23355
77c24f1d 233562009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23357
0f0b8c87 23358 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 23359
07197f23 233602009-09-14 Colin Watson <cjwatson@ubuntu.com>
23361
23362 * commands/test.c (get_fileinfo): Return immediately if
23363 grub_fs_probe fails.
23364
dabf1798 233652009-09-14 José Martínez <xosemp@gmail.com>
23366
23367 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
23368
d52109a7 233692009-09-14 Colin Watson <cjwatson@ubuntu.com>
23370
23371 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
23372 output.
23373
56532179 233742009-09-13 Robert Millan <rmh.grub@aybabtu.com>
23375
23376 * configure.ac: Remove --enable-grub-pe2elf. Only build
23377 grub-pe2elf when needed by the build system itself.
23378 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
23379
8ef070f5 233802009-09-12 Robert Millan <rmh.grub@aybabtu.com>
23381
23382 * configure.ac: Bump version to 1.97~beta3.
23383 * docs/version.texi: Likewise.
23384
61229557 233852009-09-12 Robert Millan <rmh.grub@aybabtu.com>
23386
23387 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
23388 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
23389 from here ...
23390 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
23391 (grub_linux_setup_video): ... to here (with some adjustments).
23392
5c9f8d84 233932009-09-12 Robert Millan <rmh.grub@aybabtu.com>
23394
23395 Fix memory corruption issue (spotted by Colin Watson).
23396
23397 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
23398 causing returned size to be stored in an incorrect memory location.
23399 Fix use of uninitialized value when storing the returned size.
23400
e8f5d6e9 234012009-09-12 Yves Blusseau <blusseau@zetam.org>
23402
23403 Change clean rules to properly remove files
23404
23405 * genmk.rb: add new clean rules
23406 * Makefile.in (clean): add the new targets
23407 (mostlyclean): likewise
23408
cda2a409 234092009-09-11 Colin Watson <cjwatson@ubuntu.com>
23410
23411 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
23412 to grub_uint64_t.
23413 * fs/ntfs.c (init_file): Understand 64-bit sizes for
23414 non-resident files.
23415
86695375 234162009-09-11 Colin Watson <cjwatson@ubuntu.com>
23417
23418 * configure.ac: Don't look for help2man when cross-compiling. Fixes
23419 part of bug #27349.
23420
8aa1541a 234212009-09-10 Felix Zielcke <fzielcke@z-51.de>
23422
23423 * util/grub-mkconfig.in: Make the created config mode 400 and
23424 print a warning if it fails.
23425
48d9bb0a 234262009-09-10 Robert Millan <rmh.grub@aybabtu.com>
23427
23428 * util/grub.d/40_custom.in: Ask user to type custom entries below
23429 comment, rather than below 'exec tail' line.
23430
3b0521be 234312009-09-10 Colin Watson <cjwatson@ubuntu.com>
23432
23433 * util/grub.d/40_custom.in: Make sure that the explanatory text is
23434 visible in grub.cfg.
23435
50051d55 234362009-09-10 Colin Watson <cjwatson@ubuntu.com>
23437
23438 * util/grub.d/40_custom.in: Make it a little clearer how to use this
23439 file.
23440
c0d34387 234412009-09-10 Felix Zielcke <fzielcke@z-51.de>
23442
23443 * docs/grub.cfg: Add an example menu entry for memtest86+.
23444
80a608f3 234452009-09-09 Felix Zielcke <fzielcke@z-51.de>
23446
a2094832 23447 * config.guess: Update to latest version from config git.
80a608f3 23448 * config.sub: Likewise.
23449
99423078 234502009-09-08 Colin Watson <cjwatson@ubuntu.com>
23451
23452 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
23453 unknown-command case. Fixes bug #27320.
23454
44454e4c 234552009-09-08 Felix Zielcke <fzielcke@z-51.de>
23456
23457 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
23458 `help' if the command exists.
23459
e30d87ad 234602009-09-06 Robert Millan <rmh.grub@aybabtu.com>
23461
23462 * INSTALL: Require GCC 4.1.3 or later.
23463
9a86f1ec 234642009-09-06 Yves Blusseau <blusseau@zetam.org>
23465
23466 * Makefile.in (RMKFILES): add i386-qemu.rmk
23467 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
23468 $(srcdir)/stamp-h.in
23469
7f26d466 234702009-09-05 Robert Millan <rmh.grub@aybabtu.com>
23471
23472 * util/grub-probe.c (probe): Comment out buggy codepath, which
23473 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
23474 should be re-enabled after 1.97.
23475
3a613259 234762009-09-05 Felix Zielcke <fzielcke@z-51.de>
23477
23478 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
23479 find searches for.
23480
197f76c7 234812009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
23482
23483 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
23484 unnecessary calls to grub_error.
23485
70ba68ce 234862009-09-04 Colin Watson <cjwatson@ubuntu.com>
23487
23488 * NEWS: Mention `keystatus' and Unicode fonts.
23489
4ff0d7a4 234902009-09-04 Robert Millan <rmh.grub@aybabtu.com>
23491
23492 * configure.ac: Bump version to 1.97~beta2.
23493 * docs/version.texi: Likewise.
23494
77c55a87 234952009-09-03 Colin Watson <cjwatson@ubuntu.com>
23496
23497 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
23498 containing unwind information in some cases where it previously did
23499 not. Use -fno-dwarf2-cfi-asm if available to restore the old
23500 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
23501 discussion.
23502
f79572cd 235032009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
23504
23505 Embedding loadenv module into grub-emu
23506
23507 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
23508 commands/loadenv.c
23509 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
23510 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
23511 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
23512 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
23513 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
23514 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
23515
93a81088 235162009-09-03 Magnus Granberg <zorry@ume.nu>
23517
23518 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
23519 include -fPIE in the default specs.
23520 * configure.ac: Check if pie_possible is yes and add -fno-PIE
23521 to TARGET_CFLAGS.
23522
160034b2 235232009-09-03 Felix Zielcke <fzielcke@z-51.de>
23524
23525 * INSTALL: Note that GNU Bison 2.3 or later is required.
23526
087c07c4 235272009-09-03 Colin Watson <cjwatson@ubuntu.com>
23528
23529 * kern/i386/pc/startup.S: Fix typo.
23530
cbf978c0 235312009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23532
23533 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
23534 according to GCS.
23535
235362009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 23537
23538 * docs/grub.texi (Naming convention): Describe one-based partition
23539 numbering.
23540 (Device syntax): Likewise.
23541 (File name syntax): Likewise.
23542 (Block list syntax): Likewise.
23543 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
23544 menu.lst.
23545 (File name syntax): Likewise.
23546 (Command-line and menu entry commands): Document acpi, blocklist,
23547 crc, export, insmod, keystatus, ls, set, and unset commands.
23548
f3e8cdfd 235492009-09-02 Colin Watson <cjwatson@ubuntu.com>
23550
23551 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
23552 to avoid implying that only one of --shift, --ctrl, or --alt may be
23553 used.
23554
c0bc232b 235552009-09-02 Colin Watson <cjwatson@ubuntu.com>
23556
23557 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
23558 rather than comparing against S_IFREG, which will almost never work.
23559
aa0f752d 235602009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
23561
23562 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
23563 (write_blocklists): Likewise.
23564
ecb3166a 235652009-09-01 Colin Watson <cjwatson@ubuntu.com>
23566
23567 * script/lua/grub_lua.h (fputs): Supply a format string as the first
23568 argument to grub_printf.
23569
c403a125 235702009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 23571
23572 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 23573 non GNU test.
31aba781 23574
b5e7312c 235752009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23576
23577 * kern/file.c (grub_file_read): Spelling fix
23578
fe00f472 235792009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23580
23581 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
23582 loading of headers in some cases.
23583
cc55302e 235842009-08-30 Robert Millan <rmh.grub@aybabtu.com>
23585
23586 * configure.ac: Bump version to 1.97~beta1.
23587 * docs/version.texi: Likewise.
23588
5c90cdd2 235892009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 23590
23591 * include/grub/i386/xnu.h: Add license header.
23592 include grub/err.h explicitly.
23593
c90edae4 235942009-08-29 Robert Millan <rmh.grub@aybabtu.com>
23595
23596 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
23597 to `ufs' in the vfs.root.mountfrom kernel parameter.
23598
d8888b5c 235992009-08-29 Robert Millan <rmh.grub@aybabtu.com>
23600
23601 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
23602
23603 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
23604 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
23605
23606 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
23607 `ARRAY_SIZE' macro.
23608
6f07b921 236092009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23610
23611 * kern/file.c (grub_file_read): Check offset.
23612 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
23613 * fs/jfs.c (grub_jfs_read_file): Likewise.
23614 * fs/ntfs.c (grub_ntfs_read): Likewise.
23615 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
23616 * fs/minix.c (grub_minix_read_file): Correct offset check.
23617 * fs/ufs.c (grub_ufs_read_file): Likewise.
23618
b4f34077 236192009-08-28 Colin Watson <cjwatson@ubuntu.com>
23620
23621 * term/i386/pc/console.c (bios_data_area): Cast
23622 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
23623
e7c69859 236242009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23625
23626 1-bit optimised blitters.
23627
23628 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
23629 prototype.
23630 (grub_video_fbblit_replace_24bit_1bit): Likewise.
23631 (grub_video_fbblit_replace_16bit_1bit): Likewise.
23632 (grub_video_fbblit_replace_8bit_1bit): Likewise.
23633 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
23634 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
23635 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
23636 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
23637 function.
23638 (grub_video_fbblit_replace_24bit_1bit): Likewise.
23639 (grub_video_fbblit_replace_16bit_1bit): Likewise.
23640 (grub_video_fbblit_replace_8bit_1bit): Likewise.
23641 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
23642 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
23643 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
23644 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
23645 when possible.
23646 * video/video.c (grub_video_get_blit_format): Return
23647 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
23648
a57da43f 236492009-08-28 Colin Watson <cjwatson@ubuntu.com>
23650
23651 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
23652 the first argument to grub_printf.
23653
4cbe67e5 236542009-08-28 Colin Watson <cjwatson@ubuntu.com>
236552009-08-28 Robert Millan <rmh.grub@aybabtu.com>
23656
23657 Add `getkeystatus' terminal method. Add a new `keystatus' command
23658 to query it.
23659
23660 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
23661 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
23662 modifier key bitmasks.
23663 (struct grub_term_input): Add `getkeystatus' member.
23664 (grub_getkeystatus): Add prototype.
23665 * kern/term.c (grub_getkeystatus): New function.
23666
23667 * include/grub/i386/pc/memory.h
23668 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
23669 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
23670 Data Area layout.
23671 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
23672 (grub_console_term_input): Set `getkeystatus' member.
23673 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
23674 constants.
23675 (grub_usb_keyboard_getreport): Likewise.
23676 (grub_usb_keyboard_checkkey): Likewise.
23677 (grub_usb_keyboard_getkeystatus): New function.
23678 (grub_usb_keyboard_term): Set `getkeystatus' member.
23679
23680 * commands/keystatus.c: New file.
23681 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
23682 (keystatus_mod_SOURCES): New variable.
23683 (keystatus_mod_CFLAGS): Likewise.
23684 (keystatus_mod_LDFLAGS): Likewise.
23685 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
23686 commands/keystatus.c.
23687 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23688 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23689 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23690 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23691 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23692 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 23693
6e2a9085 236942009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23695
23696 Split befs.mod and afs.mod into *_be.mod and *.mod
23697
23698 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
23699 (grub_fstest_SOURCES): Likewise.
23700 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
23701 (afs_be_mod_SOURCES): New variable.
23702 (afs_be_mod_CFLAGS): Likewise.
23703 (afs_be_mod_LDFLAGS): Likewise.
23704 (befs_be_mod_SOURCES): Likewise.
23705 (befs_be_mod_CFLAGS): Likewise.
23706 (befs_be_mod_LDFLAGS): Likewise.
23707 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
23708 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23709 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23710 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23711 (grub_emu_SOURCES): Likewise.
23712 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23713 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23714 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23715 * fs/afs_be.c: New file.
23716 * fs/befs_be.c: New file.
23717 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
23718 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
23719 (U16): Replaced with ...
23720 (grub_afs_to_cpu16): ...this. All users updated.
23721 (U32): Replaced with ...
23722 (grub_afs_to_cpu32): ...this. All users updated.
23723 (U64): Replaced with ...
23724 (grub_afs_to_cpu64): ...this. All users updated.
23725 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
23726 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 23727 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 23728 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
23729 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
23730 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
23731 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
23732 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
23733 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
23734 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
23735 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
23736
32a71655 237372009-08-26 Bean <bean123ch@gmail.com>
23738
23739 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
23740 64-bit number.
23741 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
23742 (grub_xfs_inode_block): Change return type to grub_uint64_t.
23743 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
23744
552bf6c5 237452009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23746
23747 NetBSD memory map support.
23748
23749 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
23750 (grub_netbsd_btinfo_mmap_header): New structure.
23751 (grub_netbsd_btinfo_mmap_entry): Likewise.
23752 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
23753
1ae2078c 237542009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23755
23756 Enable bsd.mod on coreboot.
23757
23758 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
23759 (bsd_mod_SOURCES): New variable.
23760 (bsd_mod_CFLAGS): Likewise.
23761 (bsd_mod_LDFLAGS): Likewise.
23762 (bsd_mod_ASFLAGS): Likewise.
23763 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
23764 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
23765
beefc598 237662009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23767
23768 Cleanup NetBSD root support.
23769
23770 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
23771 grub_bsd_get_device.
23772 Fix typo.
23773
3b76e68b 237742009-08-25 Felix Zielcke <fzielcke@z-51.de>
23775
23776 * util/grub.d/00_header.in: Move check for the video backend of
23777 gfxterm from here ...
23778 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
23779 a suitable video backend.
23780
aea664ea 237812009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23782
23783 Fix breakage in grub-setup.
23784
23785 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
23786 "msdos_partition_map".
23787
ff747d50 237882009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23789
23790 Fix breakage in normal/auth.c.
23791
23792 * normal/auth.c (grub_iswordseparator): New function.
23793
e7e1f93f 237942009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23795
23796 Authentication support.
23797
23798 * commands/password.c: New file.
23799 * conf/common.rmk (pkglib_MODULES): Add password.mod.
23800 (password_mod_SOURCES): New variable.
23801 (password_mod_CFLAGS): Likewise.
23802 (password_mod_LDFLAGS): Likewise.
23803 (normal_mod_SOURCES): Add normal/auth.c.
23804 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
23805 normal/auth.c.
23806 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23807 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23808 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23809 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23810 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23811 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23812 * include/grub/auth.h: New file.
23813 * include/grub/err.h (grub_err_t): New enum value
23814 GRUB_ERR_ACCESS_DENIED.
23815 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
23816 'users'.
23817 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
23818 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
23819 users updated.
23820 * normal/auth.c: New file.
23821 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
23822 (grub_cmdline_run): Don't allow to go to command line without
23823 authentication.
23824 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
23825 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
23826 menuentry without superuser rights.
23827 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
23828 user isn't a superuser.
23829
70f1161d 238302009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23831
23832 Save space by inlining misc.c functions.
23833
23834 * kern/misc.c (grub_iswordseparator): Made static.
23835 * kern/misc.c (grub_strcat): Moved from here ...
23836 * include/grub/misc.h (grub_strcat): ... here. Inlined.
23837 * kern/misc.c (grub_strncat): Moved from here ...
23838 * include/grub/misc.h (grub_strncat): ... here. Inlined.
23839 * kern/misc.c (grub_strcasecmp): Moved from here ...
23840 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
23841 * kern/misc.c (grub_strncasecmp): Moved from here ...
23842 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
23843 * kern/misc.c (grub_isalpha): Moved from here ...
23844 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
23845 * kern/misc.c (grub_isdigit): Moved from here ...
23846 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
23847 * kern/misc.c (grub_isgraph): Moved from here ...
23848 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
23849 * kern/misc.c (grub_tolower): Moved from here ...
23850 * include/grub/misc.h (grub_tolower): ... here. Inlined.
23851
48e40bff 238522009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23853
23854 * script/sh/function.c (grub_script_function_find): Cut error message
23855 not to flood terminal.
23856 * script/sh/lexer.c (grub_script_yylex): Remove command line length
23857 limit.
23858 * script/sh/script.c (grub_script_arg_add): Duplicate string.
23859
c385bfc3 238602009-08-24 Colin Watson <cjwatson@ubuntu.com>
23861
23862 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
23863 `report' grub_uint8_t *.
23864 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
23865 Use a 50-millisecond timeout rather than just repeating
23866 grub_usb_keyboard_getreport 50 times.
23867 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
23868
2d21e3e8 238692009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23870
23871 Rename *_partition_map to part_*
23872
23873 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
23874 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
23875 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
23876 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
23877 All users updated.
23878 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
23879 All users updated.
23880 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
23881 * util/grub-probe.c (probe_partmap): Don't transform partition name
23882 to get module name.
23883
dd103c4e 238842009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23885
23886 Fix OpenBSD and NetBSD support.
23887
23888 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
23889 memory address conflict.
23890 (OPENBSD_MMAP_ACPI): New definition.
23891 (OPENBSD_MMAP_NVS): Likewise.
23892 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
23893 and OPENBSD_MMAP_NVS.
23894 Add memory map terminator
23895 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 23896 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 23897
16c84d74 238982009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23899
23900 Let user specify NetBSD root device.
23901
23902 * loader/i386/bsd.c (netbsd_root): New variable.
23903 (netbsd_opts): New option 'root'.
23904 (NETBSD_ROOT_ARG): New macro.
23905 (grub_netbsd_boot): Use 'netbsd_root'.
23906 (grub_bsd_unload): Free 'netbsd_root'.
23907 (grub_cmd_netbsd): Fill 'netbsd_root'.
23908
adb29902 239092009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23910
23911 Support for 64-bit NetBSD.
23912
23913 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
23914 point when booting non-FreeBSD.
23915
f5ae9f74 239162009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23917
23918 Support --no-smp and --no-acpi for NetBSD.
23919
23920 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
23921 (NETBSD_AB_NOACPI): Likewise.
23922 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
23923 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
23924
de74f136 239252009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
23926
23927 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
23928 errors.
23929 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
23930 errors. Call grub_error when needed.
23931
e9a925da 239322009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
23933
23934 * commands/search.c (search_fs): Try searching without autoload first.
23935 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
23936 filesystem module explicitly for faster booting.
23937
5174302b 239382009-08-23 Colin Watson <cjwatson@ubuntu.com>
23939
23940 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
23941
c8c80635 239422009-08-23 Colin Watson <cjwatson@ubuntu.com>
23943
23944 * util/grub.d/30_os-prober.in: Disable os-prober if
23945 `GRUB_DISABLE_OS_PROBER' was set to true.
23946
71acf5e5 239472009-08-23 Robert Millan <rmh.grub@aybabtu.com>
23948
23949 * partmap/pc.c: Rename to ...
23950 * partmap/msdos.c: ... this. Update all users.
23951 (grub_pc_partition_map): Rename to ...
23952 (grub_msdos_partition_map): ... this. Update all users.
23953
23954 * parttool/pcpart.c: Rename to ...
23955 * parttool/msdospart.c: ... this. Update all users.
23956
23957 * include/grub/pc_partition.h: Rename to ...
23958 * include/grub/msdos_partition.h: ... this. Update all users.
23959 (grub_pc_partition_bsd_entry): Rename to ...
23960 (grub_msdos_partition_bsd_entry): ... this. Update all users.
23961 (grub_pc_partition_disk_label): Rename to ...
23962 (grub_msdos_partition_disk_label): ... this. Update all users.
23963 (grub_pc_partition_entry): Rename to ...
23964 (grub_msdos_partition_entry): ... this. Update all users.
23965 (grub_pc_partition_mbr): Rename to ...
23966 (grub_msdos_partition_mbr): ... this. Update all users.
23967 (grub_pc_partition): Rename to ...
23968 (grub_msdos_partition): ... this. Update all users.
23969 (grub_pc_partition_is_empty): Rename to ...
23970 (grub_msdos_partition_is_empty): ... this. Update all users.
23971 (grub_pc_partition_is_extended): Rename to ...
23972 (grub_msdos_partition_is_extended): ... this. Update all users.
23973 (grub_pc_partition_is_bsd): Rename to ...
23974 (grub_msdos_partition_is_bsd): ... this. Update all users.
23975
23976 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
23977 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
23978 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
23979 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
23980 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
23981 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
23982 (gpt_mod_LDFLAGS): Rename to ...
23983 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
23984 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
23985 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
23986 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
23987 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
23988 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
23989 (part_gpt_mod_LDFLAGS): ... this.
23990 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
23991 `pcpart.mod' to `msdospart.mod'.
23992 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
23993 to ...
23994 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
23995 (msdospart_mod_LDFLAGS): ... this.
23996
c11fded5 239972009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
23998
23999 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
24000 (openbsd_opts): Likewise.
24001 (netbsd_opts): Likewise.
24002 (freebsd_flags): Added 0 terminator.
24003 (openbsd_flags): Likewise.
24004 (netbsd_flags): Likewise.
24005 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
24006 (grub_cmd_freebsd): Transformed into extended command.
24007 (grub_cmd_openbsd): Likewise.
24008 (grub_cmd_netbsd): Likewise.
24009 (cmd_freebsd): Changed type to grub_extcmd_t.
24010 (cmd_openbsd): Likewise.
24011 (cmd_netbsd): Likewise.
24012 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
24013 grub_cmd_openbsd as extended commands.
24014 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
24015 cmd_netbsd and cmd_openbsd
24016
11d1c769 240172009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
24018
24019 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
24020
7a9094e5 240212009-08-21 Pavel Roskin <proski@gnu.org>
24022
5496c37e 24023 * Makefile.in (install-local): When checking if a file is in the
24024 build directory, use "test -e" to detect symlinks.
24025
7a9094e5 24026 * Makefile.in (install-local): Remove all files in
24027 $(DESTDIR)$(pkglibdir) before installing new files there.
24028
e53cea11 240292009-08-18 Felix Zielcke <fzielcke@z-51.de>
24030
24031 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
24032 grub-mkelfimage.
24033
9aced544 240342009-08-18 Felix Zielcke <fzielcke@z-51.de>
24035
24036 * util/grub-mkconfig.in: Don't use gfxterm by default if not
24037 explicitly specified by the user.
24038
b7da6bab 240392009-08-18 Pavel Roskin <proski@gnu.org>
24040
24041 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
24042 grub_uint8_t pointer for data.
24043 * include/grub/fbutil.h (struct grub_video_fbblit_info):
24044 Likewise.
24045 * video/fb/fbutil.c: Remove unnecessary casts.
24046
19f1b335 240472009-08-17 Michal Suchanek <hramrach@centrum.cz>
24048
24049 VBE cleanup.
24050
24051 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
24052 (grub_vbe_set_video_mode): Save active mode info
24053 only after setting the mode.
24054 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
24055 second argument.
24056
2f467aa9 240572009-08-17 Michal Suchanek <hramrach@centrum.cz>
24058
24059 Rename variables for clarity.
24060
24061 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
24062 (active_vbe_mode_info): ... this. All users updated.
24063 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
24064 All users updated.
24065 (initial_mode): Rename to ...
24066 (initial_vbe_mode): ... this. All users updated.
24067 (mode_in_use): Rename to ..
24068 (vbe_mode_in_use): ... this. All users updated.
24069 (mode_list): Rename to ..
24070 (vbe_mode_list): ... this. All users updated.
24071 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
24072 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
24073 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
24074 'mode_list_size' to 'vbe_mode_list_size'.
24075 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
24076 'best_mode_info' to 'best_vbe_mode_info' and
24077 'best_mode' to 'best_vbe_mode'
24078
6025fcd7 240792009-08-17 Michal Suchanek <hramrach@centrum.cz>
24080
24081 Remove duplicate grub_video_fb_get_video_ptr.
24082
24083 * include/grub/fbutil.h (get_data_ptr): Rename to ...
24084 (grub_video_fb_get_video_ptr): ... this.
24085 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
24086 * video/fb/fbutil.c: Add comment about addressing.
24087 (get_data_ptr): Rename to ...
24088 (grub_video_fb_get_video_ptr): ... this. All users updated.
24089 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
24090
cc8c6faf 240912009-08-17 Robert Millan <rmh.grub@aybabtu.com>
24092
24093 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
24094 grub_dprintf() that was just added.
24095
08aa61f0 240962009-08-17 Robert Millan <rmh.grub@aybabtu.com>
24097
24098 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
24099 (DEFAULT_VIDEO_MODE): Remove macros.
24100 (grub_linux_boot): Remove assumption that Linux has FB support,
24101 and use "text" as default video mode.
24102
7cef4f75 241032009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
24104
24105 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
24106 grub_dprintf.
24107 * fs/fat.c (grub_fat_read_data): Likewise.
24108
e1f39873 241092009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24110
24111 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
24112 payload.
24113 (grub_module): Likewise.
24114
c166d79e 241152009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24116
24117 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
24118 mbi->cmdline but free playground.
24119
c60cee8e 241202009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24121
24122 Handle group offset on UFS1.
24123
24124 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
24125 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
24126
c0d8b5d4 241272009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24128
24129 Split ufs.mod into ufs1.mod and ufs2.mod.
24130
24131 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
24132 (grub_fstest_SOURCES): Likewise.
24133 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
24134 (ufs_mod_SOURCES): Remove.
24135 (ufs_mod_CFLAGS): Likewise.
24136 (ufs_mod_LDFLAGS): Likewise.
24137 (ufs1_mod_SOURCES): New variable.
24138 (ufs1_mod_CFLAGS): Likewise.
24139 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 24140 (ufs2_mod_SOURCES): New variable.
24141 (ufs2_mod_CFLAGS): Likewise.
24142 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 24143 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
24144 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
24145 Likewise.
24146 (grub_emu_SOURCES): Likewise.
24147 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24148 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24149 (grub_setup_SOURCES): Likewise.
24150 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24151 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
24152 (grub_setup_SOURCES): Likewise.
24153 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
24154 Likewise.
24155 * fs/ufs2.c: New file.
24156 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
24157
d3539132 241582009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24159
24160 Framebuffer split.
24161
24162 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
24163 subsystem at the end.
24164 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
24165 (video_fb_mod_SOURCES): New variable.
24166 (video_fb_mod_CFLAGS): Likewise.
24167 (video_fb_mod_LDFLAGS): Likewise.
24168 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
24169 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
24170 * video/i386/pc/vbeblit.c: Moved from here ...
24171 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
24172 * video/i386/pc/vbefill.c: Moved from here ...
24173 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
24174 * video/i386/pc/vbeutil.c: Moved from here ...
24175 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
24176 * include/grub/i386/pc/vbeblit.h: Moved from here ...
24177 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
24178 * include/grub/i386/pc/vbefill.h: Moved from here ...
24179 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
24180 * include/grub/i386/pc/vbeutil.h: Moved from here ...
24181 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
24182 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
24183 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
24184 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
24185 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
24186 (grub_video_adapter): Added 'get_info_and_fini'.
24187 (grub_video_get_info_and_fini): New prototype.
24188 (grub_video_set_mode): make modestring const char *.
24189 * loader/i386/linux.c (grub_linux_setup_video): Use
24190 grub_video_get_info_and_fini.
24191 (grub_linux_boot): Move modesetting just before booting.
24192 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
24193 grub_video_get_info_and_fini.
24194 * video/i386/pc/vbe.c: Moved framebuffer part ...
24195 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
24196 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
24197 grub_video_fbstd_colors and grub_video_fb_set_palette.
24198 (grub_video_vbe_init): Clear 'framebuffer' variable and use
24199 grub_video_fb_init.
24200 (grub_video_vbe_fini): Use grub_video_fb_fini.
24201 (grub_video_vbe_setup): Use framebuffer.render_target instead of
24202 render_target and use grub_video_fb_set_active_render_target and
24203 grub_video_fb_set_palette.
24204 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
24205 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
24206 (grub_video_vbe_adapter): Use framebuffer.
24207 * video/video.c (grub_video_get_info_and_fini): New function.
24208 (grub_video_set_mode): Make modestring const char *.
24209 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
24210 values are already initialised.
24211
d404ee56 242122009-08-14 Pavel Roskin <proski@gnu.org>
24213
24214 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
24215 ABS and APPLE_CC.
24216 * boot/i386/pc/diskboot.S: Likewise.
24217 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
24218 sectors allow compilation on MacOSX.
24219 * conf/i386-pc.rmk: Enable unconditional compilation of
24220 lnxboot.img.
24221
9a10df16 242222009-08-13 Colin Watson <cjwatson@ubuntu.com>
24223
24224 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
24225 * util/grub.d/00_header.in: Enter interruptible sleep if
24226 GRUB_HIDDEN_TIMEOUT is set.
24227
be3c9ca7 242282009-08-13 Yves Blusseau <blusseau@zetam.org>
24229
24230 * include/grub/symbol.h: Add the LOCAL macro.
24231 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
24232 starting with "L_".
24233
1f9e557e 242342009-08-13 Pavel Roskin <proski@gnu.org>
24235
9ca62843 24236 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
24237 any modern compilers we support.
24238
1f9e557e 24239 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
24240 Use local labels starting with "L_" so that Apple assembler
24241 knows they are local.
24242
81623db6 242432009-08-10 Robert Millan <rmh.grub@aybabtu.com>
24244
24245 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
24246 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
24247 (bsd_kernel_types): ... this enum.
24248
24249 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
24250 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
24251 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
24252
24253 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
24254 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
24255 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
24256 messages.
24257
f5d35e7a 242582009-08-08 Robert Millan <rmh.grub@aybabtu.com>
24259
24260 * util/grub-dumpdevtree: Moved from here ...
24261 * util/i386/efi/grub-dumpdevtree: ... to here.
24262 (hexify): New function. Converts a string to its hex version.
24263 Generate hex versions of "efi" and "device-properties" by calling
24264 hexify() on the ASCII strings rather than by hardcoding numbers.
24265
d1e1d527 242662009-08-08 Robert Millan <rmh.grub@aybabtu.com>
24267
24268 * fs/jfs.c: Update copyright year.
24269
1ebbe064 242702009-08-08 Felix Zielcke <fzielcke@z-51.de>
24271
24272 * util/grub.d/00_header.in: Fix a comment.
24273 * util/grub.d/10_linux.in: Likewise.
24274 * util/grub.d/10_windows.in: Likewise.
24275 * util/grub.d/10_hurd.in: Likewise.
24276
a78c8d24 242772009-08-08 Felix Zielcke <fzielcke@z-51.de>
24278
24279 * util/grub-mkconfig.in: Allow the user to specify the used font
24280 with GRUB_FONT.
24281
29a6b9e8 242822009-08-08 Pavel Roskin <proski@gnu.org>
24283
b5f16cc4 24284 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
24285 available, xfs.mod needs it now.
24286
2f5cb827 24287 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
24288 the "g" modifier in sed when the intention is to strip something
24289 once. This fixes comparison of kernels with multiple dashes.
24290
29a6b9e8 24291 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
24292 on it. Add missing space before closing bracket. Fix
24293 misleading formatting.
24294
892a3d98 242952009-08-07 Robert Millan <rmh.grub@aybabtu.com>
24296
24297 * docs/grub.texi: Major overhaul. Remove all sections that are
24298 specific to GRUB Legacy, or mostly composed of Legacy-specific
24299 information.
24300
ed94253f 243012009-08-07 Robert Millan <rmh.grub@aybabtu.com>
24302
24303 * docs/version.texi: New file. Provides version information for
24304 grub.texi.
24305
126d6628 243062009-08-07 Robert Millan <rmh.grub@aybabtu.com>
24307
24308 * docs/grub.texi: Update CVS information to SVN.
24309 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
24310
998b5aa9 243112009-08-07 Felix Zielcke <fzielcke@z-51.de>
24312
24313 * util/grub-mkconfig.in: Remove a wrong `fi'.
24314
818e094a 243152009-08-07 Felix Zielcke <fzielcke@z-51.de>
24316
24317 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
24318 (grub_jfs_uuid): New function.
24319 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
24320
b969c52f 243212009-08-07 Felix Zielcke <fzielcke@z-51.de>
24322
24323 * util/grub-mkconfig_lib.in (font_path): Move the functionality
24324 of it to ...
24325 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
24326 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
24327
7a4894cc 243282009-08-07 Robert Millan <rmh.grub@aybabtu.com>
24329
24330 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
24331 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
24332 Update all users.
24333
24334 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
24335 not just "vmlinu[zx]".
24336 Moved from here ...
24337 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
24338 all users.
24339
24340 * util/grub.d/10_linux.in (find_latest): Moved from here ...
24341 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
24342 all users.
24343
4e2171f8 243442009-08-07 Robert Millan <rmh.grub@aybabtu.com>
24345
24346 * util/grub.d/10_freebsd.in: Use an absolute device path for
24347 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
24348
6dcfcb32 243492009-08-06 Felix Zielcke <fzielcke@z-51.de>
24350
24351 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
24352 handling of multiple abstraction modules.
24353
f56a8756 243542009-08-04 Robert Millan <rmh.grub@aybabtu.com>
24355
24356 Fix a bug resulting in black screen when loading Linux using a
24357 packed video mode.
24358
24359 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
24360 function.
24361
24362 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
24363 (grub_vbe_bios_getset_dac_palette_width): New function.
24364 (grub_vbe_bios_get_dac_palette_width)
24365 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
24366 grub_vbe_bios_getset_dac_palette_width()).
24367
24368 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
24369 check for return status.
24370 (grub_vbe_get_video_mode_info): When getting information for a packed
24371 mode (<= 8 bpp), obtain DAC palette width using
24372 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
24373 {red,green,blue}_mark_size.
24374
222671b2 243752009-08-04 Felix Zielcke <fzielcke@z-51.de>
24376
ecb1a6d9 24377 * commands/search.c (options): Fix help output to match actual code.
222671b2 24378
f84114f5 243792009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
24380
24381 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
24382 of homegrown code.
24383
bd288a20 243842009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 24385
24386 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
24387 on XFS or ReiserFS.
24388
8aab5e25 243892009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24390
24391 Support Apple partition map with sector size different from 512 bytes.
24392
24393 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
24394 (apple_partition_map_iterate): Respect 'aheader.blocksize'
24395 and 'apart.partmap_size'.
24396
6ad6258a 243972009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
243982009-08-01 Robert Millan <rmh.grub@aybabtu.com>
24399
24400 Fix cpuid command.
24401
24402 * commands/i386/cpuid.c (options): New variable.
24403 (grub_cmd_cpuid): Return real error.
24404 (GRUB_MOD_INIT(cpuid)): Declare options.
24405
67459bc6 244062009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
24407
24408 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
24409 valid.
24410
fbc6ab54 244112009-07-31 Bean <bean123ch@gmail.com>
24412
24413 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
24414 log2_inode.
24415 (grub_fshelp_node): Move inode field to the end.
24416 (grub_xfs_data): Remove inode field.
24417 (grub_xfs_inode_block): Calculate inode size using sblock.
24418 (grub_xfs_inode_offset): Likewise.
24419 (grub_xfs_read_inode): Calculate inode size using sblock.
24420 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
24421 (grub_xfs_iterate_dir): Calculate inode size using sblock.
24422 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
24423 to match inode size.
24424 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
24425 not accessible when data is null.
24426 (grub_xfs_open): Likewise.
24427
f45d6cfc 244282009-07-31 Bean <bean123ch@gmail.com>
24429
24430 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
24431 Don't change pv->disk if it's already set.
24432
24433 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
24434 (grub_raid_register): ... here.
24435 (grub_raid_rescan): Removed.
24436
24437 * include/grub/raid.h (grub_raid_rescan): Removed.
24438
24439 * util/grub-fstest.c: Remove include file <grub/raid.h>.
24440 (fstest): Replace grub_raid_rescan with module fini function followed
24441 by init function.
24442
24443 * util/grub-probe.c: Add include file <grub/raid.h>.
24444 (probe_raid_level): New function.
24445 (probe): Detect abstraction by walking the disk device, support two
24446 level of abstraction (LVM on RAID) when detecting partition map.
24447
24443b5a 244482009-07-31 Pavel Roskin <proski@gnu.org>
24449
24450 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
24451 to grub_zalloc(), it was erroneous.
24452 Reported by Bean <bean123ch@gmail.com>
24453
a275d9e7 244542009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
24455
24456 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 24457 embedding zone, not only the first one.
a275d9e7 24458
56c5a47f 244592009-07-29 Joe Auricchio <jauricchio@gmail.com>
24460
24461 * term/gfxterm.c (clear_char): New function.
24462 (grub_virtual_screen_setup): Use clear_char.
24463 (scroll_up): Likewise.
24464 (grub_virtual_screen_cls): Likewise.
24465
67bb323a 244662009-07-29 Felix Zielcke <fzielcke@z-51.de>
24467
24468 * util/deviceiter.c (get_acceleraid_disk_name): New static
24469 function.
24470 (grub_util_iterate_devices): Handle Accelraid devices.
24471 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
24472
388a7c75 244732009-07-28 Robert Millan <rmh.grub@aybabtu.com>
24474
24475 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
24476 separator for the suggested gfxpayload string (';' collides with the
24477 parser and needs escaping).
24478
3bb7abcf 244792009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
24480
24481 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
24482 Clear direction flag before jumping to OS.
24483 (grub_multiboot2_real_boot): Likewise.
24484
2ddd36d7 244852009-07-28 Felix Zielcke <fzielcke@z-51.de>
24486
24487 * util/i386/pc/grub-install: Fix parsing of --disk-module
24488 option.
24489
c521b62b 244902009-07-28 Felix Zielcke <fzielcke@z-51.de>
24491
24492 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
24493 when embedding.
24494
880e0a0c 244952009-07-26 Felix Zielcke <fzielcke@z-51.de>
24496
24497 * util/grub-mkconfig.in (package_version): New variable.
24498 Use it do display the version.
24499
2366e356 245002009-07-25 Felix Zielcke <fzielcke@z-51.de>
24501
24502 * kern/file.c (grub_file_open): Revert to previous check with
24503 grub_errno.
24504
7ad8c80e 245052009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
24506
24507 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
24508 from help line. It's out of sync with code.
24509
72b9658b 245102009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
24511
24512 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
24513 entries on failed boot.
24514
77435277 245152009-07-25 Felix Zielcke <fzielcke@z-51.de>
24516
24517 * kern/file.c (grub_file_open): Fix an error check.
24518
fcaa8b21 245192009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
24520
35d16c74 24521 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
24522 partition map couldn't be identified.
fcaa8b21 24523
48904cd1 245242009-07-23 Pavel Roskin <proski@gnu.org>
24525
ef3c317f 24526 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
24527 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
24528 case of little endian words becomes just an optimization.
24529 Respect const modifier.
ad8ea1f4 24530 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 24531
48904cd1 24532 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
24533 to avoid loss of upper bits if align is unsigned and shorter
24534 than addr.
24535
260c9a89 245362009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
24537
24538 UUID support for UFS
24539
24540 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
24541 (grub_ufs_uuid): New function.
24542 (grub_ufs_fs): add .uuid
24543
f76ce889 245442009-07-21 Pavel Roskin <proski@gnu.org>
24545
24546 * kern/dl.c (grub_dl_check_header): Make static.
24547
6a6cbcaf 245482009-07-21 Felix Zielcke <fzielcke@z-51.de>
24549
24550 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
24551 add drivemap for Vista. It breaks Windows 7.
24552
cffcddb2 245532009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
24554
24555 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
24556 128 bytes
24557
1ef44b80 245582009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24559
24560 Add BFS support
24561
24562 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
24563 (grub_fstest_SOURCES): Likewise.
24564 (pkglib_MODULES): Add befs.mod.
24565 (befs_mod_SOURCES): New variable.
24566 (befs_mod_CFLAGS): Likewise.
24567 (befs_mod_LDFLAGS): Likewise.
24568 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24569 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24570 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24571 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24572 (grub_setup_SOURCES): Likewise.
24573 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24574 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24575 (grub_setup_SOURCES): Likewise.
24576 * fs/befs.c: New file.
24577 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
24578 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
24579 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
24580 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
24581 (B_KEY_INDEX_ALIGN): New declaration.
24582 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
24583 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
24584 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
24585 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
24586 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
24587 (grub_afs_mount) [MODE_BFS]: Likewise.
24588 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
24589 (grub_afs_fs): Use GRUB_AFS_FSNAME
24590 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
24591 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
24592 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
24593 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
24594
4f253044 245952009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
24596
24597 * util/getroot.c (find_root_device): Add support for MacOSX.
24598 * util/hostdisk.c: Likewise.
24599
57a55913 246002009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24601
24602 * font/font.c (find_glyph): Check whether a font is present to avoid
24603 segmentation fault.
75421ca9 24604
246052009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 24606
24607 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
24608
e98cd0c2 246092009-07-20 Pavel Roskin <proski@gnu.org>
24610
24611 * configure.ac: Trim excessively wordy excuses.
24612
1d2d169a 246132009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24614
24615 Add symlink, mtime and label support to AtheFS.
24616
24617 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
24618 (grub_afs_iterate_dir): Handle symlinks.
24619 (grub_afs_open): Use grub_afs_read_symlink.
24620 (grub_afs_dir): Likewise.
24621 Pass mtime.
24622 (grub_afs_label): New function.
24623 (grub_afs_fs): Add grub_afs_label.
24624 (grub_afs_read_symlink): New function.
24625
186f3189 246262009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24627
24628 Fix AtheFS support.
24629
24630 * fs/afs.c: Fix comments style.
24631 (grub_afs_blockrun): Declare as packed.
24632 (grub_afs_datastream): Likewise.
24633 (grub_afs_bnode): Likewise.
24634 (grub_afs_btree): Likewise.
24635 (grub_afs_sblock): Likewise.
24636 Declare `name' as char.
24637 (grub_afs_inode): Declare as packed.
24638 Change void *vnode to grub_uint32_t unused.
24639 (grub_afs_iterate_dir): Check that key_size is positive.
24640 (grub_afs_mount): Don't read superblock twice.
75421ca9 24641 (grub_afs_dir): Don't free node in case of error,
186f3189 24642 grub_fshelp_find_file already handles this.
24643 (grub_afs_open): Likewise.
24644
5680109e 246452009-07-19 Pavel Roskin <proski@gnu.org>
24646
24647 * Makefile.in: Remove LIBLZO and enable_lzo.
24648 * conf/i386-pc.rmk: Remove lzo support.
24649 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
24650 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
24651 support.
24652 * kern/i386/pc/lzo1x.S: Remove.
24653 * kern/i386/pc/startup.S: Remove lzo support.
24654 * util/i386/pc/grub-mkimage.c: Likewise.
24655
ac70fa32 246562009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
24657
24658 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
24659 * fs/xfs.c (grub_xfs_dir): Likewise.
24660 * fs/afs.c (grub_afs_dir): Likewise.
24661 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
24662 (grub_iso9660_open): Likewise.
24663 * fs/jfs.c (grub_jfs_open): Likewise.
24664 * fs/ext2.c (grub_ext2_dir): Likewise.
24665 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
24666 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 24667
eab58da2 246682009-07-16 Pavel Roskin <proski@gnu.org>
24669
d2838156 24670 * configure.ac: Never add "-c" to CFLAGS.
24671
55c70904 24672 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
24673
43e6200c 24674 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
24675 grub_cv_cc_efiemu should be used.
24676
ce7a733d 24677 * configure.ac: Typo fixes.
24678
eab58da2 24679 * kern/mm.c (grub_zalloc): New function.
24680 (grub_debug_zalloc): Likewise.
24681 * include/grub/mm.h: Declare grub_zalloc() and
24682 grub_debug_zalloc().
24683 * util/misc.c (grub_zalloc): New function.
24684 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
24685 instead of grub_malloc(), remove unneeded initializations.
24686 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
24687 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
24688 * commands/parttool.c (grub_cmd_parttool): Likewise.
24689 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
24690 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
24691 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
24692 * disk/usbms.c (grub_usbms_finddevs): Likewise.
24693 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
24694 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
24695 (grub_cmd_efiemu_pnvram): Likewise.
24696 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
24697 * fs/iso9660.c (grub_iso9660_mount): Likewise.
24698 (grub_iso9660_iterate_dir): Likewise.
24699 * fs/jfs.c (grub_jfs_opendir): Likewise.
24700 * fs/ntfs.c (list_file): Likewise.
24701 (grub_ntfs_mount): Likewise.
24702 * kern/disk.c (grub_disk_open): Likewise.
24703 * kern/dl.c (grub_dl_load_core): Likewise.
24704 * kern/elf.c (grub_elf_file): Likewise.
24705 * kern/env.c (grub_env_context_open): Likewise.
24706 (grub_env_set): Likewise.
24707 (grub_env_set_data_slot): Likewise.
24708 * kern/file.c (grub_file_open): Likewise.
24709 * kern/fs.c (grub_fs_blocklist_open): Likewise.
24710 * loader/i386/multiboot.c (grub_module): Likewise.
24711 * loader/xnu.c (grub_xnu_create_key): Likewise.
24712 (grub_xnu_create_value): Likewise.
24713 * normal/main.c (grub_normal_add_menu_entry): Likewise.
24714 (read_config_file): Likewise.
24715 * normal/menu_entry.c (make_screen): Likewise.
24716 * partmap/sun.c (sun_partition_map_iterate): Likewise.
24717 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
24718 * script/sh/script.c (grub_script_parse): Likewise.
24719 * video/bitmap.c (grub_video_bitmap_create): Likewise.
24720 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
24721 * video/readers/png.c (grub_png_output_byte): Likewise.
24722 (grub_video_reader_png): Likewise.
24723
830afef7 247242009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 24725
24726 Enable all targets that can be built by default
24727
830afef7 24728 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 24729 grub-mkfont and grub-fstest if they can be built
24730
ee293aee 247312009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24732
24733 Fix hang and segmentation fault in grub-emu-usb
24734
24735 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
24736 * util/usb.c (grub_libusb_devices): likewise
24737 (grub_libusb_init): rename to ...
24738 (GRUB_MOD_INIT (libusb)):...this
24739 (grub_libusb_fini): rename to ..
24740 (GRUB_MOD_FINI (libusb)):...this
24741 * disk/usbms.c (grub_usbms_transfer): fix retry logic
24742 * include/grub/disk.h (grub_raid_init): removed, it's useless
24743 (grub_raid_fini): likewise
24744 (grub_lvm_init): likewise
24745 (grub_lvm_fini): likewise
24746 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
24747 by grub_init_all
24748
94414221 247492009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24750
24751 Fix libusb
24752
24753 * Makefile.in (LIBUSB): new macro
24754 * genmk.rb (Utility/print_tail): new method
24755 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
24756 (top level): call util.print_tail at the end.
24757
59ade63d 247582009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24759
24760 Make FreeBSD accept zpool.cache
24761
24762 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
24763 type is /boot/zfs/zpool.cache
24764
a58da8c7 247652009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24766
24767 Fix 64-bit efiemu
24768
24769 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
24770 correct wrong typedef
24771 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
24772
20591577 247732009-07-15 Pavel Roskin <proski@gnu.org>
24774
560ca572 24775 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
24776 * kern/disk.c (struct grub_disk_cache): Likewise.
24777
e8e8e4fd 24778 * commands/probe.c (options): Typo fix.
24779
fde24e10 24780 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
24781 Increase to 0x5a to accommodate FAT32. Adjust other offsets
24782 accordingly.
24783 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
24784
379c54c1 24785 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
24786 the end of "Error" to make the message more readable.
24787
7bd8f5bf 24788 * boot/i386/pc/boot.S (kernel_segment): Remove.
24789 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
24790 for destination.
24791
40b132c5 24792 * boot/i386/pc/boot.S (boot_version): Remove.
24793 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
24794 Remove.
24795
20591577 24796 * include/grub/i386/pc/boot.h: Sort all offsets.
24797 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
24798 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
24799 * boot/i386/pc/boot.S: Assert location of every offset listed in
24800 include/grub/i386/pc/boot.h.
24801
2df32b2c 248022009-07-13 Pavel Roskin <proski@gnu.org>
24803
44b5d879 24804 * include/grub/i386/coreboot/machine.h: Rename
24805 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
24806 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
24807 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
24808
17dc3751 24809 * kern/dl.c: Force native word size to suppress warnings when
24810 compiling grub-emu.
24811
2df32b2c 24812 * kern/device.c (grub_device_iterate): Change struct part_ent to
24813 hold the name, not a pointer to it. Use one grub_malloc() per
24814 partition, not two. Free partition_name if grub_malloc() fails.
24815 Set ents to NULL only before grub_partition_iterate() is called.
24816
75c59f59 248172009-07-11 Bean <bean123ch@gmail.com>
24818
24819 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
24820 childname.
24821
0ae1bf88 248222009-07-10 Bean <bean123ch@gmail.com>
248232009-07-10 Robert Millan <rmh.grub@aybabtu.com>
24824
24825 * kern/ieee1275/openfw.c (grub_children_iterate)
24826 (grub_devalias_iterate): Fix size evaluation for property or path
24827 strings, which was broken since r2132.
24828
8279cade 248292009-07-07 Pavel Roskin <proski@gnu.org>
24830
7d8a52d3 24831 * commands/search.c (search_file): Merge into ...
24832 (search_fs): ... this. Accept search type as argument.
24833 (grub_cmd_search): Pass search type to search_fs().
24834
25f9a05a 24835 * include/grub/util/console.h: New file.
24836 * util/console.c: Use it instead of grub/machine/console.h.
24837 * util/grub-emu.c: Likewise.
24838
8279cade 24839 * lib/arg.c (find_long_option): Remove.
24840 (find_long): Add `len' argument, make `s' const char *.
24841 (grub_arg_parse): Parse long options in place, not in a
24842 temporary buffer.
24843
4a11b60f 248442009-07-06 Pavel Roskin <proski@gnu.org>
24845
99f68041 24846 * commands/search.c (search_fs): Fix potential NULL pointer
24847 dereference.
24848
4a11b60f 24849 * commands/search.c (search_fs): Replace QUID macro with quid_fn
24850 function pointer.
24851
e110f4de 248522009-07-06 Daniel Mierswa <impulze@impulze.org>
24853
24854 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
24855 comparison.
24856
46eeb6a2 248572009-07-05 Pavel Roskin <proski@gnu.org>
24858
bab74958 24859 * include/grub/i386/linux.h (struct linux_kernel_params):
24860 Restore padding3, it's still needed.
24861
46eeb6a2 24862 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
24863 FreeBSD.
24864 * util/osdetect.lua: Likewise.
24865
b4a1dc79 248662009-07-05 Bean <bean123ch@gmail.com>
24867
24868 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
24869
24870 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
24871 (grub_lua_getenv): Likewise.
24872 (grub_lua_setenv): Likewise.
24873 (save_errno): New function.
24874 (push_result): Likewise.
24875 (grub_lua_enum_device): Likewise.
24876 (grub_lua_enum_file): Likewise.
24877 (grub_lua_file_open): Likewise.
24878 (grub_lua_file_close): Likewise.
24879 (grub_lua_file_seek): Likewise.
24880 (grub_lua_file_read): Likewise.
24881 (grub_lua_file_getline): Likewise.
24882 (grub_lua_file_getsize): Likewise.
24883 (grub_lua_file_getpos): Likewise.
24884 (grub_lua_file_eof): Likewise.
24885 (grub_lua_file_exist): Likewise.
24886 (grub_lua_add_menu): Likewise.
24887
24888 * script/lua/grub_lua.h (isupper): New inline function.
24889 (islower): Likewise.
24890 (ispunct): Likewise.
24891 (isxdigit): Likewise.
24892 (strcspn): Change to normal function.
24893 (strpbkr): New function declaration.
24894 (memchr): Likewise.
24895
24896 * script/lua/grub_main.c (scan_str): New function.
24897 (strcspn): Likewise.
24898 (strpbrk): Likewise.
24899 (memchr): Likewise.
24900
24901 * script/lua/linit.c (lualibs): Enable the string library.
24902
24903 * util/osdetect.lua: New file.
24904
2da92295 249052009-07-04 Robert Millan <rmh.grub@aybabtu.com>
24906
24907 * include/grub/i386/linux.h (struct linux_kernel_params): Add
24908 `capabilities' member.
24909
b2582ec9 249102009-07-02 Pavel Roskin <proski@gnu.org>
24911
24912 * genparttoollist.sh: Add missing newline at the end.
24913
32622956 249142009-07-01 Pavel Roskin <proski@gnu.org>
24915
87a7339e 24916 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
24917
d23af54e 24918 * util/hostdisk.c (open_device): Remove `const' from
24919 `sysctl_size', as sysctlbyname() can change it (in this case it
24920 doesn't actually happen).
24921
c94b18a9 24922 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
24923 using signed long int constants.
24924
c6cd3ef0 24925 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
24926 constant to avoid a warning on FreeBSD.
24927
0df63420 24928 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
24929 where it's needed.
24930
999577f1 24931 * Makefile.in: Install include/grub/machine symlink.
24932
6f41557f 24933 * Makefile.in: When installing symlinks, use "cp -fR", which
24934 works on FreeBSD and MacOSX.
24935 From Yves Blusseau <cl7m42e02@sneakemail.com>
24936
c8d22988 24937 * kern/dl.c (grub_dl_resolve_symbol): Make static.
24938 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
24939
1b96e952 24940 * util/misc.c: Move grub_reboot() and grub_halt() ...
24941 * util/grub-emu.c: ... here. Make main_env static.
24942 * include/grub/util/misc.h: Remove main_env.
24943
2ef0084d 24944 * kern/mm.c: Use correct format to print size_t.
24945
32622956 24946 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
24947 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
24948 * kern/powerpc/dl.c: Likewise.
24949 * kern/sparc64/dl.c: Likewise.
24950 * kern/x86_64/dl.c: Likewise.
24951
3f7f0cd0 249522009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24953
24954 Fix grub-emu build on sparc64-ieee1275.
24955
75421ca9 24956 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 24957 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
24958
211d06b5 249592009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24960
24961 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
24962 (grub_reboot, grub_halt): New functions.
24963
24964 * util/i386/pc/misc.c: Delete. Update all users.
24965 * util/sparc64/ieee1275/misc.c: Likewise.
24966 * util/powerpc/ieee1275/misc.c: Likewise.
24967
aaf53e3c 249682009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24969
24970 * conf/i386.rmk (setjmp_mod_SOURCES)
24971 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
24972 * conf/common.rmk (setjmp_mod_SOURCES)
24973 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
24974 to use $(target_cpu).
24975 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
24976 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
24977 * conf/powerpc-ieee1275.rmk: Likewise.
24978 * conf/sparc64-ieee1275.rmk: Likewise.
24979
24980 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
24981 $(target_cpu) for kern/$(target_cpu)/dl.c.
24982 * conf/i386-efi.rmk: Likewise.
24983 * conf/i386-ieee1275.rmk: Likewise.
24984 * conf/x86_64-efi.rmk: Likewise.
24985 * conf/i386-coreboot.rmk: Likewise.
24986 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
24987 $(target_cpu) for kern/$(target_cpu)/dl.c and for
24988 kern/$(target_cpu)/cache.S.
24989 * conf/sparc64-ieee1275.rmk: Likewise.
24990
a337130b 249912009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24992
24993 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
24994 type to `grub_uint8_t', and adjust `padding9' accordingly.
24995
c6fe4d53 249962009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24997
b09db61d 24998 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
24999
c6fe4d53 25000 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
25001 assembly in final jump, using register constraints.
25002
b09db61d 25003 (grub_linux_boot): For text mode, initialize `have_vga' using
25004 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
25005
25006 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
25007 right before the final jump.
25008
25009 Set `video_mode' to 0x3.
25010
25011 Document initialization of `video_page', `video_mode' and
25012 `video_ega_bx'.
25013
28333ad0 250142009-06-29 Robert Millan <rmh.grub@aybabtu.com>
25015
25016 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
25017 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 25018 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 25019
02164e1b 250202009-06-29 Robert Millan <rmh.grub@aybabtu.com>
25021
25022 Fix build on Debian / sparc.
25023
25024 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
25025
18b6c557 250262009-06-28 Pavel Roskin <proski@gnu.org>
25027
85f2aab6 25028 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
25029 fix a warning.
25030
18b6c557 25031 * util/grub.d/10_linux.in: Match SUSE style initrd names.
25032
ad760f81 250332009-06-27 Robert Millan <rmh.grub@aybabtu.com>
25034
25035 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
25036 `err'.
25037
87a4623b 250382009-06-27 Robert Millan <rmh.grub@aybabtu.com>
25039
25040 Revert r2338.
25041
25042 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
25043 file can't be opened. grub_file_open() is already supposed to set
75421ca9 25044 grub_errno / grub_errmsg appropriately.
87a4623b 25045 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
25046
8231fb77 250472009-06-27 Pavel Roskin <proski@gnu.org>
250482009-06-27 Robert Millan <rmh.grub@aybabtu.com>
25049
25050 * include/grub/dl.h: Include grub/elf.h.
25051 (struct grub_dl): Add symtab field.
25052 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
25053 GRUB_MODULES_MACHINE_READONLY.
25054 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
25055 of the header for read-only modules.
25056 (grub_dl_unload): Free mod->symtab for read-only modules.
25057 * kern/i386/dl.c: Use mod->symtab.
25058 * kern/powerpc/dl.c: Likewise.
25059 * kern/sparc64/dl.c: Likewise.
25060 * kern/x86_64/dl.c: Likewise.
25061
25062 * conf/i386-qemu.rmk: New file.
25063 * kern/i386/qemu/startup.S: Likewise.
25064 * kern/i386/qemu/mmap.c: Likewise.
25065 * boot/i386/qemu/boot.S: Likewise.
25066 * include/grub/i386/qemu/time.h: Likewise.
25067 * include/grub/i386/qemu/serial.h: Likewise.
25068 * include/grub/i386/qemu/kernel.h: Likewise.
25069 * include/grub/i386/qemu/console.h: Likewise.
25070 * include/grub/i386/qemu/boot.h: Likewise.
25071 * include/grub/i386/qemu/init.h: Likewise.
25072 * include/grub/i386/qemu/machine.h: Likewise.
25073 * include/grub/i386/qemu/loader.h: Likewise.
25074 * include/grub/i386/qemu/memory.h: Likewise.
25075
25076 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
25077 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
25078 [qemu] (pkglib_IMAGES): Add `boot.img'.
25079 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
25080 [qemu] (boot_img_FORMAT): New variables.
25081 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
25082 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
25083 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
25084 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
25085 [qemu] (kernel_img_FORMAT): New variables.
25086
25087 * configure.ac: Recognise `i386-qemu'.
25088
25089 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
25090 (for no compression).
25091 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
25092 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
25093 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
25094 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
25095 ifdefs).
25096
97fe384e 250972009-06-27 Pavel Roskin <proski@gnu.org>
25098
25099 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
25100 read.
25101 * efiemu/prepare32.c: Likewise.
25102 * efiemu/prepare64.c: Likewise.
25103
c402ab17 251042009-06-26 Pavel Roskin <proski@gnu.org>
25105
25106 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
25107 * include/grub/elf.h: Define symbols without "32" or "64" based
25108 on GRUB_TARGET_WORDSIZE.
25109 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
25110 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
25111 ELF definitions.
25112 * efiemu/loadcore64.c: Likewise.
25113 * loader/i386/bsd32.c: Likewise.
25114 * loader/i386/bsd64.c: Likewise.
25115 * kern/dl.c: Remove own ELF definitions.
25116 * util/i386/efi/grub-mkimage.c: Likewise.
25117
9bbdfd4d 251182009-06-23 Robert Millan <rmh.grub@aybabtu.com>
25119
25120 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
25121 segment 0x0 unconditionally, because the reference generated by
25122 GAS is an absolute address.
25123
a42ce6e9 251242009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25125
25126 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
25127 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
25128
c952cf92 251292009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25130
25131 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
25132 indexes. Check for -f explicitly.
cc3752ad 25133 (search_file): Improve error message.
25134 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 25135
132a0a59 251362009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25137
25138 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
25139 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
25140
387a140c 251412009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25142
25143 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
25144 * conf/i386-ieee1275.rmk: Likewise.
25145 * conf/i386-coreboot.rmk: Likewise.
25146
25147 * kern/i386/pc/startup.S (grub_stop): Remove function.
25148 * kern/i386/ieee1275/startup.S: Likewise.
25149 * kern/i386/coreboot/startup.S: Likewise.
25150 * kern/i386/misc.S (grub_stop): New function.
25151
41da9665 251522009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25153
25154 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
25155 * kern/i386/realmode.S (real_to_prot): ... to here.
25156
bf337234 251572009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25158
25159 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
25160 with `kernel.img'.
25161 (kernel_elf_SOURCES): Rename to ...
25162 (kernel_img_SOURCES): ... this.
25163 (kernel_elf_HEADERS): Rename to ...
25164 (kernel_img_HEADERS): ... this. Update all users.
25165 (kernel_elf_ASFLAGS): Rename to ...
25166 (kernel_img_ASFLAGS): ... this.
25167 (kernel_elf_CFLAGS): Rename to ...
25168 (kernel_img_CFLAGS): ... this.
25169 (kernel_elf_LDFLAGS): Rename to ...
25170 (kernel_img_LDFLAGS): ... this.
25171 * conf/i386-coreboot.rmk: Likewise.
25172 * conf/powerpc-ieee1275.rmk: Likewise.
25173
25174 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
25175 with "kernel.img".
25176
f52196ff 251772009-06-21 Pavel Roskin <proski@gnu.org>
25178
c3cee413 25179 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
25180 to match nested functions.
25181 * loader/sparc64/ieee1275/linux.c: Likewise.
25182
f52196ff 25183 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
25184
58750afc 251852009-06-21 Robert Millan <rmh.grub@aybabtu.com>
25186
25187 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
25188 all i386 platforms.
25189
15355c7d 251902009-06-21 Robert Millan <rmh.grub@aybabtu.com>
25191
25192 Fix asm file handling on ELF, and remove workarounds.
25193
25194 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 25195 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 25196 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
25197 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
25198
3f3ec72b 251992009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
25200
25201 Load BSD ELF modules
25202
25203 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
25204 and loader/i386/bsd64.c
25205 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
25206 (FREEBSD_MODTYPE_ELF_MODULE): New definition
25207 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
25208 (grub_freebsd_load_elfmodule32): New declaration
25209 (grub_freebsd_load_elfmoduleobj64): Likewise
25210 (grub_freebsd_load_elf_meta32): Likewise
25211 (grub_freebsd_load_elf_meta64): Likewise
25212 (grub_freebsd_add_meta): Likewise
25213 (grub_freebsd_add_meta_module): Likewise
25214 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
25215 (grub_freebsd_add_meta_module): Likewise and move module-specific
25216 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
25217 (grub_cmd_freebsd): Add elf-kernel specific parts
25218 based on grub_freebsd_add_meta_module
25219 (grub_cmd_freebsd_module): Add type parsing moved from
25220 grub_freebsd_add_meta_module
25221 (grub_cmd_freebsd_module_elf): New function
25222 (cmd_freebsd_module_elf): New variable
25223 (GRUB_MOD_INIT): Register freebsd_module_elf
25224 * loader/i386/bsd32.c: New file
25225 * loader/i386/bsd64.c: Likewise
25226 * loader/i386/bsdXX.c: Likewise
25227 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
25228 (grub_elf64_load): Likewise
25229 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
25230 All users updated
25231 (grub_elf64_load_hook_t): Likewise
25232
0db15301 252332009-06-21 Colin Watson <cjwatson@ubuntu.com>
25234
25235 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
25236 variable.
25237 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
25238 don't write a menu entry for recovery mode.
25239
546796c1 252402009-06-20 Robert Millan <rmh.grub@aybabtu.com>
25241
25242 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
25243 after it's no longer needed.
25244
cd7310d5 252452009-06-20 Robert Millan <rmh.grub@aybabtu.com>
25246
25247 * include/grub/i386/loader.h (grub_linux_prot_size)
25248 (grub_linux_tmp_addr, grub_linux_real_addr)
25249 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
25250 GRUB_MACHINE_PCBIOS.
25251 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
25252 common grub_util_info() call to ...
25253 (generate_image): ... here.
25254 Fix use of uninitialized memory, comparison of signed with
25255 unsigned integers and memory leak.
25256 Remove bogus module address message.
25257
ab32d3b5 252582009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25259
25260 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
25261 grub_raid_register
25262 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
25263
024ef597 252642009-06-19 Pavel Roskin <proski@gnu.org>
25265
25266 * configure.ac: Remove stray AC_MSG_CHECKING.
25267
3ac72b51 252682009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
25269
25270 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 25271
e14cd814 252722009-06-18 Pavel Roskin <proski@gnu.org>
25273
25274 * conf/common.rmk: Add fs_file.mod.
25275 * disk/fs_file.c: New file.
25276 * include/grub/disk.h (enum grub_disk_dev_id): Add
25277 GRUB_DISK_DEVICE_FILE_ID.
25278
26586d98 252792009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
25280
25281 Fix build with Apple's toolchain. Part 2
25282
25283 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
25284 a fake start
25285
26de2bcd 252862009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
25287
25288 Fix build with Apple's toolchain. Part 1
25289
25290 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
25291 for long calls
25292 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 25293 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 25294 Apple's toolchain
25295
09b3490b 252962009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
25297
25298 Fix warnings
25299
25300 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
25301 (decomp_block): initialize ch
25302 use grub_memcpy instead of memcpy
25303
c22a006a 253042009-06-17 Pavel Roskin <proski@gnu.org>
25305
d3638678 25306 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
25307 version, use declarations needed to use vga_text as the startup
25308 console.
25309
c22a006a 25310 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
25311 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
25312 the kernel.
25313 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
25314 and grub_at_keyboard_fini(), it's done on module load and
25315 unload.
25316
05b129e0 253172009-06-17 Felix Zielcke <fzielcke@z-51.de>
25318
25319 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
25320 file can't be found.
25321 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
25322
cf24ed9e 253232009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
25324
25325 Fix newline handling
25326
25327 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 25328 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 25329 (grub_script_yylex): don't segfault on unterminated script
25330 newline terminates command and variable
25331
74aa8e4b 253322009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
25333
25334 avoid double grub_adjust_range call. Bug reported by David Simner
25335
25336 * kern/disk.c (grub_disk_write): change to raw disk access before
25337 calling disk_read
25338
1bd265f3 253392009-06-17 Colin Watson <cjwatson@ubuntu.com>
25340
25341 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
25342 spaces, for the benefit of help2man.
25343 * util/i386/efi/grub-mkimage.c (usage): Likewise.
25344
a2d08c06 253452009-06-16 Pavel Roskin <proski@gnu.org>
25346
25347 * kern/i386/halt.c: Include grub/machine/init.h.
25348 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
25349
b97bcb19 253502009-06-16 Felix Zielcke <fzielcke@z-51.de>
25351
25352 * util/grub.d/30_os-prober.in: Use ${root} in the generated
25353 drivemap menuentry.
25354
0644f96c 253552009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
25356
25357 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
25358 `echo' command.
25359
3ef17a2e 253602009-06-16 Pavel Roskin <proski@gnu.org>
25361
25362 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
25363 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
25364 save %dx, we only need %dl and we never change it.
25365 * boot/i386/pc/cdboot.S: Don't set the root drive.
25366 * boot/i386/pc/pxeboot.S: Likewise.
25367 * include/grub/i386/pc/boot.h: Remove
25368 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
25369 GRUB_BOOT_MACHINE_DRIVE_CHECK.
25370 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
25371 * kern/i386/pc/init.c (make_install_device): Remove references
25372 to grub_root_drive.
25373 * kern/i386/pc/startup.S: Likewise.
25374 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
25375
693fe637 253762009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
25377
25378 xnu_uuid command
25379
25380 * commands/xnu_uuid.c: new file
25381 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
25382 (xnu_uuid_mod_SOURCES): new variable
25383 (xnu_uuid_mod_CFLAGS): likewise
25384 (xnu_uuid_mod_LDFLAGS): likewise
25385 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
25386 * conf/i386-ieee1275.rmk: likewise
25387 * conf/i386-pc.rmk: likewise
25388 * conf/powerpc-ieee1275.rmk: likewise
25389 * conf/sparc64-ieee1275.rmk: likewise
25390 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
25391
c9da87d0 253922009-06-16 Pavel Roskin <proski@gnu.org>
25393
25394 * configure.ac: Avoid '==' in test command, it's not portable.
25395
9c6f4596 253962009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
25397
25398 Probe command
25399
25400 * commands/probe.c: new file
25401 * conf/common.rmk (pkglib_MODULES): add probe.mod
25402 (probe_mod_SOURCES): new variable
25403 (probe_mod_CFLAGS): likewise
25404 (probe_mod_LDFLAGS): likewise
25405 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
25406 * conf/i386-ieee1275.rmk: likewise
25407 * conf/i386-pc.rmk: likewise
25408 * conf/powerpc-ieee1275.rmk: likewise
25409 * conf/sparc64-ieee1275.rmk: likewise
25410
70b7f9fd 254112009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
25412
25413 Fix handling of string like \"hello\" and "a
25414 b"
25415
25416 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
25417 (grub_script_yylex): fix parsing of quoting, escaping and newline
25418
71c79a6b 254192009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
25420
dd74360c 25421 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 25422 handling
dd74360c 25423
0644f96c 254242009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 25425
25426 * util/grub-mkconfig.in: Fix parsing of --output option.
25427
e40893c3 254282009-06-12 Pavel Roskin <proski@gnu.org>
25429
25430 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
25431 genmk.rb don't need to be generated or installed.
25432
3a1acfe2 254332009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25434
25435 * commands/i386/pc/drivemap_int13h.S: add more comments
25436
3a4575d4 254372009-06-11 Pavel Roskin <proski@gnu.org>
25438
0658e928 25439 * Makefile.in (uninstall): Uninstall manuals.
25440
ca0388f0 25441 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
25442 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
25443 and update-grub_lib in two places.
25444 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
25445
e3b27c39 25446 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
25447 a compiler warning.
25448
3a4575d4 25449 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
25450 `entry_lo' to fix variable shadowing.
25451
af1f4f55 254522009-06-11 Christian Franke <franke@computer.org>
25453
25454 * kern/misc.c (__enable_execute_stack): Add missing return type
25455 to prevent gcc warning.
25456
5225e649 254572009-06-11 Felix Zielcke <fzielcke@z-51.de>
25458
25459 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
25460
7d83bd47 254612009-06-11 Pavel Roskin <proski@gnu.org>
25462
c1cb63ba 25463 * Makefile.in: Don't rely on any scripts being executable.
25464 Always use $(SHELL) to run shell scripts.
25465
7d83bd47 25466 * configure.ac: Always define ___main if using -nostdlib. This
25467 fixes tests on Cygwin.
25468
948f48e7 254692009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
25470
25471 UDF fix
25472
7d83bd47 25473 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 25474 is in bytes and not in blocks
7d83bd47 25475
8ada9bc1 254762009-06-11 Pavel Roskin <proski@gnu.org>
25477
25478 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
25479 warning.
25480
25ad2323 254812009-06-11 Felix Zielcke <fzielcke@z-51.de>
25482
25483 * util/grub.d/30_os-prober.in: Fix a comment. Source
25484 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
25485 to set the root device. Place drivemap command in the generated
25486 chain entry.
25487
e65acb0c 254882009-06-11 Pavel Roskin <proski@gnu.org>
25489
25490 * configure.ac: Remove host_m32. Issues with 64-bit utilities
25491 have long been resolved.
25492
f285fe2d 254932009-06-11 Colin Watson <cjwatson@ubuntu.com>
25494
bd47b0b5 25495 * util/grub.d/10_linux.in: Capitalise "Linux".
25496
f285fe2d 25497 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
25498
a0c62e4e 254992009-06-11 Pavel Roskin <proski@gnu.org>
25500
b6783cb2 25501 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
25502 fix a gcc warning and ensure that the function won't ever exit.
25503
dde032e8 25504 * kern/i386/ieee1275/init.c: Add missing prototype for
25505 grub_stop_floppy().
25506
22cd079d 25507 * loader/ieee1275/multiboot2.c [__i386__]: Include
25508 grub/cpu/multiboot.h.
25509
a0c62e4e 25510 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
25511 casts to short - they are not portable and cause warnings. Fix
25512 use of uninitialized values in input_buf. Use ARRAY_SIZE.
25513
63963d17 255142009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
25515
25516 Drivemap fixes
25517
25518 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
25519 new function
25520 (grub_get_root_biosnumber_saved): new variable
25521 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
25522 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 25523 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 25524 %dx after the call if necessary
25525 * conf/common.rmk (pkglib_MODULES): remove boot.mod
25526 (boot_mod_SOURCES): remove
25527 (boot_mod_CFLAGS): remove
25528 (boot_mod_LDFLAGS): remove
25529 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
25530 (boot_mod_SOURCES): new variable
25531 (boot_mod_CFLAGS): likewise
25532 (boot_mod_LDFLAGS): likewise
25533 * conf/i386-efi.rmk: likewise
25534 * conf/i386-ieee1275.rmk: likewise
25535 * conf/i386-pc.rmk: likewise
25536 * conf/powerpc-ieee1275.rmk: likewise
25537 * conf/sparc64-ieee1275.rmk: likewise
25538 * conf/x86_64-efi.rmk: likewise
25539 * include/grub/i386/pc/biosnum.h: new file
25540 * lib/i386/pc/biosnum.c: likewise
25541 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
25542 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
25543 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 25544
33abf7ae 255452009-06-10 Pavel Roskin <proski@gnu.org>
25546
5ac35b35 25547 * io/gzio.c (test_header): Don't reuse one buffer for all data.
25548 Use separate variables. Read only the file size at the end, but
25549 not the checksum that we don't use.
25550
5c5215d5 25551 * kern/file.c (grub_file_read): Use void pointer for the buffer.
25552 Adjust all callers.
25553
27d5fef7 25554 * kern/ieee1275/openfw.c: Remove libc includes.
25555 * kern/ieee1275/cmain.c: Likewise.
25556 * include/grub/ieee1275/ieee1275.h: Likewise.
25557
33abf7ae 25558 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
25559 compiler warnings.
25560
19d50c2b 255612009-06-10 Felix Zielcke <fzielcke@z-51.de>
25562
25563 * Makefile.in: Remove all trailing whitespace.
25564 * conf/i386-pc.rmk: Likewise.
25565 * conf/powerpc-ieee1275.rmk: Likewise.
25566 * conf/sparc64-ieee1275.rmk: Likewise.
25567 * docs/grub.texi: Likewise.
25568 * docs/texinfo.tex: Likewise.
25569 * disk/fs_uuid.c: Likewise.
25570 * disk/lvm.c: Likewise.
25571 * disk/scsi.c: Likewise.
25572 * disk/ata.c: Likewise.
25573 * disk/ieee1275/ofdisk.c: Likewise.
25574 * disk/i386/pc/biosdisk.c: Likewise.
25575 * disk/host.c: Likewise.
25576 * disk/raid.c: Likewise.
25577 * disk/efi/efidisk.c: Likewise.
25578 * disk/usbms.c: Likewise.
25579 * disk/memdisk.c: Likewise.
25580 * disk/loopback.c: Likewise.
25581 * kern/powerpc/dl.c: Likewise.
25582 * kern/device.c: Likewise.
25583 * kern/dl.c: Likewise.
25584 * kern/sparc64/dl.c: Likewise.
25585 * kern/ieee1275/ieee1275.c: Likewise.
25586 * kern/term.c: Likewise.
25587 * kern/fs.c: Likewise.
25588 * kern/i386/dl.c: Likewise.
25589 * kern/i386/pc/startup.S: Likewise.
25590 * kern/i386/pc/init.c: Likewise.
25591 * kern/i386/pc/mmap.c: Likewise.
25592 * kern/i386/pc/lzo1x.S: Likewise.
25593 * kern/i386/ieee1275/init.c: Likewise.
25594 * kern/i386/realmode.S: Likewise.
25595 * kern/i386/tsc.c: Likewise.
25596 * kern/partition.c: Likewise.
25597 * kern/corecmd.c: Likewise.
25598 * kern/file.c: Likewise.
25599 * kern/efi/efi.c: Likewise.
25600 * kern/efi/init.c: Likewise.
25601 * kern/efi/mm.c: Likewise.
25602 * kern/main.c: Likewise.
25603 * kern/err.c: Likewise.
25604 * kern/env.c: Likewise.
25605 * kern/disk.c: Likewise.
25606 * kern/generic/millisleep.c: Likewise.
25607 * kern/generic/rtc_get_time_ms.c: Likewise.
25608 * kern/misc.c: Likewise.
25609 * kern/parser.c: Likewise.
25610 * genmk.rb: Likewise.
25611 * configure.ac: Likewise.
25612 * boot/i386/pc/diskboot.S: Likewise.
25613 * boot/i386/pc/pxeboot.S: Likewise.
25614 * boot/i386/pc/boot.S: Likewise.
25615 * boot/i386/pc/lnxboot.S: Likewise.
25616 * boot/i386/pc/cdboot.S: Likewise.
25617 * parttool/pcpart.c: Likewise.
25618 * video/readers/tga.c: Likewise.
25619 * video/video.c: Likewise.
25620 * video/bitmap.c: Likewise.
25621 * lib/envblk.c: Likewise.
25622 * lib/i386/setjmp.S: Likewise.
25623 * fs/xfs.c: Likewise.
25624 * fs/afs.c: Likewise.
25625 * fs/fat.c: Likewise.
25626 * fs/ntfs.c: Likewise.
25627 * fs/udf.c: Likewise.
25628 * fs/affs.c: Likewise.
25629 * fs/iso9660.c: Likewise.
25630 * fs/hfs.c: Likewise.
25631 * fs/fshelp.c: Likewise.
25632 * fs/ext2.c: Likewise.
25633 * fs/jfs.c: Likewise.
25634 * fs/reiserfs.c: Likewise.
25635 * fs/hfsplus.c: Likewise.
25636 * fs/minix.c: Likewise.
25637 * fs/cpio.c: Likewise.
25638 * fs/sfs.c: Likewise.
25639 * fs/ufs.c: Likewise.
25640 * efiemu/prepare.c: Likewise.
25641 * efiemu/loadcore_common.c: Likewise.
25642 * efiemu/runtime/efiemu.sh: Likewise.
25643 * efiemu/runtime/efiemu.S: Likewise.
25644 * efiemu/runtime/efiemu.c: Likewise.
25645 * efiemu/pnvram.c: Likewise.
25646 * efiemu/main.c: Likewise.
25647 * efiemu/i386/pc/cfgtables.c: Likewise.
25648 * efiemu/i386/loadcore64.c: Likewise.
25649 * efiemu/i386/loadcore32.c: Likewise.
25650 * efiemu/loadcore.c: Likewise.
25651 * efiemu/symbols.c: Likewise.
25652 * efiemu/mm.c: Likewise.
25653 * include/grub/autoefi.h: Likewise.
25654 * include/grub/datetime.h: Likewise.
25655 * include/grub/term.h: Likewise.
25656 * include/grub/hfs.h: Likewise.
25657 * include/grub/lvm.h: Likewise.
25658 * include/grub/i386/tsc.h: Likewise.
25659 * include/grub/i386/linux.h: Likewise.
25660 * include/grub/i386/xnu.h: Likewise.
25661 * include/grub/i386/efiemu.h: Likewise.
25662 * include/grub/i386/pc/biosdisk.h: Likewise.
25663 * include/grub/i386/pc/memory.h: Likewise.
25664 * include/grub/i386/pc/vbe.h: Likewise.
25665 * include/grub/parttool.h: Likewise.
25666 * include/grub/video.h: Likewise.
25667 * include/grub/memory.h: Likewise.
25668 * include/grub/fs.h: Likewise.
25669 * include/grub/partition.h: Likewise.
25670 * include/grub/xnu.h: Likewise.
25671 * include/grub/efi/api.h: Likewise.
25672 * include/grub/efi/pe32.h: Likewise.
25673 * include/grub/efi/memory.h: Likewise.
25674 * include/grub/multiboot.h: Likewise.
25675 * include/grub/usbdesc.h: Likewise.
25676 * include/grub/multiboot2.h: Likewise.
25677 * include/grub/acpi.h: Likewise.
25678 * include/grub/efiemu/efiemu.h: Likewise.
25679 * include/grub/disk.h: Likewise.
25680 * include/grub/ieee1275/ieee1275.h: Likewise.
25681 * include/grub/net.h: Likewise.
25682 * include/grub/machoload.h: Likewise.
25683 * include/grub/macho.h: Likewise.
25684 * include/multiboot.h: Likewise.
25685 * genmoddep.awk: Likewise.
25686 * normal/main.c: Likewise.
25687 * normal/menu_entry.c: Likewise.
25688 * normal/menu_viewer.c: Likewise.
25689 * normal/completion.c: Likewise.
25690 * normal/cmdline.c: Likewise.
25691 * normal/misc.c: Likewise.
25692 * normal/datetime.c: Likewise.
25693 * bus/usb/usbtrans.c: Likewise.
25694 * bus/usb/ohci.c: Likewise.
25695 * bus/usb/uhci.c: Likewise.
25696 * bus/usb/usb.c: Likewise.
25697 * mmap/efi/mmap.c: Likewise.
25698 * mmap/i386/pc/mmap_helper.S: Likewise.
25699 * mmap/i386/pc/mmap.c: Likewise.
25700 * mmap/i386/mmap.c: Likewise.
25701 * mmap/i386/uppermem.c: Likewise.
25702 * mmap/mmap.c: Likewise.
25703 * commands/acpi.c: Likewise.
25704 * commands/echo.c: Likewise.
25705 * commands/blocklist.c: Likewise.
25706 * commands/loadenv.c: Likewise.
25707 * commands/usbtest.c: Likewise.
25708 * commands/boot.c: Likewise.
25709 * commands/parttool.c: Likewise.
25710 * commands/search.c: Likewise.
25711 * commands/cat.c: Likewise.
25712 * commands/i386/pc/play.c: Likewise.
25713 * commands/i386/pc/drivemap.c: Likewise.
25714 * commands/i386/pc/vbeinfo.c: Likewise.
25715 * commands/i386/pc/acpi.c: Likewise.
25716 * commands/i386/pc/vbetest.c: Likewise.
25717 * commands/ls.c: Likewise.
25718 * commands/cmp.c: Likewise.
25719 * commands/test.c: Likewise.
25720 * commands/efi/acpi.c: Likewise.
25721 * commands/gptsync.c: Likewise.
25722 * commands/help.c: Likewise.
25723 * partmap/amiga.c: Likewise.
25724 * partmap/apple.c: Likewise.
25725 * partmap/acorn.c: Likewise.
25726 * partmap/pc.c: Likewise.
25727 * partmap/sun.c: Likewise.
25728 * partmap/gpt.c: Likewise.
25729 * script/sh/lexer.c: Likewise.
25730 * script/sh/function.c: Likewise.
25731 * font/font.c: Likewise.
25732 * font/font_cmd.c: Likewise.
25733 * loader/powerpc/ieee1275/linux.c: Likewise.
25734 * loader/efi/chainloader.c: Likewise.
25735 * loader/multiboot_loader.c: Likewise.
25736 * loader/macho.c: Likewise.
25737 * loader/i386/multiboot.c: Likewise.
25738 * loader/i386/linux.c: Likewise.
25739 * loader/i386/pc/linux.c: Likewise.
25740 * loader/i386/pc/multiboot2.c: Likewise.
25741 * loader/i386/pc/chainloader.c: Likewise.
25742 * loader/i386/pc/xnu.c: Likewise.
25743 * loader/i386/bsd_trampoline.S: Likewise.
25744 * loader/i386/efi/linux.c: Likewise.
25745 * loader/i386/multiboot_elfxx.c: Likewise.
25746 * loader/i386/bsd_helper.S: Likewise.
25747 * loader/i386/bsd.c: Likewise.
25748 * loader/i386/linux_trampoline.S: Likewise.
25749 * loader/i386/xnu_helper.S: Likewise.
25750 * loader/i386/xnu.c: Likewise.
25751 * loader/i386/bsd_pagetable.c: Likewise.
25752 * loader/i386/multiboot_helper.S: Likewise.
25753 * loader/xnu.c: Likewise.
25754 * loader/xnu_resume.c: Likewise.
25755 * io/gzio.c: Likewise.
25756 * term/efi/console.c: Likewise.
25757 * term/terminfo.c: Likewise.
25758 * term/ieee1275/ofconsole.c: Likewise.
25759 * term/i386/pc/serial.c: Likewise.
25760 * term/i386/pc/vesafb.c: Likewise.
25761 * term/i386/pc/vga.c: Likewise.
25762 * term/usb_keyboard.c: Likewise.
25763 * term/gfxterm.c: Likewise.
25764 * aclocal.m4: Likewise.
25765 * util/lvm.c: Likewise.
25766 * util/grub.d/30_os-prober.in: Likewise.
25767 * util/grub.d/10_hurd.in: Likewise.
25768 * util/console.c: Likewise.
25769 * util/grub-macho2img.c: Likewise.
25770 * util/grub-probe.c: Likewise.
25771 * util/hostfs.c: Likewise.
25772 * util/i386/pc/grub-mkimage.c: Likewise.
25773 * util/i386/pc/grub-setup.c: Likewise.
25774 * util/i386/efi/grub-mkimage.c: Likewise.
25775 * util/grub-mkconfig.in: Likewise.
25776 * util/raid.c: Likewise.
25777 * util/resolve.c: Likewise.
25778 * util/grub-mkdevicemap.c: Likewise.
25779 * util/grub-emu.c: Likewise.
25780 * util/getroot.c: Likewise.
25781 * util/hostdisk.c: Likewise.
25782 * util/usb.c: Likewise.
25783 * util/grub-editenv.c: Likewise.
25784 * util/misc.c: Likewise.
25785
d2d49665 257862009-06-10 Felix Zielcke <fzielcke@z-51.de>
25787
25788 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
25789 `genparttoollist.sh'.
25790 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
25791 Add `*.sh' to the list find searches for and change `mdate.sh'
25792 to `mdate-sh'.
25793
fe052e37 257942009-06-10 Pavel Roskin <proski@gnu.org>
25795
2763ac18 25796 * include/grub/multiboot2.h: Provide compatibility defines for
25797 multiboot2.h.
25798 * include/multiboot2.h: Include stdint.h only if needed, using
25799 angle brackets.
25800 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
25801 grub/multiboot2.h.
25802 * loader/ieee1275/multiboot2.c: Likewise.
25803 * loader/multiboot2.c: Likewise.
25804 * loader/multiboot_loader.c: Likewise.
25805
437e6adc 25806 * configure.ac: Use -nostdlib when probing for the target. It
25807 should not be required to have libc for the target.
25808
06a6836c 25809 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
25810 they fail without libc headers for the target.
25811 * include/grub/powerpc/libgcc.h: Use weak attribute for all
25812 exports.
25813 * include/grub/sparc64/libgcc.h: Likewise. Don't use
25814 preprocessor conditionals.
25815
fe052e37 25816 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
25817 build system doesn't need to be aware of the tar.c internals.
25818
afd22553 258192009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 25820
afd22553 25821 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 25822
6b787c4f 258232009-06-09 Robert Millan <rmh.grub@aybabtu.com>
25824
25825 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
25826 disk limit to 26 for IDE, Virtio, Xen and SCSI.
25827
258282009-06-09 Felix Zielcke <fzielcke@z-51.de>
25829
25830 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 25831 aren't available if ata.mod gets used.
6b787c4f 25832
473d1e45 258332009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 25834
473d1e45 25835 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 25836 initialising controller.
473d1e45 25837 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 25838
255a27d4 258392009-06-08 Felix Zielcke <fzielcke@z-51.de>
25840
25841 * util/i386/pc/grub-install.in: Add a parameter --disk-module
25842 to choose between ata and biosdisk module on i386-pc.
25843
473d1e45 258442009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 25845
d55842d8 25846 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
25847 Subclass and Programming Interface fields in terms of the 3 byte
25848 Class Code register.
25849 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
25850
fa5db0b1 25851 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
25852 interface is OHCI. Add grub_dprintf for symmetry with
25853 bus/usb/uhci.c.
25854 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
25855 interface is UHCI. Add interf variable for programming
25856 interface. Print interface with class/subclass.
25857
c0947beb 25858 * bus/usb/ohci.c: Set interf with correct field.
25859
69da8877 25860 * bus/usb/uhci.c: Remove unneeded doubled lines.
25861 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
25862 Remove whitespace inside comment.
25863
9e172e30 258642009-06-08 Robert Millan <rmh.grub@aybabtu.com>
25865
25866 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
25867 as fallback an equivalent option without depth.
25868
de65ee2b 258692009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
25870
25871 Not fail if unable to retrieve C/H/S on LBA disks
25872
473d1e45 25873 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 25874 if unable to retrieve C/H/S on LBA disks
25875
b57ea2c9 258762009-06-08 Pavel Roskin <proski@gnu.org>
25877
25878 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
25879 about aliasing.
25880
af361263 258812009-06-08 Felix Zielcke <fzielcke@z-51.de>
25882
25883 * Makefile.in (uninstall): Remove all $lib_DATA files.
25884
4c9ec6b3 258852009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
25886
25887 Bugfix: install on partitionless device
25888
25889 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
25890 is a whole disk
25891
e76fc924 258922009-06-08 Felix Zielcke <fzielcke@z-51.de>
25893
25894 * Makefile.in (uninstall): Remove all $include_DATA files.
25895
ba5a0d05 258962009-06-08 Felix Zielcke <fzielcke@z-51.de>
25897
25898 * commands/true.c: New file. Implement the true and false commands.
25899 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
25900 (true_mod_SOURCES): New variable.
25901 (true_mod_CFLAGS): Likewise.
25902 (true_mod_LDFLAGS): Likewise.
25903
c8048e32 259042009-06-05 Colin D Bennett <colin@gibibit.com>
25905
25906 Optimized font character lookup using binary search instead of linear
25907 search. Fonts now are required to have the character index ordered by
25908 code point.
25909
25910 * font/font.c (load_font_index): Verify that fonts have ordered
25911 character indices.
25912 (find_glyph): Use binary search instead of linear search to find a
25913 character in a font.
25914
408305be 259152009-06-05 Michael Scherer <misc@mandriva.org>
25916
25917 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
25918 uses case sensitive btree.
25919 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
25920 only for case insensitive filesystems.
25921
8ee1e0d9 259222009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
25923
25924 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
25925 * conf/common.rmk (search_mod_CFLAGS): likewise
25926
a9966eb1 259272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25928
473d1e45 25929 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 25930 compensate a compiler bug
25931
9e7100fb 259322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25933
473d1e45 25934 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 25935 instead of '\b'
473d1e45 25936
ede21d71 259372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25938
25939 Definitions for creating asm symbols with Apple's CC
25940
25941 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
25942 [APPLE_CC] (VARIABLE): likewise
25943
9dbf7653 259442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25945
25946 Disable lnxboot.img when compiled
25947 with Apple's CC
25948
25949 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
25950 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
25951 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
25952 [! APPLE_CC] (CODE_LENG): skip
25953 [! APPLE_CC] (setup_sects): likewise
25954 [! APPLE_CC]: skip filling
473d1e45 25955
e93cdc3d 259562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25957
25958 Address in trampolines based on 32-bit registers when compiled
25959 with Apple's CC
25960
473d1e45 25961 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 25962 for addresses
25963 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
25964
6c688477 259652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25966
25967 Avoid aliases when compiling with Apple's CC for PCBIOS machine
25968
25969 * kern/misc.c [APPLE_CC] (memcpy): new function
25970 [APPLE_CC] (memmove): likewise
25971 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 25972 (memcpy): define alias conditionally on !APPLE_CC
6c688477 25973 (memset): likewise
25974 (abort): likewise
25975 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
25976 APPLE_CC are defined
25977 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
25978 (grub_assert_fail): make prototype conditional
25979
e37ffc5c 259802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25981
25982 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
25983
473d1e45 25984 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
25985 grub-macho2img
e37ffc5c 25986 (CLEANFILES): add grub-macho2img
25987 (grub_macho2img_SOURCES): new variable
25988 * kern/i386/pc/startup.S (bss_start): new variable
25989 (bss_end): likewise
25990 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
25991 * util/grub-macho2img.c: new file
25992
cf00df31 259932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25994
25995 Use objconv when compiling with Apple's CC
25996
25997 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
25998 (efiemu64.o): likewise
25999 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
26000 when compiling with Apple's CC
26001 (efiemu64_s.o): likewise
26002 * configure.ac: check for objconv when compiling with Apple's CC
26003 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 26004
d119a20c 260052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26006
26007 Define segment as well as section when compiling with
26008 Apple's CC
26009
26010 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
26011 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
26012 (efiemu_convert_pointer): likewise
26013 (efiemu_set_virtual_address_map): likewise
26014 (efiemu_convert_pointer): likewise
26015 (efiemu_getcrc32): likewise
26016 (init_crc32_table): likewise
26017 (reflect): likewise
26018 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
26019 (GRUB_MOD_DEP): likewise
473d1e45 26020
c8600122 260212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26022
26023 Allow a compilation without -mcmodel=large
26024
26025 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
26026 when compiled without -mcmodel=large
473d1e45 26027 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 26028 without -mcmodel=large
473d1e45 26029 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 26030 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 26031
e8df1d4e 260322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26033
26034 Remove nested functions in efiemu core
26035
26036 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 26037
cc6c3ac1 260382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26039
26040 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
26041
26042 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
26043 temporary storage
473d1e45 26044 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
26045 using Apple's CC
cc6c3ac1 26046 (grub_cpu_is_tsc_supported): likewise
26047 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 26048
3e325901 260492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26050
26051 Absolute addressing through constant with Apple's cc
26052
26053 * kern/i386/pc/startup.S: Define necessary constants
26054 and address through it when using ABS with Apple's CC
26055 * boot/i386/pc/diskboot.S: likewise
26056 * boot/i386/pc/boot.S: likewise
26057 * boot/i386/pc/lnxboot.S: likewise
26058 * boot/i386/pc/cdboot.S: likewise
26059 * mmap/i386/pc/mmap_helper.S: likewise
26060 * commands/i386/pc/drivemap_int13h.S: likewise
26061
2b167a72 260622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26063
26064 Check if compiler is apple cc
26065
26066 * Makefile.in (ASFLAGS): new variable
26067 (TARGET_ASFLAGS): likewise
26068 (TARGET_MODULE_FORMAT): likewise
26069 (TARGET_APPLE_CC): likewise
26070 (OBJCONV): likewise
26071 (TARGET_IMG_CFLAGS): likewise
26072 (TARGET_CPPFLAGS): add includedir
26073 * configure.ac: call grub_apple_cc and grub_apple_target_cc
26074 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
26075 Check for linker script only if compiler isn't Apple's CC
26076 (TARGET_MODULE_FORMAT): set
26077 (TARGET_APPLE_CC): likewise
26078 (TARGET_ASFLAGS): likewise
26079 (ASFLAGS): likewise
26080 Check for objcopy only if compiler isn't Apple's CC
26081 Check for BSS symbol only if compiler isn't Apple's CC
26082 * genmk.rb: adapt nm options if we use Apple's utils
26083 * aclocal.m4 (grub_apple_cc): new test
26084 (grub_apple_target_cc): likewise
473d1e45 26085
fb14123e 260862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26087
26088 Simplify sed expressions and improve awk
26089
26090 * Makefile.in (install-local): simplify sed expression
26091 * gencmdlist.sh: likewise
26092 * genmoddep.awk: avoid adding module as a dependency of itself
26093
5b889789 260942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26095
26096 Add missing start symbols
26097
26098 * boot/i386/pc/boot.S: add start
fb14123e 26099 * boot/i386/pc/pxeboot.S: likewise
473d1e45 26100
fd2bf2e3 261012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26102
26103 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 26104
26105 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 26106 (relocate_addresses): consider both r_addend and value at offset
26107 (make_mods_section): zerofill modinfo and header
26108 (convert_elf): write prefix here
473d1e45 26109
5389763d 261102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26111
26112 Use .asciz instead of .string
26113
26114 * i386/pc/diskboot.S: use .asciz instead of .string
26115 * i386/pc/boot.S: likewise
26116 * include/grub/dl.h (GRUB_MOD_DEP): likewise
26117 (GRUB_MOD_NAME): likewise
473d1e45 26118
3eb5ed4e 261192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26120
26121 gfxpayload support
26122
26123 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
26124 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
26125 (grub_video_setup): remove
26126 (grub_video_set_mode): new prototype
26127 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
26128 (vid_mode): remove
26129 (linux_vesafb_res): compile only on PCBIOS
26130 (grub_linux_boot): support gfxpayload
26131 * loader/i386/pc/xnu.c (video_hook): new function
26132 (grub_xnu_set_video): support gfxpayload
26133 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
26134 (DEFAULT_VIDEO_HEIGHT): likewise
26135 (DEFAULT_VIDEO_FLAGS): likewise
26136 (DEFAULT_VIDEO_MODE): new definition
26137 (video_hook): new function
26138 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 26139 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 26140 loading xnu
26141 * video/video.c (grub_video_setup): removed
473d1e45 26142 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 26143 grub_video_setup
26144
4b0e1143 261452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26146
26147 Avoid calling biosdisk in drivemap
26148
26149 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
26150 (revparse_biosdisk): likewise
26151 (list_mappings): derive name from id directly
26152 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 26153
fda6cb98 261542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26155
26156 Script fixes
26157
26158 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
26159 (grub_lexer_param): add tokenonhold
26160 (grub_script_create_cmdline): remove cmdline. All callers updated
26161 (grub_script_function_create): make functionname
26162 grub_script_arg. All callers updated
26163 (grub_script_execute_argument_to_string): new prototype
26164 * kern/parser.c (state_transitions): reorder
26165 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 26166 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 26167 make global
26168 (grub_script_execute_cmdline): use new format
26169 * script/sh/function.c (grub_script_function_create): make functionname
26170 grub_script_arg. All callers updated
473d1e45 26171 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 26172 (grub_script_yylex): remove
26173 (grub_script_yylex2): renamed to ...
26174 (grub_script_yylex): ...renamed
26175 parse the expressions like a${b}c
26176 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
26177 (GRUB_PARSER_TOKEN_VAR): remove
26178 (GRUB_PARSER_TOKEN_NAME): likewise
26179 ("if"): declare as typeless
26180 ("while"): likewise
26181 ("function"): likewise
26182 ("else"): likewise
26183 ("then"): likewise
26184 ("fi"): likewise
26185 (text): remove
26186 (argument): likewise
26187 (script): accept empty scripts and make exit on error
26188 (arguments): use GRUB_PARSER_TOKEN_ARG
26189 (function): likewise
26190 (command): move error handling to script
26191 (menuentry): move grub_script_lexer_ref before
473d1e45 26192 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 26193 argument. All callers updated
26194
f4448a07 261952009-06-04 Robert Millan <rmh.grub@aybabtu.com>
26196
26197 Prevent GRUB from probing floppies during boot.
26198
26199 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
26200 * commands/search.c (options): Add --no-floppy.
26201 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
26202 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
26203 --no-floppy when searching for UUIDs.
26204
2bf5885a 262052009-06-04 Robert Millan <rmh.grub@aybabtu.com>
26206
26207 Simplify the code duplication in commands/search.c.
26208
26209 * commands/search.c (search_label, search_fs_uuid): Merge into ...
26210 (search_fs): ... this. Update all users.
26211
f6fd460a 262122009-06-03 Felix Zielcke <fzielcke@z-51.de>
26213
26214 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
26215
cbb3c83e 262162009-05-28 Pavel Roskin <proski@gnu.org>
26217
57788cfd 26218 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
26219 Remove the original symlink explicitly.
26220
cbb3c83e 26221 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
26222 just one slash. That's how grub_fshelp_find_file() does it.
26223
cd0d5e30 262242009-05-26 Pavel Roskin <proski@gnu.org>
26225
f0f8bbe2 26226 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
26227 to `str'.
26228
cd0d5e30 26229 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
26230 possibly unused.
26231
8c2cab51 262322009-05-25 Christian Franke <franke@computer.org>
26233
26234 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
26235 register.
26236 (grub_atapi_identify): Add wait after drive select.
26237 (grub_ata_identify): Do more strict status register check before
26238 calling grub_atapi_identify (). Suppress error message if status
26239 register is 0x00 after command failure. Add status register
26240 check after PIO read to avoid bogus identify due to stuck DRQ.
26241 Thanks to Pavel Roskin for testing.
26242 (grub_device_initialize): Remove unsafe status register check.
26243 Thanks to 'phcoder' for problem report and patch.
26244 Prevent sign extension in debug message.
26245
230c0ad6 262462009-05-23 Colin D Bennett <colin@gibibit.com>
26247
26248 Cleaned up `include/grub/normal.h'. Grouped prototypes by
26249 definition file, and functions defined in `normal/menu.c' have had
26250 their prototypes moved to `include/grub/menu.h' for consistency.
26251
26252 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
26253 from normal.h.
26254 (grub_menu_get_entry): Likewise.
26255 (grub_menu_get_timeout): Likewise.
26256 (grub_menu_set_timeout): Likewise.
26257 (grub_menu_execute_entry): Likewise.
26258 (grub_menu_execute_with_fallback): Likewise.
26259 (grub_menu_entry_run): Likewise.
26260
26261 * include/grub/normal.h: Re-ordered and grouped function
26262 prototypes by file that the function is defined in.
26263 (grub_menu_execute_callback): Removed; moved to menu.h.
26264 (grub_menu_get_entry): Likewise.
26265 (grub_menu_get_timeout): Likewise.
26266 (grub_menu_set_timeout): Likewise.
26267 (grub_menu_execute_entry): Likewise.
26268 (grub_menu_execute_with_fallback): Likewise.
26269 (grub_menu_entry_run): Likewise.
26270 (grub_menu_addentry): Renamed from this ...
26271 (grub_normal_add_menu_entry): ... to this.
26272
26273 * normal/main.c (grub_menu_addentry): Renamed from this ...
26274 (grub_normal_add_menu_entry): ... to this.
26275
26276 * script/sh/execute.c (grub_script_execute_menuentry): Update
26277 reference to renamed grub_menu_addentry function.
26278
861f03a5 262792009-05-23 Felix Zielcke <fzielcke@z-51.de>
26280
26281 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
26282
96b1619a 262832009-05-22 Pavel Roskin <proski@gnu.org>
26284
bf6a5fb2 26285 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
26286 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
26287 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
26288 compiling for the i386 targets, but not for the utilities.
26289
96b1619a 26290 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
26291 to grub_uint8_t.
26292 (grub_root_drive): Likewise.
26293 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
26294 remove alignment.
26295 (grub_root_drive): Change size to byte.
26296 (grub_start_addr): Remove.
26297 (grub_end_addr): Likewise.
26298 (grub_apm_bios_info): Likewise.
26299
b729776b 263002009-05-21 Felix Zielcke <fzielcke@z-51.de>
26301
26302 * normal/i386: Remove.
26303 * normal/powerpc: Likewise.
26304 * normal/sparc64: Likewise.
26305 * normal/x86_64: Likewise.
26306
0a15ce80 263072009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
26308
26309 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 26310 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 26311 * loader/i386/xnu_helper.S: Likewise
d6da58e6 26312
33db9015 263132009-05-18 Colin D Bennett <colin@gibibit.com>
26314
d6da58e6 26315 Display error messages when parsing a Lua statement fails.
26316 Previously, executing a syntactically invalid statement like
26317 ")foo" or "bar;" would silently fail.
33db9015 26318
26319 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 26320 (grub_lua_parse_line): Improved reporting of Lua parser and
26321 execution errors.
33db9015 26322
46422c89 263232009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26324
26325 Remove -Werror which causes build to fail on some systems
26326
26327 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
26328 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
26329 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 26330
22f53a96 263312009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26332
26333 trampoline for linux on 64-bit platform
26334
18f547ad 26335 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
26336 loader/i386/efi/linux_trampoline.S
26337 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 26338 declaration
d6da58e6 26339 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
26340 here
22f53a96 26341 * loader/i386/linux_trampoline.S: moved here
d6da58e6 26342 * loader/i386/efi/linux.c (allocate_pages): reserve space for
26343 trampoline
22f53a96 26344 (jumpvector): removed
26345 (grub_linux_trampoline_start): new declaration
26346 (grub_linux_trampoline_end): likewise
26347 (grub_linux_boot): use trampoline when on 64-bit platform
26348 * loader/i386/linux.c: likewise
26349
cb5a0f40 263502009-05-16 Pavel Roskin <proski@gnu.org>
26351
26352 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
26353 const to avoid a warning.
26354 (grub_lua_setenv): Likewise.
26355 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
26356 lmsg to fix a warning.
26357
334f2c28 263582009-05-16 Felix Zielcke <fzielcke@z-51.de>
26359
26360 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 26361 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
26362 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
26363 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
26364 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
26365 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
26366 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
26367 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 26368
59e5d3ec 263692009-05-16 Felix Zielcke <fzielcke@z-51.de>
26370
26371 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
26372
9d87a1ba 263732009-05-16 Bean <bean123ch@gmail.com>
26374
26375 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
26376 (lua_mod_SOURCES): New variable.
26377 (lua_mod_CFLAGS): Likewise.
26378 (lua_mod_LDFLAGS): Likewise.
26379
26380 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
26381 (setjmp_mod_SOURCES): New variable.
26382 (setjmp_mod_CFLAGS): Likewise.
26383 (setjmp_LDFLAGS): Likewise.
26384
26385 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
26386 (setjmp_mod_SOURCES): New variable.
26387 (setjmp_mod_CFLAGS): Likewise.
26388 (setjmp_LDFLAGS): Likewise.
26389
26390 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
26391 (setjmp_mod_SOURCES): New variable.
26392 (setjmp_mod_CFLAGS): Likewise.
26393 (setjmp_LDFLAGS): Likewise.
26394
26395 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
26396 (setjmp_mod_SOURCES): New variable.
26397 (setjmp_mod_CFLAGS): Likewise.
26398 (setjmp_LDFLAGS): Likewise.
26399
26400 * normal/i386/setjmp.S: Moved from here ...
26401 * lib/i386/setjmp.S: ... Moved here
26402 * normal/x86_64/setjmp.S: Moved from here ...
26403 * lib/x86_64/setjmp.S: ... Moved here
26404 * normal/powerpc/setjmp.S: Moved from here ...
26405 * lib/powerpc/setjmp.S: ... Moved here
26406 * normal/sparc64/setjmp.S: Moved from here ...
26407 * lib/sparc64/setjmp.S: ... Moved here
26408
26409 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
26410 returns_twice in mingw.
26411
26412 * script/lua/grub_lib.c: New file.
26413 * script/lua/grub_lib.h: Likewise.
26414 * script/lua/grub_lua.h: Likewise.
26415 * script/lua/grub_main.c: Likewise.
26416 * script/lua/lapi.c: Likewise.
26417 * script/lua/lapi.h: Likewise.
26418 * script/lua/lauxlib.c: Likewise.
26419 * script/lua/lauxlib.h: Likewise.
26420 * script/lua/lbaselib.c: Likewise.
26421 * script/lua/lcode.c: Likewise.
26422 * script/lua/lcode.h: Likewise.
26423 * script/lua/ldblib.c: Likewise.
26424 * script/lua/ldebug.c: Likewise.
26425 * script/lua/ldebug.h: Likewise.
26426 * script/lua/ldo.c: Likewise.
26427 * script/lua/ldo.h: Likewise.
26428 * script/lua/ldump.c: Likewise.
26429 * script/lua/lfunc.c: Likewise.
26430 * script/lua/lfunc.h: Likewise.
26431 * script/lua/lgc.c: Likewise.
26432 * script/lua/lgc.h: Likewise.
26433 * script/lua/linit.c: Likewise.
26434 * script/lua/liolib.c: Likewise.
26435 * script/lua/llex.c: Likewise.
26436 * script/lua/llex.h: Likewise.
26437 * script/lua/llimits.h: Likewise.
26438 * script/lua/lmathlib.c: Likewise.
26439 * script/lua/lmem.c: Likewise.
26440 * script/lua/lmem.h: Likewise.
26441 * script/lua/loadlib.c: Likewise.
26442 * script/lua/lobject.c: Likewise.
26443 * script/lua/lobject.h: Likewise.
26444 * script/lua/lopcodes.c: Likewise.
26445 * script/lua/lopcodes.h: Likewise.
26446 * script/lua/loslib.c: Likewise.
26447 * script/lua/lparser.c: Likewise.
26448 * script/lua/lparser.h: Likewise.
26449 * script/lua/lstate.c: Likewise.
26450 * script/lua/lstate.h: Likewise.
26451 * script/lua/lstring.c: Likewise.
26452 * script/lua/lstring.h: Likewise.
26453 * script/lua/lstrlib.c: Likewise.
26454 * script/lua/ltable.c: Likewise.
26455 * script/lua/ltable.h: Likewise.
26456 * script/lua/ltablib.c: Likewise.
26457 * script/lua/ltm.c: Likewise.
26458 * script/lua/ltm.h: Likewise.
26459 * script/lua/lua.h: Likewise.
26460 * script/lua/luaconf.h: Likewise.
26461 * script/lua/lualib.h: Likewise.
26462 * script/lua/lundump.c: Likewise.
26463 * script/lua/lundump.h: Likewise.
26464 * script/lua/lvm.c: Likewise.
26465 * script/lua/lvm.h: Likewise.
26466 * script/lua/lzio.c: Likewise.
26467 * script/lua/lzio.h: Likewise.
26468
5e898c9d 264692009-05-16 Bean <bean123ch@gmail.com>
26470
26471 * include/grub/kernel.h (grub_module_header_types): Add type
26472 OBJ_TYPE_CONFIG.
26473
26474 * kern/main.c (grub_load_config): New function.
26475 (grub_main): Call grub_load_config to read boot config.
26476
26477 * grub-mkimage (generate_image): New parameter config_path.
26478 (options): New option --config.
26479 (main): Parse --config option, and pass it to generate_image.
26480
cf353a47 264812009-05-14 Christian Franke <franke@computer.org>
26482
26483 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
26484 This fixes build on Cygwin.
26485
3834887f 264862009-05-14 Pavel Roskin <proski@gnu.org>
26487
26488 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
26489 jump. This saves two bytes, so the typical case of 2 swapped
26490 drives would fit 32 bytes.
26491
8090fc01 264922009-05-13 Pavel Roskin <proski@gnu.org>
26493
ac963883 26494 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
26495 grub_uint32_t to avoid a warning.
26496
8090fc01 26497 * loader/i386/linux.c (allocate_pages): When assigning
26498 real_mode_mem, cast through grub_size_t to fix a warning. The
26499 code already makes sure that the value would fit a pointer.
26500 (grub_linux_setup_video): Cast render_target->data to
26501 grub_size_t to fix a warning.
26502
18f547ad 265032009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 26504
26505 * commands/i386/pc/drivemap.c: New file - implement drivemap
26506 command.
26507 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
26508 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
26509
6f6a8b28 265102009-05-13 Pavel Roskin <proski@gnu.org>
26511
26512 * util/i386/pc/grub-setup.c (setup): Remove unused variable
26513 embedding_area_exists.
26514
15fbf4c4 265152009-05-13 Robert Millan <rmh.grub@aybabtu.com>
26516
26517 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
26518 it easier to understand / work with.
59978c8a 26519 Improve warning messages for cases where there's no embedding area,
26520 or when it is too small (or core.img too large).
15fbf4c4 26521
238e871f 265222009-05-13 Pavel Roskin <proski@gnu.org>
26523
0ab3a9a4 26524 * loader/i386/pc/multiboot2.c: Add necessary includes for
26525 grub_multiboot2_real_boot().
26526
a2c8c5f8 26527 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
26528 PX record is always little-endian. We only need the lower 2
26529 bytes of the mode.
26530
faec96af 26531 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
26532 facilitate code reuse.
26533 (grub_cpio_mount): Use "struct head", not a char buffer. This
26534 fixes a warning reported by gcc 4.4.
26535
238e871f 26536 * kernel/disk.c (grub_disk_read): Use void pointer for the
26537 buffer.
26538 (grub_disk_write): Use const void pointer for the buffer.
26539 Adjust all callers. Remove unnecessary casts.
26540
901d2f0c 265412009-05-10 Robert Millan <rmh.grub@aybabtu.com>
26542
26543 * util/i386/pc/grub-install.in: Update copyright year.
26544
18f547ad 265452009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 26546
26547 gptsync
26548
26549 * commands/gptsync.c: new file
26550 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
26551 (gptsync_mod_SOURCES): new variable
26552 (gptsync_mod_CFLAGS): likewise
26553 (gptsync_mod_LDFLAGS): likewise
18f547ad 26554 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 26555 new definition
26556 (GRUB_PC_PARTITION_TYPE_HFS): likewise
26557 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
26558 * conf/i386-ieee1275.rmk: likewise
26559 * conf/i386-pc.rmk: likewise
26560 * conf/powerpc-ieee1275.rmk: likewise
26561
b4ba690a 265622009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
26563
26564 Fixed grub-emu
26565
26566 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
26567 (grub_dl_ref): likewise
26568
317e1a44 265692009-05-08 Robert Millan <rmh.grub@aybabtu.com>
26570
26571 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
26572 split in two functions (one for msdos and one for gpt).
26573
041b8094 265742009-05-08 Pavel Roskin <proski@gnu.org>
26575
752473c2 26576 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
26577 not modified.
26578
041b8094 26579 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
26580 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
26581 Initialize them with -1. Add sanity check for bad1. Eliminate
26582 nerr variable.
26583
172800ce 265842009-05-08 David S. Miller <davem@davemloft.net>
26585
26586 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
26587
29aa5e81 265882009-05-06 Robert Millan <rmh.grub@aybabtu.com>
26589
26590 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 26591 existence.
29aa5e81 26592
96613b62 265932009-05-05 Felix Zielcke <fzielcke@z-51.de>
26594
26595 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 26596 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 26597
eef73c8a 265982009-05-05 David S. Miller <davem@davemloft.net>
26599
26600 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
26601
119494b5 266022009-05-05 Pavel Roskin <proski@gnu.org>
26603
26604 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
26605 of grub_dl_ref() and grub_dl_unref().
26606 * commands/parttool.c: Remove preprocessor conditionals around
26607 grub_dl_ref() and grub_dl_unref().
26608 * fs/affs.c: Likewise.
26609 * fs/afs.c: Likewise.
26610 * fs/cpio.c: Likewise.
26611 * fs/ext2.c: Likewise.
26612 * fs/fat.c: Likewise.
26613 * fs/hfs.c: Likewise.
26614 * fs/hfsplus.c: Likewise.
26615 * fs/iso9660.c: Likewise.
26616 * fs/jfs.c: Likewise.
26617 * fs/minix.c: Likewise.
26618 * fs/ntfs.c: Likewise.
26619 * fs/reiserfs.c: Likewise.
26620 * fs/sfs.c: Likewise.
26621 * fs/udf.c: Likewise.
26622 * fs/ufs.c: Likewise.
26623 * fs/xfs.c: Likewise.
26624 * include/grub/dl.h: Likewise.
26625 * loader/xnu.c: Likewise.
26626
de5fd76e 266272009-05-04 Pavel Roskin <proski@gnu.org>
26628
26629 * commands/acpi.c: Remove unused variable my_mod.
26630 * partmap/amiga.c: Likewise.
26631 * partmap/apple.c: Likewise.
26632 * partmap/gpt.c: Likewise.
26633 * partmap/pc.c: Likewise.
26634 * partmap/sun.c: Likewise.
26635 * term/gfxterm.c: Likewise.
26636 * term/i386/pc/vesafb.c: Likewise.
26637 * term/i386/pc/vga.c: Likewise.
26638
983598ad 266392009-05-04 David S. Miller <davem@davemloft.net>
26640
26641 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
26642 pointer args to grub_ieee1275_get_property().
26643
8aadec43 26644 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
26645
9554b15e 26646 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
26647 devices, and do not traverse down under controller nodes.
26648
67e23c90 26649 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
26650 (grub_ofdisk_open): Use it to un-escape "," characters.
26651 * kern/disk.c (find_part_sep): New.
26652 (grub_disk_open): Use it to find the first non-escaped ','
26653 character in the disk name.
26654 * util/ieee1275/devicemap.c (escape_of_path): New.
26655 (grub_util_emit_devicemap_entry): Use it.
26656 * util/sparc64/ieee1275/grub-install.in: Update script to
26657 strip partition specifiers properly by not triggering on
26658 '\' escaped ',' characters.
26659
74bfdd2f 266602009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26661
26662 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
26663 to 0x300.
26664 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
26665 resolutions.
26666 (linux_vesafb_modes): Add a lot of additional modes to the list (based
26667 on documentation from Wikipedia).
26668
4241d2b1 266692009-05-04 Pavel Roskin <proski@gnu.org>
26670
26671 * disk/ata.c: Spelling fixes.
26672 * disk/raid.c: Likewise.
26673 * disk/usbms.c: Likewise.
26674 * disk/dmraid_nvidia.c: Likewise.
26675 * kern/ieee1275/openfw.c: Likewise.
26676 * kern/ieee1275/init.c: Likewise.
26677 * kern/ieee1275/cmain.c: Likewise.
26678 * boot/i386/pc/cdboot.S: Likewise.
26679 * video/readers/png.c: Likewise.
26680 * video/i386/pc/vbe.c: Likewise.
26681 * fs/udf.c: Likewise.
26682 * fs/hfs.c: Likewise.
26683 * fs/reiserfs.c: Likewise.
26684 * efiemu/runtime/efiemu.c: Likewise.
26685 * efiemu/main.c: Likewise.
26686 * efiemu/mm.c: Likewise.
26687 * include/grub/elf.h: Likewise.
26688 * include/grub/xnu.h: Likewise.
26689 * include/grub/usbdesc.h: Likewise.
26690 * include/grub/usb.h: Likewise.
26691 * include/grub/script_sh.h: Likewise.
26692 * include/grub/lib/LzmaEnc.h: Likewise.
26693 * include/grub/efiemu/efiemu.h: Likewise.
26694 * include/grub/command.h: Likewise.
26695 * normal/menu.c: Likewise.
26696 * normal/main.c: Likewise.
26697 * normal/datetime.c: Likewise.
26698 * bus/usb/uhci.c: Likewise.
26699 * mmap/i386/uppermem.c: Likewise.
26700 * mmap/mmap.c: Likewise.
26701 * commands/acpi.c: Likewise.
26702 * commands/test.c: Likewise.
26703 * partmap/apple.c: Likewise.
26704 * font/font.c: Likewise.
26705 * loader/sparc64/ieee1275/linux.c: Likewise.
26706 * loader/macho.c: Likewise.
26707 * loader/i386/bsd_trampoline.S: Likewise.
26708 * loader/i386/bsd.c: Likewise.
26709 * loader/xnu.c: Likewise.
26710 * term/i386/pc/vesafb.c: Likewise.
26711 * term/usb_keyboard.c: Likewise.
26712 * util/resolve.c: Likewise.
26713 * util/getroot.c: Likewise.
26714
0cfc0083 267152009-05-04 Felix Zielcke <fzielcke@z-51.de>
26716
26717 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
26718
7c1d00cd 267192009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26720
26721 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
26722 build error.
26723
b01f0548 267242009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26725
26726 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
26727 parameter only available on BIOS.
26728
ecc3eb22 267292009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
26730
26731 Removed wrong semicolon in declaration
26732
26733 * grub/misc.h (grub_dprintf): remove semicolon
26734
112972a9 267352009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26736
26737 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
26738 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
26739 is done by grub_cmd_linux() now).
26740 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
26741 restore video to text mode.
26742 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
26743 indicates lack of "vga=" parameter. "vga=0" is mapped to
26744 `GRUB_LINUX_VID_MODE_NORMAL'.
26745
afd5c115 267462009-05-04 Felix Zielcke <fzielcke@z-51.de>
26747
26748 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
26749 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
26750 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 26751 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 26752 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
26753 `grub_script.tab.c'.
26754
26755 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26756 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26757 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26758 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26759 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26760
faa517ce 26761 * Makefile.in: Remove duplicated 2008 in Copyright line.
26762
ae0c0bdc 267632009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26764
473d1e45 26765 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 26766 unconditionally.
26767 * include/grub/util/misc.h (grub_util_warn): New declaration.
26768
26769 * util/i386/pc/grub-install.in: Understand --force and pass it down
26770 to grub-setup.
26771
26772 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
26773 down to setup().
26774 (setup): Improve error messages and add warnings when requested to
26775 install in odd layouts. Refuse to install using blocklists unless
26776 --force was set.
26777
18f547ad 267782009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 26779
26780 * disk/raid.c (grub_raid_scan_device): Improve debug message.
26781
6d260daa 267822009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
26783
26784 Updated copyright year
26785
26786 * fs/hfsplus.c: updated copyright year
18f547ad 26787
69f853f8 267882009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
26789
26790 HFS+ UUID
26791
18f547ad 26792 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 26793 in the space previously used by unused3
26794 (grub_hfsplus_uuid): new function
26795 (grub_hfsplus_fs): added uuid field
26796
4c402e73 267972009-05-03 Pavel Roskin <proski@gnu.org>
26798
26799 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
26800 suppress warnings. It's no longer needed.
26801 * disk/host.c: Likewise.
26802 * disk/ata_pthru.c: Likewise.
26803 * disk/loopback.c: Likewise.
26804 * hook/datehook.c: Likewise.
26805 * parttool/pcpart.c: Likewise.
26806 * fs/i386/pc/pxe.c: Likewise.
26807 * fs/ntfscomp.c: Likewise.
26808 * efiemu/main.c: Likewise.
26809 * mmap/mmap.c: Likewise.
26810 * commands/crc.c: Likewise.
26811 * commands/hexdump.c: Likewise.
26812 * commands/hdparm.c: Likewise.
26813 * commands/acpi.c: Likewise.
26814 * commands/echo.c: Likewise.
26815 * commands/minicmd.c: Likewise.
26816 * commands/blocklist.c: Likewise.
26817 * commands/memrw.c: Likewise.
26818 * commands/loadenv.c: Likewise.
26819 * commands/usbtest.c: Likewise.
26820 * commands/lsmmap.c: Likewise.
26821 * commands/boot.c: Likewise.
26822 * commands/parttool.c: Likewise.
26823 * commands/configfile.c: Likewise.
26824 * commands/search.c: Likewise.
26825 * commands/ieee1275/suspend.c: Likewise.
26826 * commands/cat.c: Likewise.
26827 * commands/i386/pc/pxecmd.c: Likewise.
26828 * commands/i386/pc/play.c: Likewise.
26829 * commands/i386/pc/halt.c: Likewise.
26830 * commands/i386/pc/vbeinfo.c: Likewise.
26831 * commands/i386/pc/vbetest.c: Likewise.
26832 * commands/lspci.c: Likewise.
26833 * commands/date.c: Likewise.
26834 * commands/handler.c: Likewise.
26835 * commands/ls.c: Likewise.
26836 * commands/test.c: Likewise.
26837 * commands/cmp.c: Likewise.
26838 * commands/efi/loadbios.c: Likewise.
26839 * commands/efi/fixvideo.c: Likewise.
26840 * commands/halt.c: Likewise.
26841 * commands/help.c: Likewise.
26842 * commands/reboot.c: Likewise.
26843 * hello/hello.c: Likewise.
26844 * script/sh/main.c: Likewise.
26845 * loader/xnu.c: Likewise.
26846 * term/terminfo.c: Likewise.
26847 * term/i386/pc/serial.c: Likewise.
26848 * term/usb_keyboard.c: Likewise.
26849
515b5079 268502009-05-03 David S. Miller <davem@davemloft.net>
26851
26852 * normal/menu.c: Include grub/parser.h
26853
dfc31a22 268542009-05-03 Pavel Roskin <proski@gnu.org>
26855
2fee74f1 26856 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
26857 not char*.
26858 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
26859 Suggested by Javier Martín <lordhabbit@gmail.com>
26860
dfc31a22 26861 * util/i386/pc/grub-mkrescue.in: Allow for the case when
26862 efiemu??.o doesn't exist.
26863 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
26864 copying.
26865
18f547ad 268662009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 26867
26868 FreeBSD 64-bit support
26869
18f547ad 26870 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 26871 and loader/i386/bsd_trampoline.S
26872 (bsd_mod_ASFLAGS): new variable
26873 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
26874 (FREEBSD_MODTYPE_KERNEL64): likewise
26875 (grub_bsd64_trampoline_start): likewise
26876 (grub_bsd64_trampoline_end): likewise
26877 (grub_bsd64_trampoline_selfjump): likewise
26878 (grub_bsd64_trampoline_gdt): likewise
26879 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
26880 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
26881 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
26882 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 26883 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 26884 of "attrib" member
26885 * loader/i386/bsd_pagetable.c: new file
26886 * loader/i386/bsd_trampoline.S: likewise
26887 * loader/i386/bsd.c (ALIGN_QWORD): new macro
26888 (ALIGN_VAR): likewise
26889 (entry_hi): new variable
26890 (kern_end_mdofs): likewise
26891 (is_64bit): likewise
26892 (grub_freebsd_add_meta): use ALIGN_VAR
26893 (grub_e820_mmap): new declaration
26894 (grub_freebsd_add_mmap): new function
26895 (grub_freebsd_add_meta_module): support 64 bit kernels
26896 (grub_freebsd_list_modules): use ALIGN_VAR
26897 (gdt_descriptor): new declaration
26898 (grub_freebsd_boot): support 64 bit kernels
26899 (grub_bsd_elf64_hook): new function
26900 (grub_bsd_load_elf): support elf64
26901
038c5720 269022009-05-03 Bean <bean123ch@gmail.com>
26903
26904 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
26905 after we get the result of if statement.
26906
fc45fb58 269072009-05-03 Bean <bean123ch@gmail.com>
26908
26909 * Makefile.in (enable_efiemu): New variable.
26910
26911 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
26912 set.
26913 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
26914 path.
26915 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
26916 path, add -mno-red-zone option.
26917 (efiemu64_s.o): Likewise.
26918 (efiemu64.o): Use macro $^ for source file.
26919
26920 * configure.ac (--enable-efiemu): New option.
26921
bbee0f2b 269222009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26923
26924 xnu support
26925
26926 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
26927 (pkglib_MODULES): add xnu.mod
26928 (xnu_mod_SOURCES): new variable
26929 (xnu_mod_CFLAGS): likewise
26930 (xnu_mod_LDFLAGS): likewise
26931 (xnu_mod_ASFLAGS): likewise
26932 * conf/i386-pc.rmk: likewise
26933 * conf/x86_64-efi.rmk: likewise
7dd4a573 26934 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 26935 new declaration
26936 * include/grub/i386/macho.h: new file
26937 * include/grub/i386/xnu.h: likewise
26938 * include/grub/macho.h: likewise
26939 * include/grub/machoload.h: likewise
26940 * include/grub/x86_64/macho.h: likewise
26941 * include/grub/x86_64/xnu.h: likewise
26942 * include/grub/xnu.h: likewise
26943 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
26944 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
26945 * loader/i386/efi/xnu.c: new file
26946 * loader/i386/pc/xnu.c: likewise
26947 * loader/i386/xnu.c: likewise
26948 * loader/i386/xnu_helper.S: likewise
26949 * loader/macho.c: likewise
26950 * loader/xnu.c: likewise
26951 * loader/xnu_resume.c: likewise
26952 * util/grub-dumpdevtree: likewise
26953 * include/grub/i386/pit.h: include grub/err.h
26954 (grub_pit_wait): export
26955 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 26956
5caf964d 269572009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26958
26959 Efiemu
7dd4a573 26960
5caf964d 26961 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 26962 _linux_efi, linux_efi.
26963 new files in grub-emu
5caf964d 26964 new targets efiemu32.o and efiemu64.o
26965 * loader/linux_normal_efiemu.c: likewise
26966 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 26967 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 26968 files to copy
26969 * include/grub/autoefi.h: new file
7dd4a573 26970 * include/grub/i386/efiemu.h: likewise
5caf964d 26971 * include/grub/i386/pc/efiemu.h: likewise
26972 * include/grub/efi/api.h: add LL suffix when necessary
26973 new definitions relating to tables
26974 * include/grub/efiemu/efiemu.h: new file
26975 * include/grub/efiemu/runtime.h: likewise
26976 * efiemu/prepare.c: likewise
26977 * efiemu/loadcore_common.c: likewise
26978 * efiemu/loadcore64.c: likewise
26979 * efiemu/runtime/efiemu.sh: likewise
26980 * efiemu/runtime/efiemu.S: likewise
26981 * efiemu/runtime/efiemu.c: likewise
26982 * efiemu/runtime/config.h: likewise
26983 * efiemu/prepare32.c: likewise
26984 * efiemu/main.c: likewise
26985 * efiemu/modules/pnvram.c: likewise
26986 * efiemu/modules/i386: likewise
26987 * efiemu/modules/i386/pc: likewise
26988 * efiemu/modules/acpi.c: likewise
26989 * efiemu/i386/pc/cfgtables.c: likewise
26990 * efiemu/i386/loadcore64.c: likewise
26991 * efiemu/i386/loadcore32.c: likewise
26992 * efiemu/prepare64.c: likewise
26993 * efiemu/loadcore.c: likewise
26994 * efiemu/symbols.c: likewise
26995 * efiemu/mm.c: likewise
26996 * efiemu/loadcore32.c: likewise
7dd4a573 26997
269982009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 26999
27000 ACPI spoofing
27001
27002 * commands/acpi.c: new file
27003 * commands/i386/pc/acpi.c: likewise
27004 * commands/efi/acpi.c: likewise
27005 * include/grub/acpi.h: likewise
27006 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
27007 (acpi_mod_SOURCES): new variable
27008 (acpi_mod_CFLAGS): likewise
27009 (acpi_mod_LDFLAGS): likewise
27010 * conf/i386-efi.rmk: likewise
27011 * conf/x86_64-efi.rmk: likewise
27012
7dd4a573 270132009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 27014
27015 Missing part from mmap patch
27016
27017 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
27018 (grub_mmap_unregister)
27019 (grub_mmap_free_and_unregister): use grub_mmap_register
27020
7dd4a573 270212009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 27022
27023 Mmap services
27024
27025 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
27026 * loader/i386/linux.c (find_mmap_size): likewise
27027 (allocate_pages): likewise
27028 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
27029 (grub_fill_multiboot_mmap): likewise
27030 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
27031 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
27032 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
27033 (OPENBSD_MMAP_RESERVED): likewise
27034 * include/grub/i386/pc/memory.h: include grub/memory.h
27035 (grub_lower_mem): removed
27036 (grub_upper_mem): likewise
27037 (GRUB_MACHINE_MEMORY_ACPI): new definition
27038 (GRUB_MACHINE_MEMORY_NVS): likewise
27039 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
27040 (GRUB_MACHINE_MEMORY_HOLE): likewise
27041 (grub_machine_mmap_register): likewise
27042 (grub_machine_mmap_unregister): likewise
27043 (grub_machine_get_upper): likewise
27044 (grub_machine_get_lower): likewise
27045 (grub_machine_get_post64): likewise
27046 * include/grub/i386/efi/memory.h: new file
27047 * include/grub/x86_64/efi/memory.h: likewise
27048 * include/grub/efi/memory.h: likewise
27049 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
27050 (mmap_mod_SOURCES): new variable
27051 (mmap_mod_LDFLAGS): likewise
27052 (mmap_mod_ASFLAGS): likewise
27053 * conf/i386-coreboot.rmk: likewise
27054 * conf/i386-ieee1275.rmk: likewise
27055 * conf/i386-efi.rmk: likewise
27056 * conf/x86_64-efi.rmk: likewise
27057 * include/grub/types.h (UINT_TO_PTR): new macro
27058 (PTR_TO_UINT32): likewise
27059 (PTR_TO_UINT64): likewise
27060 * include/grub/memory.h: new file
27061 * mmap/i386/pc/mmap.c: likewise
27062 * mmap/i386/pc/mmap_helper.S: likewise
27063 * mmap/i386/uppermem.c: likewise
27064 * mmap/mmap.c: likewise
27065 * mmap/efi/mmap.c: likewise
7dd4a573 27066 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 27067 grub_upper_mem
27068 * kern/i386/pc/init.c (grub_lower_mem): removed variable
27069 (grub_upper_mem): likewise
27070 (grub_machine_init): don't use grub_upper_mem,
27071 make grub_lower_mem local
27072 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
27073 grub_mmap_iterate and grub_mmap_get_upper
27074 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
27075
d558e6b5 270762009-05-02 Bean <bean123ch@gmail.com>
27077
27078 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
27079 script/sh/parser.y.
27080 (pkglib_MODULES): Add normal.mod and sh.mod.
27081 (normal_SOURCES): New variable.
27082 (normal_mod_CFLAGS): Likewise.
27083 (normal_mod_LDFLAGS): Likewise.
27084 (sh_mod_SOURCES): Likewise.
27085 (sh_mod_CFLAGS): Likewise.
27086 (sh_mod_LDFLAGS): Likewise.
27087
27088 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
27089 script/sh/lexer.c_DEPENDENCIES.
27090 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
27091 kern/rescue_reader.c and kern/rescue_parser.c.
27092 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
27093 (grub_emu_SOURCES): Change source files.
27094 (pkglib_MODULES): Remove normal.mod.
27095 (normal_SOURCES): Removed.
27096 (normal_mod_CFLAGS): Likewise.
27097 (normal_mod_LDFLAGS): Likewise.
27098 * conf/i386-coreboot.rmk: Likewise.
27099 * conf/i386-efi.rmk: Likewise.
27100 * conf/i386-ieee1276.rmk: Likewise.
27101 * conf/powerpc-ieee1275.rmk: Likewise.
27102 * conf/sparc64-ieee1275.rmk: Likewise.
27103 * conf/x86_64-efi.rmk: Likewise.
27104
27105 * include/grub/command.h (grub_command_execute): New inline function.
27106
27107 * include/grub/menu.h (grub_menu_entry): Removed commands field.
27108
27109 * include/grub/normal.h: Remove <grub/setjmp.h>.
27110 (grub_fs_module_list): Moved to normal/autofs.c.
27111 (grub_exit_env): Removed.
27112 (grub_command_execute): Likewise.
27113 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
27114 parameter script.
27115 (read_command_list): New function declaration.
27116 (read_fs_list): Likewise.
27117
27118 * include/parser.h: Include <grub/reader.h>.
27119 (grub_parser_split_cmdline): Change type of getline parameter.
27120 (grub_parser): New structure.
27121 (grub_parser_class): New variable.
27122 (grub_parser_execute): New function declaration.
27123 (grub_register_rescue_parser): Likewise.
27124 (grub_parser_register): New inline function.
27125 (grub_parser_unregister): Likewise.
27126 (grub_parser_get_current): Likewise.
27127 (grub_parser_set_current): Likewise.
27128
27129 * include/grub/reader.h: New file.
27130 * kern/reader.c: Likewise.
27131 * kern/rescue_parser.c: Likewise.
27132 * kern/rescue_reader.c: Likewise.
27133 * normal/autofs.c: Likewise.
27134 * normal/dyncmd.c: Likewise.
27135
27136 * include/grub/rescue.h: Removed.
27137 * normal/command.h: Likewise.
27138
27139 * include/grub/script.h: Moved to ...
27140 * include/grub/script_sh.h: ... Moved here.
27141 * normal/execute.c: Moved to ...
27142 * script/sh/execute.c: ... Moved here.
27143 * normal/function.c: Moved to ...
27144 * script/sh/function.c: ... Moved here.
27145 * normal/lexer.c: Moved to ...
27146 * script/sh/lexer.c: ... Moved here.
27147 * normal/parser.y: Moved to ...
27148 * script/sh/parser.y: ... Moved here.
27149 * normal/script.c: Moved to ...
27150 * script/sh/script.c: ... Moved here.
27151
27152 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
27153 <grub/reader.h>.
27154 (grub_exit_env): Removed.
27155 (fs_module_list): Moved to normal/autofs.c.
27156 (grub_file_getline): Don't handle comment here.
27157 (free_menu): Skip removed field entry->commands.
27158 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
27159 script parameter.
27160 (read_config_file): Removed nested parameter, change getline function.
27161 (grub_enter_normal_mode): Removed.
27162 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
27163 (read_command_list): Likewise.
27164 (autoload_fs_module): Moved to normal/autofs.c.
27165 (read_fs_list): Likewise.
27166 (reader_nested): New variable.
27167 (grub_normal_execute): Run parser.sh to switch to sh parser.
27168 (grub_cmd_rescue): Removed.
27169 (cmd_normal): Removed.
27170 (grub_cmd_normal): Unregister itself at the beginning. Don't register
27171 rescue command.
27172 (grub_cmdline_run): New function.
27173 (grub_normal_reader_init): Likewise.
27174 (grub_normal_read_line): Likewise.
27175 (grub_env_write_pager): Likewise.
27176 (cmdline): New variable.
27177 (grub_normal_reader): Likewise.
27178 (GRUB_MOD_INIT): Register normal reader and set as current, register
27179 pager hook, register normal command with grub_register_command_prio,
27180 so that it won't show up in command.lst.
27181 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
27182 grub_fs_autoload_hook.
27183
27184 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
27185 (grub_menu_execute_entry): Replace grub_script_execute with
27186 grub_parser_execute, change parameter to grub_command_execute.
27187
27188 * normal/menu_text.c: Remove <grub/script.h>.
27189
27190 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
27191 and <grub/parser.h>.
27192 (run): Change editor_getline to use new parser interface. Change
27193 parameter to grub_command_execute.
27194
27195 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
27196 <grub/reader.h> and <grub/parser.h>.
27197 (grub_load_normal_mode): Execute normal command.
27198 (grub_main): Call grub_register_core_commands,
27199 grub_register_rescue_parser and grub_register_rescue_reader, use
27200 grub_reader_loop to enter input loop.
27201
7dd4a573 27202 * kern/parser.c (grub_parser_split_cmdline): Change type of
27203 getline parameter.
d558e6b5 27204 (grub_parser_class): New variable.
27205 (grub_parser_execute): New function.
27206
27207 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
27208 * loader/multiboot2.c: Likewise.
27209 * loader/sparc64/ieee1275/linux.c: Likewise.
27210
27211 * util/grub-emu.c (read_command_list): New dummy function.
27212
18db813d 272132009-05-02 Robert Millan <rmh.grub@aybabtu.com>
27214
27215 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
27216 count to 16 for CCISS and IDA.
27217
6c67de15 272182009-05-02 Robert Millan <rmh.grub@aybabtu.com>
27219
27220 * normal/menu_text.c (grub_wait_after_message): Print a newline
27221 after waiting for user input.
27222
27223 * loader/i386/linux.c: Include `<grub/normal.h>'.
27224 (grub_cmd_linux): Improve the error message about `ask' mode, by
27225 waiting for user input so it's not missed (we can do this, since
27226 user requested interaction).
27227
d9dc87b0 272282009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
27229
27230 Added missing lst to grub-mkrescue
27231
27232 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
27233 and ${input_dir}/parttool.lst
27234
ac8a2baa 272352009-04-30 David S. Miller <davem@davemloft.net>
27236
ad22a610 27237 * util/hostdisk.c (device_is_wholedisk): New function.
27238 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
27239 zero only if device_is_wholedisk() returns true.
27240
6966215d 27241 * util/hostdisk.c (convert_system_partition_to_system_disk):
27242 Handle virtual disk devices named /dev/vdiskX as found on sparc
27243 and powerpc.
27244
ac8a2baa 27245 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
27246 lettered partition specifier is found, convert to numbered.
27247
979b4fb4 272482009-04-29 David S. Miller <davem@davemloft.net>
27249
e2bf39b2 27250 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
27251 * include/grub/sparc64/ieee1275/memory.h: Likewise.
27252
3c64e104 27253 * normal/command.c: Add missing newline at end of file.
27254
979b4fb4 27255 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
27256 warnings.
27257 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
27258 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
27259 grub_ofdisk_read): Likewise, and deal similarly with the fact that
27260 ihandles have a 32-bit type but need to be stored in a "void *".
27261
136d9f82 272622009-04-28 Pavel Roskin <proski@gnu.org>
27263
9459c306 27264 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
27265 not disk. Adjust all dependencies.
2e08a26a 27266 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 27267 grub_disk_close().
27268
136d9f82 27269 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
27270 parent's partition, don't copy it by reference, as it gets freed
27271 on close.
27272
7dd4a573 272732009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 27274
27275 Preboot hooks support
27276
27277 * commands/boot.c (struct grub_preboot_t): new declaration
27278 (preboots_head): new variable
27279 (preboots_tail): likewise
27280 (grub_loader_register_preboot_hook): new function
27281 (grub_loader_unregister_preboot_hook): likewise
27282 (grub_loader_set): launch preboot hooks
27283 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
27284 (grub_loader_register_preboot_hook): new declaration
27285 (grub_loader_unregister_preboot_hook): likewise
27286
5af922b5 272872009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
27288
27289 Warning fix
27290
7dd4a573 27291 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 27292 calling grub_dprintf
27293
a5562c30 272942009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
27295
27296 Bug and warning fixes
27297
7dd4a573 27298 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 27299 declaration
27300 * commands/test.c (test_parse): fixed bug with file tests and corrected
27301 declaration of find_file
27302
4006f85c 273032009-04-26 Pavel Roskin <proski@gnu.org>
27304
27305 * Makefile.in: Don't install empty manual pages if help2man is
27306 missing. Use help2man option for output, not shell redirection.
27307
5c77c3de 273082009-04-26 David S. Miller <davem@davemloft.net>
27309
27310 * util/grub-mkdevicemap.c (make_device_map): Add missing
27311 NESTED_FUNC_ATTR to process_device().
27312
033b10a8 273132009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
27314
27315 Test command
27316
27317 * commands/test.c: rewritten to use bash-like test
27318
e4343593 273192009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
27320
27321 Parttool autoloading and improvements
27322
7dd4a573 27323 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 27324 (parttool.lst): new target
27325 * genmk.rb: generate parttool-*
27326 (CLEANFILES): add #{parttool}
27327 (PARTTOOLFILES): new variable
27328 * genparttoollist.sh: new file
7dd4a573 27329 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 27330 (grub_pcpart_type): likewise
27331 * commands/parttool.c (helpmsg): new variable
27332 (grub_cmd_parttool): output help if not enough arguments are supplied
27333 autoload modules
27334 (GRUB_MOD_INIT(parttool)): use helpmsg
27335
0d312500 273362009-04-24 David S. Miller <davem@davemloft.net>
27337
7dd4a573 27338 Avoiding opening same device multiple times in device iterator.
0d312500 27339
27340 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 27341 and use it to build a list of partitions in iterate_disk() and
0d312500 27342 iterate_partition().
27343
ac20caff 27344 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
27345 on disk->data.
27346
0dcf7495 27347 * disk/ieee1275/nand.c (grub_nand_iterate): Return
27348 grub_devalias_iterate() result instead of unconditional 0.
27349 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
27350 Also, capture hook return value, either directly or via
27351 grub_children_iterate(), and propagate to caller.
27352 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
27353 grub_children_iterate): Return value is now 'int' instead of
27354 'grub_err_t'.
27355 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
27356 like a proper iterator, stopping when hooks return non-zero.
27357 (grub_devalias_iterate): Likewise.
27358
c8c08833 273592009-04-23 David S. Miller <davem@davemloft.net>
27360
27361 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
27362
f01005a8 273632009-04-22 David S. Miller <davem@davemloft.net>
27364
27365 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
27366 is larger than address_cells, use that value for address_cells too.
27367
4e8269da 27368 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
27369 IEEE1275_MAX_PATH_LEN): Define.
27370 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
27371 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
27372 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
27373 'devtype'. Explicitly NULL terminate devalias expansion.
27374
a1447506 27375 * util/sparc64/ieee1275/misc.c: New file.
27376 * util/sparc64/ieee1275/grub-setup.c: New file.
27377 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
27378 * util/sparc64/ieee1275/grub-mkimage.c: New file.
27379 * util/sparc64/ieee1275/grub-install.in: New file.
27380 * util/ieee1275/ofpath.c: New file.
27381 * util/ieee1275/devicemap.c: New file.
27382 * util/devicemap.c: New file.
27383 * util/deviceiter.c: New file.
27384 * kern/sparc64/ieee1275/init.c: New file.
27385 * include/grub/util/ofpath.h: New file.
27386 * include/grub/util/deviceiter.h: New file.
27387 * util/grub-mkdevicemap.c: Include deviceiter.h.
27388 Implement using grub_util_emit_devicemap_entry and
27389 grub_util_iterate_devices.
27390 * conf/i386-corebook.rmk: Build util/deviceiter.c and
27391 util/devicemap.c into grub-mkdevicemap
27392 * conf/i386-efi.rmk: Likewise.
27393 * conf/i386-ieee1275.rmk: Likewise.
27394 * conf/i386-pc.rmk: Likewise.
27395 * conf/powerpc-ieee1275.rmk: Likewise.
27396 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
27397 images and installation utilities. Build kernel as image
27398 instead of as elf binary. Use common rules as much as possible.
27399
7dd4a573 274002009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 27401
27402 Correct GPT definition
27403
7dd4a573 27404 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 27405 of "attrib" member
27406
c6c5219f 274072009-04-19 Felix Zielcke <fzielcke@z-51.de>
27408
27409 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
27410
0552ff9f 274112009-04-19 David S. Miller <davem@davemloft.net>
27412
27413 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
27414 (grub_rescue_cmd_linux): Rename to...
27415 (grub_cmd_linux): and fix prototype.
27416 (grub_rescue_cmd_initrd): Rename to...
27417 (grub_cmd_initrd): and fix prototype.
27418 (cmd_linux, cmd_initrd): New.
27419 (GRUB_MOD_INIT(linux)): Use grub_register_command().
27420 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
27421
d1a282fc 274222009-04-17 Pavel Roskin <proski@gnu.org>
27423
07c5039f 27424 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
27425 format.
27426 (grub_ohci_transfer): Likewise.
27427
b012002d 27428 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
27429
1bc09c35 27430 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
27431 return without a value. Fix inconsistent indentation.
27432
e0ff9126 27433 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
27434 match struct grub_fs.
27435
d1a282fc 27436 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
27437 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
27438 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
27439 * commands/lspci.c (grub_lspci_iter): Likewise.
27440
a96df3f2 274412009-04-16 Bean <bean123ch@gmail.com>
27442
27443 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
27444 value.
27445
41bb0fe9 274462009-04-15 Pavel Roskin <proski@gnu.org>
27447
27448 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
27449 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
27450 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
27451 definitions.
27452
596c6970 274532009-04-15 Felix Zielcke <fzielcke@z-51.de>
27454
27455 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 27456 that no multiple data or metadata areas are supported and `Unknown
596c6970 27457 metadata header'.
27458
7dd4a573 274592009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 27460
27461 Move loader out of the kernel
27462
27463 * kern/loader.c: moved to ...
27464 * commands/boot.c: ... moved here
27465 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
27466 * commands/boot.c (grub_cmd_boot): moved here. All users updated
27467 * include/grub/kernel.h (grub_machine_fini): export
27468 * include/grub/loader.h (grub_loader_is_loaded): update declaration
27469 (grub_loader_set): likewise
27470 (grub_loader_unset): likewise
27471 (grub_loader_boot): likewise
27472 * conf/common.rmk: new module boot.mod
27473 (pkglib_MODULES): add boot.mod
27474 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
27475 (grub_emu_SOURCES): likewise
27476 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
27477 (grub_emu_SOURCES): likewise
27478 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
27479 (grub_emu_SOURCES): likewise
27480 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
27481 (grub_emu_SOURCES): likewise
27482 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
27483 (grub_emu_SOURCES): likewise
7dd4a573 27484 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
27485 (grub_emu_SOURCES): likewise
0d5d5653 27486 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 27487 (grub_emu_SOURCES): likewise
0d5d5653 27488
7dd4a573 274892009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 27490
27491 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 27492
5999d619 27493 * kern/misc.c (grub_itoa): Removed function
27494 (grub_ltoa): likewise
27495 (grub_vsprintf): use grub_lltoa
27496
7dd4a573 274972009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 27498
27499 Restore grub-emu
27500
27501 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
27502 * conf/i386-coreboot.rmk: likewise
27503 * conf/i386-ieee1275.rmk: likewise
27504 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 27505
20318222 275062009-04-15 Felix Zielcke <fzielcke@z-51.de>
27507
27508 * INSTALL: Add that `./autogen.sh' needs to be run before
27509 `./configure.'.
27510
d05f0df3 275112009-04-14 Bean <bean123ch@gmail.com>
27512
27513 * Makefile.in (pkglib_DATA): Add handler.lst.
27514 (handler.lst): New rule.
27515
27516 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
27517 * conf/i386-coreboot.rmk: Likewise.
27518 * conf/i386-ieee1275.rmk: Likewise.
27519 * conf/i386-efi.rmk: Likewise.
27520 * conf/x86_64-efi.rmk: Likewise.
27521 * conf/powerpc-ieee1275.rmk: Likewise.
27522 * conf/sparc64-ieee1275.rmk: Likewise.
27523
27524 * genhandlerlist.sh: New file.
27525
27526 * genmk.rb: Add rules to generate handler.lst.
27527
27528 * include/grub/normal.h (grub_file_getline): New function definition.
27529 (read_handler_list): Likewise.
27530 (free_handler_list): Likewise.
27531
27532 * include/grub/term.h (grub_term_register_input): Add name parameter
27533 for auto generation of handler.lst.
27534 (grub_term_register_output): Likewise.
27535
27536 * normal/handler.c: New file.
27537
27538 * normal/main.c (get_line): Renamed to grub_file_getline.
27539 (read_config_file): Use the newly renamed grub_file_getline.
27540 (read_command_list): Likewise.
27541 (read_fs_list): Likewise.
27542 (grub_normal_execute): Call read_handler_list to parse handler.lst.
27543 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
27544
27545 * term/efi/console.c (grub_console_init): Add name parameter for auto
27546 generation of handler.lst.
27547 * term/gfxterm.c: Likewise.
27548 * term/i386/pc/at_keyboard.c: Likewise.
27549 * term/i386/pc/console.c: Likewise.
27550 * term/i386/pc/serial.c: Likewise.
27551 * term/i386/pc/vesafb.c: Likewise.
27552 * term/i386/pc/vga.c: Likewise.
27553 * term/i386/pc/vga_text.c: Likewise.
27554 * term/ieee1275/ofconsole.c: Likewise.
27555 * term/usb_keyboard.c: Likewise.
27556
33c846be 275572009-04-14 Bean <bean123ch@gmail.com>
27558
27559 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
27560 properly with null character.
27561
4484e01e 275622009-04-14 Felix Zielcke <fzielcke@z-51.de>
27563
27564 * configure: Remove.
27565 * config.h.in: Likewise.
f93d668e 27566 * stamp-h.in: Likewise.
4484e01e 27567 * DISTLIST: Likewise.
27568 * conf/common.mk: Likewise.
27569 * conf/i386-coreboot.mk: Likewise.
27570 * conf/i386-efi.mk: Likewise.
27571 * conf/i386-ieee1275.mk: Likewise.
27572 * conf/i386.mk: Likewise.
27573 * conf/i386-pc.mk: Likewise.
27574 * conf/powerpc-ieee1275.mk: Likewise.
27575 * conf/sparc64-ieee1275.mk: Likewise.
27576 * conf/x86_64-efi.mk: Likewise.
27577
27578 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
27579 develop on GRUB.
27580
7dd4a573 275812009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 27582 David S. Miller <davem@davemloft.net>
27583
27584 * util/hostdisk.c (make_device_name): Fix buffer length
27585 calculations.
27586
e25b5a8c 275872009-04-14 Felix Zielcke <fzielcke@z-51.de>
27588
27589 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
27590 <sys/param.h> and <sys/sysctl.h>.
27591 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
27592 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
27593 opening the device and reset them afterwards.
27594
1f1f580c 275952009-04-13 Pavel Roskin <proski@gnu.org>
27596
27597 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
27598 Reported by John Stanley <jpsinthemix@verizon.net>
27599
7ebc2d6b 276002009-04-13 Robert Millan <rmh@aybabtu.com>
27601
27602 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 27603 that name for menuentries when appropriate.
7ebc2d6b 27604
d8ba3667 276052009-04-13 Felix Zielcke <fzielcke@z-51.de>
27606
27607 * util/grub.d/10_freebsd.in: Add a missing `fi'.
27608
cba416eb 276092009-04-13 Robert Millan <rmh@aybabtu.com>
27610
27611 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
27612 to Linux, simply abort telling the user it's no longer supported.
27613
a547a745 276142009-04-13 Felix Zielcke <fzielcke@z-51.de>
27615
27616 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 27617 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 27618 `freebsd_loadenv' only when devices.hints exist.
27619
232a769c 276202009-04-13 Pavel Roskin <proski@gnu.org>
27621
27622 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
27623
c3012039 276242009-04-13 Felix Zielcke <fzielcke@z-51.de>
27625
27626 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
27627 partition number.
27628 (grub_drive): Likewise.
27629
234022fe 276302009-04-13 David S. Miller <davem@davemloft.net>
27631
27632 * kern/sparc64/ieee1275/ieee1275.c: New file.
27633 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
27634 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
27635 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
27636 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
27637 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
27638 grub_ieee1275_alloc_physmem): Declare new exported functions.
27639
d8e1836c 27640 * include/grub/sparc64/ieee1275/loader.h: New file.
27641 * include/grub/sparc64/ieee1275/memory.h: Likewise.
27642 * include/grub/sparc64/kernel.h: Likewise.
27643 * loader/sparc64/ieee1275/linux.c: Likewise.
27644
96bd81ec 27645 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
27646 (grub_fstest_SOURCES): Likewise.
27647
6a4737e5 27648 * util/hostdisk.c (make_device_name): Do not make any assumptions
27649 about the length of drive names.
27650
1d7a72fd 27651 * kern/dl.c (grub_dl_load_file): Close file immediately when
27652 we are done using it.
27653
56bc2471 276542009-04-12 David S. Miller <davem@davemloft.net>
27655
27656 * kern/misc.c (grub_ltoa): Fix cast when handling negative
27657 values. Noticed by Pavel Roskin.
27658
df38d0bb 27659 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
27660 target compiler.
7dd4a573 27661
e382e93a 27662 * genmk.rb: Add more flexible image type specification, also
27663 pass --strip-unneeded to objcopy.
27664 * conf/i386-pc.rmk: Use *_FORMAT.
27665 * conf/i386-pc.mk: Rebuilt.
27666
f5dbbca9 27667 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
27668 (OFDISK_HASH_SZ): Define.
27669 (ofdisk_hash): New hash table.
27670 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
27671 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
27672 instead of device phandle which is not unique.
27673
91c88b12 27674 * kern/sparc64/ieee1275/init.c: Delete, replace with...
27675 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
27676 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
27677 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
27678 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
27679 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
27680 GRUB_KERNEL_MACHINE_DATA_END): Define.
27681 (grub_kernel_image_size, grub_total_module_size): Declare.
27682
5b5d4aa5 276832009-04-12 Pavel Roskin <proski@gnu.org>
27684
7dd4a573 27685 * configure.ac: Change the logic when we check for target tools.
27686 Do it when the target is specified and it's different from the
27687 specified value of the host.
5b5d4aa5 27688
c91e1793 276892009-04-11 Felix Zielcke <fzielcke@z-51.de>
27690
27691 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
27692 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
27693 GNU/kFreeBSD. Check if a device is a character device. Use
27694 DIOCGMEDIASIZE to get the size.
27695 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
27696 support for GNU/kFreeBSD.
27697 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
27698 is a character device instead of a block device. Add support for
27699 FreeBSD device names.
27700
27701 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
27702 is a character device instead of a block device.
27703
27704 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
27705 is a character device instead of a block device.
27706
b1ac8644 277072009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
27708
27709 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
27710 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
27711 FreeBSD. Check if a device is a character device. Use
27712 DIOCGMEDIASIZE to get the size.
27713 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
27714 support for FreeBSD.
27715 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
27716 is a character device instead of a block device. Add support for
27717 FreeBSD device names.
27718
27719 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
27720 a character device instead of a block device.
27721 (grub_util_check_char_device): New function.
27722
27723 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
27724 a character device instead of a block device.
27725
27726 * include/grub/util/getroot.h (grub_util_check_char_device): New
27727 prototype.
27728
a3f7515a 277292009-04-11 David S. Miller <davem@davemloft.net>
27730
27731 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
27732 static libgcc.
27733 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
27734 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
27735 function, if present.
27736 (__bswapdi2): Likewise.
27737
0d44993d 27738 * include/grub/sparc64/ieee1275/boot.h: New file.
27739 * boot/sparc64/ieee1275/boot.S: Likewise.
27740 * boot/sparc64/ieee1275/diskboot.S: Likewise.
27741
ed3d2bc2 27742 * kern/misc.c (grub_ltoa): New function.
27743 (grub_vsprintf): Use it to format 'long' integers.
27744
d3bfb59c 277452009-04-10 David S. Miller <davem@davemloft.net>
27746
27747 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
27748 slots are of type grub_ieee1275_cell_t.
27749 (grub_nand_read): Likewise.
27750 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
27751 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
27752 macros are used to compare values in arg/ret block of the call.
27753 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
27754 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
27755 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
27756 grub_ieee1275_instance_to_path, grub_ieee1275_write,
27757 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
27758 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
27759 grub_ieee1275_close, grub_ieee1275_set_property,
27760 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
27761 grub_ieee1275_cell_t.
27762 * kern/ieee1275/openfw.c (grub_map): Likewise.
27763 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
27764 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
27765
450e2238 27766 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
27767 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
27768 (grub_devalias_iterate): Likewise.
27769
7dd4a573 277702009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 27771
27772 UFS improvements
27773
27774 * fs/ufs.c (INODE_NBLOCKS): new definition
27775 (struct grub_ufs_dirent): added fields for non-BSD dirents
27776 (grub_ufs_get_file_block): fixed double indirect handling
27777 (grub_ufs_lookup_symlink): use more robust way to determine whether
27778 symlink is inline
27779 (grub_ufs_find_file): support for non-BSD dirents
27780 (grub_ufs_dir): support for non-BSD dirents
27781
e7e6862a 277822009-04-10 Bean <bean123ch@gnail.com>
27783
27784 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
27785 attribute, otherwise the size would be wrong for i386 platform.
27786
27787 * include/grub/pci.h (grub_pci_read_word): New inline function.
27788 (grub_pci_read_byte): Likewise.
27789 (grub_pci_write): Likewise.
27790 (grub_pci_write_word): Likewise.
27791 (grub_pci_write_byte): Likewise.
27792
27793 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
27794
27795 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
27796 (find_framebuf): Scan pci to locate the frame buffer address.
27797
27798 * commands/efi/fixvideo.c: New file.
27799
27800 * commands/efi/loadbios.c: Likewise.
27801
27802 * commands/memrw.c: Likewise.
27803
27804 * util/grub-dumpbios.in: Likewise.
27805
27806 * conf/common.rmk (grub-dumpbios): New utility.
27807 (pkglib_MODULES): New module memrw.mod.
27808 (memrw_mod_SOURCE): New macro.
27809 (memrw_mod_CFLAGS): Likewise.
27810 (memrw_mod_LDFLAGS): Likewise.
27811
7dd4a573 27812 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 27813 fixvideo.mod.
27814 (loadbios_mod_SOURCE): New macro.
27815 (loadbios_mod_CFLAGS): Likewise.
27816 (loadbios_mod_LDFLAGS): Likewise.
27817 (fixvideo_mod_SOURCE): Likewise.
27818 (fixvideo_mod_CFLAGS): Likewise.
27819 (fixvideo_mod_LDFLAGS): Likewise.
27820
7dd4a573 27821 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 27822 fixvideo.mod.
27823 (loadbios_mod_SOURCE): New macro.
27824 (loadbios_mod_CFLAGS): Likewise.
27825 (loadbios_mod_LDFLAGS): Likewise.
27826 (fixvideo_mod_SOURCE): Likewise.
27827 (fixvideo_mod_CFLAGS): Likewise.
27828 (fixvideo_mod_LDFLAGS): Likewise.
27829
af63ada2 278302009-04-08 Felix Zielcke <fzielcke@z-51.de>
27831
27832 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
27833
c2cdde70 278342009-04-07 David S. Miller <davem@davemloft.net>
27835
27836 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
27837 support for R_SPARC_OLO10 relocations. Fix compile warning for
27838 R_SPARC_WDISP30 case.
ea3f72cf 27839 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 27840
761319cf 278412009-04-06 Pavel Roskin <proski@gnu.org>
27842
1007d1f5 27843 * include/grub/misc.h (ARRAY_SIZE): New macro.
27844 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
27845 New macro.
27846 * loader/i386/linux.c (allocate_pages): Use free_pages().
27847 (grub_linux_unload): Don't use free_pages().
27848 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
27849 wrong index. Treat all other modes as text modes.
27850 (grub_cmd_linux): Initialize vid_mode unconditionally to
27851 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
27852
761319cf 27853 * commands/help.c (print_command_help): Use cmd->prio, not
27854 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
27855
ea761d40 278562009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 27857
ea761d40 27858 Parttool
27859
27860 * parttool/pcpart.c: new file
27861 * commands/parttool.c: likewise
27862 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
27863 (parttool_mod_SOURCES): new variable
27864 (parttool_mod_CFLAGS): likewise
27865 (parttool_mod_LDFLAGS): likewise
27866 (pcpart_mod_SOURCES): likewise
27867 (pcpart_mod_CFLAGS): likewise
27868 (pcpart_mod_LDFLAGS): likewise
7dd4a573 27869 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 27870 and parttool/pcpart.c
27871 * conf/i386-efi.rmk: likewise
27872 * conf/i386-ieee1275.rmk: likewise
27873 * conf/i386-pc.rmk: likewise
27874 * conf/powerpc-ieee1275.rmk: likewise
27875 * conf/sparc64-ieee1275.rmk: likewise
27876 * conf/x86_64-ieee1275.rmk: likewise
27877
05aaebfb 278782009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27879
27880 Support for mtime and further expandability of dir command
27881
27882 * include/grub/lib/datetime.h: moved to ...
7dd4a573 27883 * include/grub/datetime.h: ... moved here and added
05aaebfb 27884 declaration of grub_unixtime2datetime. All users updated
7dd4a573 27885 * include/grub/fs.h: new syntax for dir and mtime functions in
27886 struct grub_fs
05aaebfb 27887 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
27888 and GRUB_FSHELP_FLAGS_MASK
27889 * commands/ls.c (grub_ls_list_files): Write mtime in long format
27890 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
27891 (grub_ext2_mtime): new function
27892 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
27893 (grub_hfsplus_mtime): new function
27894 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
27895 (GRUB_UFS_ATTR_FILE): likewise
27896 (GRUB_UFS_ATTR_LNK): likewise
27897 (struct grub_ufs_sblock): new fields mtime
27898 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
27899 all users updated
27900 (grub_ufs_dir): mtime support
27901 (grub_ufs_mtime): new function
27902 * fs/affs.c (grub_affs_dir): use new dir syntax
27903 * fs/afs.c (grub_afs_dir): likewise
27904 * fs/cpio.c (grub_cpio_dir): likewise
27905 * fs/fat.c (grub_fat_find_dir): likewise
27906 * fs/hfs.c (grub_hfs_dir): likewise
27907 * fs/iso9660.c (grub_iso9660_dir): likewise
27908 * fs/jfs.c (grub_jfs_dir): likewise
27909 * fs/minix.c (grub_minix_dir): likewise
27910 * fs/ntfs.c (grub_ntfs_dir): likewise
27911 * fs/reiserfs.c (grub_reiserfs_dir): likewise
27912 * fs/sfs.c (grub_sfs_dir): likewise
27913 * fs/xfs.c (grub_xfs_dir): likewise
27914 * util/hostfs.c (grub_hostfs_dir): likewise
27915 * lib/datetime.c: moved to ...
27916 * normal/datetime.c: ... moved here
27917 (grub_unixtime2datetime): new function
27918 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 27919 * normal/completion.c (iterate_dir): use new dir syntax
27920 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 27921 last modification time of a volume
7dd4a573 27922 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 27923 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 27924 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 27925 (normal_mod_SOURCES): likewise
27926 (datetime_mod_SOURCES): Removed lib/datetime.c
27927 * conf/i386-efi.rmk: likewise
7dd4a573 27928 * conf/i386-ieee1275.rmk: likewise
05aaebfb 27929 * conf/i386-pc.rmk: likewise
27930 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 27931 * conf/sparc64-ieee1275.rmk: likewise
27932 * conf/x86_64-efi.rmk: likewise
05aaebfb 27933
8a7e1a14 279342009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27935
27936 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 27937
27938 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 27939 on grub_fat_find_dir
27940 (grub_fat_find_dir): use grub_fat_iterate_dir
27941 (grub_fat_label): likewise
27942
04186a9c 279432009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
27944
7dd4a573 27945 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 27946 and command.h
27947 remove extraneous kernel_elf_HEADERS
27948
da4c0bb6 279492009-04-04 Bean <bean123ch@gnail.com>
27950
27951 * include/grub/util/misc.h: Add dummy function fsync for mingw.
27952
27953 * util/misc.c: Likewise.
27954
54ad9555 279552009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
27956
27957 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
27958 instead of grub_printf.
27959
7a6bf9f2 279602009-04-03 Robert Millan <rmh@aybabtu.com>
27961
27962 * loader/i386/linux.c (grub_linux_setup_video): Fill
27963 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
27964 values from `mode info' structure instead of hardcoded
27965 values.
27966
3fcc2083 279672009-04-01 Pavel Roskin <proski@gnu.org>
27968
27969 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
27970 unused now.
27971 * genmk.rb: Likewise.
27972 * configure.ac: Likewise.
27973
5ec9740b 279742009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
27975
27976 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
27977 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
27978
5270cec8 279792009-04-01 David S. Miller <davem@davemloft.net>
27980
27981 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 27982 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 27983 (grub_setjmp): Mark with 'returns_twice' attribute.
27984 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
27985 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
27986 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
27987
9c3dd854 279882009-04-01 Robert Millan <rmh@aybabtu.com>
27989
27990 Reapply fix from 2008-07-28 which was accidentally reverted; also
27991 perform the same fix to a similar check in same function.
27992
27993 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
27994 with the same number are found, just use issue a warning with
27995 grub_dprintf(), as this error has been reported to be non-fatal.
27996
0d818b7e 279972009-03-31 Pavel Roskin <proski@gnu.org>
27998
27999 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
28000 for cross-compilation.
28001
95646d92 280022009-03-30 Robert Millan <rmh@aybabtu.com>
28003
28004 Fix i386-ieee1275 build.
28005
28006 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
28007 Remove declaration.
28008
6a003ed1 280092009-03-30 Pavel Roskin <proski@gnu.org>
28010
28011 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
28012 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
28013 zero-terminated, rely only on the strlen value. Fix comparison
28014 of strings differing in length.
28015
92f33540 280162009-03-30 Robert Millan <rmh@aybabtu.com>
28017
28018 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
28019 checking for abi version. Improve error messages on BIOS to notify
28020 user about `linux16' command.
28021
a8c48fd5 280222009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
28023
f968172e 28024 Leak fixes
a8c48fd5 28025
f968172e 28026 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
28027 in case of collision
28028 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 28029
9c323f09 280302009-03-29 Robert Millan <rmh@aybabtu.com>
28031
28032 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
28033 set `vid_mode' accordingly.
28034 (grub_linux_boot): Process `vid_mode' and set video mode.
28035
ae68f423 280362009-03-29 Robert Millan <rmh@aybabtu.com>
28037
28038 * util/grub.d/10_linux.in (linux_entry): New function.
28039 Factorize generation of Linux boot entries.
28040
5709cfc4 280412009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
28042
28043 Make the format of Environment Block plain text. The boot loader
28044 part is not tested well yet.
7dd4a573 28045
5709cfc4 28046 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
28047 (buffer): Removed.
28048 (envblk): Likewise.
28049 (usage): Remove "info" and "clear". Add "unset". Update the
28050 description of "set", as this does not delete variables any
28051 longer.
28052 (create_envblk_file): Complete rewrite.
28053 (open_envblk_file): Likewise.
28054 (cmd_info): Removed.
28055 (cmd_list): Likewise.
28056 (cmd_set): Likewise.
28057 (cmd_clear): Likewise.
28058 (list_variables): New function.
28059 (write_envblk): Likewise.
28060 (set_variables): Likewise.
28061 (unset_variables): Likewise.
28062 (main): Complete rewrite.
28063
28064 * commands/loadenv.c (buffer): Removed.
28065 (envblk): Likewise.
28066 (open_envblk_file): New function.
28067 (read_envblk_file): Complete rewrite.
28068 (grub_cmd_load_env): Likewise.
28069 (grub_cmd_list_env): Likewise.
28070 (struct blocklist): New struct.
28071 (free_blocklists): New function.
28072 (check_blocklists): Likewise.
28073 (write_blocklists): Likewise.
28074 (grub_cmd_save_env): Complete rewrite.
28075
28076 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
28077 a plain text signature.
28078 (GRUB_ENVBLK_MAXLEN): Removed.
28079 (struct grub_envblk): Complete rewrite.
28080 (grub_envblk_find): Removed.
28081 (grub_envblk_insert): Likewise.
28082 (grub_envblk_open): New prototype.
28083 (grub_envblk_set): Likewise.
28084 (grub_envblk_delete): Put const to VALUE.
28085 (grub_envblk_iterate): Put const to NAME and VALUE.
28086 (grub_envblk_close): New prototype.
28087 (grub_envblk_buffer): New inline function.
28088 (grub_envblk_size): Likewise.
28089
28090 * lib/envblk.c: Include grub/mm.h.
28091 (grub_env_find): Removed.
28092 (grub_envblk_open): New function.
28093 (grub_envblk_close): Likewise.
28094 (escaped_value_len): Likewise.
28095 (find_next_line): Likewise.
28096 (grub_envblk_insert): Removed.
28097 (grub_envblk_set): New function.
28098 (grub_envblk_delete): Complete rewrite.
28099 (grub_envblk_iterate): Likewise.
28100
a9368fd3 281012009-03-28 Robert Millan <rmh@aybabtu.com>
28102
28103 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
28104 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
28105 variables. Use 16-bit loader.
28106 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
28107 loader.
28108 * kern/i386/loader.S (grub_linux_boot): Rename to ...
28109 (grub_linux16_boot): ... this. Update all users.
28110 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
28111 (grub_linux_boot): ... this. Update all users.
28112
28113 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
28114 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
28115 commands to `linux16' and `initrd16'.
28116 (GRUB_MOD_FINI(linux)): Rename to ...
28117 (GRUB_MOD_FINI(linux16)): ... this.
28118
e4dd5a7e 281192009-03-24 Pavel Roskin <proski@gnu.org>
28120
28121 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
28122 not just for compilation.
28123
c04d6e05 281242009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
28125
28126 Move multiboot helper out of kernel
28127
28128 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
28129 `loader/i386/multiboot_helper.S'.
28130 * conf/i386-coreboot.rmk: Likewise
28131 * conf/i386-ieee1275.rmk: Likewise
28132
28133 * kern/i386/loader.S: Move multiboot helpers from here...
28134 * loader/i386/multiboot_helper.S: ...moved here
28135 * include/grub/i386/loader.h: Move declarations of multiboot
28136 helpers from here...
28137 * include/grub/i386/multiboot.h: ...moved here
28138 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
28139
42a5b3fc 281402009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
28141
28142 * kern/env.c (grub_env_context_open): Added an argument to specify
28143 whether a new context inherits exported variables from current
28144 one. This is useful when making a sandbox to interpret a config
28145 file.
28146 All callers updated.
28147
28148 * include/grub/env.h (grub_env_context_open): Updated the prototype.
28149
b28bbc4e 281502009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
28151
28152 * kern/env.c (grub_env_context_close): Fix memory leaks.
28153
f04f02e4 281542009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
28155
28156 * normal/main.c (grub_normal_execute): Added an argument
28157 BATCH to specify if an interactive interface should be provided
28158 after reading a config file.
28159 All callers updated.
28160 (read_command_list): Prevent being executed twice.
28161 (read_fs_list): Likewise.
28162
42a5b3fc 28163 * include/grub/normal.h (grub_normal_execute): Updated the
28164 prototype.
f04f02e4 28165
41473ac2 281662009-03-22 Pavel Roskin <proski@gno.org>
28167
fbc00b0c 28168 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
28169 _start.
28170 * kern/i386/pc/startup.S: Likewise.
28171 * kern/i386/efi/startup.S: Likewise.
28172 * kern/i386/ieee1275/startup.S: Likewise.
28173 * kern/i386/coreboot/startup.S: Likewise.
28174 * kern/x86_64/efi/startup.S: Likewise.
28175
41473ac2 28176 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
28177 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
28178 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
28179
2274cc8f 281802009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
28181
28182 Bugfixes in multiboot for bugs uncovered by solaris kernel.
28183
28184 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
28185 limit detection.
28186 Use vaddr of correct segment for entry_point.
28187
b1b797cb 281882009-03-21 Bean <bean123ch@gmail.com>
28189
28190 * commands/blocklist.c: Add include file <grub/command.h>, remove
28191 <grub/normal.h> and <grub/arg.h>.
28192 (grub_cmd_blocklist): Use the new command interface.
28193 (GRUB_MOD_INIT): Likewise.
28194 (GRUB_MOD_FINI): Likewise.
28195 * commands/boot.c: Likewise.
28196 * commands/cat.c: Likewise.
28197 * commands/cmp.c: Likewise.
28198 * commands/configfile.c: Likewise.
28199 * commands/crc.c: Likewise.
28200 * commands/echo.c: Likewise.
28201 * commands/halt.c: Likewise.
28202 * commands/handler.c: Likewise.
28203 * commands/hdparm.c: Likewise.
28204 * commands/help.c: Likewise.
28205 * commands/hexdump.c: Likewise.
28206 * commands/loadenv.c: Likewise.
28207 * commands/ls.c: Likewise.
28208 * commands/lsmmap.c: Likewise.
28209 * commands/lspci.c: Likewise.
28210 * commands/loadenv.c: Likewise.
28211 * commands/read.c: Likewise.
28212 * commands/reboot.c: Likewise.
28213 * commands/search.c: Likewise.
28214 * commands/sleep.c: Likewise.
28215 * commands/test.c: Likewise.
28216 * commands/usbtest.c: Likewise.
28217 * commands/videotest.c: Likewise.
28218 * commands/i386/cpuid.c: Likewise.
28219 * commands/i386/pc/halt.c: Likewise.
28220 * commands/i386/pc/play.c: Likewise.
28221 * commands/i386/pc/pxecmd.c: Likewise.
28222 * commands/i386/pc/vbeinfo.c: Likewise.
28223 * commands/i386/pc/vbetest.c: Likewise.
28224 * commands/ieee1275/suspend.c: Likewise.
28225 * disk/loopback.c: Likewise.
28226 * font/font_cmd.c: Likewise.
28227 * hello/hello.c: Likewise.
28228 * loader/efi/appleloader.c: Likewise.
28229 * loader/efi/chainloader.c: Likewise.
28230 * loader/i386/bsd.c: Likewise.
28231 * loader/i386/efi/linux.c: Likewise.
28232 * loader/i386/ieee1275/linux.c: Likewise.
28233 * loader/i386/linux.c: Likewise.
28234 * loader/i386/pc/chainloader.c: Likewise.
28235 * loader/i386/pc/linux.c: Likewise.
28236 * loader/powerpc/ieee1275/linux.c: Likewise.
28237 * loader/multiboot_loader.c: Likewise.
28238 * term/gfxterm.c: Likewise.
28239 * term/i386/pc/serial.c: Likewise.
28240 * term/terminfo.c: Likewise.
28241
28242 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
28243 * term/i386/pc/vga.c: Likewise.
28244 * video/readers/jpeg.c: Likewise.
28245 * video/readers/png.c: Likewise.
28246 * video/readers/tga.c: Likewise.
28247
28248 * util/grub-fstest (cmd_loopback): Removed.
28249 (cmd_blocklist): Likewise.
28250 (cmd_ls): Likewise.
28251 (grub_register_command): Likewise.
28252 (grub_unregister_command): Likewise.
28253 (execute_command): Use grub_command_find to locate command and execute
28254 it.
28255
28256 * include/grub/efi/chainloader.h: Removed.
28257 * loader/efi/chainloader_normal.c: Likewise.
28258 * loader/i386/bsd_normal.c: Likewise.
28259 * loader/i386/pc/chainloader_normal.c: Likewise.
28260 * loader/i386/pc/multiboot_normal.c: Likewise.
28261 * loader/linux_normal.c: Likewise.
28262 * loader/multiboot_loader_normal.c: Likewise.
28263 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
28264
28265 * gencmdlist.sh: Scan new registration command grub_register_extcmd
28266 and grub_register_command_p1.
28267
28268 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
28269 kern/command.c, lib/arg.c and commands/extcmd.c.
28270 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
28271 (minicmd_mod_SOURCES): New variable.
28272 (minicmd_mod_CFLAGS): Likewise.
28273 (minicmd_mod_LDFLAGS): Likewise.
28274 (extcmd_mod_SOURCES): Likewise.
28275 (extcmd_mod_CFLAGS): Likewise.
28276 (extcmd_mod_LDFLAGS): Likewise.
28277 (boot_mod_SOURCES): Removed.
28278 (boot_mod_CFLAGS): Likewise.
28279 (boot_mod_LDFLAGS): Likewise.
28280
28281 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
28282 kern/corecmd.c.
28283 (kernel_img_HEADERS): Add command.h.
28284 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
28285 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
28286 and lib/arg.c.
28287 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
28288 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
28289 remove the corresponding normal mode command.
28290 (normal_mod_SOURCES): Remove normal/arg.c.
28291 * conf/i386-coreboot.rmk: Likewise.
28292 * conf/i386-efi.rmk: Likewise.
28293 * conf/i386-ieee1275.rmk: Likewise.
28294 * conf/powerpc-ieee1275.rmk: Likewise.
28295 * conf/x86_64-efi.rmk: Likewise.
28296
28297 * include/grub/arg.h: Move from here ...
28298 * include/grub/lib/arg.h: ... to here.
28299
28300 * normal/arg.c: Move from here ...
28301 * lib/arg.c: ... to here.
28302
28303 * commands/extcmd.c: New file.
28304 * commands/minicmd.c: Likewise.
28305 * include/grub/command.h: Likewise.
28306 * include/grub/extcmd.h: Likewise.
28307 * kern/command.c: Likewise.
28308 * kern/corecmd.c: Likewise.
28309
28310 * kern/list.c (grub_list_iterate): Return int instead of void.
28311 (grub_list_insert): New function.
28312 (grub_prio_list_insert): Likewise.
28313
28314 * kern/rescue.c (grub_rescue_command): Removed.
28315 (grub_rescue_command_list): Likewise.
28316 (grub_rescue_register_command): Likewise.
28317 (grub_rescue_unregister_command): Likewise.
28318 (grub_rescue_cmd_boot): Move to minicmd.c
28319 (grub_rescue_cmd_help): Likewise.
28320 (grub_rescue_cmd_info): Likewise.
28321 (grub_rescue_cmd_boot): Likewise.
28322 (grub_rescue_cmd_testload): Likewise.
28323 (grub_rescue_cmd_dump): Likewise.
28324 (grub_rescue_cmd_rmmod): Likewise.
28325 (grub_rescue_cmd_lsmod): Likewise.
28326 (grub_rescue_cmd_exit): Likewise.
28327 (grub_rescue_print_devices): Moved to corecmd.c.
28328 (grub_rescue_print_files): Likewise.
28329 (grub_rescue_cmd_ls): Likewise.
28330 (grub_rescue_cmd_insmod): Likewise.
28331 (grub_rescue_cmd_set): Likewise.
28332 (grub_rescue_cmd_unset): Likewise.
7d074e3c 28333 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 28334 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 28335 commands, remove grub_rescue_register_command calls.
b1b797cb 28336
7d074e3c 28337 * normal/command.c (grub_register_command): Removed.
b1b797cb 28338 (grub_unregister_command): Likewise.
28339 (grub_command_find): Likewise.
28340 (grub_iterate_commands): Likewise.
28341 (rescue_command): Likewise.
28342 (export_command): Moved to corecmd.c.
28343 (set_command): Removed.
28344 (unset_command): Likewise.
28345 (insmod_command): Likewise.
28346 (rmmod_command): Likewise.
28347 (lsmod_command): Likewise.
28348 (grub_command_init): Likewise.
28349
28350 * normal/completion.c (iterate_command): Use cmd->prio to check for
28351 active command.
28352 (complete_arguments): Use grub_extcmd_t structure to find options.
28353 (grub_normal_do_completion): Change function grub_iterate_commands to
28354 grub_command_iterate.
28355
28356 * normal/execute.c (grub_script_execute_cmd): No need to parse
28357 argument here.
28358
28359 * normal/main.c (grub_dyncmd_dispatcher): New function.
28360 (read_command_list): Register unload commands as dyncmd.
28361 (grub_cmd_normal): Use new command interface, register rescue,
28362 unregister normal at entry, register normal, unregister rescue at exit.
28363
28364 * include/grub/list.h (grub_list_test_t): New type.
28365 (grub_list_iterate): Return int instead of void.
28366 (grub_list_insert): New function.
28367 (GRUB_AS_NAMED_LIST_P): New macro.
28368 (GRUB_AS_PRIO_LIST): Likewise.
28369 (GRUB_AS_PRIO_LIST_P): Likewise.
28370 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
28371 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
28372 (grub_prio_list): New structure.
28373 (grub_prio_list_insert): New function.
28374 (grub_prio_list_remove): New inline function.
28375
28376 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
28377 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
28378 (GRUB_COMMAND_FLAG_MENU): Likewise.
28379 (GRUB_COMMAND_FLAG_BOTH): Likewise.
28380 (GRUB_COMMAND_FLAG_TITLE): Likewise.
28381 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
28382 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
28383 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
28384 (grub_command): Likewise.
28385 (grub_register_command): Likewise.
28386 (grub_command_find): Likewise.
28387 (grub_iterate_commands): Likewise.
28388 (grub_command_init): Likewise.
28389 (grub_arg_parse): Likewise.
28390 (grub_arg_show_help): Likewise.
28391
28392 * include/grub/rescue.h (grub_rescue_register_command): Removed.
28393 (grub_rescue_unregister_command): Likewise.
28394
28395 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
28396 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
28397 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
28398
28399 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
28400 grub_rescue_cmd_initrd.
28401 * include/grub/i386/loader.h: Likewise.
28402 * include/grub/x86_64/loader.h: Likewise.
28403
28404 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
28405
1f4147aa 284062009-03-21 Bean <bean123ch@gmail.com>
28407
28408 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
28409 instead of stat in mingw environment.
28410
28411 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
28412
28413 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
28414
28415 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
28416 AC_CONFIG_LINKS.
28417
2156d5ba 284182009-03-21 Bean <bean123ch@gmail.com>
28419
28420 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
28421 out of range error.
28422
177b82ca 284232009-03-18 Michel Dänzer <michel@daenzer.net>
28424
28425 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
28426 checking inode flags for EXT4_EXTENTS_FLAG.
28427
14aad807 284282009-03-18 Robert Millan <rmh@aybabtu.com>
28429
28430 * loader/i386/linux.c: Include `<grub/video.h>' and
28431 `<grub/i386/pc/vbe.h>'..
28432 (grub_linux_setup_video): New function. Loosely based on the EFI one.
28433 (grub_linux32_boot): Attempt to configure video settings with
28434 grub_linux_setup_video().
28435 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
28436 to avoid grub_console_fini() which would step out of graphical mode
28437 unconditionally.
28438
8cf83a27 284392009-03-14 Robert Millan <rmh@aybabtu.com>
28440
28441 Fix build on powerpc.
28442 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
28443
40164e75 284442009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
28445
28446 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
28447 background image command.
28448
c58bc32a 284492009-03-12 Colin D Bennett <colin@gibibit.com>
28450
28451 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
28452 (grub_gfxterm_putchar): Extract pairs of identical calls to
28453 draw_cursor out of conditional blocks.
28454
5415144a 284552009-03-11 Pavel Roskin <proski@gnu.org>
28456
28457 * fs/hfs.c (grub_hfs_strncasecmp): New function.
28458 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
28459
6394042e 284602009-03-11 Robert Millan <rmh@aybabtu.com>
28461
28462 * loader/i386/multiboot_elfxx.c
28463 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
28464
b7b50e5f 284652009-03-11 Felix Zielcke <fzielcke@z-51.de>
28466
28467 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
28468 `kern/handler.c'.
28469
1ca7fc96 284702009-03-11 Robert Millan <rmh@aybabtu.com>
28471
28472 * loader/i386/multiboot.c (code_size): New variable.
28473 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 28474 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 28475 4-byte alignment to MBI and others by increasing
7d074e3c 28476 `boot_loader_name_length' appropriately.
1ca7fc96 28477
28478 * loader/i386/multiboot_elfxx.c
28479 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
28480
a83ea1d2 284812009-03-09 Felix Zielcke <fzielcke@z-51.de>
28482
28483 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
28484 `fs/ext2.c'.
28485
aa9f3bff 284862009-03-08 Robert Millan <rmh@aybabtu.com>
28487
28488 Make loader/i386/linux.c usable on i386-pc again.
28489
28490 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
28491 memory to heap.
28492 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
28493 `#error' stanza.
28494
d8b3b60e 284952009-03-07 Bean <bean123ch@gmail.com>
28496
28497 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
28498 allocation.
28499
b362c9e9 285002009-03-06 Robert Millan <rmh@aybabtu.com>
28501
28502 Fix display issue on terminals with screen size other than 80x25
28503 (e.g. gfxterm with resolution higher than 640x480).
28504
28505 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 28506 position relative to the center of the terminal instead of relying
b362c9e9 28507 on a hardcoded offset.
28508
9304eef1 285092009-03-04 Robert Millan <rmh@aybabtu.com>
28510
28511 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
28512 installed.
28513
28514 * Makefile.in (host_kernel): New variable.
28515 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
28516 scripts instead of just the windows one.
28517 * configure.ac: Initialize and AC_SUBST `host_kernel'.
28518
eabc95fb 285192009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 28520
28521 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
28522 `kern/handler.c'.
28523 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28524 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28525 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28526 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28527 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28528 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28529
ceb1223c 285302009-03-04 Felix Zielcke <fzielcke@z-51.de>
28531
28532 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
28533 or if there's no space for the disk label and print the partition number on a
28534 invalid magic.
28535
4910684a 285362009-03-04 Felix Zielcke <fzielcke@z-51.de>
28537
28538 * util/misc.c: Include <time.h>.
28539 (grub_millisleep): New function.
28540
7e9ca17a 285412009-03-04 Bean <bean123ch@gmail.com>
28542
28543 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
28544 another option -mno-red-zone.
28545
28546 * commands/handler.c: Change module description.
28547
28548 * kern/handler.c: Add missing space at the end of description line.
28549
28550 * kern/list.c: Likewise.
28551
f501677c 285522009-03-03 Robert Millan <rmh@aybabtu.com>
28553
28554 Move more components to the relocation area, and fix mbi pointer
28555 handling to use the destination rather than the origin (thanks to
28556 Vladimir Serbinenko for spotting).
28557
28558 * loader/i386/multiboot.c (mbi_dest): New variable.
28559 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
28560 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
28561 relocation area.
28562
9902d047 285632009-03-01 Bean <bean123ch@gmail.com>
28564
50fb7002 28565 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 28566 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
28567 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
28568 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
28569
28570 * loader/i386/efi/linux.c (acpi_guid): New variable.
28571 (acpi_guid): Likewise.
28572 (EBDA_SEG_ADDR): New constant.
28573 (LOW_MEM_ADDR): Likewise.
28574 (FAKE_EBDA_SEG): Likewise.
28575 (fake_bios_data): New function.
28576 (grub_linux_boot): Call fake_bios_data.
28577
71b9f361 285782009-03-01 Bean <bean123ch@gmail.com>
28579
28580 * commands/terminal.c: Removed.
28581
28582 * commands/handler.c: New file.
28583
28584 * include/grub/list.h: Likewise.
28585
28586 * include/grub/handler.h: Likewise.
28587
28588 * kern/list.c: Likewise.
28589
28590 * kern/handler.c: Likewise.
28591
28592 * kern/term.h: Include header file <grub/handler.h>.
28593 (grub_term_input): Move next field to the beginning.
28594 (grub_term_output): Likewise.
28595 (grub_term_input_class): New variable.
28596 (grub_term_output_class): Likewise.
28597 (grub_term_register_input): Changed to inline function.
28598 (grub_term_register_output): Likewise.
28599 (grub_term_unregister_input): Likewise.
28600 (grub_term_unregister_output): Likewise.
28601 (grub_term_set_current_input): Likewise.
28602 (grub_term_set_current_output): Likewise.
28603 (grub_term_get_current_input): Likewise.
28604 (grub_term_get_current_output): Likewise.
28605 (grub_term_iterate_input): Removed.
28606 (grub_term_iterate_output): Likewise.
28607
28608 * kern/term.c (grub_term_list_input): Removed.
28609 (grub_term_list_output): Likewise.
28610 (grub_term_input_class): New variable.
28611 (grub_term_output_class): Likewise.
50fb7002 28612 (grub_cur_term_input): Change variable as macro.
71b9f361 28613 (grub_cur_term_output): Likewise.
28614 (grub_term_register_input): Removed.
28615 (grub_term_register_output): Likewise.
28616 (grub_term_unregister_input): Likewise.
28617 (grub_term_unregister_output): Likewise.
28618 (grub_term_set_current_input): Likewise.
28619 (grub_term_set_current_output): Likewise.
28620 (grub_term_iterate_input): Likewise.
28621 (grub_term_iterate_output): Likewise.
28622 (grub_term_get_current_input): Likewise.
28623 (grub_term_get_current_output): Likewise.
28624
28625 * util/grub-editenv.c: Include header file <grub/handler.h>.
28626 (grub_term_get_current_input): Removed.
28627 (grub_term_get_current_output): Likewise.
28628 (grub_term_input_class): New variable.
50fb7002 28629 (grub_term_output_class): Likewise.
71b9f361 28630
28631 * util/grub-fstest.c (grub_term_get_current_input): Removed.
28632 (grub_term_get_current_output): Likewise.
28633 (grub_term_input_class): New variable.
50fb7002 28634 (grub_term_output_class): Likewise.
71b9f361 28635
28636 * util/grub-probe.c (grub_term_get_current_input): Removed.
28637 (grub_term_get_current_output): Likewise.
28638 (grub_term_input_class): New variable.
50fb7002 28639 (grub_term_output_class): Likewise.
71b9f361 28640
28641 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
28642 (grub_term_get_current_output): Likewise.
28643 (grub_term_input_class): New variable.
50fb7002 28644 (grub_term_output_class): Likewise.
71b9f361 28645
28646 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
28647 (terminal_mod_SOURCES): Likewise.
28648 (terminal_mod_CFLAGS): Likewise.
28649 (terminal_mod_LDFLAGS): Likewise.
28650
28651 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
28652 handler.c.
28653 (kernel_img_SOURCES): Add list.c and handler.c.
28654 (kernel_img_HEADERS): Add list.h and handler.h.
28655
28656 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
28657 handler.c.
28658 (kernel_mod_SOURCES): Add list.c and handler.c.
28659 (kernel_mod_HEADERS): Add list.h and handler.h.
28660
28661 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
28662 handler.c.
28663 (kernel_elf_SOURCES): Add list.c and handler.c.
28664 (kernel_elf_HEADERS): Add list.h and handler.h.
28665
28666 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
28667 handler.c.
28668 (kernel_elf_SOURCES): Add list.c and handler.c.
28669 (kernel_elf_HEADERS): Add list.h and handler.h.
28670
28671 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
28672 handler.c.
28673 (kernel_mod_SOURCES): Add list.c and handler.c.
28674 (kernel_mod_HEADERS): Add list.h and handler.h.
28675
28676 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
28677 handler.c.
28678 (kernel_elf_SOURCES): Add list.c and handler.c.
28679 (kernel_elf_HEADERS): Add list.h and handler.h.
28680
8a31787f 286812009-02-27 Robert Millan <rmh@aybabtu.com>
28682
28683 Factorize elf32 / elf64 code in Multiboot loader. This will
28684 prevent it from getting out of sync again.
28685
28686 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
28687 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
28688 grub_multiboot_load_elf64): Move from here ...
28689 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
28690 grub_multiboot_load_elf): ... to here (new file).
28691
51cd3dfc 286922009-02-27 Robert Millan <rmh@aybabtu.com>
28693
28694 * util/grub.d/10_linux.in: Rename "single-user mode" to
28695 "recovery mode".
28696
6e8c9c3a 286972009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
28698
28699 Don't leak in SCSI code.
28700 * disk/scsi.c (grub_scsi_close): free `scsi'.
28701
4b6bf4f9 287022009-02-27 Robert Millan <rmh@aybabtu.com>
28703
28704 * loader/i386/pc/multiboot.c: Move from here ...
28705 * loader/i386/multiboot.c: ... to here. Update all users.
28706
b9413424 287072009-02-27 Robert Millan <rmh@aybabtu.com>
28708
28709 Patch from Alexandre Bique <bique.alexandre@gmail.com>
28710 * util/i386/pc/grub-setup.c (setup): Fix directory path.
28711
50fb7002 287122009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 28713
28714 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
28715 b-tree.
28716
8cc50345 287172009-02-27 Robert Millan <rmh@aybabtu.com>
28718
28719 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
28720 `0x' qualifier as 0 when base is specified as parameter).
28721
6e09b8b7 287222009-02-24 Bean <bean123ch@gmail.com>
28723
28724 * configure.ac: Check for -mcmodel=large in x86_64 target.
28725
28726 * include/grub/efi/api.h (efi_call_10): New macro.
28727 (efi_wrap_10): New function.
28728
28729 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
28730 (GRUB_PE32_REL_BASED_HIGH): Likewise.
28731 (GRUB_PE32_REL_BASED_LOW): Likewise.
28732 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
28733 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
28734 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
28735 (GRUB_PE32_REL_BASED_SECTION): Likewise.
28736 (GRUB_PE32_REL_BASED_REL): Likewise.
28737 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
28738 (GRUB_PE32_REL_BASED_DIR64): Likewise.
28739 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
28740
28741 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
28742 issue.
28743
28744 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
28745 (efi_wrap_10): New function.
28746
28747 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
28748
28749 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
28750 MB/MBP model (NV chipset).
28751 (devdata_devs): Add devpath_5 to the list.
28752
28753 * load/i386/efi/linux.c (video_base): Remove variable.
28754 (RGB_MASK): New macro.
28755 (RGB_MAGIC): Likewise.
28756 (LINE_MIN): Likewise.
28757 (LINE_MAX): Likewise.
28758 (FBTEST_STEP): Likewise.
28759 (FBTEST_COUNT): Likewise.
28760 (fb_list): New variable.
28761 (grub_find_video_card): Remove function.
28762 (find_framebuf): New function.
28763 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
28764 line length.
28765
28766 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
28767 problem for x86_64.
28768
74b21bee 287692009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
28770
28771 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
28772
28773 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
28774 coding tool name.
28775
a455f472 287762009-02-22 Robert Millan <rmh@aybabtu.com>
28777
28778 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
28779 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
28780 in our relocation, instead of using it directly from heap. Also
28781 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
28782
6374daf3 287832009-02-21 Robert Millan <rmh@aybabtu.com>
28784
28785 Implement USB keyboard support (based on patch by Marco Gerards)
28786
28787 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
28788 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
28789 (usb_keyboard_mod_LDFLAGS): New variables.
28790
28791 * term/usb_keyboard.c: New file.
28792
8fa4ea70 287932009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28794
28795 Corrected wrong declaration
28796
28797 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
28798
353976ac 287992009-02-14 Christian Franke <franke@computer.org>
28800
28801 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
28802 (grub_lspci_iter): Print class code and programming interface byte.
28803
6aa1169b 288042009-02-14 Christian Franke <franke@computer.org>
28805
28806 * gendistlist.sh: Ignore `.svn' directories.
28807
265372ca 288082009-02-14 Felix Zielcke <fzielcke@z-51.de>
28809
28810 * fs/fat.c: Add 2009 to Copyright line.
28811
9ff516f3 288122009-02-14 Christian Franke <franke@computer.org>
28813
28814 * commands/hdparm.c: New file. Provides `hdparm' command
28815 which sends ATA commands via grub_disk_ata_pass_through ().
28816
28817 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
28818
28819 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
28820 and <grub/cpu/io.h> to include/grub/ata.h.
28821 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
28822 (GRUB_CDROM_SECTOR_SIZE): Remove.
28823 (GRUB_ATA_*): Move to include/grub/ata.h.
28824 (GRUB_ATAPI_*): Likewise.
28825 (enum grub_ata_commands): Likewise.
28826 (enum grub_ata_timeout_milliseconds): Likewise.
28827 (struct grub_ata_device): Likewise.
28828 (grub_ata_regset): Likewise.
28829 (grub_ata_regget): Likewise.
28830 (grub_ata_regset2): Likewise.
28831 (grub_ata_regget2): Likewise.
28832 (grub_ata_check_ready): Likewise.
28833 (grub_ata_wait_not_busy): Remove static, exported in
28834 include/grub/ata.h.
28835 (grub_ata_wait_drq): Likewise.
28836 (grub_ata_pio_read): Likewise.
28837
28838 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
28839 function for hdparm.mod.
28840
28841 * include/grub/ata.h: New file, contains declarations from
28842 disk/ata.c.
28843 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
28844
28845 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
28846 (grub_disk_ata_pass_through): New exported variable.
28847
28848 * kern/disk.c (grub_disk_ata_pass_through): New variable.
28849
772e23da 288502009-02-13 Colin D Bennett <colin@gibibit.com>
28851
28852 Support multiple fallback entries, and provide an API to support
28853 executing default+fallback menu entries. Renamed the `terminal' menu
28854 viewer to `text'.
28855
28856 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
28857 variable declaration.
28858 (grub_menu_execute_callback): New structure declaration.
28859 (grub_menu_execute_callback_t): New typedef.
28860 (grub_menu_execute_with_fallback): New function declaration.
28861 (grub_menu_get_entry): Likewise.
28862 (grub_menu_get_timeout): Likewise.
28863 (grub_menu_set_timeout): Likewise.
28864
28865 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
28866
28867 * normal/menu.c (grub_wait_after_message): Moved to
28868 `normal/menu_text.c'.
28869 (draw_border): Likewise.
28870 (print_message): Likewise.
28871 (print_entry): Likewise.
28872 (print_entries): Likewise.
28873 (grub_menu_init_page): Likewise.
28874 (get_entry_number): Likewise.
28875 (print_timeout): Likewise.
28876 (run_menu): Likewise.
28877 (grub_menu_execute_entry): Likewise.
28878 (show_text_menu): Likewise.
28879 (get_and_remove_first_entry_number): New function.
28880 (grub_menu_execute_with_fallback): Likewise.
28881 (get_entry): Renamed to ...
28882 (grub_menu_get_entry): .. this and made it global.
28883 (get_timeout): Renamed to ...
28884 (grub_menu_get_timeout): ... this and made it global.
28885 (set_timeout): Renamed to ...
28886 (grub_menu_set_timeout): ... this and made it global.
28887 (grub_normal_terminal_menu_viewer): Renamed to ...
28888 (grub_normal_text_menu_viewer): ... this.
28889
28890 * normal/menu_text.c: New file. Extracted text-menu-specific code
28891 from normal/menu.c.
28892
28893 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
28894 (normal_mod_SOURCES): Likewise.
28895
28896 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28897 (normal_mod_SOURCES): Likewise.
28898
28899 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28900 (normal_mod_SOURCES): Likewise.
28901
28902 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
28903 (normal_mod_SOURCES): Likewise.
28904
28905 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28906 (normal_mod_SOURCES): Likewise.
28907
28908 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28909 (normal_mod_SOURCES): Likewise.
28910
28911 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28912 (normal_mod_SOURCES): Likewise.
28913
16ac430e 289142009-02-11 Robert Millan <rmh@aybabtu.com>
28915
28916 * util/grub.d/00_header.in: Update old reference to `font' command.
28917
06ff20fc 289182009-02-10 Felix Zielcke <fzielcke@z-51.de>
28919
28920 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
28921
28922 Based on patch from Javier Martín.
28923
96da9407 289242009-02-09 Felix Zielcke <fzielcke@z-51.de>
28925
28926 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 28927 to avoid false positives with FAT.
96da9407 28928 (grub_fstest_SOURCES): Likewise.
28929 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28930 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28931 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28932 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28933 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28934 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28935
6dca6fe4 289362009-02-09 Felix Zielcke <fzielcke@z-51.de>
28937
06ff20fc 28938 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 28939 bpb.version_specific.fat12_or_fat16.fstype and
28940 bpb.version_specific.fat32.fstype.
28941
2550c62f 289422009-02-08 Robert Millan <rmh@aybabtu.com>
28943
be110b30 28944 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 28945
56978920 289462009-02-08 Robert Millan <rmh@aybabtu.com>
28947
28948 * Makefile.in (host_os, host_cpu): New variables.
28949 (target_os): Remove. Update all users.
28950
d64399b5 289512009-02-08 Marco Gerards <marco@gnu.org>
28952
28953 * Makefile.in (enable_grub_emu_usb): New variable.
28954 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
28955 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
28956 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
28957 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
28958 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
28959 `usbtest.mod' and `usbms.mod'.
28960 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
28961 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
28962 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
28963 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
28964 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
28965 variables.
28966
28967 * disk/usbms.c: New file.
28968
28969 * include/grub/usb.h: Likewise.
28970
28971 * include/grub/usbtrans.h: Likewise.
28972
28973 * include/grub/usbdesc.h: Likewise.
28974
28975 * bus/usb/usbtrans.c: Likewise.
28976
28977 * bus/usb/ohci.c: Likewise.
28978
28979 * bus/usb/uhci.c: Likewise.
28980
28981 * bus/usb/usbhub.c: Likewise.
28982
28983 * bus/usb/usb.c: Likewise.
28984
28985 * commands/usbtest.c: Likewise.
28986
28987 * util/usb.c: Likewise.
50fb7002 28988
d64399b5 28989 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
28990
28991 * configure.ac: Test for libusb presence.
50fb7002 28992
d64399b5 28993 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
28994
2b40d6bb 289952009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
28996
28997 * kern/mm.c: Add more comments.
28998
73a4ce81 289992009-02-08 Robert Millan <rmh@aybabtu.com>
29000
29001 Patch from Javier Martín.
29002 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
29003 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
29004
f821ce59 290052009-02-08 Robert Millan <rmh@aybabtu.com>
29006
29007 * fs/cpio.c: Split tar functionality to ...
29008 * fs/tar.c: ... here (new file). Update all users.
29009
aebfc4b0 290102009-02-07 Robert Millan <rmh@aybabtu.com>
29011
29012 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
29013 backward-incompatible features.
29014
29015 Based on patch from Javier Martín, with some adjustments.
29016
50fb7002 290172009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 29018
29019 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
29020
0bb5115e 290212009-02-07 Robert Millan <rmh@aybabtu.com>
29022
29023 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
29024 position of `disk/lvm.c' to ensure grub_init_all() always picks it
29025 after the RAID stuff.
29026
38a0f8e7 290272009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
29028
50fb7002 29029 Fixes problem when running vbetest command as reported by
38a0f8e7 29030 Vladimir Serbinenko <phcoder@gmail.com>.
29031
29032 * (grub_vbe_set_video_mode): Fixed problem with text modes.
29033
3143cc1c 290342009-02-04 Felix Zielcke <fzielcke@z-51.de>
29035
29036 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
29037 /dev/md/NpN style mdraid devices.
29038
9cba6fce 290392009-02-03 Felix Zielcke <fzielcke@z-51.de>
29040
29041 * util/unifont2pff.rb: Remove.
29042
e507a2c1 290432009-02-03 Felix Zielcke <fzielcke@z-51.de>
29044
29045 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
29046 `#'.
29047
d2c2b4cd 290482009-02-03 Felix Zielcke <fzielcke@z-51.de>
29049
29050 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
29051 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29052 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29053 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29054 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29055 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29056 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29057
b4315fb0 290582009-02-02 Christian Franke <franke@computer.org>
29059
29060 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
29061
de3aa260 290622009-02-01 Felix Zielcke <fzielcke@z-51.de>
29063
7c3ff286 29064 * INSTALL: Note that we now require at least autoconf 2.59 and
29065 that LZO is optional.
de3aa260 29066
825a182b 290672009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
29068
29069 Base on patch on bug #24154 created by Tomas Tintera
29070 <trosos@seznam.cz>.
29071
29072 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
29073
a69ef770 290742009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
29075
7c3ff286 29076 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 29077 <bero@arklinux.org>.
29078
29079 * normal/parser.y (script_init): Add missing semicolon.
29080
6fa42fa6 290812009-01-31 Colin D Bennett <colin@gibibit.com>
29082
7c3ff286 29083 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 29084 (free_menu_entry_classes): Added.
29085 (grub_normal_menu_addentry): Added class property handling.
29086 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
29087 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
29088
29089 * normal/menu_viewer.c: New file.
29090
29091 * normal/menu.c (run_menu_entry): Renamed to ...
29092 (grub_menu_execute_entry): ... this and made it as global.
29093 (grub_menu_run): Renamed to ...
29094 (show_text_menu): ... this and made it local.
29095 (show_text_menu): Adapt to new function names.
29096 (grub_normal_terminal_menu_viewer): New global variable.
29097
29098 * include/grub/menu.h: New file.
29099
29100 * include/grub/menu_viewer.h: New file.
29101
29102 * include/grub/normal.h: Added include to grub/menu.h.
29103 (grub_menu_entry): Moved to include/grub/menu.h.
29104 (grub_menu_entry_t): Likewise.
29105 (grub_menu): Likewise.
29106 (grub_menu_t): Likewise.
29107 (grub_normal_terminal_menu_viewer): Added.
29108 (grub_menu_execute_entry): Likewise.
29109 (grub_menu_run): Removed.
29110
29111 * DISTLIST: Added include/grub/menu.h.
29112 Added include/grub/menu_viewer.h.
29113 Added normal/menu_viewer.c.
29114
291152009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
29116
29117 * normal/execute.c (grub_script_execute_menuentry): Changed to use
29118 arglist for menutitle arguments.
29119
29120 * normal/main.c (grub_normal_menu_addentry): Likewise.
29121
29122 * normal/parser.y (menuentry): Likewise.
29123
29124 * normal/script.c (grub_script_create_cmdmenu): Likewise.
29125
29126 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
29127 (grub_script_create_cmdmenu): Likewise.
29128
29129 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
29130
29131 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
29132 changes.
29133
29134 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
29135
29136 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
29137
29138 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
29139
29140 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
29141
29142 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
29143
29144 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
29145
56192c23 291462009-01-30 Christian Franke <franke@computer.org>
29147
29148 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
29149 in option help text.
29150
d72521b3 291512009-01-27 Pavel Roskin <proski@gnu.org>
29152
29153 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
29154
994b5e84 291552009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
29156
29157 * commands/lsmmap.c: Add include to grub/machine/memory.h.
29158
29159 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
29160
29161 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
29162 unregister function.
29163
6a7eab2c 291642009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
29165
29166 * disk/scsi.c (grub_scsi_read): Fix sign problem.
29167
29168 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
29169
29170 * util/grub-mkfont.c (usage): Fix typo.
29171
29172 * util/elf/grub-mkimage.c (load_modules): Fix warning.
29173
1806b56e 291742009-01-26 Daniel Mierswa <impulze@impulze.org>
29175
3fb18f09 29176 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
29177
336e1fb9 29178 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
29179
1806b56e 29180 * kern/misc.c (grub_strcasecmp): New function.
29181 (grub_strcasecmp): Use grub_size_t instead of int for length.
29182 Fix return value.
29183 * include/grub/misc.h: Update function prototypes.
29184
580b2a0f 291852009-01-26 Robert Millan <rmh@aybabtu.com>
29186
29187 * configure.ac: Fix cross-compilation check.
ef257b36 29188
d31c24f1 291892009-01-22 Christian Franke <franke@computer.org>
29190
29191 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
29192 (precision) digit string. Allow `.format2' without `format1' (width).
29193 Limit input chars for `%s' output to `format2' if specified. This is
29194 compatible with standard printf ().
29195
3138b44c 291962009-01-22 Christian Franke <franke@computer.org>
29197
29198 * disk/ata.c (grub_ata_wait_status): Replace by ...
29199 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
29200 other status bits may be invalid while BSY is asserted.
29201 (grub_ata_check_ready): New function.
29202 (grub_ata_cmd): Removed.
29203 (grub_ata_wait_drq): New function.
29204 (grub_ata_strncpy): Remove inline.
29205 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
29206 and error check now done by grub_ata_wait_drq ().
29207 (grub_ata_pio_write): Likewise.
29208 (grub_atapi_identify): Set DEV before check for !BSY. Use
29209 grub_ata_wait_drq () to wait for data.
29210 (grub_ata_device_initialize): Add status register check to
29211 detect missing SATA slave devices. Add debug messages.
29212 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
29213 (grub_atapi_packet): Set DEV before check for !BSY. Replace
29214 transfer loop by grub_ata_pio_write ().
29215 (grub_ata_identify): Set DEV before check for !BSY. Use
29216 grub_ata_wait_drq () to wait for data.
ef257b36 29217 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 29218 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
29219 read/write in one loop. Fix invalid command on write. Fix incomplete
29220 command on (size % batch) == 0. Add missing error check after write of
29221 last block. Add debug messages.
29222 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
29223
59a64ef6 292242009-01-19 Christian Franke <franke@computer.org>
29225
29226 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
29227 (GRUB_ATAPI_IREASON_*): Likewise.
29228 (grub_ata_pio_write): Fix timeout error return.
29229 (grub_atapi_identify): Add grub_ata_wait () after cmd.
29230 (grub_atapi_wait_drq): New function.
29231 (grub_atapi_packet): New parameter `size'.
29232 Use grub_atapi_wait_drq () and direct write instead of
29233 grub_ata_pio_write ().
29234 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
29235 reads the number of bytes requested by the device for each DRQ
29236 assertion.
29237 (grub_atapi_write): Remove old implementation, return not
29238 implemented instead.
29239
1cfe20b3 292402009-01-19 Christian Franke <franke@computer.org>
29241
29242 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
29243 of 512 to calculate data size.
29244 (grub_scsi_read12): Likewise.
29245 (grub_scsi_write10): Likewise.
29246 (grub_scsi_write12): Likewise.
29247 (grub_scsi_read): Adjust size according to blocksize.
29248 Add checks for invalid blocksize and unaligned transfer.
29249
bee5fe5d 292502009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
29251
29252 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
29253
ef257b36 29254 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 29255 width glyphs.
29256
3e643f8c 292572009-01-19 Robert Millan <rmh@aybabtu.com>
29258
29259 * config.guess: Update to latest version from config git.
29260 * config.sub: Likewise.
29261
4fa80998 292622009-01-17 Felix Zielcke <fzielcke@z-51.de>
29263
29264 * Makefile.in: Change font compilation to use new grub-mkfont instead
29265 of java version.
29266
29267 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
29268 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
29269 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
29270 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
29271 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
29272 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
29273 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
29274 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
29275 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
29276
7086085b 292772009-01-16 Christian Franke <franke@computer.org>
29278
29279 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
29280 (enum grub_ata_timeout_milliseconds): New enum.
29281 (grub_ata_wait_status): Add parameter milliseconds.
29282 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
29283 recovery from timed-out commands.
29284 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
29285 return grub_errno instead of REG_ERROR.
29286 (grub_ata_pio_write): Add parameter milliseconds.
29287 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
29288 Pass milliseconds to grub_ata_wait_status () and
29289 grub_ata_pio_read ().
29290 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
29291 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
29292 grub_ata_wait_status (). Fix IDENTIFY timeout check.
29293 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
29294 It is not suitable for device detection, because DEV bit is ignored,
29295 the command may run too long, and not all devices set the signature
29296 properly.
29297 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
29298 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
29299 Fix device selection, DEV bit must be set first to address the registers
29300 of the correct device.
29301 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
29302 grub_ata_pio_read/write ().
29303 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
29304 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
29305
4a412913 293062009-01-13 Carles Pina i Estany <carles@pina.cat>
29307
29308 * util/grub-editenv.c (main): Use fseeko(), not fseek().
29309
7795c55e 293102009-01-13 Bean <bean123ch@gmail.com>
d913988c 29311
29312 * util/grub-mkfont.c (write_font): forget to remove some debug code.
29313
7795c55e 293142009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 29315
29316 * Makefile.in: (enable_grub_mkfont): New variable.
29317 (freetype_cflags): Likewise.
29318 (freetype_libs): Likewise.
29319
29320 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
29321 (grub_mkfont_SOURCES): New variable.
29322 (grub_mkfont_CFLAGS): Likewise.
29323 (grub_mkfont_LDFLAGS): Likewise.
29324
29325 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
29326 library if `--enable-grub-mkfont' is requested.
29327 (enable_grub_mkfont): New variable.
29328 (freetype_cflags): Likewise.
29329 (freetype_libs): Likewise.
29330
29331 * util/grub-mkfont.c: New file.
29332
093af1fe 293332009-01-12 Christian Franke <franke@computer.org>
29334
29335 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
29336 mode check. Fix setting of compat_use[].
29337
f36cc108 293382009-01-10 Robert Millan <rmh@aybabtu.com>
29339
29340 Update a few copyright years which we forgot to do in 2008 (only for
29341 files whose changes made in 2008 were copyright-significant)
29342
29343 * Makefile.in: Add 2008 to Copyright line.
29344 * disk/ieee1275/ofdisk.c: Likewise.
29345 * disk/efi/efidisk.c: Likewise.
29346 * kern/dl.c: Likewise.
29347 * kern/sparc64/ieee1275/init.c: Likewise.
29348 * kern/mm.c: Likewise.
29349 * kern/efi/mm.c: Likewise.
29350 * boot/i386/pc/boot.S: Likewise.
29351 * genfslist.sh: Likewise.
29352 * fs/iso9660.c: Likewise.
29353 * fs/hfs.c: Likewise.
29354 * fs/jfs.c: Likewise.
29355 * fs/minix.c: Likewise.
29356 * fs/ufs.c: Likewise.
29357 * gensymlist.sh.in: Likewise.
29358 * genkernsyms.sh.in: Likewise.
29359 * include/grub/misc.h: Likewise.
29360 * include/grub/types.h: Likewise.
29361 * include/grub/symbol.h: Likewise.
29362 * include/grub/elf.h: Likewise.
29363 * include/grub/kernel.h: Likewise.
29364 * include/grub/disk.h: Likewise.
29365 * include/grub/dl.h: Likewise.
29366 * include/grub/i386/linux.h: Likewise.
29367 * include/grub/i386/pc/biosdisk.h: Likewise.
29368 * include/grub/efi/api.h: Likewise.
29369 * include/grub/efi/pe32.h: Likewise.
29370 * include/grub/util/misc.h: Likewise.
29371 * normal/execute.c: Likewise.
29372 * normal/arg.c: Likewise.
29373 * normal/completion.c: Likewise.
29374 * normal/lexer.c: Likewise.
29375 * normal/parser.y: Likewise.
29376 * normal/misc.c: Likewise.
29377 * commands/i386/pc/vbeinfo.c: Likewise.
29378 * commands/hexdump.c: Likewise.
29379 * commands/terminal.c: Likewise.
29380 * commands/ls.c: Likewise.
29381 * commands/help.c: Likewise.
29382 * partmap/pc.c: Likewise.
29383 * loader/efi/chainloader.c: Likewise.
29384 * loader/multiboot_loader.c: Likewise.
29385 * loader/i386/pc/multiboot2.c: Likewise.
29386 * term/efi/console.c: Likewise.
29387 * term/i386/pc/serial.c: Likewise.
29388 * util/lvm.c: Likewise.
29389 * util/console.c: Likewise.
29390 * util/i386/efi/grub-mkimage.c: Likewise.
29391 * util/raid.c: Likewise.
29392
7f02114b 293932009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
29394
29395 * commands/videotest.c: Removed include to grub/machine/memory.h.
29396
29397 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
29398 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
29399 (video_mod_SOURCES): Removed.
29400 (video_mod_CFLAGS): Likewise.
29401 (video_mod_LDFLAGS): Likewise.
29402 (gfxterm_mod_SOURCES): Likewise.
29403 (gfxterm_mod_CFLAGS): Likewise.
29404 (gfxterm_mod_LDFLAGS): Likewise.
29405 (videotest_mod_SOURCES): Likewise.
29406 (videotest_mod_CFLAGS): Likewise.
29407 (videotest_mod_LDFLAGS): Likewise.
29408 (bitmap_mod_SOURCES): Likewise.
29409 (bitmap_mod_CFLAGS): Likewise.
29410 (bitmap_mod_LDFLAGS): Likewise.
29411 (tga_mod_SOURCES): Likewise.
29412 (tga_mod_CFLAGS): Likewise.
29413 (tga_mod_LDFLAGS): Likewise.
29414 (jpeg_mod_SOURCES): Likewise.
29415 (jpeg_mod_CFLAGS): Likewise.
29416 (jpeg_mod_LDFLAGS): Likewise.
29417 (png_mod_SOURCES): Likewise.
29418 (png_mod_CFLAGS): Likewise.
29419 (png_mod_LDFLAGS): Likewise.
29420
29421 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
29422 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
29423 (video_mod_SOURCES): Added.
29424 (video_mod_CFLAGS): Likewise.
29425 (video_mod_LDFLAGS): Likewise.
29426 (videotest_mod_SOURCES): Likewise.
29427 (videotest_mod_CFLAGS): Likewise.
29428 (videotest_mod_LDFLAGS): Likewise.
29429 (bitmap_mod_SOURCES): Likewise.
29430 (bitmap_mod_CFLAGS): Likewise.
29431 (bitmap_mod_LDFLAGS): Likewise.
29432 (tga_mod_SOURCES): Likewise.
29433 (tga_mod_CFLAGS): Likewise.
29434 (tga_mod_LDFLAGS): Likewise.
29435 (jpeg_mod_SOURCES): Likewise.
29436 (jpeg_mod_CFLAGS): Likewise.
29437 (jpeg_mod_LDFLAGS): Likewise.
29438 (png_mod_SOURCES): Likewise.
29439 (png_mod_CFLAGS): Likewise.
29440 (png_mod_LDFLAGS): Likewise.
29441 (gfxterm_mod_SOURCES): Likewise.
29442 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 29443 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 29444
29445 * term/gfxterm.c: Removed include to grub/machine/memory.h,
29446 grub/machine/console.h.
29447
644fff97 294482009-01-04 Jerone Young <jerone@gmail.com>
29449
29450 Make on screen instructions clearer
29451
29452 Based on patch created by Jidanni <jidanni@jidanni.org>
29453
29454 * normal/menu.c: print clearer instructions on the screen
29455
1e901a75 294562009-01-02 Colin D Bennett <colin@gibibit.com>
29457
29458 New font engine.
34c44600 29459
1e901a75 29460 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
29461 build system and fixed gfxterm.c to work with different sized fonts.
29462
29463 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 29464
1e901a75 29465 * configure: Re-generated.
34c44600 29466
1e901a75 29467 * DISTLIST: Removed font/manager.c.
29468 Added font/font.c.
29469 Added font/font_cmd.c.
34c44600 29470
1e901a75 29471 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
29472 compilation.
34c44600 29473
1e901a75 29474 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 29475
29476 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 29477
29478 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 29479
1e901a75 29480 * normal/menu.c: Likewise.
34c44600 29481
1e901a75 29482 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
29483 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 29484
1e901a75 29485 * include/grub/font.h: Replaced with new file.
34c44600 29486
1e901a75 29487 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
29488 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
29489 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
29490 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
29491 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 29492 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 29493 fg_red, fg_green, fg_blue, fg_alpha.
29494 (grub_video_adapter): Removed blit_glyph.
34c44600 29495 (grub_video_blit_glyph): Removed.
29496
1e901a75 29497 * font/manager.c: Removed file.
34c44600 29498
29499 * font/font.c: New file.
29500
1e901a75 29501 * font/font_cmd.c: Likewise.
34c44600 29502
1e901a75 29503 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 29504
1e901a75 29505 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
29506 (grub_video_vbe_map_rgba): Likewise.
29507 (grub_video_vbe_unmap_color_int): Likewise.
29508 (grub_video_vbe_blit_glyph): Removed.
29509 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 29510
1e901a75 29511 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
29512 (get_pixel): Likewise.
34c44600 29513 (set_pixel): Likewise.
29514
1e901a75 29515 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 29516
1e901a75 29517 * term/gfxterm.c: Adapted to new font engine.
34c44600 29518
1e901a75 29519 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 29520
1e901a75 29521 * term/i386/pc/vga.c: Likewise.
34c44600 29522
1e901a75 29523 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 29524
1e901a75 29525 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 29526
1e901a75 29527 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 29528
1e901a75 29529 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 29530
1e901a75 29531 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 29532
1e901a75 29533 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 29534
1e901a75 29535 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 29536
1e901a75 29537 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 29538
1e901a75 29539 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
29540
29541 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 29542
1e901a75 29543 * util/grub-mkconfig_lib.in: Changed font extension.
29544
278922e8 295452008-12-28 Felix Zielcke <fzielcke@z-51.de>
29546
29547 * util/getroot.c (grub_util_get_grub_dev): Add support for
29548 /dev/md/dNNpNN style partitionable mdraid devices.
29549
3ced05cf 295502008-12-12 Alex Smith <alex@alex-smith.me.uk>
29551
29552 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
29553 at a time limit of the PXE TFTP API correctly.
29554 (grub_pxefs_close): Likewise.
29555
7fd0ee30 295562008-11-29 Robert Millan <rmh@aybabtu.com>
29557
34c44600 29558 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 29559 grub_ata_device_initialize() calls.
29560
34c44600 295612008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 29562
29563 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
29564 iteration failed.
29565 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
29566
89313780 295672008-11-28 Robert Millan <rmh@aybabtu.com>
29568
29569 Fix build on powerpc-ieee1275. Based on patch created by
29570 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
29571 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
29572 `kern/ieee1275/mmap.c'.
29573 * include/grub/powerpc/ieee1275/memory.h: New file.
29574
15257703 29575 Provide grub-install on coreboot.
29576 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
29577 (grub_install_SOURCES): New variable.
29578 * util/i386/pc/grub-install.in: Add a few condition checks to make it
29579 usable on coreboot.
29580
9fc5388a 295812008-11-25 Felix Zielcke <fzielcke@z-51.de>
29582
29583 * util/grub-fstest.c (grub_term_get_current_input): Change return type
29584 to `grub_term_input_t'.
29585 (grub_term_get_current_output): Change return type to
29586 `grub_term_output_t'.
29587
bc3a2f31 295882008-11-22 Robert Millan <rmh@aybabtu.com>
29589
34c44600 29590 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 29591 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
29592 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
29593 grub_vga_text_cls().
29594
80fc88f2 29595 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 29596 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 29597
cbf36fd3 29598 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
29599 to 0x200000 (avoids trouble with some OFW implementations, and matches
29600 with the one in Yaboot).
29601 Reported by Manoel Abranches
29602
73e8e268 296032008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 29604
29605 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
29606 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
29607
73e8e268 29608 * util/grub-mkconfig_lib.in (grub_warn): New function.
29609 (convert_system_path_to_grub_path): Use grub_warn() when issuing
29610 warnings, to obtain consistent formatting.
29611 * util/grub.d/00_header.in: Likewise.
29612 * util/update-grub_lib.in: Likewise.
29613
e94045a1 29614 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 29615 Move comment text to `#error' stanza.
e94045a1 29616
79d29fd7 29617 Harmonize ieee1275's grub_available_iterate() with the generic
29618 grub_machine_mmap_iterate() interface (fixes a recently-introduced
29619 build problem on i386-ieee1275):
29620 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
29621 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
29622 parameter `type'. Update all users of this function.
29623 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
29624 `kern/ieee1275/mmap.c'.
29625 * kern/ieee1275/init.c
29626 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
29627 with ...
29628 (grub_machine_mmap_iterate): ... this.
29629 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
29630 return type to `grub_err_t'. Update all implementations of this
29631 function prototype.
29632 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
29633 Likewise.
29634
60d6b16e 29635 Add `lsmmap' command (lists firmware-provided memory map):
29636 * commands/lsmmap.c: New file.
29637 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
29638 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
29639 variables.
29640 * conf/powerpc-ieee1275.rmk: Likewise.
29641 * conf/i386-coreboot.rmk: Likewise.
29642 * conf/i386-ieee1275.rmk: Likewise.
29643
ebaaf49b 296442008-11-19 Robert Millan <rmh@aybabtu.com>
29645
29646 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 29647 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
29648 constraints to initrd allocation (based on code from
29649 loader/i386/pc/linux.c). Without them, initrd was allocated too high
29650 for Linux to find it.
ebaaf49b 29651
dfab719f 296522008-11-14 Robert Millan <rmh@aybabtu.com>
29653
29654 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
29655 order to cope with duplicate slashes.
29656
10fc3eb9 296572008-11-14 Robert Millan <rmh@aybabtu.com>
29658
29659 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
29660 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
29661 don't want to mess with lower memory, because it is used in the Linux
29662 loader.
29663
29664 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 29665 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 29666 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
29667 is in our heap (probably as a result of it being corrupted during
2f2a3442 29668 decompression). Add #error instance with comment to explain why this
29669 loader isn't currently usable on PC/BIOS.
10fc3eb9 29670
e2e07847 296712008-11-14 Robert Millan <rmh@aybabtu.com>
29672
29673 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 29674 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 29675
fe8e8d69 296762008-11-12 Robert Millan <rmh@aybabtu.com>
29677
29678 Make loader/i386/linux.c buildable on i386-pc (although disabled).
29679
29680 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
29681 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
29682 from here ...
29683 * include/grub/i386/pc/memory.h: ... to here.
29684
976b07d0 296852008-11-12 Robert Millan <rmh@aybabtu.com>
29686
29687 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
29688 split).
29689
29690 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
29691 (grub_console_cur_color, grub_console_real_putchar)
29692 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
29693 (grub_console_setcolorstate, grub_console_setcolor)
29694 (grub_console_getcolor): Move from here ...
29695 * include/grub/i386/vga_common.h: ... to here (new file).
29696
29697 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
29698 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
29699 `<grub/i386/io.h>'.
29700 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
29701 `<grub/i386/vga_common.h>'.
29702
76679cd3 297032008-11-12 Robert Millan <rmh@aybabtu.com>
29704
29705 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
29706 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
29707 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
29708 variables.
29709 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
29710 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
29711
29712 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
29713 grub_console_init() with call to grub_vga_text_init().
29714 (grub_machine_fini): Replace call to
29715 grub_console_fini() with call to grub_vga_text_fini() and
29716 grub_at_keyboard_fini().
29717
29718 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
29719 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
29720 (grub_console_setcolorstate, grub_console_setcolor)
29721 (grub_console_getcolor): New function prototypes.
29722
29723 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
29724 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
29725 (grub_vga_text_setcursor): Static-ize.
29726 (grub_vga_text_term): New structure.
29727 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
29728
29729 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
29730 (grub_console_cur_color, grub_console_standard_color)
29731 (grub_console_normal_color, grub_console_highlight_color)
29732 (map_char, grub_console_putchar, grub_console_getcharwidth)
29733 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
29734 (grub_console_getcolor): Move from here ...
29735 * term/i386/vga_common.c: ... to here (same function names).
29736
95b841d3 297372008-11-12 Robert Millan <rmh@aybabtu.com>
29738
29739 Use newly-added Multiboot support in coreboot.
29740
29741 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
29742 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
29743
29744 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
29745 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
29746 (codestart): Store the MBI in `startup_multiboot_info' when we're
29747 being loaded using Multiboot.
29748
29749 * kern/i386/coreboot/init.c (grub_machine_init): Move
29750 grub_at_keyboard_init() call to beginning of function (useful for
29751 debugging). Call grub_machine_mmap_init() before attempting to use
29752 grub_machine_mmap_iterate().
29753 (grub_lower_mem, grub_upper_mem): Move from here ...
29754 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
29755 here (new file).
29756
29757 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
29758 function prototype.
29759
761ca975 297602008-11-12 Robert Millan <rmh@aybabtu.com>
29761
29762 Fix a regression introduced by the at_keyboard.mod split. Because
29763 some terminals are default on some platforms and non-default on
29764 others, the first terminal being registered determines which is
29765 going to be default.
29766
29767 * kern/term.c (grub_term_register_input): If this is the first
29768 terminal being registered, set it as the current one.
29769 (grub_term_register_output): Likewise.
29770
29771 * term/efi/console.c (grub_console_init): Do not call
29772 grub_term_set_current_output() or grub_term_set_current_input().
29773 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
29774 * term/i386/pc/console.c (grub_console_init): Likewise.
29775 (grub_console_fini): Do not call grub_term_set_current_input()
29776 (but leave grub_term_set_current_output() to restore text mode).
29777
6c529df7 297782008-11-10 Robert Millan <rmh@aybabtu.com>
29779
29780 * util/grub.d/00_header.in: Add backward compatibility check for
29781 versions of terminal.mod that don't understand `terminal_input' or
29782 `terminal_output'.
29783
132e4113 297842008-11-09 Robert Millan <rmh@aybabtu.com>
29785
29786 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
29787 `terminal_input' / `terminal_output', not `terminal'.
29788
ac293d50 297892008-11-08 Robert Millan <rmh@aybabtu.com>
29790
29791 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 29792 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 29793
0025933a 297942008-11-08 Robert Millan <rmh@aybabtu.com>
29795
29796 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 29797 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 29798 members. Update all users.
29799 * util/console.c (grub_ncurses_term): Split in ...
29800 (grub_ncurses_term_input): ... this, and ...
29801 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 29802 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 29803
37c86336 298042008-11-08 Robert Millan <rmh@aybabtu.com>
29805
29806 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
29807 (PKGDATA): Add $(pkgdata_SRCDIR).
29808 (pkglib_BUILDDIR): New variable.
29809 (pkgdata_SRCDIR): New variable.
29810 (build_env.mk): New target.
29811 (include_DATA): New variable.
29812 (install-local): Install $(include_DATA) files in $(includedir).
29813
b6c15a2d 298142008-11-07 Pavel Roskin <proski@gnu.org>
29815
d99d46f1 29816 * gendistlist.sh: Use C locale for sorting to ensure consistent
29817 output on all systems.
29818
b6c15a2d 29819 * util/grub.d/00_header.in: Remove incorrect space before
29820 "serial".
29821
c32ee8c9 298222008-11-07 Robert Millan <rmh@aybabtu.com>
29823
29824 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
29825 per specification.
29826 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
29827 * loader/multiboot_loader.c (find_multi_boot2_header): New function
29828 (based on find_multi_boot1_header).
29829 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
29830 using find_multi_boot2_header(), and abort if neither Multiboot or
29831 Multiboot headers were found.
29832
651c29b7 298332008-11-07 Robert Millan <rmh@aybabtu.com>
29834
29835 Modularize at_keyboard.mod:
29836
29837 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
29838 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
29839 (at_keyboard_mod_LDFLAGS): New variables.
29840
29841 Actual terminal split:
29842
29843 * include/grub/term.h (struct grub_term): Split in ...
29844 (struct grub_term_input): ... this, and ...
29845 (struct grub_term_output): ... this. Update all users.
29846 (grub_term_set_current): Split in ...
29847 (grub_term_set_current_input): ... this, and ...
29848 (grub_term_set_current_output): ... this.
29849 (grub_term_get_current): Split in ...
29850 (grub_term_get_current_input): ... this, and ...
29851 (grub_term_get_current_output): ... this.
29852 (grub_term_register): Split in ...
29853 (grub_term_register_input): ... this, and ...
29854 (grub_term_register_output): ... this.
29855 (grub_term_unregister): Split in ...
29856 (grub_term_unregister_input): ... this, and ...
29857 (grub_term_unregister_output): ... this.
29858 (grub_term_iterate): Split in ...
29859 (grub_term_iterate_input): ... this, and ...
29860 (grub_term_iterate_output): ... this.
29861
29862 * kern/term.c (grub_term_list): Split in ...
29863 (grub_term_list_input): ... this, and ...
29864 (grub_term_list_output): ... this. Update all users.
29865 (grub_cur_term): Split in ...
29866 (grub_cur_term_input): ... this, and ...
29867 (grub_cur_term_output): ... this. Update all users.
29868 (grub_term_set_current): Split in ...
29869 (grub_term_set_current_input): ... this, and ...
29870 (grub_term_set_current_output): ... this.
29871 (grub_term_get_current): Split in ...
29872 (grub_term_get_current_input): ... this, and ...
29873 (grub_term_get_current_output): ... this.
29874 (grub_term_register): Split in ...
29875 (grub_term_register_input): ... this, and ...
29876 (grub_term_register_output): ... this.
29877 (grub_term_unregister): Split in ...
29878 (grub_term_unregister_input): ... this, and ...
29879 (grub_term_unregister_output): ... this.
29880 (grub_term_iterate): Split in ...
29881 (grub_term_iterate_input): ... this, and ...
29882 (grub_term_iterate_output): ... this.
29883
29884 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
29885 a check for input and one for output (and only attempt to get keys
29886 from user when input works).
29887
29888 * util/grub-probe.c (grub_term_get_current): Split in ...
29889 (grub_term_get_current_input): ... this, and ...
29890 (grub_term_get_current_output): ... this.
29891 * util/grub-fstest.c: Likewise.
29892 * util/i386/pc/grub-setup.c: Likewise.
29893 * util/grub-editenv.c: Likewise.
29894
29895 Portability adjustments:
29896
29897 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
29898 `term/i386/pc/at_keyboard.c'.
29899 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
29900 grub_keyboard_controller_init() (now handled by terminal .init).
29901 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
29902 grub_at_keyboard_init().
29903 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
29904 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
29905 at_keyboard.mod via input terminal interface).
29906 * include/grub/i386/coreboot/console.h: Convert into a stub for
29907 `<grub/i386/pc/console.h>'.
29908
29909 Migrate full terminals to new API:
29910
29911 * term/efi/console.c (grub_console_term): Split into ...
29912 (grub_console_term_input): ... this, and ...
29913 (grub_console_term_output): ... this. Update all users.
29914 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
29915 (grub_ofconsole_init): Split into ...
29916 (grub_ofconsole_init_input): ... this, and ...
29917 (grub_ofconsole_init_output): ... this.
29918 (grub_ofconsole_term): Split into ...
29919 (grub_ofconsole_term_input): ... this, and ...
29920 (grub_ofconsole_term_output): ... this. Update all users.
29921 * term/i386/pc/serial.c (grub_serial_term): Split into ...
29922 (grub_serial_term_input): ... this, and ...
29923 (grub_serial_term_output): ... this. Update all users.
29924 * term/i386/pc/console.c (grub_console_term): Split into ...
29925 (grub_console_term_input): ... this, and ...
29926 (grub_console_term_output): ... this. Update all users.
29927 (grub_console_term_input): Only enable it on PC/BIOS platform.
29928 (grub_console_init): Remove grub_keyboard_controller_init() call.
29929
29930 Migrate input terminals to new API:
29931
29932 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
29933 `i386' and `i386/pc' to enable build on x86_64 (this driver is
29934 i386-specific anyway).
29935 (grub_console_checkkey): Rename to ...
29936 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
29937 users.
29938 (grub_keyboard_controller_orig): New variable.
29939 (grub_console_getkey): Rename to ...
29940 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
29941 users.
29942 (grub_keyboard_controller_init): Static-ize. Save original
29943 controller value so that it can be restored ...
29944 (grub_keyboard_controller_fini): ... here (new function).
29945 (grub_at_keyboard_term): New structure.
29946 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
29947 functions.
29948
29949 Migrate output terminals to new API:
29950
29951 * term/i386/pc/vga.c (grub_vga_term): Change type to
29952 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
29953 members. Update all users.
29954 * term/gfxterm.c (grub_video_term): Change type to
29955 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
29956 members. Update all users.
29957 * include/grub/i386/pc/console.h (grub_console_checkkey)
29958 (grub_console_getkey): Do not export (no longer needed by gfxterm,
29959 etc).
29960
29961 Migrate `terminal' command and userland tools to new API:
29962
29963 * commands/terminal.c (grub_cmd_terminal): Split into ...
29964 (grub_cmd_terminal_input): ... this, and ...
29965 (grub_cmd_terminal_output): ... this.
29966 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
29967 `terminal_input' and `terminal_output'.
29968 * util/grub.d/00_header.in: Adjust `terminal' calls to new
29969 `terminal_input' / `terminal_output' API.
29970 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
29971 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
29972 provided ${GRUB_TERMINAL}, convert it).
29973
96e5d876 299742008-11-04 Robert Millan <rmh@aybabtu.com>
29975
29976 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
29977 for FreeBSD.
29978 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
29979
556f3775 299802008-11-03 Bean <bean123ch@gmail.com>
29981
29982 * kern/elf.c (grub_elf32_load): Revert to previous code.
29983 (grub_elf64_load): Likewise.
29984
29985 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
29986
926b9823 299872008-11-01 Robert Millan <rmh@aybabtu.com>
29988
29989 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
29990 (TARGET_CPPFLAGS): Likewise.
29991 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
29992
1432e958 299932008-11-01 Carles Pina i Estany <carles@pina.cat>
29994
29995 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
29996
dba3f844 299972008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 29998
29999 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
30000 addition of objects until the code is not going to be able to fail.
30001
dba3f844 300022008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 30003
30004 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
30005 (add a missing NULL check, and correct them by moving the pointer
30006 operations after the actual check).
30007
7ab28c21 300082008-10-29 Robert Millan <rmh@aybabtu.com>
30009
30010 * util/i386/pc/grub-install.in: Handle empty string as output from
30011 make_system_path_relative_to_its_root().
30012
1b7748eb 300132008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
30014
30015 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
30016 circular metadata worst case scenario. If the metadata is circular
30017 then copy the wrap in place.
30018 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
30019 project lib/format_text/layout.h
30020 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
30021
c9618ab2 300222008-10-03 Felix Zielcke <fzielcke@z-51.de>
30023
7a36edca 30024 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 30025
bf981c62 300262008-10-03 Felix Zielcke <fzielcke@z-51.de>
30027
30028 * util/update-grub_lib.in: Mention filename in warning message.
30029
6d994591 300302008-09-29 Felix Zielcke <fzielcke@z-51.de>
30031
30032 * NEWS: Update for rename of update-grub to grub-mkconfig.
30033
18ade780 300342008-09-29 Felix Zielcke <fzielcke@z-51.de>
30035
30036 * util/update-grub_lib.in: Copy to ...
30037 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 30038 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 30039 * util/update-grub.in: Rename to ...
30040 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
30041 option. Add `--output' option to allow users to specify the generated
30042 configuration file. Default to stdout.
30043 (update_grub_dir): Rename to ...
30044 (grub_mkconfig_dir): ... this.
30045 (grub_cfg): Default to an empty string.
30046 * conf/common.rmk (update-grub): Rename to ...
30047 (grub-mkconfig): ... this.
30048 (update-grub_lib): Copy to ...
30049 (grub-mkconfig_lib): ... this.
30050 (update-grub_SCRIPTS): Copy to ...
30051 (grub-mkconfig_SCRIPTS): ... this. Update all users.
30052 (update-grub_DATA): Rename to ...
30053 (grub-mkconfig_DATA): ... this.
30054
556ce6ac 300552008-09-28 Robert Millan <rmh@aybabtu.com>
30056
30057 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
30058 to `modified'. Add the real `created' field.
30059 (grub_iso9660_uuid): Use `modified' rather than `created' for
30060 constructing the UUID.
30061
300622008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 30063
30064 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
30065 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
30066
92274e85 300672008-09-28 Bean <bean123ch@gmail.com>
30068
30069 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
30070 Thanks to Christian Franke for finding this bug.
30071
add6f17a 300722008-09-25 Robert Millan <rmh@aybabtu.com>
30073
30074 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
30075 instances of grub_util_get_disk_name() (see previous commit).
30076
d2a367b8 300772008-09-25 Robert Millan <rmh@aybabtu.com>
30078
30079 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
30080 `util/i386/get_disk_name.c'.
30081 * conf/i386-efi.rmk: Likewise.
30082 * conf/x86_64-efi.rmk: Likewise.
30083 * conf/i386-coreboot.rmk: Likewise.
30084 * conf/i386-ieee1275.rmk: Likewise.
30085 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
30086 `util/ieee1275/get_disk_name.c'.
30087 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
30088 * util/ieee1275/get_disk_name.c: Remove file.
30089 * util/i386/get_disk_name.c: Remove file.
30090 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
30091 "hd%d" for device.map entries, rather than using
30092 grub_util_get_disk_name().
30093
81a06771 300942008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 30095
30096 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
30097 warning.
30098 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
30099
5a004279 301002008-09-24 Carles Pina i Estany <carles@pina.cat>
30101
30102 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
30103 Changed to 0x5100.
30104 (GRUB_TERM_PPAGE): Changed to 0x4900.
30105
397093d3 301062008-09-24 Robert Millan <rmh@aybabtu.com>
30107
30108 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
30109 macros (they were i386-pc specific).
30110 * include/grub/sparc64/ieee1275/console.h: Likewise.
30111 * include/grub/efi/console.h: Likewise.
30112
a91b6c7c 301132008-09-22 Bean <bean123ch@gmail.com>
30114
30115 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
30116 resident and in attribute list.
30117
30118 * include/grub/ntfs.h (BMP_LEN): Removed.
30119
c40fd116 301202008-09-22 Bean <bean123ch@gmail.com>
30121
81a06771 30122 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 30123 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
30124
30125 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
30126 error occurs, as grub_disk_open will call grub_disk_close, which will
30127 call p->close (scsi).
30128
81a06771 301292008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 30130
30131 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
30132 (AC_PREREQ): Bumped to 2.59.
30133 (AC_TRY_COMPILE): Replace obsolete macro with ...
30134 (AC_COMPILE_IFELSE): ... this.
30135 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
30136 (AC_LINK_IFELSE): ... this.
30137
5dc43410 301382008-09-21 Felix Zielcke <fzielcke@z-51.de>
30139
30140 * autogen.sh: Add a call to `gendistlist.sh'.
30141
9035dce4 301422008-09-19 Christian Franke <franke@computer.org>
30143
30144 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
30145 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
30146 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
30147 Export __enable_execute_stack() to modules.
30148 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
30149 New function.
30150
7fd75377 301512008-09-09 Felix Zielcke <fzielcke@z-51.de>
30152
040030b3 30153 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
30154 Sort the list.
30155
301562008-09-09 Felix Zielcke <fzielcke@z-51.de>
30157
30158 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 30159 #include <grub/util/hostdisk.h>.
30160
89d5ffcf 301612008-09-08 Robert Millan <rmh@aybabtu.com>
30162
30163 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
30164 segments when their filesz is zero (grub_file_read() interprets
81a06771 30165 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 30166 Use `lowest_segment' rather than 0 for calculating the current
30167 segment load address.
30168
40da438f 301692008-09-08 Robert Millan <rmh@aybabtu.com>
30170
30171 * util/hostdisk.c (open_device): Replace a grub_util_info() call
30172 with grub_dprintf("hostdisk", ...), as it was so verbose that it
30173 clobbered useful information.
30174
ddbf5556 301752008-09-08 Robert Millan <rmh@aybabtu.com>
30176
30177 * include/grub/util/biosdisk.h: Move to ...
30178 * include/grub/util/hostdisk.h: ... here. Update all users.
30179 * util/biosdisk.c: Move to ...
30180 * util/hostdisk.c: ... here. Update all users.
30181
783d0f48 301822008-09-07 Robert Millan <rmh@aybabtu.com>
30183
30184 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
30185 variables.
30186 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
30187 and length can be stored directly in the `mbi->mmap_addr' and
30188 `mbi->mmap_length' struct fields.
30189
548e2ea5 301902008-09-07 Robert Millan <rmh@aybabtu.com>
30191
30192 * conf/i386.rmk: New file. Provides declaration for building
30193 `cpuid.mod'.
30194 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
30195 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
30196 variables.
30197 Include `conf/i386.mk'.
30198 * conf/i386-efi.rmk: Likewise.
30199 * conf/x86_64-efi.rmk: Likewise.
30200 * conf/i386-coreboot.rmk: Likewise.
30201 * conf/i386-ieee1275.rmk: Likewise.
30202
0ea85a37 302032008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
30204
30205 Based on patch created by Colin D Bennett <colin@gibibit.com>.
30206 Adds optimization support for BGR based modes.
30207
30208 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
30209 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
30210 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
30211 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
30212 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
30213 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
30214 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
30215 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
30216 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
30217 (grub_video_i386_vbeblit_index_index): Likewise.
30218 (grub_video_i386_vbeblit_replace_directN): Added.
30219 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
30220 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
30221 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
30222 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
30223 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
30224 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 30225 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 30226 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
30227 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
30228 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
30229 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
30230 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
30231 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
30232
30233 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
30234 (grub_video_i386_vbefill_R8G8B8): Likewise.
30235 (grub_video_i386_vbefill_index): Likewise.
30236 (grub_video_i386_vbefill_direct32): Added.
30237 (grub_video_i386_vbefill_direct24): Likewise.
30238 (grub_video_i386_vbefill_direct16): Likewise.
30239 (grub_video_i386_vbefill_direct8): Likewise.
30240
81a06771 30241 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 30242 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
30243 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
30244 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
30245 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
30246 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 30247
0ea85a37 30248 * video/video.c (grub_video_get_blit_format): Updated to use new
30249 blit formats. Added handling for 16 bit color modes.
81a06771 30250
30251 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 30252 fillers.
30253 (common_blitter): Updated to use new blitters.
30254
30255 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
30256 Removed.
30257 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
30258 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
30259 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
30260 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
30261 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
30262 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
30263 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
30264 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
30265 (grub_video_i386_vbeblit_index_index): Likewise.
30266 (grub_video_i386_vbeblit_replace_directN): Added.
30267 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
30268 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
30269 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
30270 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
30271 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
30272 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
30273 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
30274 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
30275 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
30276 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
30277 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
30278 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
30279 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 30280
0ea85a37 30281 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
30282 (grub_video_i386_vbefill_R8G8B8): Likewise.
30283 (grub_video_i386_vbefill_index): Likewise.
30284 (grub_video_i386_vbefill_direct32): Added.
30285 (grub_video_i386_vbefill_direct24): Likewise.
30286 (grub_video_i386_vbefill_direct16): Likewise.
30287 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 30288
0ea85a37 30289 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
30290 types.
81a06771 30291
0ea85a37 30292 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
30293 types.
81a06771 30294
0ea85a37 30295 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
30296 blitter types.
81a06771 30297
0ea85a37 30298 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
30299 types.
30300
e8a83df6 303012008-09-06 Felix Zielcke <fzielcke@z-51.de>
30302
30303 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
30304 RAID level 1.
30305
6bcd8ee5 303062008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 30307
6bcd8ee5 30308 * fs/iso9660.c (grub_iso9660_date): New structure.
30309 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
30310 (grub_iso9660_uuid): New function.
c375ae58 30311
59261157 303122008-09-05 Bean <bean123ch@gmail.com>
30313
30314 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
30315
30316 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
30317 insensitive bit for names in Win32 and Win32 & DOS namespace.
30318
30319 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
30320
30321 * include/grub/types.h (LONG_MAX): Likewise.
30322
58b6645a 303232008-09-04 Felix Zielcke <fzielcke@z-51.de>
30324
4ee55921 30325 * util/getroot.c: Include <config.h>.
30326 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
30327 add support for /dev/md/N devices and handle LVM double dash escaping.
30328
303292008-09-04 Felix Zielcke <fzielcke@z-51.de>
30330
30331 * config.guess: Update to latest version from config git.
30332 * config.sub: Likewise.
58b6645a 30333
9124f65d 303342008-09-03 Robert Millan <rmh@aybabtu.com>
30335
30336 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
30337 `disk->total_sectors'.
30338
81a06771 303392008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 30340
30341 * include/grub/normal.h: Fixed incorrect comment for
30342 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
30343
81a06771 303442008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 30345
30346 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
30347 values with defines.
30348
30349 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
30350 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
30351 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
30352 (GRUB_VBE_MODEATTR_COLOR): Likewise.
30353 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
30354 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
30355 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
30356 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
30357 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
30358 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
30359 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
30360 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
30361 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
30362 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
30363 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
30364 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
30365 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
30366 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
30367 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
30368
93d5cbf8 303692008-08-31 Robert Millan <rmh@aybabtu.com>
30370
30371 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
30372 declaration.
30373 (grub_multiboot): Fix a few warnings.
30374
21751d50 303752008-08-31 Robert Millan <rmh@aybabtu.com>
30376
30377 * loader/i386/pc/multiboot.c: Update comment not to say that
30378 boot_device support is unimplemented.
30379
e27a75c5 303802008-08-31 Robert Millan <rmh@aybabtu.com>
30381
30382 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
30383 or memory map support are unimplemented.
30384
81a06771 303852008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 30386
30387 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
30388
81a06771 303892008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 30390
30391 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
30392 total video memory in 'vbeinfo' output; show color format details for
30393 each video mode.
30394
7c5d8d95 303952008-08-30 Pavel Roskin <proski@gnu.org>
30396
30397 * util/genmoddep.c: Remove for real this time.
30398 * DISTLIST: Remove util/genmoddep.c.
30399
4cebd25a 304002008-08-30 Robert Millan <rmh@aybabtu.com>
30401
30402 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
30403 as required by Multiboot spec (it was already 4-byte aligned, but
30404 only by chance).
30405
b497a269 304062008-08-29 Pavel Roskin <proski@gnu.org>
30407
e3925185 30408 * kern/powerpc/ieee1275/crt0.S: Rename to ...
30409 * kern/powerpc/ieee1275/startup.S: ... this.
30410 * conf/powerpc-ieee1275.rmk: Adjust for the above.
30411 * DISTLIST: Likewise.
30412
b497a269 30413 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
30414 grub/cpu/kernel.h. Add start label for consistency with other
30415 platforms. Add grub_prefix immediately after start. Add jump
30416 to the code after grub_prefix.
30417 * include/grub/powerpc/kernel.h: Provide valid values for
30418 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
30419
6e5a42fe 304202008-08-29 Bean <bean123ch@gmail.com>
30421
30422 * configure.ac: Change host_os to cygwin for mingw.
30423 (asprintf): New check for function.
30424
30425 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
30426 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
30427
30428 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 30429 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 30430 sync, sleep and grub_util_get_disk_size for mingw.
30431
30432 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
30433 to get size in mingw.
30434 (open_device): Use flag O_BINARY if it's defined.
30435 (find_root_device): Add dummy code for mingw.
30436
30437 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
30438 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
30439 (get_scsi_disk_name): Return 0 for mingw.
30440
30441 * util/hostfs.c: #include <grub/util/misc.h>.
30442 (grub_hostfs_open): Use "rb" flag to open file, use
30443 grub_util_get_disk_size to get disk size for mingw.
30444
30445 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
30446 (asprintf): New function if HAVE_ASPRINTF is not set.
30447 (sync): New function for mingw.
30448 (sleep): Likewise.
30449 (grub_util_get_disk_size): Likewise.
30450
ab3f2673 304512008-08-28 Pavel Roskin <proski@gnu.org>
30452
30453 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
30454 kern/time.c.
30455
1c282483 304562008-08-28 Robert Millan <rmh@aybabtu.com>
30457
30458 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
30459
678e849c 304602008-08-28 Robert Millan <rmh@aybabtu.com>
30461
30462 Change find_grub_drive() syntax so it doesn't prevent it from
30463 detecting NULL names as errors.
30464
30465 * util/biosdisk.c (find_grub_drive): Move free slot search code
30466 from here ...
30467 (find_free_slot): ... to here.
30468 (read_device_map): Use find_free_slot() to search for free slots.
30469
965c75ca 304702008-08-27 Marco Gerards <marco@gnu.org>
30471
30472 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
30473 (scsi_mod_SOURCES): New variable.
30474 (scsi_mod_CFLAGS): Likewise
30475 (scsi_mod_LDFLAGS): Likewise.
30476
30477 * disk/scsi.c: New file.
30478
30479 * include/grub/scsi.h: Likewise.
30480
30481 * include/grub/scsicmd.h: Likewise.
30482
30483 * disk/ata.c: Include <grub/scsi.h>.
30484 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
30485 instead.
30486 (grub_ata_iterate): Skip ATAPI devices.
30487 (grub_ata_open): Only handle ATAPI devices.
30488 (struct grub_atapi_read): Removed.
30489 (grub_atapi_readsector): Likewise.
30490 (grub_ata_read): No longer handle ATAPI devices.
30491 (grub_ata_write): Likewise.
30492 (grub_atapi_iterate): New function.
30493 (grub_atapi_read): Likewise.
30494 (grub_atapi_write): Likewise.
30495 (grub_atapi_open): Likewise.
30496 (grub_atapi_close): Likewise.
30497 (grub_atapi_dev): New variable.
30498 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
30499 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
30500
30501 * include/grub/disk.h (enum grub_disk_dev_id): Add
30502 `GRUB_DISK_DEVICE_SCSI_ID'.
30503
c07ae501 305042008-08-26 Robert Millan <rmh@aybabtu.com>
30505
30506 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
30507 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
30508 descriptive.
30509
5ed20adc 305102008-08-23 Bean <bean123ch@gmail.com>
30511
30512 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
30513 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
30514 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
30515 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
30516 dm_nv.mod.
30517 (raid5rec_mod_SOURCES): New macro.
30518 (raid5rec_mod_CFLAGS): Likewise.
30519 (raid5rec_mod_LDFLAGS): Likewise.
30520 (raid6rec_mod_SOURCES): Likewise.
30521 (raid6rec_mod_CFLAGS): Likewise.
30522 (raid6rec_mod_LDFLAGS): Likewise.
30523 (mdraid_mod_SOURCES): Likewise.
30524 (mdraid_mod_CFLAGS): Likewise.
30525 (mdraid_mod_LDFLAGS): Likewise.
30526 (dm_nv_mod_SOURCES): Likewise.
30527 (dm_nv_mod_CFLAGS): Likewise.
30528 (dm_nv_mod_LDFLAGS): Likewise.
30529
30530 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
30531 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
30532 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
30533
30534 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
30535 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
30536
30537 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30538
30539 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30540
30541 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30542
30543 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30544
30545 * disk/raid5_recover.c: New file.
30546
30547 * disk/raid6_recover.c: Likewise.
30548
30549 * disk/mdraid_linux.c: Likewise.
30550
30551 * disk/dmraid_nvidia.c: Likewise.
30552
30553 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
30554 ULONG_MAX.
30555
30556 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
30557 calculate the size of raid device.
30558 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
30559 different layout of raid5.
30560 (grub_raid_scan_device): Remove code specific to mdraid.
30561 (grub_raid_list): New variable.
30562 (free_array): New function.
30563 (grub_raid_register): Likewise.
30564 (grub_raid_unregister): Likewise.
30565 (grub_raid_rescan): Likewise.
30566 (GRUB_MOD_INIT): Don't iterate device here.
30567 (GRUB_MOD_FINI): Use free_array to release resource.
30568
30569 * include/grub/raid.h: Remove macro and structure specific to mdraid.
30570 (grub_raid5_recover_func_t): New function variable type.
30571 (grub_raid6_recover_func_t): Likewise.
30572 (grub_raid5_recover_func): New variable.
30573 (grub_raid6_recover_func): Likewise.
30574 (grub_raid_register): New function.
30575 (grub_raid_unregister): Likewise.
30576 (grub_raid_rescan): Likewise.
30577 (grub_raid_block_xor): Likewise.
30578
30579 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
30580 (CMD_CRC): New macro.
30581 (part): Removed.
30582 (read_file): Handle device as well as file.
30583 (cmd_crc): New function.
30584 (fstest): Handle multiple disks.
30585 (options): Remove part, raw and long, add root and diskcount.
30586 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 30587 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 30588 add handling for the new options, support multiple disks.
30589
30590 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
30591
29c18915 305922008-08-23 Bean <bean123ch@gmail.com>
30593
30594 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
30595
30596 * genfslist.sh: Ignore kernel.mod.
30597
30598 * genpartmaplist.sh: Likewise.
30599
8415f261 306002008-08-23 Robert Millan <rmh@aybabtu.com>
30601
30602 * util/getroot.c (find_root_device): Skip anything that starts with
30603 a dot, not just directories. This avoids things like /dev/.tmp.md0.
30604
d5a7dc5b 306052008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 30606
d5a7dc5b 30607 * util/update-grub.in (GRUB_GFXMODE): Export variable.
30608 * util/grub.d/00_header.in: Allow the administrator to change default
30609 gfxmode via ${GRUB_GFXMODE}.
30610
380cfbb4 306112008-08-21 Felix Zielcke <fzielcke@z-51.de>
30612
30613 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
30614
c9baafe7 306152008-08-21 Robert Millan <rmh@aybabtu.com>
30616
30617 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
30618 loader.
30619 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
30620 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
30621
e290bef2 306222008-08-20 Carles Pina i Estany <carles@pina.cat>
30623
30624 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
30625 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
30626
f9dbfc96 306272008-08-19 Robert Millan <rmh@aybabtu.com>
30628
30629 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
30630 (struct grub_virtual_screen): Remove `cursor_color'.
30631 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
30632 initialization.
30633 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
30634
dd6bd6ab 306352008-08-18 Robert Millan <rmh@aybabtu.com>
30636
30637 Unify (identical) linux_normal.c files.
30638 * loader/i386/efi/linux_normal.c: Move from here ...
30639 * loader/linux_normal.c: ... to here. Update all users.
30640 * loader/i386/pc/linux_normal.c: Delete. Update all users.
30641 * loader/i386/ieee1275/linux_normal.c: Likewise.
30642
7f42f83e 306432008-08-18 Robert Millan <rmh@aybabtu.com>
30644
30645 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
30646 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
30647 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
30648 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
30649 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
30650 New macros.
30651 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
30652 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
30653 (GRUB_LINUX_CL_END_OFFSET): ... to here.
30654 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
30655 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
30656 (GRUB_EFI_CL_END_OFFSET): Rename to ...
30657 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
30658 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
30659 Initialize `params->video_cursor_x' and `params->video_cursor_y'
30660 portably using grub_getxy().
30661 Replace `-EFI' with `-bzImage' in boot message.
30662
38487ddb 306632008-08-17 Robert Millan <rmh@aybabtu.com>
30664
30665 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
30666
deceb3ec 306672008-08-17 Robert Millan <rmh@aybabtu.com>
30668
30669 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
30670
30671 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
30672 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
30673 (grub_machine_mmap_iterate): New function declaration.
30674 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
30675 structure.
30676 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
30677 macros.
30678
30679 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
30680 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
30681 Move e820 parsing from here ...
30682 * kern/i386/pc/mmap.c: New file.
30683 (grub_machine_mmap_iterate): ... to here.
30684
30685 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
30686 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
30687 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
30688 (grub_available_iterate): Redeclare to return `void', and redeclare
30689 its hook to use grub_uint64_t as addr and size parameters, and rename
30690 to ...
30691 (grub_machine_mmap_iterate): ... this. Update all users.
30692
30693 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
30694 to make it more readable. Rename to ...
30695 (grub_machine_mmap_iterate): ... this.
30696
30697 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
30698 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
30699 (grub_multiboot): Allocate an extra region after the payload, and fill
30700 it with a Multiboot memory map. Adjust a.out loader to calculate size
30701 with the extra space.
30702 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
30703 with the extra space.
30704
f8aa0f43 307052008-08-17 Carles Pina i Estany <carles@pina.cat>
30706
9807deb9 30707 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 30708
605f5bb6 307092008-08-17 Felix Zielcke <fzielcke@z-51.de>
30710
30711 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
30712 mdate-sh to the list `find' searches for.
30713 * DISTLIST: Regenerated.
30714
210db6c6 307152008-08-16 Felix Zielcke <fzielcke@z-51.de>
30716
30717 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
30718 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 30719 genmoddep.awk, gensymlist.sh.in.
30720 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 30721 * DISTLIST: Regenerated.
48cdbfd4 30722 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 30723
1082b929 307242008-08-16 Robert Millan <rmh@aybabtu.com>
30725
30726 * disk/raid.c (grub_raid_init): Handle/report errors set by
30727 grub_device_iterate().
30728 * disk/lvm.c (grub_lvm_init): Likewise.
30729
42ce5170 307302008-08-15 Bean <bean123ch@gmail.com>
30731
30732 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30733 and datehook.mod.
30734 (datetime_mod_SOURCES): New macro.
30735 (datetime_mod_CFLAGS): Likewise.
30736 (datetime_mod_LDFLAGS): Likewise.
30737 (date_mod_SOURCES): Likewise.
30738 (date_mod_CFLAGS): Likewise.
30739 (date_mod_LDFLAGS): Likewise.
30740 (datehook_mod_SOURCES): Likewise.
30741 (datehook_mod_CFLAGS): Likewise.
30742 (datehook_mod_LDFLAGS): Likewise.
30743
30744 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30745 and datehook.mod.
30746 (datetime_mod_SOURCES): New macro.
30747 (datetime_mod_CFLAGS): Likewise.
30748 (datetime_mod_LDFLAGS): Likewise.
30749 (date_mod_SOURCES): Likewise.
30750 (date_mod_CFLAGS): Likewise.
30751 (date_mod_LDFLAGS): Likewise.
30752 (datehook_mod_SOURCES): Likewise.
30753 (datehook_mod_CFLAGS): Likewise.
30754 (datehook_mod_LDFLAGS): Likewise.
30755
30756 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30757 and datehook.mod.
30758 (datetime_mod_SOURCES): New macro.
30759 (datetime_mod_CFLAGS): Likewise.
30760 (datetime_mod_LDFLAGS): Likewise.
30761 (date_mod_SOURCES): Likewise.
30762 (date_mod_CFLAGS): Likewise.
30763 (date_mod_LDFLAGS): Likewise.
30764 (datehook_mod_SOURCES): Likewise.
30765 (datehook_mod_CFLAGS): Likewise.
30766 (datehook_mod_LDFLAGS): Likewise.
30767
30768 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30769 and datehook.mod.
30770 (datetime_mod_SOURCES): New macro.
30771 (datetime_mod_CFLAGS): Likewise.
30772 (datetime_mod_LDFLAGS): Likewise.
30773 (date_mod_SOURCES): Likewise.
30774 (date_mod_CFLAGS): Likewise.
30775 (date_mod_LDFLAGS): Likewise.
30776 (datehook_mod_SOURCES): Likewise.
30777 (datehook_mod_CFLAGS): Likewise.
30778 (datehook_mod_LDFLAGS): Likewise.
30779
30780 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30781 and datehook.mod.
30782 (datetime_mod_SOURCES): New macro.
30783 (datetime_mod_CFLAGS): Likewise.
30784 (datetime_mod_LDFLAGS): Likewise.
30785 (date_mod_SOURCES): Likewise.
30786 (date_mod_CFLAGS): Likewise.
30787 (date_mod_LDFLAGS): Likewise.
30788 (datehook_mod_SOURCES): Likewise.
30789 (datehook_mod_CFLAGS): Likewise.
30790 (datehook_mod_LDFLAGS): Likewise.
30791
30792 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
30793
30794 * commands/date.c: New file.
30795
30796 * hook/datehook.c: Likewise.
30797
30798 * include/grub/lib/datetime.h: Likewise.
30799
30800 * include/grub/i386/cmos.h: Likewise.
30801
30802 * lib/datetime.c: Likewise.
30803
30804 * lib/i386/datetime.c: Likewise.
30805
30806 * lib/efi/datetime.c: Likewise.
30807
0e9242da 308082008-08-14 Robert Millan <rmh@aybabtu.com>
30809
30810 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
30811 (grub_mkelfimage_SOURCES): New variable.
30812 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
30813
30814 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
30815 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
30816 * conf/powerpc-ieee1275.rmk: Likewise.
30817 * conf/i386-ieee1275.rmk: Likewise.
30818
30819 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
30820 * kern/i386/coreboot/init.c: Likewise.
30821
30822 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
30823 with `<grub/cpu/kernel.h>'.
30824 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
30825 to ...
30826 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
30827 * kern/i386/coreboot/startup.S: Likewise.
30828
30829 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
30830 (GRUB_MOD_GAP): Remove.
30831 * include/grub/powerpc/kernel.h: New file.
30832 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
30833 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
30834 * include/grub/i386/kernel.h: New file.
30835 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
30836 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
30837 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
30838
30839 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
30840 `grub-mkelfimage'.
30841 Use --directory when invoking grub_mkimage.
30842
30843 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
30844 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
30845 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
30846 and GRUB_KERNEL_CPU_PREFIX.
30847
b86408f8 308482008-08-14 Felix Zielcke <fzielcke@z-51.de>
30849
d5e619ca 30850 * include/grub/err.h (grub_err_printf): New function prototype.
30851 * util/misc.c (grub_err_printf): New function.
30852 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
30853 grub_printf.
30854 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 30855
7161f0e0 308562008-08-13 Robert Millan <rmh@aybabtu.com>
30857
30858 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
30859
a1967522 308602008-08-13 Robert Millan <rmh@aybabtu.com>
30861
30862 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
30863 boot entry.
30864
371458b5 308652008-08-12 Robert Millan <rmh@aybabtu.com>
30866
30867 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
30868 of the relocation code from here ...
30869 (grub_multiboot): ... to here.
30870 (forward_relocator, backward_relocator): Move from here ...
30871 * kern/i386/loader.S (grub_multiboot_forward_relocator)
30872 (grub_multiboot_backward_relocator): ... to here.
30873 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
30874 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
30875 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
30876 (grub_multiboot_forward_relocator_end)
30877 (grub_multiboot_backward_relocator)
30878 (grub_multiboot_backward_relocator_end): New variables.
30879
05f9452b 308802008-08-12 Bean <bean123ch@gmail.com>
30881
30882 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
30883
20024ab0 308842008-08-11 Robert Millan <rmh@aybabtu.com>
30885
30886 * kern/i386/linuxbios/startup.S: Move from here ...
30887 * kern/i386/coreboot/startup.S: ... to here.
30888
30889 * kern/i386/linuxbios/init.c: Move from here ...
30890 * kern/i386/coreboot/init.c: ... to here.
30891
30892 * kern/i386/linuxbios/table.c: Move from here ...
30893 * kern/i386/coreboot/mmap.c: ... to here.
30894
30895 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
30896
e352e9cd 308972008-08-11 Robert Millan <rmh@aybabtu.com>
30898
30899 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
30900 errors. Leave it to the upper layer to handle them.
30901
2d05bc6a 309022008-08-09 Christian Franke <franke@computer.org>
30903
30904 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
30905 * conf/common.rmk: Install `grub-pe2elf' only if requested.
30906 Install `grub.d/10_windows' only on Cygwin.
30907 * configure.ac: Add subst of `target_os'.
30908 Check `target_os' also before setting TARGET_OBJ2ELF.
30909 Add `--enable-grub-pe2elf'.
30910
042bd419 309112008-08-08 Robert Millan <rmh@aybabtu.com>
30912
30913 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
30914 (grub_last_time): Change type to grub_uint64_t.
30915 (grub_disk_open): Migrate code from to using grub_get_time_ms().
30916 (grub_disk_close): Likewise.
30917
30918 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
30919 (run_menu): Migrate code from to using grub_get_time_ms().
30920
30921 * util/misc.c (grub_get_time_ms): New function.
30922
7f280db5 309232008-08-08 Marco Gerards <marco@gnu.org>
30924
30925 * disk/ata.c (grub_ata_regget): Change return type to
30926 `grub_uint8_t'.
30927 (grub_ata_regget2): Likewise.
30928 (grub_ata_wait_status): New function.
30929 (grub_ata_wait_busy): Removed function, updated all users to use
30930 `grub_ata_wait_status'.
30931 (grub_ata_wait_drq): Likewise.
30932 (grub_ata_cmd): New function.
30933 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
30934 error handling.
30935 (grub_ata_pio_write): Add error handling.
30936 (grub_atapi_identify): Likewise.
30937 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
30938 handling.
30939 (grub_ata_identify): Use `grub_ata_cmd' and improve error
30940 handling. Actually use the detected registers. Reorder the
30941 detection logic such that it is easier to read.
30942 (grub_ata_pciinit): Do not assign the same ID to each controller.
30943 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
30944 handling.
30945 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
30946
30947 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
30948
1fbc5e66 309492008-08-08 Marco Gerards <marco@gnu.org>
30950
30951 * NEWS: Update.
30952
819ce6c0 309532008-08-07 Bean <bean123ch@gmail.com>
30954
30955 * include/grub/x86_64/pci.h: New file.
30956
5c41d44d 309572008-08-07 Christian Franke <franke@computer.org>
30958
30959 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
30960 (TIMER2_GATE): Likewise.
30961 (grub_pit_wait): Add enable/disable of the timer2 gate
30962 bit of port 0x61. This fixes a possible infinite loop.
30963
5ebc275d 309642008-08-07 Bean <bean123ch@gmail.com>
30965
30966 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
30967 kern/i386/tsc.c and kern/i386/pit.c.
30968
30969 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
30970 x86_64 platform.
30971
30972 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
30973 <grub/i386/tsc.h>.
30974
30975 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
30976
e383b3d0 309772008-08-07 Bean <bean123ch@gmail.com>
30978
30979 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
30980
30981 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
30982
30983 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
30984 multiple inclusion. Add #include <grub/types.h>.
30985
1cbb58ac 309862008-08-06 Christian Franke <franke@computer.org>
30987
30988 * conf/common.rmk: Build and install `10_windows'.
30989 * util/grub.d/10_windows.in: New script.
30990
337f5a1e 309912008-08-06 Pavel Roskin <proski@gnu.org>
30992
30993 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
30994
057bc4ac 309952008-08-06 Robert Millan <rmh@aybabtu.com>
30996
30997 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
30998 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
30999
2b99f123 310002008-08-06 Bean <bean123ch@gmail.com>
31001
31002 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
31003 (grub_pxefs_fs_int): Remove dummy definition.
31004 (grub_pxefs_open): Use data->block_size to store the current block
31005 size setting.
31006 (grub_pxefs_read): Use block size stored in data->block_size. As the
31007 value of grub_pxe_blksize can be changed after the file is opened.
31008
9f0234cb 310092008-08-06 Bean <bean123ch@gmail.com>
31010
31011 * fs/i386/pc/pxe.c (curr_file): new variable.
31012 (grub_pxefs_open): Simply the handling of pxe file system. Don't
31013 require the dummy internal file system anymore.
31014 (grub_pxefs_read): Removed.
31015 (grub_pxefs_close): Likewise.
31016 (grub_pxefs_fs_int): Likewise.
31017 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
31018 connection when we switch file.
31019 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
31020
a55d42e0 310212008-08-06 Robert Millan <rmh@aybabtu.com>
31022
31023 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
31024 `halt.mod'.
31025 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
31026 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
31027
31028 * kern/i386/halt.c: New file.
31029 * kern/i386/reboot.c: Likewise.
31030 * include/grub/i386/reboot.h: Likewise.
31031 * include/grub/i386/halt.h: Likewise.
31032
31033 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
31034 Include `<grub/cpu/halt.h>'.
31035 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
31036 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
31037
31038 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
31039 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
31040 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
31041 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
31042 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
31043 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
31044 from here ...
31045 * include/grub/i386/at_keyboard.h: ... to here.
31046
24371d26 310472008-08-05 Robert Millan <rmh@aybabtu.com>
31048
31049 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
31050 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
31051 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
31052 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
31053 `kern/generic/millisleep.c'.
31054
31055 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
31056 instead of grub_get_rtc().
31057 (grub_tsc_init): Initialize `tsc_boot_time'.
31058
31059 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
31060 (grub_machine_init): Use grub_tsc_init() rather than
31061 installing an RTC-based handler via grub_install_get_time_ms().
31062
31063 * kern/i386/pit.c: New file.
31064 * include/grub/i386/pit.h: Likewise.
31065
9e7007b3 310662008-08-05 Bean <bean123ch@gmail.com>
31067
31068 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
31069
31070 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
31071 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
31072 (pxe_mod_SOURCES): New macro.
31073 (pxe_mod_CFLAGS): Likewise.
31074 (pxe_mod_LDFLAGS): Likewise.
31075 (pxecmd_mod_SOURCES): Likewise.
31076 (pxecmd_mod_CFLAGS): Likewise.
31077 (pxecmd_mod_LDFLAGS): Likewise.
31078
31079 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
31080 (grub_pxe_call): Likewise.
31081
31082 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
31083
31084 * commands/i386/pc/pxecmd.c: New file.
31085
9f0234cb 31086 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 31087
31088 * include/grub/i386/pc/pxe.h: Likewise.
31089
6977d49f 310902008-08-05 Bean <bean123ch@gmail.com>
31091
31092 * util/console.c (grub_console_cur_color): New variable.
31093 (grub_console_standard_color): Likewise.
31094 (grub_console_normal_color): Likewise.
31095 (grub_console_highlight_color): Likewise.
31096 (color_map): Likewise.
31097 (use_color): Likewise.
31098 (NUM_COLORS): New macro.
31099 (grub_ncurses_setcolorstate): Handle color properly.
31100 (grub_ncurses_setcolor): Don't change color here, just remember the
31101 settings, color will be set in grub_ncurses_setcolorstate.
31102 (grub_ncurses_getcolor): New function.
31103 (grub_ncurses_init): Initialize color pairs.
31104 (grub_ncurses_term): New member grub_ncurses_getcolor.
31105
9c2ff3ee 311062008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 31107
9c2ff3ee 31108 High resolution timer support. Implemented for x86 CPUs using TSC.
31109 Extracted generic grub_millisleep() so it's linked in only as needed.
31110 This requires a Pentium compatible CPU; if the RDTSC instruction is
31111 not supported, then it falls back on the generic grub_get_time_ms()
31112 implementation that uses the machine's RTC.
31113
31114 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
31115 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
31116 `kern/generic/millisleep.c'.
31117
31118 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
31119 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
31120
31121 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
31122 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
31123
31124 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
31125
31126 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31127 `kern/generic/millisleep.c'.
31128
31129 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
31130
31131 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
31132
31133 * kern/generic/rtc_get_time_ms.c: New file.
31134
31135 * kern/generic/millisleep.c: New file.
337f5a1e 31136
9c2ff3ee 31137 * kern/misc.c: Don't include
31138 <kern/time.h> anymore.
31139 (grub_millisleep_generic): Removed.
31140
31141 * commands/sleep.c (grub_interruptible_millisleep): Uses
31142 grub_get_time_ms() instead of grub_get_rtc().
31143
31144 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
31145 function.
31146 (grub_cpu_is_cpuid_supported): New inline function.
31147 (grub_cpu_is_tsc_supported): New inline function.
31148 (grub_tsc_init): New function prototype.
31149 (grub_tsc_get_time_ms): New function prototype.
31150
31151 * kern/i386/tsc.c (grub_get_time_ms): New file.
31152
31153 * include/grub/time.h: Include <grub/types.h.
31154 (grub_millisleep_generic): Removed.
31155 (grub_get_time_ms): New prototype.
31156 (grub_install_get_time_ms): New prototype.
31157 (grub_rtc_get_time_ms): New prototype.
31158
31159 * kern/time.c (grub_get_time_ms): New function.
31160 (grub_install_get_time_ms): New function.
31161
31162 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
31163 <grub/time.h> anymore.
31164 (grub_millisleep): Removed.
31165 (grub_machine_init): Call grub_tsc_init.
31166
31167 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
31168 get_time_ms() implementation.
31169
31170 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
31171 (ieee1275_get_time_ms): New function.
31172 (grub_machine_init): Install get_time_ms() implementation.
31173
31174 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
31175 (grub_machine_init): Call grub_tsc_init().
31176 (grub_millisleep): Removed.
bf06a93f 31177
9c2ff3ee 31178 * kern/ieee1275/init.c (grub_millisleep): Removed.
31179 (grub_machine_init): Install ieee1275_get_time_ms()
31180 implementation.
31181 (ieee1275_get_time_ms): New function.
31182 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
31183 real work.
31184
9ec92aaf 311852008-08-05 Marco Gerards <marco@gnu.org>
31186
31187 * disk/ata.c: Include <grub/pci.h>.
31188 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
31189 (grub_ata_initialize): Rewritten.
31190 (grub_ata_device_initialize): New function.
31191
8d23f507 311922008-08-04 Pavel Roskin <proski@gnu.org>
31193
31194 * kern/main.c: Include grub/mm.h.
31195
5e15ee3d 311962008-08-04 Robert Millan <rmh@aybabtu.com>
31197
31198 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
31199 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
31200 corruption problem).
31201
a9053f8f 312022008-08-04 Robert Millan <rmh@aybabtu.com>
31203
31204 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
31205 warnings introduced in my last commit.
31206
dd19c7d7 312072008-08-03 Robert Millan <rmh@aybabtu.com>
31208
31209 Make PCI available on all i386 architectures.
31210
31211 * include/grub/i386/pc/pci.h: Move from here ...
31212 * include/grub/i386/pci.h: ... to here.
31213
31214 * include/grub/i386/pc/pci.h: Remove.
31215 * include/grub/i386/efi/pci.h: Remove.
31216 * include/grub/x86_64/efi/pci.h: Remove.
31217
31218 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
31219 `<grub/cpu/pci.h>'.
31220
31221 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
31222 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
31223 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
31224
31225 * conf/i386-ieee1275.rmk: Likewise.
31226
e14a6184 312272008-08-03 Robert Millan <rmh@aybabtu.com>
31228
31229 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
31230 (grub_console_setcursor): Make it possible to set cursor off.
31231
52768e37 312322008-08-03 Robert Millan <rmh@aybabtu.com>
31233
31234 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
31235 of modules instead of assuming which platform provides what.
31236 * util/update-grub.in: Likewise.
31237
2d52f57f 312382008-08-03 Robert Millan <rmh@aybabtu.com>
31239
31240 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
31241 instead of `grub_install_dos_part' to determine whether a drive needs
31242 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 31243 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 31244
2a5cd121 312452008-08-02 Robert Millan <rmh@aybabtu.com>
31246
31247 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
31248
93808428 312492008-08-02 Robert Millan <rmh@aybabtu.com>
31250
31251 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
31252 of informational grub_dprintf() calls.
31253
3bd0a12a 312542008-08-02 Robert Millan <rmh@aybabtu.com>
31255
31256 * disk/memdisk.c (memdisk_size): Don't initialize.
31257 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
31258
31259 * include/grub/i386/pc/kernel.h
31260 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
31261 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
31262 (grub_memdisk_image_size, grub_arch_memdisk_addr)
31263 (grub_arch_memdisk_size): Remove.
31264
31265 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
31266 field (was only used to transfer a constant). Add `type' field to
31267 support multiple module types.
31268 (grub_module_iterate): New function.
31269
31270 * kern/device.c (grub_device_open): Do not hide error messages
31271 when grub_disk_open() fails. Use grub_print_error() instead.
31272
31273 * kern/i386/pc/init.c (grub_arch_modules_addr)
31274 (grub_arch_memdisk_size): Remove functions.
31275 (grub_arch_modules_addr): Return the module address in high memory
31276 (now that it isn't copied anymore).
31277
31278 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
31279 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
31280 decompression routine (grub_total_module_size already includes that
31281 now). Don't copy modules back to low memory.
31282
31283 * kern/main.c: Include `<grub/mm.h>'.
31284 (grub_load_modules): Split out (and use) ...
31285 (grub_module_iterate): ... this function, which iterates through
31286 module objects and runs a hook.
31287 Comment out grub_mm_init_region() call, as it would cause non-ELF
31288 modules to be overwritten.
31289
31290 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
31291 the memdisk image in its own region, make it part of the module list.
31292 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
31293 (main): Parse --memdisk|-m option, and pass user-provided path as
31294 parameter to generate_image().
31295 (add_segments): Pass `memdisk_path' down to load_modules().
31296 (load_modules): Embed memdisk image in module section when requested.
31297 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
31298 `header.type' instead of `header.offset'.
31299
31300 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
31301 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
31302 (memdisk_mod_LDFLAGS): New variables.
31303 * conf/i386-coreboot.rmk: Likewise.
31304 * conf/i386-ieee1275.rmk: Likewise.
31305
a927cc73 313062008-08-02 Robert Millan <rmh@aybabtu.com>
31307
31308 * loader/i386/pc/multiboot.c (playground, forward_relocator)
31309 (backward_relocator): New variables. Used to allocate and relocate
31310 the payload, respectively.
31311 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 31312 address, install the appropriate relocator code in each bound of
a927cc73 31313 the payload, and set the entry point such that
31314 grub_multiboot_real_boot() will jump to one of them.
31315
31316 * kern/i386/loader.S (grub_multiboot_payload_size)
31317 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
31318 (grub_multiboot_payload_entry_offset): New variables.
31319 (grub_multiboot_real_boot): Set cpu context to what the relocator
31320 expects, and jump to the relocator instead of the payload.
31321
31322 * include/grub/i386/loader.h (grub_multiboot_payload_size)
31323 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
31324 (grub_multiboot_payload_entry_offset): Export.
31325
b15d8a0c 313262008-08-01 Bean <bean123ch@gmail.com>
31327
31328 * normal/menu_entry.c (editor_getline): Don't return the original
31329 string as result, as it will be released by lexer once it has done
31330 using it.
31331
cdfb3d22 313322008-08-01 Robert Millan <rmh@aybabtu.com>
31333
31334 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
31335 within menuentries, not before them.
31336 util/grub.d/10_hurd.in: Likewise.
31337
9175e93d 313382008-08-01 Bean <bean123ch@gmail.com>
31339
31340 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
31341 (bufio_mod_SOURCES): New macro.
31342 (bufio_mod_CFLAGS): Likewise.
31343 (bufio_mod_LDFLAGS): Likewise.
31344
31345 * include/grub/bufio.h: New file.
31346
31347 * io/bufio.c: Likewise.
31348
31349 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
31350 (grub_video_reader_png): Use grub_buffile_open to open file.
31351
31352 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
31353 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
31354
31355 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
31356 (grub_video_reader_tga): Use grub_buffile_open to open file.
31357
31358 * font/manager.c: Include <grub/bufio.h>.
31359 (add_font): Use grub_buffile_open to open file.
31360
3d8383e7 313612008-07-31 Robert Millan <rmh@aybabtu.com>
31362
31363 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
31364 ELF segments, use a macro for arbitrarily accessing any of them instead
31365 of preparing a pointer that allows access to one at a time.
31366 (grub_multiboot_load_elf64): Likewise.
31367
16e641b6 313682008-07-31 Bean <bean123ch@gmail.com>
31369
31370 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
31371 GRUB_KERNEL_MACHINE_DATA_END.
31372
59198b72 313732008-07-30 Robert Millan <rmh@aybabtu.com>
31374
31375 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
31376 Increase from 0x50 to 0x60.
31377 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
31378 use UUIDs to identify the root drive for them. If that's not
31379 possible, abort.
31380 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
31381 check, for cross-disk installs.
31382
ae88bca3 313832008-07-30 Robert Millan <rmh@aybabtu.com>
31384
31385 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
31386 is non-empty, use it to set the `prefix' environment variable instead
31387 of the usual approach.
31388 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
31389 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
31390 environment variable instead of dummy make_install_device().
31391
31392 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
31393 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 31394 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 31395
31396 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
31397 New variable reference.
31398 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
31399 New macro. Defines offset of `grub_prefix' within startup.S (relative
31400 to `start').
31401 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
31402 section within startup.S (relative to `start').
31403 * include/grub/i386/coreboot/kernel.h: Likewise.
31404
31405 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
31406 Overwrite grub_prefix with its contents, at the beginning of the
31407 first segment.
31408 (main): Understand -p|--prefix.
31409
14f41dd1 314102008-07-30 Robert Millan <rmh@aybabtu.com>
31411
31412 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
31413
4ca049a3 314142008-07-30 Robert Millan <rmh@aybabtu.com>
31415
31416 * term/i386/pc/vga_text.c (grub_console_cls): Use
31417 grub_console_gotoxy() to go back to beginning of the screen.
31418 Found by Patrick Georgi <patrick.georgi@coresystems.de>
31419
2921d337 314202008-07-29 Christian Franke <franke@computer.org>
31421
31422 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
31423 Add conversion of emulated mount points on Cygwin.
31424
b609876d 314252008-07-29 Christian Franke <franke@computer.org>
31426
31427 * util/update-grub.in: Add a check for admin
31428 group on Cygwin.
31429 Remove old `grub.cfg.new' before creation.
31430 Add `-f' to `mv' to handle the different filesystem
31431 semantics of Windows.
31432
e93e4679 314332008-07-29 Bean <bean123ch@gmail.com>
31434
31435 * normal/main.c (get_line): Fix buffer overflow bug.
31436
41694fd0 314372008-07-28 Robert Millan <rmh@aybabtu.com>
31438
31439 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
31440 (struct grub_apple_header): New struct. Describes the layout of
31441 the partmap header.
31442 (apple_partition_map_iterate): Check the header magic as well as the
31443 partition magic (which was already being checked).
31444
cfd0b4e6 314452008-07-28 Pavel Roskin <proski@gnu.org>
31446
31447 * genmk.rb: Add a warning to the beginning of the output that
31448 it's a generated file and should not be edited.
31449
93cce016 314502008-07-28 Robert Millan <rmh@aybabtu.com>
31451
31452 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
31453 with the same number are found, just use issue a warning with
31454 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 31455
cd1df915 314562008-07-27 Robert Millan <rmh@aybabtu.com>
31457
31458 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
31459 information.
31460
b70a8427 314612008-07-27 Bean <bean123ch@gmail.com>
31462
31463 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
31464 (grub_fat_find_dir): Ignore case when comparing filename.
31465
8f5e379f 314662008-07-27 Bean <bean123ch@gmail.com>
31467
31468 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
31469 smallino, as it's more descriptive, and i8count can be confused with
31470 the other field count.
31471 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
31472 inode type.
31473
a85cd5a0 314742008-07-27 Bean <bean123ch@gmail.com>
31475
31476 * commands/crc.c: New file.
31477
31478 * lib/crc.c: Likewise.
31479
31480 * include/grub/lib/crc.h: Likewise.
31481
31482 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
31483
31484 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
31485 (hexdump): Move this function to ...
31486
31487 * lib/hexdump.c: ... here.
31488
31489 * include/grub/hexdump.h: Renamed to ...
31490
31491 * include/grub/lib/hexdump.h: ... this.
31492
31493 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
31494
31495 * util/grub-editenv.c: Likewise.
31496
31497 * include/envblk.h: Renamed to ...
31498
31499 * include/lib/envblk.h: ... this.
31500
31501 * util/envblk.c: Renamed to ...
31502
31503 * lib/envblk.c: ... this.
31504
31505 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
31506 lib/hexdump.c.
31507 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
31508 (pkglib_MODULES): Add crc.mod.
31509 (hexdump_mod_SOURCES): Add lib/hexdump.c.
31510 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
31511 (crc_mod_SOURCES): New macro.
31512 (crc_mod_CFLAGS): Likewise.
31513 (crc_mod_LDFLAGS): Likewise.
31514
31515 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
31516
31517 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31518
31519 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31520
31521 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31522
31523 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31524
c298def0 315252008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 31526
31527 * commands/help.c: Include <grub/term.h>.
31528 (TERM_WIDTH): Removed. Updated all users.
31529
cc349fb3 315302008-07-27 Pavel Roskin <proski@gnu.org>
31531
31532 * util/getroot.c (find_root_device): Rephrase a comment to avoid
31533 spurious warnings about a comment within a comment.
31534
9051607e 315352008-07-25 Robert Millan <rmh@aybabtu.com>
31536
31537 * util/getroot.c (find_root_device): Skip devices that match
31538 /dev/dm-[0-9]. This lets the real device be found for any type of
31539 abstraction (LVM, EVMS, RAID..).
31540 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
31541 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
31542 device is found first, find_root_device() will now skip it.
31543
01453bfc 315442008-07-24 Pavel Roskin <proski@gnu.org>
31545
31546 * include/grub/types.h: Use __builtin_bswap32() and
31547 __builtin_bswap64() with gcc 4.3 and newer.
31548
6af9849f 315492008-07-24 Christian Franke <franke@computer.org>
31550
3a0fa256 31551 * util/i386/pc/grub-install.in: If `--debug' is specified,
31552 pass `--verbose' to grub-setup.
31553 Abort script if make_system_path_relative_to_its_root() fails.
31554
7810e747 315552008-07-24 Bean <bean123ch@gmail.com>
31556
31557 * configure.ac: Fixed a bug caused by the previous cygwin patch,
31558 variable `target_platform' should be `platform'.
31559
42290e17 315602008-07-24 Bean <bean123ch@gmail.com>
31561
51cc5193 31562 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 31563 (grub_png_init_fixed_block): New function.
31564 (grub_png_decode_image_data): Handle fixed huffman code compression.
31565
2a8a80e4 315662008-07-24 Bean <bean123ch@gmail.com>
31567
31568 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
31569 (grub_pe2elf_SOURCES): New macro.
31570 (CLEANFILES): Add grub-pe2elf.
31571
31572 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
31573 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
31574 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
31575 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
31576 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
31577 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
31578 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
31579 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
31580 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
31581 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
31582 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
31583 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
31584 (GRUB_PE32_DT_FUNCTION): Likewise.
31585 (GRUB_PE32_REL_I386_DIR32): Likewise.
31586 (GRUB_PE32_REL_I386_REL32): Likewise.
31587 (grub_pe32_symbol): New structure.
31588 (grub_pe32_reloc): Likewise.
31589
31590 * util/grub-pe2elf.c: New file.
31591
31592 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
31593 start symbol in non pc platform.
31594
31595 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
31596
31597 The following patches are from Christian Franke.
31598
31599 * include/grub/dl.h: Remove .previous, gas supports this only
31600 for ELF format.
31601
31602 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
31603 Remove .type, gas supports this only for ELF format.
31604
31605 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
31606 nullbytes in symbol table. This fixes an infinite loop if table is
31607 zero filled.
31608
31609 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
31610 TARGET_IMG_LDFLAGS and EXEEXT.
31611
31612 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
31613 TARGET_IMG_LDFLAGS_AC.
31614 (grub_CHECK_STACK_ARG_PROBE): New function.
31615
31616 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
31617
31618 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
31619
31620 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
31621 to set TARGET_IMG_LD* accordingly.
31622 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
31623 Add call to grub_CHECK_STACK_ARG_PROBE.
31624 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
31625
31626 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
31627
31628 * genmk.rb: Add EXEEXT to CLEANFILES.
31629
12ccdb75 316302008-07-23 Robert Millan <rmh@aybabtu.com>
31631
31632 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
31633 define the codes for arrows and lines used for the menu).
31634 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
31635 as well.
31636
31637 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
31638 fonts, because the latter are too slow.
31639
18eeaf04 316402008-07-21 Bean <bean123ch@gmail.com>
31641
31642 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
31643 a20. Run keyboard test last, as it will cause macbook to halt.
31644
b095e2ad 316452008-07-18 Pavel Roskin <proski@gnu.org>
31646
31647 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
31648 load foreign architecture modules correctly anyway. Keep
31649 support for loading host architecture modules, whether we
31650 compile them or not.
31651
737feb35 316522008-07-17 Pavel Roskin <proski@gnu.org>
31653
3f4ce737 31654 * configure.ac: Use -m32 or -m64 regardless of whether we had to
31655 change target_cpu. The compiler default can mismatch target_cpu
31656 in any case.
31657
4ad2d049 31658 * disk/efi/efidisk.c: Fix format warnings on x86_64.
31659 * kern/efi/efi.c: Likewise.
31660
f6130a12 31661 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
31662 target compiler is functional.
31663 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
31664 are set up.
31665
58393a2d 31666 * configure.ac: Default to efi platform for x86_64-apple. Allow
31667 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
31668 adjustments from the rest, only do them if target is not
31669 explicitly given. Merge other adjustments with the final sanity
31670 check. Remove an extraneous check for supported CPU. Be
31671 specific which CPU and which platform is not supported.
31672
737feb35 31673 * configure.ac: Default to pc platform for x86_64.
31674
546f966a 316752008-07-17 Robert Millan <rmh@aybabtu.com>
31676
31677 Partial LinuxBIOS -> Coreboot rename.
31678
31679 * conf/i386-linuxbios.rmk: Renamed to ...
31680 * conf/i386-coreboot.rmk: ... this.
31681 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
31682 * configure.ac: Accept "coreboot" as input platform (but maintain
31683 compatibility with "linuxbios").
31684 * include/grub/i386/linuxbios: Renamed to ...
31685 * include/grub/i386/coreboot: ... this.
31686
20011694 316872008-07-17 Bean <bean123ch@gmail.com>
31688
31689 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 31690 (appleldr_mod_SOURCE): New variable.
20011694 31691 (appleldr_mod_CFLAGS): Likewise.
31692 (appleldr_mod_LDFLAGS): Likewise.
31693 (pci_mod_SOURCES): Likewise.
31694 (pci_mod_CFLAGS): Likewise.
31695 (pci_mod_LDFLAGS): Likewise.
31696 (lspci_mod_SOURCES): Likewise.
31697 (lspci_mod_CFLAGS): Likewise.
31698 (lspci_mod_LDFLAGS): Likewise.
31699
31700 * conf/x86_64-efi.rmk: New file.
31701
31702 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
31703 macro.
31704 (grub_efidisk_write): Likewise.
31705
31706 * include/efi/api.h (efi_call_0): New macro.
31707 (efi_call_1): Likewise.
31708 (efi_call_2): Likewise.
31709 (efi_call_3): Likewise.
31710 (efi_call_4): Likewise.
31711 (efi_call_5): Likewise.
31712 (efi_call_6): Likewise.
31713
31714 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
31715 grub_rescue_cmd_chainloader.
31716
31717 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
31718 (grub_pe32_optional_header): Change some fields based on i386 or
31719 x86_64 platform.
31720 (GRUB_PE32_PE32_MAGIC): Likewise.
31721
31722 * include/grub/efi/uga_draw.h: New file.
31723
31724 * include/grub/elf.h (STN_ABS): New constant.
31725 (R_X86_64_NONE): Relocation constant for x86_64.
31726 (R_X86_64_64): Likewise.
31727 (R_X86_64_PC32): Likewise.
31728 (R_X86_64_GOT32): Likewise.
31729 (R_X86_64_PLT32): Likewise.
31730 (R_X86_64_COPY): Likewise.
31731 (R_X86_64_GLOB_DAT): Likewise.
31732 (R_X86_64_JUMP_SLOT): Likewise.
31733 (R_X86_64_RELATIVE): Likewise.
31734 (R_X86_64_GOTPCREL): Likewise.
31735 (R_X86_64_32): Likewise.
31736 (R_X86_64_32S): Likewise.
31737 (R_X86_64_16): Likewise.
31738 (R_X86_64_PC16): Likewise.
31739 (R_X86_64_8): Likewise.
31740 (R_X86_64_PC8): Likewise.
31741
31742 * include/grub/i386/efi/pci.h: New file.
31743
31744 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
31745 Change it value based on platform.
31746 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
31747 (GRUB_E820_RAM): Likewise.
31748 (GRUB_E820_RESERVED): Likewise.
31749 (GRUB_E820_ACPI): Likewise.
31750 (GRUB_E820_NVS): Likewise.
31751 (GRUB_E820_EXEC_CODE): Likewise.
31752 (GRUB_E820_MAX_ENTRY): Likewise.
31753 (grub_e820_mmap): New structure.
31754 (linux_kernel_header): Change the efi field according to different
31755 kernel version, also field from linux_kernel_header.
31756
31757 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
31758
31759 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
31760 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
31761 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
31762 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
31763 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
31764 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
31765 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
31766 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
31767 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
31768 (GRUB_PCI_ADDR_IO_MASK): Likewise.
31769
31770 * include/grub/x86_64/efi/kernel.h: New file.
31771
31772 * include/grub/x86_64/efi/loader.h: Likewise.
31773
31774 * include/grub/x86_64/efi/machine.h: Likewise.
31775
31776 * include/grub/x86_64/efi/pci.h: Likewise.
31777
31778 * include/grub/x86_64/efi/time.h: Likewise.
31779
31780 * include/grub/x86_64/linux.h: Likewise.
31781
31782 * include/grub/x86_64/setjmp.h: Likewise.
31783
31784 * include/grub/x86_64/time.h: Likewise.
31785
31786 * include/grub/x86_64/types.h: Likewise.
31787
31788 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
31789 GRUB_TARGET_SIZEOF_VOID_P.
31790
31791 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
31792 (grub_efi_locate_handle): Likewise.
31793 (grub_efi_open_protocol): Likewise.
31794 (grub_efi_set_text_mode): Likewise.
31795 (grub_efi_stall): Likewise.
31796 (grub_exit): Likewise.
31797 (grub_reboot): Likewise.
31798 (grub_halt): Likewise.
31799 (grub_efi_exit_boot_services): Likewise.
31800 (grub_get_rtc): Likewise.
31801
31802 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
31803 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
31804 (grub_efi_allocate_pages): Wrap efi calls.
31805 (grub_efi_free_pages): Wrap efi calls.
31806 (grub_efi_get_memory_map): Wrap efi calls.
31807
31808 * kern/x86_64/dl.c: New file.
31809
31810 * kern/x86_64/efi/callwrap.S: Likewise.
31811
31812 * kern/x86_64/efi/startup.S: Likewise.
31813
31814 * loader/efi/appleloader.c: Likewise.
31815
31816 * loader/efi/chainloader.c (cmdline): New variable.
31817 (grub_chainloader_unload): Wrap efi calls.
31818 (grub_chainloader_boot): Likewise.
31819 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
31820 command line.
31821
31822 * loader/efi/chainloader_normal.c (chainloader_command):
31823 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
31824 command line.
31825
31826 * loader/i386/efi/linux.c (allocate_pages): Change allocation
31827 method.
31828 (grub_e820_add_region): New function.
31829 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
31830 booting.
31831 (grub_find_video_card): New function.
31832 (grub_linux_setup_video): New function.
31833 (grub_rescue_cmd_linux): Probe for video information.
31834
31835 * normal/x86_64/setjmp.S: New file.
31836
31837 * term/efi/console.c (map_char): New function.
31838 (grub_console_putchar): Map unicode char.
31839 (grub_console_checkkey): Wrap efi calls.
31840 (grub_console_getkey): Likewise.
31841 (grub_console_getwh): Likewise.
31842 (grub_console_gotoxy): Likewise.
31843 (grub_console_cls): Likewise.
31844 (grub_console_setcolorstate): Likewise.
31845 (grub_console_setcursor): Likewise.
31846
31847 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
31848
59652a20 318492008-07-16 Pavel Roskin <proski@gnu.org>
31850
ef294055 31851 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
31852 format strings.
31853
59652a20 31854 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
31855 pointer, not an integer. This fixes a warning and prevents
31856 precision loss on 64-bit systems.
31857 (relocate_addresses): Remove unneeded cast.
31858
afc3b5d7 318592008-07-15 Pavel Roskin <proski@gnu.org>
31860
506b2b3e 31861 * kern/i386/ieee1275/init.c: Include grub/cache.h.
31862
62ead89c 31863 * term/ieee1275/ofconsole.c: Disable code unused on i386.
31864
c4cd51d7 31865 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
31866 Fix comparison between signed and unsigned.
31867
0d3d8f28 31868 * include/grub/i386/ieee1275/console.h: Declare
31869 grub_console_init() and grub_console_fini().
31870
8804b286 31871 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
31872 It's empty and unused.
31873
ee01cf35 31874 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
31875 beginning to avoid warnings with some compilers.
31876
afc3b5d7 31877 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
31878 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
31879
e4e8eaa5 318802008-07-14 Pavel Roskin <proski@gnu.org>
31881
407aceb4 31882 * kern/env.c (grub_register_variable_hook): Don't copy empty
31883 string, it leaks memory. Pass "" to grub_env_set(), it should
31884 handle constant strings.
31885
e4e8eaa5 31886 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
31887 * commands/cmp.c (grub_cmd_cmp): Likewise.
31888 * kern/dl.c (grub_dl_flush_cache): Likewise.
31889 (grub_dl_load_core): Likewise.
31890 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
31891 (grub_elf64_load_phdrs): Likewise.
31892
d4e2dad3 318932008-07-13 Pavel Roskin <proski@gnu.org>
31894
31895 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
31896 between signed and unsigned.
31897 (LzmaEnc_Finish): Fix warning about an unused parameter.
31898
aa24b516 318992008-07-13 Bean <bean123ch@gmail.com>
31900
31901 * Makefile.in (enable_lzo): New rule.
31902
31903 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
31904
31905 * configure.ac (ENABLE_LZO): New option --enable-lzo.
31906
31907 * boot/i386/pc/lnxboot.S: #include <config.h>.
31908
31909 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 31910 its value according to the compression algorithm used, lzo or lzma.
aa24b516 31911
31912 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
31913 compression algorithm according to configure macro.
31914
31915 * kern/i386/pc/startup.S (codestart): Likewise.
31916
31917 * kern/i386/pc/lzma_decode.S: New file.
31918
31919 * include/grub/lib/LzFind.h: Likewise.
31920
31921 * include/grub/lib/LzHash.h: Likewise.
31922
31923 * include/grub/lib/LzmaDec.h: Likewise.
31924
31925 * include/grub/lib/LzmaEnc.h: Likewise.
31926
31927 * include/grub/lib/LzmaTypes.h: Likewise.
31928
31929 * lib/LzFind.c: Likewise.
31930
31931 * lib/LzmaDec.c: Likewise.
31932
31933 * lib/LzmaEnc.c: Likewise.
31934
4ae821ac 319352008-07-13 Bean <bean123ch@gmail.com>
31936
31937 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
31938 (grub_ext4_extent_header): New structure.
31939 (grub_ext4_extent): Likewise.
31940 (grub_ext4_extent_idx): Likewise.
31941 (grub_ext4_find_leaf): New function.
31942 (grub_ext2_read_block): Handle extents.
31943
9a745147 319442008-07-12 Robert Millan <rmh@aybabtu.com>
31945
31946 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
31947
d49a4cf6 319482008-07-11 Robert Millan <rmh@aybabtu.com>
31949
31950 * util/grub.d/40_custom.in: New file. Example on how to add custom
31951 entries to /etc/grub.d.
31952 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
31953 40_custom (implicitly, by merging all the grub.d rules).
31954
947414b4 319552008-07-11 Pavel Roskin <proski@gnu.org>
31956
0059cf6f 31957 * commands/read.c (grub_getline): Fix invalid memory access.
31958 Don't add newline to the variable value.
31959
947414b4 31960 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
31961 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
31962 (serial_hw_get_port): Check validity of the port number.
31963 (grub_cmd_serial): Check return value of serial_hw_get_port().
31964
62a02d00 319652008-07-07 Pavel Roskin <proski@gnu.org>
31966
31967 * boot/i386/pc/diskboot.S (notification_string): Replace
31968 "Loading kernel" with just "loading". This is shorter, less
31969 confusing and saves a few bytes for possible future changes.
31970
3e5581b0 319712008-07-05 Pavel Roskin <proski@gnu.org>
31972
ea387a48 31973 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
31974 size for ATAPI devices, they are undefined. Output sector
31975 number in decimal form.
31976
3e5581b0 31977 * disk/ata.c: Use named constants for status bits.
31978
fdecb8fd 319792008-07-04 Pavel Roskin <proski@gnu.org>
31980
bcd35b90 31981 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
31982 grub_addr_t before casting it to the void pointer to fix a
31983 warning. Non-addressable regions are discarded earlier.
31984 (grub_arch_modules_addr): Cast _end to grub_addr_t.
31985 * kern/i386/linuxbios/table.c: Include grub/misc.h.
31986 (check_signature): Don't shadow table_header.
31987 (grub_linuxbios_table_iterate): Cast numeric constants to
31988 grub_linuxbios_table_header_t.
31989 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
31990 grub_stop().
31991
af58ab3d 31992 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
31993 prevent warnings.
31994
1759aa57 31995 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
31996 pointer, which can cause warnings. Support 64-bit addresses.
31997
fdecb8fd 31998 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
31999 of sizeof(long). This fixes PowerPC image generation on x86_64.
32000
8516d2a8 320012008-07-04 Robert Millan <rmh@aybabtu.com>
32002
32003 This fixes a performance issue when pc & gpt partmap iterators
32004 didn't abort iteration even after our hook found what it was
fe987087 32005 looking for (often causing expensive probes of non-existent drives).
8516d2a8 32006
32007 Some callers relied on previous buggy behaviour, since they would
34c44600 32008 raise an error when their own hooks caused early abortion of its
8516d2a8 32009 iteration.
32010
32011 * kern/device.c (grub_device_open): Improve error message.
32012 * disk/lvm.c (grub_lvm_open): Likewise.
32013 * disk/raid.c (grub_raid_open): Likewise.
32014
32015 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
32016 when hook requests it, independently of grub_errno.
32017 (pc_partition_map_probe): Do not fail when find_func() caused
32018 early abortion of pc_partition_map_iterate().
32019
32020 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
32021 when hook requests it, independently of grub_errno.
32022 (gpt_partition_map_probe): Do not fail when find_func() caused
32023 early abortion of gpt_partition_map_iterate().
32024
32025 * kern/partition.c (grub_partition_iterate): Abort parent iteration
32026 when hook requests it, independently of grub_errno. Do not fail when
32027 part_map_iterate_hook() caused early abortion of p->iterate().
32028
32029 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
32030 when grub_partition_iterate() returned with non-zero.
32031
277d0de9 320322008-07-03 Pavel Roskin <proski@gnu.org>
32033
32034 * disk/ata.c (grub_ata_pio_write): Check status before writing,
32035 like we do in grub_ata_pio_read().
32036 (grub_ata_readwrite): Always write individual sectors. Fix the
32037 sector count for the remainder.
32038 (grub_ata_write): Enable writing to ATA devices. Correctly
32039 report error for ATAPI devices.
32040
d4c9b428 320412008-07-02 Pavel Roskin <proski@gnu.org>
32042
e43fc690 32043 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
32044 warning.
32045
f707af42 32046 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
32047 for every read sector, we already increment it for the whole
32048 batch. This fixes reading more than 256 sectors at once.
32049
11e16b15 32050 * util/grub-editenv.c (cmd_info): Cast argument to long
32051 explicitly. ptrdiff_t reduces to int on i386.
32052
cbabfdd4 32053 * util/grub-editenv.c (main): Be specific which parameter is
32054 missing.
32055
b8fbce0a 32056 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
32057 (memdisk): Make memdisk_orig_addr a pointer.
32058
c9c8e606 32059 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
32060 for file offsets, use grub_off_t instead. Fix printf format
32061 warnings.
32062
ca62e598 32063 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
32064 there. Real unexpected warnings should not drown in the noise
32065 about known problems.
32066
ce8d1766 32067 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
32068 grub_disk_addr_t for memory addresses.
32069
00c7a56a 32070 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
32071 explicitly to fix a warning.
32072
08d3ef09 32073 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
32074
cb71ba20 32075 * Makefile.in (MODULE_LDFLAGS): New variable.
32076 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
32077 the linker accepts --build-id=none.
32078 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
32079 MODULE_LDFLAGS.
32080 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
32081
d4c9b428 32082 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
32083 those in Linux XFS code. Provide a way to access 64-bit parent
32084 inode.
32085 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
32086 the end of struct grub_xfs_dir_header.
32087
d4156eee 320882008-07-02 Bean <bean123ch@gmail.com>
32089
32090 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
32091 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
32092 and GRUB_IEEE1275_FLAG_NO_ANSI.
32093
32094 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
32095 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
32096 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
32097
32098 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
32099 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
32100
32101 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
32102 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
32103
32104 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
32105 esc sequence on non ANSI terminal.
32106 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
32107
32108 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
32109 beginning of file.
32110
2270f77b 321112008-07-02 Bean <bean123ch@gmail.com>
32112
32113 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
32114 (grub_editenv_SOURCES): New variable.
32115 (pkglib_MODULES): Add loadenv.mod.
32116 (loadenv_mod_SOURCES): New variable.
32117 (loadenv_mod_CFLAGS): Likewise.
32118 (loadenv_mod_LDFLAGS): Likewise.
32119
32120 * include/grub/envblk.h: New file.
32121
32122 * util/envblk.c: New file.
32123
32124 * util/grub-editenv.c: New file.
32125
32126 * commands/loadenv.c: New file.
32127
0e9e51ec 321282008-07-01 Pavel Roskin <proski@gnu.org>
32129
d89b7634 32130 * include/multiboot2.h (struct multiboot_tag_module): Use char,
32131 not unsigned char. This fixes warnings and is consistent with
32132 other tags.
32133
bf1835b1 32134 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
32135
8222a04b 32136 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
32137
6a42d99d 32138 * term/tparm.c (analyze): Always set *popcount.
32139
10b159d1 32140 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
32141 cast to fix a warning.
32142
b8789f6c 32143 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
32144 cast to suppress a warning.
32145
29d7e38a 32146 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
32147 grub_fshelp_read_file() expects.
32148
f341f669 32149 * fs/fat.c: Fix UUID calculation on big-endian systems. We
32150 write uuid as a 32-bit value in CPU byte order, so declare and
32151 use it as such.
32152
0e9e51ec 32153 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
32154 long if the format specifier expects it.
32155 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
32156 * partmap/pc.c (pc_partition_map_iterate): Likewise.
32157 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
32158 long to fix a warning.
32159 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
32160 grub_dprintf() arguments to fix warnings.
32161
3aefa857 321622008-06-30 Pavel Roskin <proski@gnu.org>
32163
56c7668b 32164 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
32165 install_bsd_part immediately before core.img is embedded or
32166 modified on disk. This fixes core.img verification if core.img
32167 cannot be embedded.
32168
3aefa857 32169 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
32170 core_path to calculate the blocklist.
32171 Patch from Javier Martín <lordhabbit@gmail.com>
32172
5444088d 321732008-06-29 Robert Millan <rmh@aybabtu.com>
32174
32175 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
32176 block to disk block.
32177 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
32178 Patch from Niels Böhm <bitbucket@arcor.de>
32179
674835c8 321802008-06-29 Robert Millan <rmh@aybabtu.com>
32181
32182 * util/update-grub_lib.in (font_path): Search for fonts in
32183 /boot/grub first, which is more likely to be readable (we aren't
32184 deciding where fonts live, just looking for them).
32185
f527dbc8 321862008-06-26 Pavel Roskin <proski@gnu.org>
32187
6c2d8df6 32188 * util/biosdisk.c (read_device_map): Don't leave dead map
32189 entries for devices failing stat() check.
32190
f527dbc8 32191 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
32192 core_path_dev for the core.img path on the target device.
32193
aebe3d13 321942008-06-26 Robert Millan <rmh@aybabtu.com>
32195
32196 * disk/fs_uuid.c: New file.
32197 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
32198 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
32199 (fs_uuid_mod_LDFLAGS): New variables.
32200 * include/grub/disk.h (grub_disk_dev_id): Add
32201 `GRUB_DISK_DEVICE_UUID_ID'.
32202 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
32203 implement iterate().
32204
37aaf354 322052008-06-26 Robert Millan <rmh@aybabtu.com>
32206
32207 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
32208 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
32209 Linux image includes no initrd.
32210
25ff262a 322112008-06-21 Javier Martín <lordhabbit@gmail.com>
32212
32213 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
32214 call to resolve the core image location that effectively appended the
32215 name twice.
32216
76a2bd44 322172008-06-21 Robert Millan <rmh@aybabtu.com>
32218
32219 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
32220 call from here ...
32221
32222 * util/grub.d/10_hurd.in: ... to here ...
32223 * util/grub.d/10_linux.in: ... and here.
32224
650e1c79 322252008-06-19 Robert Millan <rmh@aybabtu.com>
32226
fe987087 32227 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 32228 after it has been set by grub_machine_set_prefix().
32229
6ce63911 322302008-06-19 Robert Millan <rmh@aybabtu.com>
32231
32232 * commands/search.c (search_label, search_fs_uuid, search_file): Print
32233 search result when not saving to variable, not the other way around.
32234 When saving to variable, abort iteration as soon as a match is found.
32235
73940cec 322362008-06-19 Robert Millan <rmh@aybabtu.com>
32237
32238 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
32239 check for partition that provides /boot/grub. Its logic is flawed,
32240 as it prevents prepare_grub_to_access_device() from being called
32241 multiple times.
32242
3c62a39d 322432008-06-19 Robert Millan <rmh@aybabtu.com>
32244
32245 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
32246 "insmod" command directly when abstraction modules are needed,
fe987087 32247 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 32248 since it had already been processed).
32249
47395a42 322502008-06-19 Pavel Roskin <proski@gnu.org>
32251
32252 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
32253 changed. This is needed in case GRUB_LIBDIR changes.
32254 * conf/i386-ieee1275.rmk: Likewise.
32255 * conf/i386-linuxbios.rmk: Likewise.
32256 * conf/i386-pc.rmk: Likewise.
32257 * conf/powerpc-ieee1275.rmk: Likewise.
32258
a145ac2d 322592008-06-18 Pavel Roskin <proski@gnu.org>
32260
32261 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
32262 kernel_elf_symlist.c to symlist.c for consistency with other
32263 architectures. Update all users.
32264 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
32265
7847c51e 322662008-06-18 Robert Millan <rmh@aybabtu.com>
32267
32268 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
32269 it in prefix.
32270
32271 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
32272 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
32273 a RAID device, run setup() for all members independently on whether
32274 LVM abstraction is being used.
32275 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
32276 If grub-mkimage has set `*install_dos_part == -2', don't override this
32277 value.
32278 Perform *install_dos_part adjustments independently on whether
32279 we're embedding or not.
32280 Clarify error message when image is too big for embedding.
32281 Remove duplicate *install_dos_part stanza.
32282
b23e5644 322832008-06-17 Robert Millan <rmh@aybabtu.com>
32284
32285 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
32286 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
32287 variables.
32288 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
32289 values in grub_ofconsole_normal_color and
32290 grub_ofconsole_highlight_color (they're not directly related to
32291 background and foreground).
32292 (grub_ofconsole_setcolorstate): Extract background and foreground
32293 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
32294
0aac2f79 322952008-06-17 Robert Millan <rmh@aybabtu.com>
32296
32297 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
32298 /boot/grub for the check in last commit, not /boot (they could be
32299 different partitions).
32300
3cca7ef3 323012008-06-16 Robert Millan <rmh@aybabtu.com>
32302
32303 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
32304 asked to setup access for the same partition that provides /boot,
32305 don't bother using UUIDs since our root already has the value we
32306 want.
32307
347396d8 323082008-06-16 Robert Millan <rmh@aybabtu.com>
32309
32310 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
32311 I2O devices.
32312 Patch from Sven Mueller <sven@debian.org>.
32313
991477f8 323142008-06-16 Robert Millan <rmh@aybabtu.com>
32315
32316 * util/update-grub.in: Check for $EUID instead of $UID.
32317 Reported by Vincent Zweije.
32318
d31a32a1 323192008-06-16 Bean <bean123ch@gmail.com>
32320
fe987087 32321 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 32322 (grub_ext2_read_block): Likewise.
32323 (grub_ext2_read_inode): Likewise.
32324 (grub_ext2_mount): Likewise.
32325 (grub_ext2_close): Likewise.
32326 (grub_ext3_get_journal): Removed.
32327
fe987087 32328 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 32329 (grub_reiserfs_read_symlink): Likewise.
32330 (grub_reiserfs_mount): Likewise.
32331 (grub_reiserfs_open): Likewise.
32332 (grub_reiserfs_read): Likewise.
32333 (grub_reiserfs_close): Likewise.
32334 (grub_reiserfs_get_journal): Removed.
32335
32336 * fs/fshelp.c (grub_fshelp_read): Removed.
32337 (grub_fshelp_map_block): Likewise.
32338
32339 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
32340 (grub_fshelp_journal): Likewise.
32341 (grub_fshelp_read): Likewise.
32342 (grub_fshelp_map_block): Likewise.
32343
3540a760 323442008-06-16 Pavel Roskin <proski@gnu.org>
32345
32346 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
32347 floating point anymore.
32348 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
32349
95614c84 323502008-06-15 Pavel Roskin <proski@gnu.org>
32351
32352 * commands/ls.c (grub_ls_list_files): Use integer calculations
32353 for human readable format, avoid floating point use.
32354 * kern/misc.c (grub_ftoa): Remove.
32355 (grub_vsprintf): Remove floating point support.
32356
50465dd6 323572008-06-15 Robert Millan <rmh@aybabtu.com>
32358
fe6b695a 32359 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 32360 devices.
32361 Reported by Max Vozeler.
32362
a9207284 323632008-06-15 Robert Millan <rmh@aybabtu.com>
32364
32365 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
32366 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
32367 skipped later.
32368 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
32369 the beginning of the prefix.
32370
32371 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
32372 It is assumed that if we have a memdisk, grub-mkimage has set
32373 grub_prefix to include the "(memdisk)" drive in it.
32374
a7cbd45a 323752008-06-15 Robert Millan <rmh@aybabtu.com>
32376
32377 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
32378 Initialize keyboard controller after registering the terminal, so that
32379 grub_printf() can be called from grub_keyboard_controller_init().
32380
21cf716a 323812008-06-15 Robert Millan <rmh@aybabtu.com>
32382
32383 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
32384 extent-btree which is written as big endian on disk.
32385 Reported by Alain Greppin <al@chilibi.org>.
32386
23a64d8e 323872008-06-14 Robert Millan <rmh@aybabtu.com>
32388
32389 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
32390 * util/i386/pc/grub-install.in (modules): Likewise.
32391
d687651c 323922008-06-13 Pavel Roskin <proski@gnu.org>
32393
32394 * commands/ls.c (grub_ls_list_files): Fix format warnings.
32395
dfe9ddd4 323962008-06-13 Bean <bean123ch@gmail.com>
32397
32398 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
32399
32400 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
32401
32402 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
32403 to indicate sparse block.
32404
16ae7781 324052008-06-12 Pavel Roskin <proski@gnu.org>
32406
e6d1a308 32407 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
32408 number, grub_fshelp_read() does it for us.
32409
16ae7781 32410 * fs/fshelp.c (grub_fshelp_read): New function. Implement
32411 linear disk read with journal translation.
32412 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
32413 * include/grub/fshelp.h: Declare grub_fshelp_read().
32414
40fd3a2b 324152008-06-09 Pavel Roskin <proski@gnu.org>
32416
32417 * fs/minix.c (grub_minix_mount): Handle error reading
32418 superblock.
32419
f5679726 324202008-06-08 Robert Millan <rmh@aybabtu.com>
32421
32422 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
32423 don't append the RAID prefix afterwards.
32424 Reported by Clint Adams.
32425
ce525529 324262008-06-08 Robert Millan <rmh@aybabtu.com>
32427
32428 Based on description from Pavel:
32429 * kern/disk.c (grub_disk_check_range): Rename to ...
32430 (grub_disk_adjust_range): ... this. Add a comment explaining the
32431 tasks performed by this function.
32432
ad4936a0 324332008-06-08 Robert Millan <rmh@aybabtu.com>
32434
32435 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
32436 `num_serial' (for consistency with other variables).
32437 (struct grub_ntfs_data): Add `uuid' member.
32438 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
32439 (grub_ntfs_uuid): New function.
32440 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
32441
dc20b0f9 324422008-06-07 Pavel Roskin <proski@gnu.org>
32443
32444 * util/biosdisk.c (open_device): Revert last change to the
32445 function, it broke installation. The sector needs to be
32446 different dependent on which device is opened.
32447
c5e3cfba 324482008-06-06 Robert Millan <rmh@aybabtu.com>
32449
32450 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
32451 rest of GRUB, and breakage doesn't happen if its value were modified.
32452
32453 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
32454 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
32455 a constant (same value).
32456 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
32457 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
32458
26a1f8c4 324592008-06-06 Robert Millan <rmh@aybabtu.com>
32460
32461 * util/biosdisk.c (open_device): Do not modify sector offset when
32462 accessing a partition. kern/disk.c already handles this for us.
32463
25d6b327 324642008-06-06 Robert Millan <rmh@aybabtu.com>
32465
32466 * util/grub-emu.c (grub_machine_init): Move code in this function from
32467 here ...
32468 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
32469 segfault in case grub_printf() is called).
32470
32471 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
32472 grub_probe. Update all users not to explicitly add it again.
32473 (grub_device): New variable; contains corresponding device for grubdir.
32474 (fs_module, partmap_module, devabstraction_module): Pass
32475 `--device ${grub_device}' to grub_probe to avoid traversing /dev
32476 every time.
32477
9ece62fb 324782008-06-05 Robert Millan <rmh@aybabtu.com>
32479
32480 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
32481 is found, print it (same layout as with labels).
32482
1ad36d37 324832008-06-04 Robert Millan <rmh@aybabtu.com>
32484
32485 * util/biosdisk.c (get_drive): Rename to ...
32486 (find_grub_drive): ... this. Update all users.
32487
32488 (get_os_disk): Rename to ...
32489 (convert_system_partition_to_system_disk): ... this. Update all users.
32490
32491 (find_drive): Rename to ...
32492 (find_system_device): ... this. Update all users.
32493
e6a30859 324942008-06-04 Robert Millan <rmh@aybabtu.com>
32495
32496 * util/biosdisk.c (get_os_disk): Handle IDA devices.
32497 * util/grub-mkdevicemap.c (get_mmc_disk_name)
32498 (make_device_map): Likewise.
32499
00c108a4 325002008-06-01 Robert Millan <rmh@aybabtu.com>
32501
32502 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
32503 before dereferencing it.
32504
32505 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
32506 union with fat12/fat16-specific ones. Add some new fields, including
32507 `num_serial' for both versions.
32508 (struct grub_fat_data): Add `uuid' member.
32509 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
32510 names. Initialize `data->uuid' using `num_serial'.
32511 (grub_fat_uuid): New function.
32512 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
32513
32514 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
32515 (grub_reiserfs_uuid): New function.
32516 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
32517 member.
32518
32519 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
32520 (grub_xfs_uuid): New function.
32521 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
32522
1385c5bb 325232008-06-01 Robert Millan <rmh@aybabtu.com>
32524
32525 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
32526 code that is backward compatible with pre-uuid search command.
32527
c682dfd7 325282008-05-31 Robert Millan <rmh@aybabtu.com>
32529
32530 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
32531 floppies after everything else, to ensure floppy drive isn't accessed
32532 unnecessarily (patch from Bean).
32533
b7db5d47 325342008-05-31 Robert Millan <rmh@aybabtu.com>
32535
32536 * commands/search.c (search_label, search_fs_uuid, search_file): Do
32537 not print device names when we were asked to set a variable.
32538
6e037aa9 325392008-05-31 Robert Millan <rmh@aybabtu.com>
32540
32541 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
32542 using "cursor-on" and "cursor-off" commands (understood at least by
32543 the Open Firmware flavour on OLPC).
32544
41305bc8 325452008-05-31 Michael Gorven <michael@gorven.za.net>
32546
32547 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
32548 on and off sequences.
32549
69ba137e 325502008-05-31 Robert Millan <rmh@aybabtu.com>
32551
32552 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
32553 * util/update-grub.in: Likewise.
32554
520ae21b 325552008-05-30 Pavel Roskin <proski@gnu.org>
32556
32557 * util/biosdisk.c (linux_find_partition): Simplify logic and
32558 make the code more universal. Keep special processing for
32559 devfs, but use a simple rule for all other devices. If the
32560 device ends with a number, append 'p' and the partition number.
32561 Otherwise, append only the partition number.
32562
5786569b 325632008-05-30 Robert Millan <rmh@aybabtu.com>
32564
32565 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
32566 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
32567 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
32568 the `root' parameter to Linux.
32569
51500452 325702008-05-30 Robert Millan <rmh@aybabtu.com>
32571
32572 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
32573 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
32574 --fs_uuid with --fs-uuid.
32575 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
32576 all filesystems support them).
32577
811d3878 325782008-05-30 Robert Millan <rmh@aybabtu.com>
32579
32580 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 32581 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 32582
cab63c95 325832008-05-30 Robert Millan <rmh@aybabtu.com>
32584
32585 * util/grub.d/00_header.in: Remove obsolete comment referencing
32586 convert_system_path_to_grub_path().
32587 * util/update-grub.in: Likewise.
32588 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
32589 (convert_system_path_to_grub_path): Add a warning message explaining
32590 that this function is deprecated. Rely on is_path_readable_by_grub()
32591 for the readability checks.
32592 (font_path): Use is_path_readable_by_grub() for the readability
32593 check rather than convert_system_path_to_grub_path().
32594
972e2f7a 325952008-05-30 Robert Millan <rmh@aybabtu.com>
32596
32597 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
32598 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
32599 converting it first.
32600 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
32601 grub.cfg for access to font file, and afterwards call it again to set
32602 the root device.
32603
62191274 326042008-05-30 Robert Millan <rmh@aybabtu.com>
32605
32606 * commands/search.c (options): Add --fs_uuid option.
32607 (search_fs_uuid): New function.
32608 (grub_cmd_search): Fix --set argument passing.
32609 Use search_fs_uuid() when requested via --fs_uuid.
32610 (grub_search_init): Update help message.
32611 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
32612 and redeclare it as an array of 16-bit words.
32613 (grub_ext2_uuid): New function.
32614 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
32615 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
32616 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
32617 (GRUB_DEVICE_BOOT_UUID): New variables.
32618 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
32619 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
32620 whenever possible.
32621 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
32622 just assume `root' variable has the right value.
32623 * util/grub.d/10_linux.in: Likewise.
32624 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
32625 via PRINT_FS_UUID.
32626 (main): Recognise `-t fs_uuid' argument.
32627
01b73ec8 326282008-05-30 Robert Millan <rmh@aybabtu.com>
32629
32630 * util/biosdisk.c (map): Redefine structure to hold information
32631 about GRUB drive name.
fe6b695a 32632 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 32633 drive names.
32634 (call_hook): Remove.
32635 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
32636 member. Assume drive has partitions.
32637 (grub_util_biosdisk_open): Access device names via `.device' struct
32638 member.
32639 (open_device): Likewise.
32640 (find_drive): Likewise.
32641 (read_device_map): Adjust map[] usage to match the new struct
32642 definition. Don't check for duplicates (still possible, but not cheap
32643 anymore).
32644 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
32645 (make_device_name): Remove assumption of BIOS-like drive names.
32646
22f16596 326472008-05-30 Pavel Roskin <proski@gnu.org>
32648
32649 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
32650 compiling execute.c doesn't need grub_script.tab.h anymore.
32651 (normal/command.c_DEPENDENCIES): Likewise.
32652 (normal/function.c_DEPENDENCIES): Likewise.
32653 * conf/i386-ieee1275.rmk: Likewise.
32654 * conf/i386-linuxbios.rmk: Likewise.
32655 * conf/i386-pc.rmk: Likewise.
32656 * conf/powerpc-ieee1275.rmk: Likewise.
32657 * conf/sparc64-ieee1275.rmk: Likewise.
32658
528ad8f2 326592008-05-29 Pavel Roskin <proski@gnu.org>
32660
d1dff95d 32661 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
32662 when scanning metadata for volume group name.
32663
528ad8f2 32664 * include/grub/script.h: Don't include grub_script.tab.h. It's
32665 a generated file, which may only be included from the files with
32666 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
32667 use union YYSTYPE, as the later allows forward declaration.
32668 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
32669
47248e08 326702008-05-29 Robert Millan <rmh@aybabtu.com>
32671
32672 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
32673 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
32674 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
32675 (grub_console_checkkey): Add grub_dprintf() call to report unknown
32676 scan codes.
32677
ee632529 326782008-05-29 Robert Millan <rmh@aybabtu.com>
32679
32680 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
32681 control key combinations.
32682
eee96e08 326832008-05-29 Robert Millan <rmh@aybabtu.com>
32684
32685 * util/powerpc/ieee1275/grub-install.in: Move from here ...
32686 * util/ieee1275/grub-install.in: ... to here.
32687 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
32688 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
32689 (grub_install_SOURCES): Likewise.
32690
da9a6a94 326912008-05-29 Robert Millan <rmh@aybabtu.com>
32692
32693 * fs/affs.c: Update copyright year.
32694 * fs/ext2.c: Likewise.
32695 * fs/fshelp.c: Likewise.
32696 * fs/hfsplus.c: Likewise.
32697 * fs/ntfs.c: Likewise.
32698 * fs/xfs.c: Likewise.
32699 * include/grub/fshelp.h: Likewise.
32700 * util/grub-mkdevicemap.c: Likewise.
32701
12e65f3a 327022008-05-28 Robert Millan <rmh@aybabtu.com>
32703
32704 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
32705 might need to be fatfs to support some firmware implementations
32706 (e.g. OFW or EFI).
32707
23023641 327082008-05-28 Robert Millan <rmh@aybabtu.com>
32709
32710 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
32711 devices.
32712 * util/grub-mkdevicemap.c (get_mmc_disk_name)
32713 (make_device_map): Likewise.
32714
887d2619 327152008-05-20 Bean <bean123ch@gmail.com>
32716
32717 * fs/fshelp.c (grub_fshelp_map_block): New function.
32718 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
32719 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
32720
32721 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
32722 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
32723 (grub_fshelp_journal): New structure.
32724 (grub_fshelp_map_block): New function prototype.
32725 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
32726 (grub_fshelp_map_block): Likewise.
32727
32728 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
32729 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
32730 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
32731 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
32732 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
32733 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
32734 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
32735 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
32736 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
32737 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
32738 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
32739 (grub_ext2_sblock): New members for journal support.
32740 (grub_ext3_journal_header): New structure.
32741 (grub_ext3_journal_revoke_header): Likewise.
32742 (grub_ext3_journal_block_tag): Likewise.
32743 (grub_ext3_journal_sblock): Likewise.
32744 (grub_fshelp_node): New members logfile and journal.
32745 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
32746 grub_fshelp_map_block to get real block number.
32747 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
32748 number.
32749 (grub_ext2_read_inode): Likewise.
32750 (grub_ext3_get_journal): New function.
32751 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
32752 (grub_ext2_close): Release memory used by journal.
32753
32754 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
32755 (REISERFS_MAGIC_DESC_BLOCK): New macro.
32756 (grub_reiserfs_transaction_header): Renamed to
32757 grub_reiserfs_description_block, replace field data with real_blocks.
32758 (grub_reiserfs_commit_block): New structure.
32759 (grub_reiserfs_data): New member journal.
32760 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
32761 number.
32762 (grub_reiserfs_read_symlink): Likewise.
32763 (grub_reiserfs_iterate_dir): Likewise.
32764 (grub_reiserfs_open): Likewise.
32765 (grub_reiserfs_read): Likewise.
32766 (grub_reiserfs_get_journal): New function.
32767 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
32768 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
32769 using grub_reiserfs_get_journal.
32770 (grub_reiserfs_close): Release memory used by journal.
32771
32772 * fs/affs.c (grub_affs_read_block): Change block type to
32773 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
32774
32775 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
32776
32777 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
32778
32779 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
32780
32781 * fs/udf.c (grub_udf_read_block): Change block type to
32782 grub_disk_addr_t. Use type cast to avoid warning.
32783
32784 * fs/xfs.c (grub_xfs_read_block): Likewise.
32785
b7c6bed5 327862008-05-16 Christian Franke <franke@computer.org>
32787
32788 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
32789 to ensure that break with ESC will always work.
32790 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
32791 Remove ESC from keyboard queue.
32792
eedf167f 327932008-05-16 Christian Franke <franke@computer.org>
32794
32795 * util/biosdisk.c: [__CYGWIN__] Add includes.
32796 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
32797 (get_os_disk): Move variable declarations to OS specific
32798 parts to avoid warning.
32799 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
32800 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
32801 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
32802 Cygwin.
32803 * util/getroot.c: [__CYGWIN__] Add includes.
32804 (strip_extra_slashes): Fix "/" case.
32805 [__CYGWIN__] (get_win32_path): New function.
32806 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
32807 [__CYGWIN__] (find_root_device): Disable.
32808 [__CYGWIN__] (get_bootsec_serial): New function.
32809 [__CYGWIN__] (find_cygwin_root_device): Likewise.
32810 [__linux__] (grub_guess_root_device): Add early returns to simplify
32811 structure.
32812 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
32813 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
32814 check for Linux only.
32815
a079699e 328162008-05-15 Bean <bean123ch@gmail.com>
32817
32818 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
32819 keyboard hang problem in apple's intel mac.
32820
1cf4059a 328212008-05-09 Robert Millan <rmh@aybabtu.com>
32822
32823 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
32824 devices.
32825 * util/grub-mkdevicemap.c (get_virtio_disk_name)
32826 (make_device_map): Likewise.
32827 Reported by Aurelien Jarno <aurel32@debian.org>
32828
ed759390 328292008-05-07 Ian Campbell <ijc@hellion.org.uk>
32830
32831 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
32832 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
32833 (make_device_map): Output entries for xvd type disks.
32834
b56c4eaa 328352008-05-07 Robert Millan <rmh@aybabtu.com>
32836
32837 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
32838 devices.
32839 * util/grub-mkdevicemap.c (get_cciss_disk_name)
32840 (make_device_map): Likewise.
32841 Reported by Roland Dreier <rdreier@cisco.com>
32842
7f8866ed 328432008-05-07 Robert Millan <rmh@aybabtu.com>
32844
32845 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
32846 grub_strstr() call. Correct a few mistakes in failure path handling.
32847
b0346e0f 328482008-05-06 Robert Millan <rmh@aybabtu.com>
32849
32850 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
32851 Do not print a trailing slash (therefore, the root directory is an
32852 empty string).
32853 (convert_system_path_to_grub_path): Do not remove trailing slash
32854 from make_system_path_relative_to_its_root() output.
32855
32856 * util/i386/pc/grub-install.in: Add trailing slash to output from
32857 make_system_path_relative_to_its_root().
32858
6cf12cbd 328592008-05-06 Robert Millan <rmh@aybabtu.com>
32860
32861 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
32862 ensures that output lines aren't intermangled with those sent to
32863 stderr (via grub_util_info()).
32864 * util/grub-probe.c (grub_refresh): Likewise.
32865 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
32866
0fbb3117 328672008-05-05 Christian Franke <franke@computer.org>
32868
32869 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
32870 Add Cygwin device names.
32871 (get_ide_disk_name) [__CYGWIN__]: Likewise.
32872 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
32873 (check_device): Return error instead of success on empty name.
32874 (make_device_map): Move label inside linux specific code to
32875 prevent compiler warning.
32876
8124cdb7 328772008-04-30 Robert Millan <rmh@aybabtu.com>
32878
32879 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
32880 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
32881 first boot option.
32882 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
32883
094c01d0 328842008-04-29 Robert Millan <rmh@aybabtu.com>
32885
32886 * docs/grub.cfg: New file (example GRUB configuration).
32887
f4b1fc02 328882008-04-26 Robert Millan <rmh@aybabtu.com>
32889
329ce2a5 32890 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
32891 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
32892 and `disk/ieee1275/nand.c'.
f4b1fc02 32893
25f16ec1 328942008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 32895
25f16ec1 32896 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
32897 i386-linuxbios.
32898
32899 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
32900 change the buffer size to 4096 for cdrom device.
32901
32902 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
32903 and nand.mod.
32904 (_linux_mod_SOURCES): New variable.
32905 (_linux_mod_CFLAGS): Likewise.
32906 (_linux_mod_LDFLAGS): Likewise.
32907 (linux_mod_SOURCES): Likewise.
32908 (linux_mod_CFLAGS): Likewise.
32909 (linux_mod_LDFLAGS): Likewise.
32910 (nand_mod_SOURCES): Likewise.
32911 (nand_mod_CFLAGS): Likewise.
32912 (nand_mod_LDFLAGS): Likewise.
32913
32914 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
32915 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
32916 type property. (nand device in olpc don't have this property)
32917
32918 * include/grub/disk.h (grub_disk_dev_id): New macro
32919 GRUB_DISK_DEVICE_NAND_ID.
32920
32921 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
32922 function prototype.
32923 (grub_rescue_cmd_initrd): Likewise.
32924
32925 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
32926 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
32927 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 32928
25f16ec1 32929 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
32930 GRUB_MACHINE_IEEE1275 is defined.
32931
32932 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
32933 Use NESTED_FUNC_ATTR attribute on the hook parameter.
32934
32935 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
32936 on nested function heap_init.
32937 (grub_upper_mem): New variable for i386-ieee1275.
32938 (grub_get_extended_memory): New function for i386-ieee1275.
32939 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
32940
32941 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
32942 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
32943 property.
f19dbdb7 32944
25f16ec1 32945 * loader/i386/ieee1275/linux.c: New file.
32946
32947 * loader/i386/ieee1275/linux_normal.c: New file.
32948
32949 * disk/ieee1275/nand.c: New file.
32950
e89d61e9 329512008-04-18 Thomas Schwinge <tschwinge@gnu.org>
32952
32953 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
32954 value.
32955 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
32956
602566f6 329572008-04-18 Robert Millan <rmh@aybabtu.com>
32958
32959 Restructures early code path on ieee1275 to unify grub_main() as
32960 the first C function that is executed in every platform.
32961
32962 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
32963 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
32964 cmain().
32965 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
32966 * kern/ieee1275/cmain.c (cmain): Rename to ...
32967 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
32968 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
32969 at the beginning.
32970
57490c2b 329712008-04-18 Robert Millan <rmh@aybabtu.com>
32972
32973 * util/update-grub.in: Fix syntax error when setting
32974 `GRUB_PRELOAD_MODULES'.
32975 Reported by Stephane Chazelas <stephane@artesyncp.com>
32976
1977517d 329772008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
32978
32979 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
32980 section into account, newer toolchains generate unique build ids
32981 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 32982 we want build ids to be preserved
1977517d 32983 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
32984 far from other sections don't cause the raw binary images grow
32985 size
32986
bfb1f1a2 329872008-04-15 Robert Millan <rmh@aybabtu.com>
32988
32989 * disk/lvm.c: Update copyright year.
32990 * kern/misc.c: Likewise.
32991
01979850 329922008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
32993
32994 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 32995 there is no memory left for physical volume name.
01979850 32996
0a1150e2 329972008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
32998
32999 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
33000 volume name mapping to support bigger than 9 character names properly.
33001
82ead3fe 330022008-04-13 Robert Millan <rmh@aybabtu.com>
33003
33004 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
33005 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
33006
e54a72f5 330072008-04-13 Christian Franke <franke@computer.org>
33008
33009 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
33010 to create a floppy emulation boot CD when non emulation mode
33011 does not work.
33012 Enable Joliet CD filesystem extension.
33013
9fe86034 330142008-04-13 Robert Millan <rmh@aybabtu.com>
33015
33016 * kern/misc.c (grub_strncat): Fix off-by-one error.
33017 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
33018
33019 * kern/env.c (grub_env_context_close): Clear current context, not
33020 previous one.
33021 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
33022
33023 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
33024
7ceeee39 330252008-04-13 Robert Millan <rmh@aybabtu.com>
33026
33027 Improve robustness when handling LVM.
33028
33029 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 33030 (and leave `*p' unmodified).
7ceeee39 33031 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
33032 through it.
33033 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
33034 iterating through it.
33035 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
33036 through it.
fe6b695a 33037 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 33038 when due) on each grub_lvm_getvalue() or grub_strstr() call.
33039 Don't assume `vg->pvs != NULL' when iterating through it.
33040
58cd3d85 330412008-04-13 Robert Millan <rmh@aybabtu.com>
33042
33043 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
33044 * genmk.rb (partmap): New variable.
33045 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
33046 (#{partmap}): New target rule.
33047 * genpartmaplist.sh: New file.
33048 * Makefile.in (pkglib_DATA): Add partmap.lst.
33049 (partmap.lst): New target rule.
33050 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
33051 modules (including all partition maps), instead of preloading them.
33052
78b51059 330532007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
33054
33055 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
33056 `linux-boot-prober' (if installed) to detect other operating
33057 systems which are installed on the computer and add them to
33058 the boot menu.
33059 * conf/common.rmk: Build and install 30_os-prober.
33060
a91627b4 330612008-04-12 Robert Millan <rmh@aybabtu.com>
33062
33063 * kern/powerpc/ieee1275/init.c: Move from here ...
33064 * kern/ieee1275/init.c: ... to here. Update all users.
33065
33066 * kern/powerpc/ieee1275/cmain.c: Move from here ...
33067 * kern/ieee1275/cmain.c: ... to here. Update all users.
33068
33069 * kern/powerpc/ieee1275/openfw.c: Move from here ...
33070 * kern/ieee1275/openfw.c: ... to here. Update all users.
33071
33072 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
33073 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
33074
322562ea 330752008-04-10 Pavel Roskin <proski@gnu.org>
33076
33077 * configure.ac: Always use "_cv_" in cache variables for
33078 compatibility with Autoconf 2.62.
33079
a02a73c5 330802008-04-07 Robert Millan <rmh@aybabtu.com>
33081
33082 Revert grub/machine/init.h addition by Pavel (since it breaks on
33083 i386-ieee1275 and others):
33084 * util/i386/pc/misc.c: Remove grub/machine/init.h.
33085 * util/powerpc/ieee1275/misc.c: Likewise.
33086
25c024b1 330872008-04-07 Robert Millan <rmh@aybabtu.com>
33088
33089 * util/grub-probe.c (probe): Improve error message.
33090
3cbd2f98 330912008-04-07 Robert Millan <rmh@aybabtu.com>
33092
33093 * util/biosdisk.c (read_device_map): Skip devices that don't exist
33094 (this prevents the presence of a bogus entry from ruining the whole
33095 thing).
33096
87a297bf 330972008-04-06 Pavel Roskin <proski@gnu.org>
33098
36747a62 33099 * util/biosdisk.c: Include grub/util/biosdisk.h.
33100 * util/grub-fstest.c (execute_command): Make static.
33101 * util/grub-mkdevicemap.c (check_device): Likewise.
33102 * util/i386/pc/misc.c: Include grub/machine/init.h.
33103 * util/powerpc/ieee1275/misc.c: Likewise.
33104 * util/lvm.c: Include grub/util/lvm.h.
33105 * util/misc.c: Include grub/kernel.h, grub/misc.h and
33106 grub/cache.h.
33107 * util/raid.c: Include grub/util/raid.h.
33108 (grub_util_getdiskname): Make static.
33109
87a297bf 33110 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
33111 grub_hostfs_fini(), as they are called from grub_init_all() and
33112 grub_fini_all() respectively. This fixes an infinite loop in
33113 grub-fstest due to double registration of hostfs.
33114 Reported by Christian Franke <Christian.Franke@t-online.de>
33115
f6ce7629 331162008-04-05 Pavel Roskin <proski@gnu.org>
33117
33118 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
33119 all 8 functions. Otherwise, probe function 0 only.
33120
070e49e4 331212008-04-04 Pavel Roskin <proski@gnu.org>
33122
8b088a4c 33123 * commands/lspci.c (grub_lspci_iter): Print the bus number
33124 correctly.
33125
4f657021 33126 * commands/lspci.c (grub_pci_classes): Fix typos.
33127 (grub_lspci_iter): Don't print func twice. Print vendor ID
33128 before device ID, as it's normally done.
33129
070e49e4 33130 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
33131 Fix signedness warnings.
33132 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
33133 Likewise.
33134 * util/ieee1275/get_disk_name.c: Include config.h so that
33135 _GNU_SOURCE is defined and getline() is declared. Mark an
33136 unused argument as such. Fix a signedness warning.
33137
ba7328dc 331382008-04-02 Pavel Roskin <proski@gnu.org>
33139
26887f22 33140 * genkernsyms.sh.in: Use more robust assignments for CC and
33141 srcdir. Quote srcdir.
33142 * gensymlist.sh.in: Likewise. Assert at the compile time that
33143 the symbol table is not empty.
33144
ba7328dc 33145 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
33146 * fs/cpio.c (grub_cpio_read): Likewise.
33147
0f582c6b 331482008-04-01 Pavel Roskin <proski@gnu.org>
33149
4b6e1995 33150 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
33151 * disk/host.c (grub_host_open): Likewise.
33152 * disk/loopback.c (grub_loopback_open): Likewise.
33153 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
33154 disk->id as in disk/host.c, not a multi-character constant.
33155
828a2768 33156 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
33157 later is obsolete, potentially dangerous and sets a bad example.
33158 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
33159 * util/misc.c (grub_util_get_image_size): Likewise.
33160
2bb4fb47 33161 * disk/loopback.c (options): Improve help for "--partitions".
33162
0f582c6b 33163 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
33164 options to align them with the short options, e.g. "echo -e".
33165
a33224e0 331662008-03-31 Bean <bean123ch@gmail.com>
33167
33168 * video/reader/png.c (grub_png_data): New member is_16bit and
33169 image_data.
33170 (grub_png_decode_image_header): Detect 16 bit png image.
33171 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
33172 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
33173 (grub_video_reader_png): Release memory occupied by image_data.
33174
33175 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
33176 4096 bytes.
33177 (grub_nfs_mount): Skip the test for sector per cluster.
33178
33179 * include/grub/ntfs.h (MAX_SPC): Removed.
33180
86cb4f54 331812008-03-31 Bean <bean123ch@gmail.com>
33182
33183 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
33184 (grub_probe_SOURCES): Add fs/afs.c.
33185 (grub_fstest_SOURCES): Likewise.
33186 (afs_mod_SOURCES): New variable.
33187 (afs_mod_CFLAGS): Likewise.
33188 (afs_mod_LDFLAGS): Likewise.
33189
33190 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
33191 (grub_emu_SOURCES): Likewise.
33192
33193 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33194
33195 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33196
33197 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33198
33199 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33200
33201 * fs/afs.c: New file.
33202
17c74c21 332032008-03-30 Pavel Roskin <proski@gnu.org>
33204
4cb68e89 33205 * disk/host.c: Include grub/misc.h to fix a warning.
33206 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
33207 warnings about implicit declarations.
33208
8790bb04 33209 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
33210 variable.
33211 * include/grub/i386/loader.h: Change declaration of
33212 grub_linux_boot() to match what grub_loader_set() expects.
33213 * util/getroot.c (grub_guess_root_device): Return const char* to
33214 fix a warning.
33215 * util/grub-probe.c (probe): Fix a warning about uninitialized
33216 abstraction_name variable.
33217 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
33218 second argument as unused to fix a warning.
33219
9a3f3296 33220 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
33221 missing grub_error() call.
33222
0ecef90d 33223 * util/update-grub_lib.in: Define datarootdir, since Autoconf
33224 2.60 and newer uses it to define datadir.
33225
0bf6d401 33226 * commands/sleep.c: Fix warning about implicit declaration.
33227 * disk/memdisk.c: Likewise.
33228 * loader/aout.c: Likewise.
33229 * loader/i386/bsd_normal.c: Likewise.
33230 * util/grub-probe.c: Likewise.
33231
7cdacf97 33232 * commands/i386/cpuid.c (has_longmode): Make static.
33233 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
33234 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
33235
17c74c21 33236 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
33237 GDT. This is more robust, as %ds can change.
33238 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
33239 calling real_to_prot().
33240 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
33241
80a3e68b 332422008-03-28 Pavel Roskin <proski@gnu.org>
33243
33244 * kern/i386/pc/startup.S: Assert that uncompressed functions
33245 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
33246 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
33247 code, as they push parts of the code (error handlers) beyond
33248 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
33249 code as correctness and size.
33250
77bcd272 332512008-03-28 Pavel Roskin <proski@gnu.org>
33252
33253 * kern/i386/pc/startup.S
33254 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
33255 data block address to the real mode, keep offset minimal. This
33256 works around a bug in AWARD BIOS on old Athlon systems, which
33257 makes CD detection hang.
33258
c5dfd43b 332592008-03-26 Pavel Roskin <proski@gnu.org>
33260
33261 * normal/color.c (grub_parse_color_name_pair): Make `name' a
33262 const.
33263 * include/grub/normal.h: Add grub_parse_color_name_pair()
33264 declaration.
33265
bf962df2 332662008-03-24 Bean <bean123ch@gmail.com>
33267
33268 * disk/i386/pc/biosdisk.c (cd_start): Removed.
33269 (cd_count): Removed.
33270 (cd_drive): New variable.
33271 (grub_biosdisk_get_drive): Don't check for (cdN) device.
33272 (grub_biosdisk_call_hook): Likewise.
33273 (grub_biosdisk_iterate): Change cdrom detection method.
33274 (grub_biosdisk_open): Replace cd_start with cd_drive.
33275 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
33276 detect cdrom device.
33277
33278 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
33279 Removed.
33280 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
33281 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
33282 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
33283 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
33284 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
33285 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
33286 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
33287 (grub_biosdisk_cdrp): New structure.
33288 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
33289
33290 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
33291
33292 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
33293 device.
33294
33295 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
33296 New function.
33297
68e7fc7a 332982008-03-20 Robert Millan <rmh@aybabtu.com>
33299
33300 Remove 2 TiB limit in ata.mod.
33301 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
33302 (grub_ata_dumpinfo): Print sector count with 0x%llx.
33303 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
33304 grub_uint64_t instead of grub_uint32_t.
33305
38ad2cf5 333062008-03-05 Bean <bean123ch@gmail.com>
33307
33308 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
33309 (grub_multiboot): Set boot device.
33310
33311 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
33312
2b89344e 333132008-03-02 Bean <bean123ch@gmail.com>
33314
33315 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
33316 symlink_buffer.
33317
87a95d1f 333182008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
33319
33320 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
33321 texinfo.tex.
33322
33323 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
33324 modified.
33325
33326 * docs/fdl.texi: New file.
f19dbdb7 33327
87a95d1f 33328 * docs/mdate-sh: New file. Copied from gnulib.
33329 * docs/texinfo.tex: Likewise.
33330
33331 * config.guess: Updated from gnulib.
33332 * install-sh: Likewise.
33333
7dc15d8e 333342008-02-28 Robert Millan <rmh@aybabtu.com>
33335
33336 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
33337 (aout_mod_SOURCES): New variable.
33338 (aout_mod_CFLAGS): Likewise.
33339 (aout_mod_LDFLAGS): Likewise.
33340
33341 * conf/i386-ieee1275.rmk: Likewise.
33342
b00ab696 333432008-02-28 Robert Millan <rmh@aybabtu.com>
33344
33345 * util/update-grub.in: Reorganise terminal validity check. Accept
33346 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
33347 Based on suggestion by Franklin PIAT.
33348
79ca2d78 333492008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
33350
33351 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
33352 function.
33353 * util/getroot.c (grub_util_check_block_device): New function that
33354 returns the given argument if it is a block device and returns NULL else.
33355 * util/grub-probe.c (argument_is_device): New variable.
33356 (probe): Promote device_name from a variable to an argument. Receive
33357 device_name from grub_util_check_block_device() if path is NULL and from
33358 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 33359 (options): Introduce new parameter '-d, --device'.
79ca2d78 33360 (main): Add description of the new parameter to the help screen.
33361 Rename path variable to argument. Set argument_is_device if the '-d'
33362 option is given. Pass argument to probe() depending on
33363 argument_is_device.
33364
0d16e571 333652008-02-24 Bean <bean123ch@gmail.com>
33366
33367 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
33368 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
33369 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
33370 (GRUB_ISO9660_VOLDESC_PART): Likewise.
33371 (GRUB_ISO9660_VOLDESC_END): Likewise.
33372 (grub_iso9660_primary_voldesc): New member escape.
33373 (grub_iso9660_data): New member joliet.
33374 (grub_iso9660_convert_string): New function.
33375 (grub_iso9660_mount): Detect joliet extension.
33376 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
33377 (grub_iso9660_iso9660_label): Likewise.
33378
33379 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
33380 (grub_setup_SOURCES): Add fs/udf.c.
33381 (grub_fstest_SOURCES): Likewise.
33382 (udf_mod_SOURCES): New variable.
33383 (udf_mod_CFLAGS): Likewise.
33384 (udf_mod_LDFLAGS): Likewise.
33385
33386 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
33387 (grub_emu_SOURCES): Likewise.
33388
33389 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33390
33391 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33392
33393 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33394
33395 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33396
33397 * fs/udf.c: New file.
33398
8a594a17 333992008-02-24 Robert Millan <rmh@aybabtu.com>
33400
33401 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
33402 (normal/lexer.c_DEPENDENCIES): New variables.
33403 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
33404 (normal/lexer.c_DEPENDENCIES): Likewise.
33405 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
33406 (normal/lexer.c_DEPENDENCIES): Likewise.
33407 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
33408 (normal/lexer.c_DEPENDENCIES): Likewise.
33409 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
33410 (normal/lexer.c_DEPENDENCIES): Likewise.
33411 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
33412 (normal/lexer.c_DEPENDENCIES): Likewise.
33413
2dc33c03 334142008-02-23 Robert Millan <rmh@aybabtu.com>
33415
33416 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
33417 since they were intended to be in hex. This didn't break previously
33418 because of a bug in gpt_partition_map_iterate() (see below).
33419
33420 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
33421 when checking the validity of GPT header.
33422 Remove `partno', since it always provides the same information as `i'.
33423
f6f4cfb0 334242008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
33425
33426 * include/grub/efi/time.h: Fix a wrong comment.
33427
79ff665f 334282008-02-19 Pavel Roskin <proski@gnu.org>
33429
33430 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
33431 message.
33432
d38e24c2 334332008-02-19 Bean <bean123ch@gmail.com>
33434
33435 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
33436 (aout_mod_SOURCES): New variable.
33437 (aout_mod_CFLAGS): Likewise.
33438 (aout_mod_LDFLAGS): Likewise.
33439 (_bsd_mod_SOURCES): New variable.
33440 (_bsd_mod_CFLAGS): Likewise.
33441 (_bsd_mod_LDFLAGS): Likewise.
33442 (bsd_mod_SOURCES): New variable.
33443 (bsd_mod_CFLAGS): Likewise.
33444 (bsd_mod_LDFLAGS): Likewise.
33445
33446 * include/grub/aout.h: New file.
33447
33448 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
33449
33450 * include/grub/i386/bsd.h: New file.
33451
33452 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
33453 to make it public.
33454
33455 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
33456 function is called, so that it's possible to change it inside the hook.
33457 (grub_elf64_load): Likewise.
33458 (grub_elf_file): Don't close the file if elf header is not found.
33459 (grub_elf_close): Close the file if grub_elf_file fails (The new
33460 grub_elf_file won't close it).
33461 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
33462 (grub_elf64_size): Likewise.
33463
33464 * kern/i386/loader.S (grub_unix_real_boot): New function.
33465
33466 * loader/aout.c: New file.
33467
33468 * loader/i386/bsd.c: New file.
33469
33470 * loader/i386/bsd_normal.c: New file.
33471
33472 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
33473
33474 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 33475 can test other formats.
d38e24c2 33476
b93bdb0f 334772008-02-19 Robert Millan <rmh@aybabtu.com>
33478
33479 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
33480 (grub_gpt_partition_type_empty): Redefine with macro from
33481 `<grub/gpt_partition.h>'.
33482 (gpt_partition_map_iterate): Adjust partition type comparison.
33483
33484 Export `entry' as partmap-specific `part.data' struct.
33485 (grub_gpt_header, grub_gpt_partentry): Move from here ...
33486
33487 * include/grub/gpt_partition.h (grub_gpt_header)
33488 (grub_gpt_partentry): ... to here (new file).
33489
33490 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
33491
33492 (grub_gpt_partition_type_bios_boot): New const variable, defined
33493 with macro from `<grub/gpt_partition.h>'.
33494
33495 (setup): Replace `first_start' with `embed_region', which keeps
33496 track of the embed region (and is partmap-agnostic).
33497
33498 Replace find_first_partition_start() with find_usable_region(),
33499 which finds a usable region for embedding using partmap-specific
33500 knowledge (supports PC/MSDOS and GPT).
33501
33502 Fix all assumptions that the embed region start at sector 1, using
33503 `embed_region.start' from now on. Similarly, use `embed_region.end'
33504 rather than `first_start' to calculate available size.
33505
33506 In grub_util_info() message, replace "into after the MBR" with an
33507 indication of the specific sector our embed region starts at.
33508
66cb40f6 335092008-02-19 Robert Millan <rmh@aybabtu.com>
33510
33511 * DISTLIST: Replace `commands/ieee1275/halt.c' and
33512 `commands/ieee1275/reboot.c' with `commands/halt.c' and
33513 `commands/reboot.c'.
33514 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
33515 (halt_mod_SOURCES): Likewise.
33516 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
33517 (halt_mod_SOURCES): Likewise.
33518
b7202015 335192008-02-17 Christian Franke <franke@computer.org>
33520
33521 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
33522
32b0fc49 335232008-02-17 Robert Millan <rmh@aybabtu.com>
33524
33525 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
33526 set `first_start' to 0 for non-PC/MSDOS partition maps.
33527
aca63502 335282008-02-16 Robert Millan <rmh@aybabtu.com>
33529
33530 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
33531 do not assume partition map is PC/MSDOS before performing checks that
33532 are specific to that layout.
33533
0de8be86 335342008-02-13 Robert Millan <rmh@aybabtu.com>
33535
33536 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
33537 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
33538 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
33539
c3db8364 335402008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
33541
33542 * configure.ac: Only a cosmetic change on the handling of
33543 -fno-stack-protector.
33544
f714229e 335452008-02-12 Alexandre Boeglin <alex@boeglin.org>
33546
c3db8364 33547 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
33548 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
33549 reboot.c.
f714229e 33550 (grub_install_SOURCES): Add halt.mod and reboot.mod.
33551 (halt_mod_SOURCES): New variable.
33552 (halt_mod_CFLAGS): Likewise.
33553 (halt_mod_LDFLAGS): Likewise.
33554 (reboot_mod_SOURCES): Likewise.
33555 (reboot_mod_CFLAGS): Likewise.
33556 (reboot_mod_LDFLAGS): Likewise.
33557
c3db8364 33558 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
33559 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
33560 reboot.c.
f714229e 33561 (halt_mod_SOURCES): Likewise.
33562 (reboot_mod_SOURCES): Likewise.
33563
c3db8364 33564 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
33565 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 33566 (reboot_mod_SOURCES): Likewise.
33567
33568 * commands/i386/pc/reboot.c: merge this file ...
33569
33570 * commands/ieee1275/reboot.c: ... and this file ...
33571
33572 * commands/reboot.c: ... to this file.
c3db8364 33573 Add some precompiler directive to include the correct header for
33574 each machine.
f714229e 33575
33576 * commands/ieee1275/halt.c: move this file ...
33577
33578 * commands/halt.c: ... to here.
c3db8364 33579 Add some precompiler directive to include the correct header for
33580 each machine.
f714229e 33581
33582 * include/grub/efi/efi.h (grub_reboot): New function declaration.
33583 (grub_halt): Likewise.
33584
33585 * kern/efi/efi.c (grub_reboot): New function.
33586 (grub_halt): Likewise.
33587
c74493e0 335882008-02-12 Robert Millan <rmh@aybabtu.com>
33589
33590 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
33591 /dev (like it is done for /dev/mapper). This doesn't provide support
33592 for EVMS, but at least it is now easy to identify the problem when it
33593 arises.
33594
d0db4b04 335952008-02-11 Robert Millan <rmh@aybabtu.com>
33596
33597 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
33598 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
33599 comparing it with -1, not 0.
33600
bf748642 336012008-02-10 Robert Millan <rmh@aybabtu.com>
33602
33603 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
33604 `disk/lvm.c'.
33605 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33606 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
33607
33608 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
33609 `disk/lvm.c' to the end of the list.
33610 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33611 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33612
b5db202a 336132008-02-10 Robert Millan <rmh@aybabtu.com>
33614
33615 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
33616 grub_print_error() instead. This will let user know why we're entering
33617 rescue mode.
33618 Based on suggestions from Sam Morris.
33619
83abee31 336202008-02-10 Alexandre Boeglin <alex@boeglin.org>
33621
33622 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
33623 on remaining N args, instead of "--" arg N times.
33624
78d5a08b 336252008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
33626
33627 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
33628 (fill_with_default_glyph): Changed to use unknown_glyph for fill
33629 pattern for unknown glyphs.
33630
68807e5f 336312008-02-09 Robert Millan <rmh@aybabtu.com>
33632
33633 * configure.ac: Probe for `help2man'.
33634 * Makefile.in (builddir): New variable.
33635 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
33636 or otherwise add a few flags/options to it.
33637 (install-local): For every executable utility or script that is
33638 installed, invoke $(HELP2MAN) to install a manpage based on --help
33639 output.
33640
33641 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
33642 that it doesn't prevent --help from working in build tree.
33643
33644 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
33645 with `bug-grub@gnu.org'.
33646 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
33647 * util/update-grub.in (usage): New function.
33648 Implement proper argument check, with support for --help and --version
33649 (as well as existing -y).
33650
336512008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 33652
33653 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
33654 avoid overwriting previous output.
33655 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
33656
c1962162 336572008-02-09 Robert Millan <rmh@aybabtu.com>
33658
33659 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
33660 drawing the menu.
33661
3dac2e3f 336622008-02-09 Robert Millan <rmh@aybabtu.com>
33663
33664 * commands/sleep.c: New file.
33665 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
33666 (sleep_mod_SOURCES): New variable.
33667 (sleep_mod_CFLAGS): Likewise.
33668 (sleep_mod_LDFLAGS): Likewise.
33669
7a634e08 336702008-02-09 Robert Millan <rmh@aybabtu.com>
33671
33672 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
33673 situations in which we can deduce the RAID size and the superblock
33674 doesn't match it.
33675
b92f0c18 336762008-02-09 Robert Millan <rmh@aybabtu.com>
33677
33678 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
33679 and return a grub_diskmemberlist_t composed of LVM physical volumes.
33680 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
33681
33682 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
33683 and return a grub_diskmemberlist_t composed of physical array members.
33684 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
33685
33686 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
33687 prototype.
33688 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
33689 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
33690 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
33691
33692 * util/grub-probe.c (probe): Move partmap probing code from here ...
33693 (probe_partmap): ... to here.
33694 (probe): Use probe_partmap() once for the disk we're probing, and
33695 additionally, when such disk contains a memberlist() struct member,
33696 once for each disk that is contained in the structure returned by
33697 memberlist().
33698
91a4bf68 336992008-02-09 Robert Millan <rmh@aybabtu.com>
33700
33701 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
33702 environment variable to 'all' in order to obtain debug output from
33703 non-util/ code.
33704 * util/i386/pc/grub-setup.c (main): Likewise.
33705
a96f9caa 337062008-02-08 Robert Millan <rmh@aybabtu.com>
33707
33708 * disk/raid.c (grub_raid_scan_device): Check for
33709 `array->device[sb.this_disk.number]' rather than for
33710 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 33711 guaranteed to be accessible.
a96f9caa 33712
b37a9222 337132008-02-08 Robert Millan <rmh@aybabtu.com>
33714
33715 * disk/raid.c: Update copyright.
33716 * fs/cpio.c: Likewise.
33717 * include/grub/raid.h: Likewise.
33718 * loader/i386/pc/multiboot.c: Likewise.
33719 * util/hostfs.c: Likewise.
33720
5626aee1 337212008-02-08 Robert Millan <rmh@aybabtu.com>
33722
33723 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
33724 to a grub_disk_t array.
33725 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
33726 `device[x]'.
33727 (grub_raid_scan_device): Replace `device[x].name' accesses with
33728 `device[x]->name'. Simplify initialization of `array->device[x]'.
33729
554f0187 337302008-02-08 Robert Millan <rmh@aybabtu.com>
33731
33732 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
33733 grub_dprintf() calls.
33734 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
33735 error message.
33736
1ec8425d 337372008-02-07 Christian Franke <franke@computer.org>
33738
33739 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
33740 instead of fseek and ftell to support large files.
33741 (grub_hostfs_read): Likewise.
33742
f2156fda 337432008-02-07 Robert Millan <rmh@aybabtu.com>
33744
33745 Patch from Jeroen Dekkers.
33746 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 33747 failure, since successfully reading all array members might not be
f2156fda 33748 required.
33749
9216e0e7 337502008-02-06 Robert Millan <rmh@aybabtu.com>
33751
33752 * util/grub-probe.c (probe): Simplify partmap probing (with the
33753 assumption that the first word up to the underscore equals to
33754 the module name).
33755
b0dfd29a 337562008-02-06 Christian Franke <franke@computer.org>
33757
33758 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
33759 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
33760 last block of a cpio or tar stream.
33761 Check for "TRAILER!!!" instead of any empty data
33762 block to detect last block of a cpio stream.
33763 (grub_cpio_dir): Fix constness of variable np.
33764 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
33765 cpio or tar trailer is detected. This fixes a crash
33766 on open of a non existing file.
33767
c32865bf 337682008-02-05 Bean <bean123ch@gmail.com>
33769
33770 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
33771 address of entry.
33772 (grub_multiboot_load_elf64): Likewise.
33773 (grub_multiboot): Initialize mbi structure.
33774
33775 * util/grub-fstest.c: Don't include unused header file script.h.
33776
fe6b695a 33777 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 33778 of file.
33779 (grub_fstest_SOURCES): Likewise.
33780
409480b7 337812008-02-05 Robert Millan <rmh@aybabtu.com>
33782
33783 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
33784 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
33785 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
33786 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
33787
33788 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
33789 (translation_table): Replace hardcoded values with macros
33790 provided by `<grub/term.h>'.
33791
33792 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
33793 (keyboard_map): Correct/add a few values, with macros provided
33794 by `<grub/term.h>'.
33795 (keyboard_map_shift): Zero values that don't differ from their
33796 `keyboard_map' equivalents.
33797 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
33798 Discard the second scan code that is always sent by Caps lock.
33799 Only use `keyboard_map_shift' when it provides a non-zero value,
33800 otherwise fallback to `keyboard_map'.
33801
99fadbaa 338022008-02-04 Bean <bean123ch@gmail.com>
33803
33804 * Makefile.in (enable_grub_fstest): New variable.
33805
33806 * conf/common.rmk (grub_fstest_init.lst): New rule.
33807 (grub_fstest_init.h): Likewise.
33808 (grub_fstest_init.c): Likewise.
33809 (util/grub-fstest.c_DEPENDENCIES): New variable.
33810 (grub_fstest_SOURCES): Likewise.
33811
33812 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
33813
33814 * util/grub-fstest.c: New file.
33815
bf567c50 338162008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
33817
33818 Make grub-setup handle a separate root device.
f19dbdb7 33819
bf567c50 33820 * util/i386/pc/grub-setup.c (setup): Always open the root device,
33821 so that the root device can be compared with the destination
33822 device.
33823 When embedding the core image, if the root and destination devices
33824 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
33825 0xFF.
33826 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 33827
9be6b98b 338282008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
33829
33830 Add support for having a grub directory in a different drive. This
33831 is still only the data handling part.
f19dbdb7 33832
9be6b98b 33833 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
33834 (codestart): Save %dh in GRUB_ROOT_DRIVE.
33835 (grub_root_drive): New variable.
33836
33837 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
33838 instead of GRUB_BOOT_DRIVE to construct a device name. Set
33839 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
33840 as it was.
33841
33842 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
33843
33844 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
33845 macro.
33846 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
33847
33848 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
33849 is bogus, because PXE booting does not specify any drive
33850 correctly.
33851
33852 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
33853 am not sure if this is really correct.
33854
33855 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
33856 is always identical to the boot drive when booting from a CD.
33857
33858 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
33859 longer.
33860 (root_drive): New variable.
33861 (real_start): Unconditionally set %dh to ROOT_DRIVE.
33862 (setup_sectors): Push %dx right after popping it, because %dh will
33863 be modified later.
33864 (copy_buffer): Restore %dx.
33865
e0ca0677 338662008-02-03 Robert Millan <rmh@aybabtu.com>
33867
33868 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
33869 use `cdboot.img' for cdrom images.
33870
3b3f6629 338712008-02-03 Robert Millan <rmh@aybabtu.com>
33872
33873 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
33874 only setup gfxterm when `font' command has succeeded.
33875
d42b3672 338762008-02-03 Robert Millan <rmh@aybabtu.com>
33877
33878 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
33879 (grub_rescue_cmd_multiboot_loader)
33880 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
33881
fa370ea6 338822008-02-03 Pavel Roskin <proski@gnu.org>
33883
e0c5dacb 33884 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 33885 %edx and %esi from stack only after grub_gate_a20() is called.
33886 grub_gate_a20() clobbers %edx.
33887
f2a76e1d 338882008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
33889
33890 * configure.ac (AC_INIT): Bumped to 1.96.
33891
33892 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
33893 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
33894 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
33895 video/readers/png.c.
33896
90fd32d1 338972008-02-03 Bean <bean123ch@gmail.com>
9be665dd 33898
33899 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
33900 (cdboot_img_SOURCES): New variable.
33901 (cdboot_img_ASFLAGS): New variable.
33902 (cdboot_img_LDFLAGS): New variable.
33903
33904 * boot/i386/pc/cdboot.S: New file.
33905
33906 * disk/i386/pc/biosdisk.c (cd_start): New variable.
33907 (cd_count): Likewise.
33908 (grub_biosdisk_get_drive): Add support for cd device.
33909 (grub_biosdisk_call_hook): Likewise.
33910 (grub_biosdisk_iterate): Likewise.
33911 (grub_biosdisk_open): Likewise.
33912 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
33913 (grub_biosdisk_rw): Support reading from cd device.
33914 (GRUB_MOD_INIT): Iterate cd devices.
33915
33916 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
33917 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
33918 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
33919
33920 * kern/i386/pc/init.c (make_install_device): Check for cd device.
33921
4020aa53 339222008-02-02 Robert Millan <rmh@aybabtu.com>
33923
33924 * commands/read.c: New file.
33925 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
33926 (read_mod_SOURCES): New variable.
33927 (read_mod_CFLAGS): Likewise.
33928 (read_mod_LDFLAGS): Likewise.
33929
e03a1132 339302008-02-02 Robert Millan <rmh@aybabtu.com>
33931
33932 * normal/main.c (grub_normal_execute): Check for `menu->size' when
33933 determining whether menu has to be displayed.
33934
58c69220 339352008-02-02 Marco Gerards <marco@gnu.org>
33936
33937 * bus/pci.c: New file.
33938
33939 * include/grub/pci.h: Likewise.
33940
33941 * include/grub/i386/pc/pci.h: Likewise.
33942
33943 * commands/lspci.c: Likewise.
33944
33945 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
33946 `lspci.mod'.
33947 (pci_mod_SOURCES): New variable.
33948 (pci_mod_CFLAGS): Likewise.
33949 (pci_mod_LDFLAGS): Likewise.
33950 (lspci_mod_SOURCES): Likewise.
33951 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 33952 (lspci_mod_LDFLAGS): Likewise.
58c69220 33953
c004e1b4 339542008-02-02 Bean <bean123ch@gmail.com>
33955
33956 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
33957 (grub_ufs_get_file_block): Fix indirect block calculation problem.
33958
33959 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
33960 (grub_xfs_btree_node): New structure.
33961 (grub_xfs_btree_root): New structure.
33962 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
33963 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
33964 (GRUB_XFS_EXTENT_BLOCK): Likewise.
33965 (GRUB_XFS_EXTENT_SIZE): Likewise.
33966 (grub_xfs_read_block): Support btree format type.
33967 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
33968 Use directory block as basic unit.
33969
33970 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
33971
33972 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
33973 __attribute__ ((__regparm__ (1))).
33974
f95562bf 339752008-02-01 Robert Millan <rmh@aybabtu.com>
33976
33977 Correct a mistake in previous commit.
33978
33979 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
33980 top.
33981 (normal/command.c_DEPENDENCIES): New variable.
33982
7d31f41f 339832008-02-01 Robert Millan <rmh@aybabtu.com>
33984
33985 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
33986 top.
33987 (normal/command.c_DEPENDENCIES): New variable.
33988 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
33989 * conf/i386-ieee1275.rmk: Likewise.
33990 * conf/i386-linuxbios.rmk: Likewise.
33991 * conf/i386-pc.rmk: Likewise.
33992 * conf/sparc64-ieee1275.rmk: Likewise.
33993 * conf/powerpc-ieee1275.rmk: Likewise.
33994 (grub_emu_SOURCES): Add `fs/fshelp.c'.
33995
33996 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
33997
60b6be74 339982008-02-01 Robert Millan <rmh@aybabtu.com>
33999
34000 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
34001 call at beginning of function.
34002
078522ab 340032008-01-31 Pavel Roskin <proski@gnu.org>
34004
34005 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 34006 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
34007 (grub_mkrescue_SOURCES): Likewise.
078522ab 34008 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
34009
ccaa8a5f 340102008-01-30 Robert Millan <rmh@aybabtu.com>
34011
34012 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
34013 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
34014 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
34015 (grub_probe_SOURCES): ... to here.
34016
34017 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
34018 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
34019 * conf/i386-ieee1275.rmk: Likewise.
34020 * conf/i386-linuxbios.rmk: Likewise.
34021 * conf/powerpc-ieee1275.rmk: Likewise.
34022
ae5a9cd7 340232008-01-30 Tristan Gingold <gingold@free.fr>
34024
34025 * kern/rescue.c: Silently accept empty lines.
34026
70bc2ef2 340272008-01-29 Bean <bean123ch@gmail.com>
34028
34029 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
34030 (real_code_2): Code cleanup and change comment style.
34031 (move_memory): Avoid using 32-bit address mode.
34032
6a4d50ea 340332008-01-29 Bean <bean123ch@gmail.com>
34034
34035 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
34036 (png_mod_SOURCES): New variable.
34037 (png_mod_CFLAGS): Likewise.
34038 (png_mod_LDFLAGS): Likewise.
34039
34040 * video/readers/png.c: New file.
34041
11cc30ac 340422008-01-28 Robert Millan <rmh@aybabtu.com>
34043
34044 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
34045 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
34046 `ifndef GRUB_MOD_GAP' hack.
34047 * util/elf/grub-mkimage.c (add_segments): Likewise.
34048
3abc589f 340492008-01-27 Robert Millan <rmh@aybabtu.com>
34050
34051 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
34052 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 34053 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 34054
e1907778 340552008-01-27 Robert Millan <rmh@aybabtu.com>
34056
34057 Get grub-emu to build again (including parallel builds).
34058
34059 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
34060 Split into ...
34061 (util/grub-emu.c_DEPENDENCIES): ... this, ...
34062 (normal/execute.c_DEPENDENCIES): ... this, ...
34063 (grub-emu_DEPENDENCIES): ... and this.
34064
34065 * conf/i386-efi.rmk: Likewise.
34066 * conf/i386-linuxbios.rmk: Likewise.
34067 * conf/i386-ieee1275.rmk: Likewise.
34068 * conf/powerpc-ieee1275.rmk: Likewise.
34069 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
34070
2216b101 340712008-01-27 Robert Millan <rmh@aybabtu.com>
34072
34073 * NEWS: Add a few items.
34074
f75172d9 340752008-01-27 Robert Millan <rmh@aybabtu.com>
34076
34077 Fix parallel builds with grub-emu. Based on earlier commit for
34078 grub-probe and grub-setup.
34079
34080 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34081 (util/grub-emu.c_DEPENDENCIES): ... this.
34082 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34083 (util/grub-emu.c_DEPENDENCIES): ... this.
34084 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34085 (util/grub-emu.c_DEPENDENCIES): ... this.
34086 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34087 (util/grub-emu.c_DEPENDENCIES): ... this.
34088 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34089 (util/grub-emu.c_DEPENDENCIES): ... this.
34090
3f51de77 340912008-01-27 Pavel Roskin <proski@gnu.org>
34092
34093 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
34094 to create a gap between _end and the modules added to the image
34095 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
34096 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
34097 * util/elf/grub-mkimage.c (add_segments): Likewise.
34098
2033f53e 340992008-01-26 Pavel Roskin <proski@gnu.org>
34100
34101 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
34102 just return an error.
34103
22da1f6f 341042008-01-26 Bean <bean123ch@gmail.com>
34105
34106 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
34107 (grub_reiserfs_get_item): Save offset of the next item.
34108 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
34109
2a9525e6 341102008-01-25 Robert Millan <rmh@aybabtu.com>
34111
34112 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
34113 make all filesystem sources appear together (possibly fixing omissions
34114 while at it).
34115 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34116 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34117 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34118 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34119
34120 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
34121 add `kern/file.c'.
34122 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
34123 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
34124 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
34125 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
34126
34127 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
34128 (probe): Add a sanity check to make sure of our ability to read
34129 requested files when probing for filesystem type.
34130
34131 * genmk.rb: Update copyright year (2007).
34132
34133 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
34134 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
34135 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
34136 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
34137 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
34138 : Remove function prototypes.
34139
b95f71b5 341402008-01-25 Robert Millan <rmh@aybabtu.com>
34141
34142 Revert my previous commits (based on wrong assumption of how grub_errno
34143 works).
34144
fe6b695a 34145 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 34146 * kern/file.c (grub_file_open): Likewise.
34147
d08bbb49 341482008-01-24 Pavel Roskin <proski@gnu.org>
34149
34150 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
34151 that hang if GRUB tries to setup colors.
34152 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
34153 colors for firmwares that don't support it.
34154 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
34155 Recognize Open Hack'Ware, set flags to work around its
34156 limitations.
34157
605e36ed 341582008-01-24 Robert Millan <rmh@aybabtu.com>
34159
34160 * kern/file.c (grub_file_open): Do not account previous failures of
34161 unrelated functions when grub_errno is checked for.
34162 Reported by Oleg Strikov.
34163
bac332a1 341642008-01-24 Bean <bean123ch@gmail.com>
34165
34166 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
34167 (grub_ufs_sblock): New member volume name.
34168 (grub_ufs_find_file): Fix string copy bug.
34169 (grub_ufs_label): Implement this function properly.
34170
34171 * fs/hfs.c (grub_hfs_cnid_type): New enum.
34172 (grub_hfs_iterate_records): Use the correct file number for extents
34173 and catalog file. Fix problem in next index calculation.
34174 (grub_hfs_find_node): Replace recursive function call with loop.
34175 (grub_hfs_iterate_dir): Replace recursive function call with loop.
34176
15c80c09 341772008-01-23 Robert Millan <rmh@aybabtu.com>
34178
34179 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
34180 `<grub/symbol.h>' and `<grub/multiboot.h>'.
34181 (grub_multiboot2_real_boot): New function prototype.
34182
34183 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
34184 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
34185
34186 * kern/i386/ieee1275/init.c (grub_os_area_addr)
34187 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
34188
305338fd 341892008-01-23 Robert Millan <rmh@aybabtu.com>
34190
34191 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
34192 #ifdef'ed out grub_printf().
34193
3ea52685 341942008-01-23 Robert Millan <rmh@aybabtu.com>
34195
34196 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
34197 grub_dprintf calls, since they make "debug=all" mode unusable.
34198 (grub_console_checkkey): Likewise.
34199
5882ae4b 342002008-01-23 Robert Millan <rmh@aybabtu.com>
34201
34202 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
34203 `term/i386/pc/at_keyboard.c'.
34204 (pkglib_MODULES): Add `serial.mod'.
34205 (serial_mod_SOURCES): New variable.
34206 (serial_mod_CFLAGS): Likewise.
34207 (serial_mod_LDFLAGS): Likewise.
34208
34209 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
34210 `<grub/powerpc/ieee1275/console.h>'.
34211 (grub_keyboard_controller_init): New function prototype.
34212 (grub_console_checkkey): Likewise.
34213 (grub_console_getkey): Likewise.
34214
34215 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
34216 keyboard on i386.
34217
34218 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
34219 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
34220
06ab5303 342212008-01-23 Robert Millan <rmh@aybabtu.com>
34222
34223 * kern/i386/pc/init.c (make_install_device): When memdisk image is
34224 present, "(memdisk)/boot/grub" becomes the default prefix.
34225
34226 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
34227 a memdisk tarball with all the modules. Add --overlay=DIR option that
34228 allows users to overlay additional files into the image.
34229
dbb475a4 342302008-01-23 Robert Millan <rmh@aybabtu.com>
34231
34232 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
34233 and `machine/memory.h'.
34234 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
34235 (_multiboot_mod_SOURCES): New variable.
34236 (_multiboot_mod_CFLAGS): Likewise.
34237 (_multiboot_mod_LDFLAGS): Likewise.
34238 (multiboot_mod_SOURCES): Likewise.
34239 (multiboot_mod_CFLAGS): Likewise.
34240 (multiboot_mod_LDFLAGS): Likewise.
34241
34242 * include/grub/i386/ieee1275/loader.h: New file.
34243
34244 * include/grub/i386/ieee1275/machine.h: Likewise.
34245
34246 * include/grub/i386/ieee1275/memory.h: Likewise.
34247
34248 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
34249 variable declaration.
34250 (grub_os_area_size): Likewise.
34251
34252 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
34253 (grub_lower_mem, grub_upper_mem): New variables.
34254 (grub_stop_floppy): New function (just to make
34255 grub_multiboot2_real_boot() happy).
34256
34257 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
34258 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
34259 (grub_stop): New function.
34260 Include `"../realmode.S"' and `"../loader.S"'.
34261
34262 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
34263 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
34264
34265 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
34266 rely on grub_multiboot2_real_boot() for final boot.
34267
25638629 342682008-01-22 Robert Millan <rmh@aybabtu.com>
34269
34270 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
34271 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
34272 device that doesn't look like an SD card.
34273 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
34274 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
34275 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
34276 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
34277 found.
34278
9dad816d 342792008-01-22 Robert Millan <rmh@aybabtu.com>
34280
34281 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
34282 avoid claiming over our own code.
34283
34842f2d 342842008-01-22 Bean <bean123ch@gmail.com>
34285
34286 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
34287 (jpeg_mod_SOURCES): New variable.
34288 (jpeg_mod_CFLAGS): Likewise.
34289 (jpeg_mod_LDFLAGS): Likewise.
34290
34291 * video/readers/jpeg.c : New file.
34292
44023a28 342932008-01-22 Bean <bean123ch@gmail.com>
34294
34295 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
34296 there are no more items.
34297
bc2d8ac6 342982008-01-21 Robert Millan <rmh@aybabtu.com>
34299
34300 * kern/mm.c (grub_mm_init_region): Improve debug message.
34301
261bd4bc 343022008-01-21 Robert Millan <rmh@aybabtu.com>
34303
34304 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
34305 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
34306 address.
34307 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
34308 a C macro.
34309 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
34310 Indicates start of upper memory.
34311 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
34312 (generate_image): Abort when image size is big enough to corrupt
34313 upper memory.
34314
34315 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
34316 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
34317 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
34318 instead of hardcoding 0xA0000.
34319 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
34320 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
34321 instead of hardcoding 0xA0000.
34322
f970b55e 343232008-01-21 Robert Millan <rmh@aybabtu.com>
34324
34325 * disk/memdisk.c (memdisk_size): New variable.
34326 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
34327 `memdisk_size'.
34328 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
34329 image to dynamic memory.
34330 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
34331 `memdisk_size'. Free memdisk block.
34332
1a8b0526 343332008-01-21 Robert Millan <rmh@aybabtu.com>
34334
34335 Fix detection of very small filesystems (like tar).
34336
34337 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
34338 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
34339 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
34340 a problem with this disk).
34341
6e9b4aab 343422008-01-21 Robert Millan <rmh@aybabtu.com>
34343
34344 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
34345 on grub_biosdisk_rw_standard() error.
34346
0d8837b2 343472008-01-21 Robert Millan <rmh@aybabtu.com>
34348
34349 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
34350 recent changes.
34351 * kern/elf.c: Likewise.
34352 * kern/ieee1275/ieee1275.c: Likewise.
34353 * kern/powerpc/ieee1275/openfw.c: Likewise.
34354 * term/ieee1275/ofconsole.c: Likewise.
34355
ffd36e34 343562008-01-21 Robert Millan <rmh@aybabtu.com>
34357
34358 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
34359
3f0093d0 34360 * include/grub/kernel.h (grub_arch_memdisk_addr)
34361 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 34362
3f0093d0 34363 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
34364 (grub_arch_memdisk_size): ... to here.
ffd36e34 34365
6c391b21 343662008-01-21 Robert Millan <rmh@aybabtu.com>
34367
34368 Mostly based on bugfix from Bean.
34369
34370 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
34371 attribute with hook() parameter.
34372 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
34373 declaration.
34374 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
34375 attribute with hook() parameter.
34376 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
34377 declaration.
34378
55a581dc 343792008-01-21 Robert Millan <rmh@aybabtu.com>
34380
34381 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
34382 (pkglib_MODULES): Add `memdisk.mod'.
34383 (memdisk_mod_SOURCES): New variable.
34384 (memdisk_mod_CFLAGS): Likewise.
34385 (memdisk_mod_LDFLAGS): Likewise.
34386
34387 * disk/memdisk.c: New file.
34388
34389 * include/grub/disk.h (grub_disk_dev_id): Add
34390 `GRUB_DISK_DEVICE_MEMDISK_ID'.
34391
34392 * include/grub/i386/pc/kernel.h
34393 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
34394 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
34395 (grub_kernel_image_size): New variable declaration.
34396 (grub_total_module_size): Likewise.
34397 (grub_memdisk_image_size): Likewise.
34398
34399 * include/grub/i386/pc/memory.h
34400 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
34401
34402 * include/grub/kernel.h: Include `<grub/symbol.h>'.
34403 (grub_arch_memdisk_addr): New variable declaration.
34404 (grub_arch_memdisk_size): Likewise.
34405
34406 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
34407 (grub_arch_memdisk_size): Likewise.
34408
34409 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
34410 (codestart): Replace hardcoded `0x100000' with
34411 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
34412
34413 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
34414 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
34415 not NULL, append the contents of the file it refers to, at the end of
34416 the compressed kernel image. Initialize `grub_memdisk_image_size'
34417 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
34418 (options): Add "memdisk"|'m' option.
34419 (main): Parse --memdisk|-m option, and pass user-provided path as
34420 parameter to generate_image().
34421
3d7f54c9 344222008-01-20 Robert Millan <rmh@aybabtu.com>
34423
34424 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
34425 grub_dprintf() calls from here ...
34426 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
34427
0bf74728 344282008-01-20 Robert Millan <rmh@aybabtu.com>
34429
34430 Fix detection of "real mode" when /options/real-mode? doesn't exist.
34431
34432 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
34433 declaration.
34434 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
34435 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
34436 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 34437 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 34438 property).
34439 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
34440 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
34441
33bf70a7 344422008-01-19 Robert Millan <rmh@aybabtu.com>
34443
fe6b695a 34444 Get rid of confusing function (superseded by
33bf70a7 34445 `grub_ieee1275_get_integer_property')
34446 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
34447 prototype.
34448 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
34449 function.
34450 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
34451 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 34452 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 34453
e2da7d26 344542008-01-19 Robert Millan <rmh@aybabtu.com>
34455
34456 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
34457 command after "shut-down", since implementations differ on which
34458 the command for halt is.
34459
59f1fd8d 344602008-01-19 Robert Millan <rmh@aybabtu.com>
34461
34462 * include/grub/i386/linuxbios/console.h: Add header protection.
34463 (grub_keyboard_controller_init): New function prototype.
34464 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
34465 (KEYBOARD_COMMAND_READ): Likewise.
34466 (KEYBOARD_COMMAND_WRITE): Likewise.
34467 (KEYBOARD_SCANCODE_SET1): Likewise.
34468 (grub_keyboard_controller_write): New function.
34469 (grub_keyboard_controller_read): Likewise.
34470 (grub_keyboard_controller_init): Likewise.
34471
34472 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
34473 (grub_console_init): On coreboot/LinuxBIOS, call
34474 grub_keyboard_controller_init().
34475
5f5a7c15 344762008-01-19 Robert Millan <rmh@aybabtu.com>
34477
34478 PowerPC changes provided by Pavel Roskin.
34479
34480 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
34481 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
34482 don't rely on cmain() doing it.
34483 * kern/i386/ieee1275/startup.S (_start): Store %eax in
34484 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
34485
1210e168 344862008-01-16 Robert Millan <rmh@aybabtu.com>
34487
34488 * include/grub/i386/linuxbios/memory.h
34489 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
34490 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
34491 receive `table_header' as argument. Instead, probe for it in the
34492 known memory ranges where it can be present.
34493 (grub_available_iterate): Do not pass a fixed `table_header' address
34494 to grub_linuxbios_table_iterate().
34495
3d04eab8 344962008-01-15 Robert Millan <rmh@aybabtu.com>
34497
34498 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
34499 * conf/i386-ieee1275.rmk: New file.
34500 * include/grub/i386/ieee1275/console.h: Likewise.
34501 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
34502 * include/grub/i386/ieee1275/kernel.h: Likewise.
34503 * include/grub/i386/ieee1275/time.h: Likewise.
34504 * kern/i386/ieee1275/init.c: Likewise.
34505 * kern/i386/ieee1275/startup.S: Likewise.
34506
d1bc1b73 345072008-01-15 Robert Millan <rmh@aybabtu.com>
34508
34509 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
34510 when pointers are 32-bit (but still do set it to one when they are
34511 64-bit).
34512
66a65807 345132008-01-15 Robert Millan <rmh@aybabtu.com>
34514
34515 * include/grub/ieee1275/ieee1275.h
34516 (grub_ieee1275_get_integer_property): New function prototype.
34517
34518 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
34519 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 34520 grub_ieee1275_get_property() to handle endianness.
66a65807 34521
34522 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
34523 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 34524 where appropriate.
66a65807 34525 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
34526 (grub_map): Likewise.
34527 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
34528
a83ccafd 345292008-01-15 Bean <bean123ch@gmail.com>
34530
34531 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
34532 (grub_script_execute_cmdline): Reset grub_errno.
34533
34534 * normal/main.c (read_config_file): Reset grub_errno.
34535
34536 * normal/parse.y (script_init): New.
34537 (script): Move function and menuentry here.
34538 (delimiter): New.
34539 (command): Add delimiter at the end of command.
34540 (commands): Adjust to match the new command.
34541 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 34542 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 34543 (if): Use the new commands.
34544
34545 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
34546
df6ecfc6 345472008-01-15 Robert Millan <rmh@aybabtu.com>
34548
34549 * normal/menu.c (run_menu): Move timeout message from here ...
34550 (print_timeout): ... to here.
34551 (run_menu): Use print_timeout() once during initial draw to print
34552 the whole message, and again in every clock tick to update only
34553 the number of seconds.
34554
87ae25eb 345552008-01-15 Robert Millan <rmh@aybabtu.com>
34556
34557 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
34558 actual size of `available' from grub_ieee1275_get_property(), and
34559 restrict parsing to that bound.
34560
47bf09a4 345612008-01-15 Christian Franke <franke@computer.org>
34562
34563 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
34564 (argp_program_version): Remove variable.
34565 (argp_program_bug_address): Likewise.
34566 (options): Convert from struct argp_option to struct option.
34567 (struct arguments): Remove.
34568 (parse_opt): Remove.
34569 (usage): New function.
34570 (main): Replace struct args members by simple variables.
34571 Replace argp_parse() by getopt_long().
34572 Add switch to evaluate options.
34573 Add missing "(...)" around root_dev in prefix string.
34574
c86f1469 345752008-01-14 Robert Millan <rmh@aybabtu.com>
34576
34577 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
34578 for grub_ieee1275_exit(), in order to improve portability.
34579
e622c559 345802008-01-14 Robert Millan <rmh@aybabtu.com>
34581
34582 * util/grub.d/10_linux.in (prefix): Define.
34583 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
34584
44cb1ec8 345852008-01-13 Pavel Roskin <proski@gnu.org>
34586
34587 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
34588 grub_errno if no errors have been detected.
34589
1eb8c802 345902008-01-12 Robert Millan <rmh@aybabtu.com>
34591
34592 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
34593 (grub_util_get_dev_abstraction): New function prototype.
34594
34595 * util/getroot.c: Include `<grub/util/getroot.h>'
34596 (grub_util_get_grub_dev): Move detection of abstraction type to ...
34597 (grub_util_get_dev_abstraction): ... here (new function).
34598
34599 * util/grub-probe.c: Convert PRINT_* to an enum. Add
34600 `PRINT_ABSTRACTION'.
34601 (probe): Probe for abstraction type when requested.
34602 (main): Understand `--target=abstraction'.
34603
34604 * util/i386/efi/grub-install.in: Add abstraction module to core
34605 image when it is found to be necessary.
34606 * util/i386/pc/grub-install.in: Likewise.
34607 * util/powerpc/ieee1275/grub-install.in: Likewise.
34608
34609 * util/update-grub_lib.in (font_path): Return system path without
34610 converting to GRUB path.
34611 * util/update-grub.in: Convert system path returned by font_path()
34612 to a GRUB path. Use `grub-probe -t abstraction' to determine what
34613 abstraction module is needed for loading fonts (if any). Export
34614 that as `GRUB_PRELOAD_MODULES'.
34615 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
34616 insmod commands).
34617
52bd3de9 346182008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
34619
34620 Remove some unused code from reiserfs.
f19dbdb7 34621
52bd3de9 34622 * fs/reiserfs.c (struct grub_reiserfs_key)
34623 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
34624 (struct grub_reiserfs_node_body): Removed.
34625 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
34626 Likewise.
34627 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
34628 Likewise.
34629 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
34630 Likewise.
34631 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
34632 Likewise.
34633 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
34634 Likewise.
34635 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
34636 Likewise.
34637 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
34638 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
34639 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
34640
2f80039d 346412008-01-10 Robert Millan <rmh@aybabtu.com>
34642
34643 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
34644 Determines if a file is garbage left by packaging systems, etc.
34645 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
34646 for processing /etc/grub.d scripts.
34647 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
34648 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
34649 as a condition for processing Linux images.
34650
87888032 346512008-01-10 Pavel Roskin <proski@gnu.org>
34652
34653 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
34654 to compile reiserfs.c on PowerPC.
34655
7e54fced 346562008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 34657
34658 * kern/device.c (grub_device_iterate): Do not abort device iteration
34659 when one of the devices cannot be opened.
34660 * kern/disk.c (grub_disk_open): Do not account previous failures of
34661 unrelated functions when grub_errno is checked for.
34662
5aa541e6 346632008-01-08 Robert Millan <rmh@aybabtu.com>
34664
34665 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
34666 `! grub_linux_is_bzimage', change order of address comparison to make
34667 it more intuitive, and improve "too big zImage" error message.
34668
7076340d 346692008-01-08 Robert Millan <rmh@aybabtu.com>
34670
34671 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
34672 `$(update-grub_DATA)'.
34673 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
34674 targets.
34675
9ca70333 346762008-01-07 Robert Millan <rmh@aybabtu.com>
34677
34678 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
34679 which instruction is modified by grub-setup during installation
34680 (since it wasn't obvious by only looking at this file).
34681
38ccf575 346822008-01-07 Robert Millan <rmh@aybabtu.com>
34683
34684 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
34685 listing actual TODO items.
34686
f5db4291 346872008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34688
868967cf 34689 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
34690 correctly.
34691 (grub_reiserfs_get_key_offset): Likewise.
34692 (grub_reiserfs_set_key_offset): Likewise.
34693 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 34694 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 34695
34696 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
34697 better to remove the bitfield version completely.
f19dbdb7 34698
868967cf 346992008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 34700
f5db4291 34701 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
34702 allocated from the heap, due to the fshelp implementation.
34703 (grub_reiserfs_dir): Free NODE, due to the same reason.
34704
492e6d9d 347052008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34706
34707 Mostly from Vincent Pelletier:
f19dbdb7 34708
492e6d9d 34709 * fs/reiserfs.c: New file.
f19dbdb7 34710
492e6d9d 34711 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
34712 (reiserfs_mod_SOURCES): New variable.
34713 (reiserfs_mod_CFLAGS): Likewise.
34714 (reiserfs_mod_LDFLAGS): Likewise.
34715
34716 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
34717 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
34718 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
34719 normal/color.c.
34720
9ce3e7c1 347212008-01-06 Robert Millan <rmh@aybabtu.com>
34722
34723 * normal/color.c: Remove `<grub/env.h>'.
34724
f3b58148 347252008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
34726
34727 * include/grub/normal.h: Include <grub/env.h>.
34728
7ac3bcfa 347292008-01-05 Robert Millan <rmh@aybabtu.com>
34730
34731 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
34732 usage example with `(hd0,1)'.
fb358190 34733 Reported by Samuel Thibault.
7ac3bcfa 34734
c8ee99d7 347352008-01-05 Robert Millan <rmh@aybabtu.com>
34736
34737 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
34738 (grub_linux_boot_zimage): Rename to ...
34739 (grub_linux_boot): ... this.
34740 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
34741 (grub_linux_boot_zimage): Conditionalize zImage copy.
34742
34743 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
34744 (grub_linux_boot_bzimage): Remove prototype.
34745 (grub_linux_boot_zimage): Rename to ...
34746 (grub_linux_boot): ... this.
34747
34748 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
34749 (grub_linux_boot): Remove function.
34750
0ece25b1 347512008-01-05 Robert Millan <rmh@aybabtu.com>
34752
34753 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
34754 (grub_env_write_color_highlight): Likewise.
34755 (grub_wait_after_message): Likewise.
34756
34757 * normal/color.c: New file.
34758
34759 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34760 (normal_mod_DEPENDENCIES): Likewise.
34761
34762 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34763 (normal_mod_DEPENDENCIES): Likewise.
34764
34765 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34766 (normal_mod_DEPENDENCIES): Likewise.
34767
34768 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34769 (normal_mod_DEPENDENCIES): Likewise.
34770
34771 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
34772 for waiting after a message is printed.
34773 * normal/main.c (read_config_file): Likewise.
34774 (grub_normal_init): Register grub_env_write_color_normal() and
34775 grub_env_write_color_highlight() hooks. Mark `color_normal' and
34776 `color_highlight' variables as global.
34777
34778 * normal/menu.c (grub_wait_after_message): New function.
34779 (grub_color_menu_normal): New variable. Replaces ...
34780 (GRUB_COLOR_MENU_NORMAL): ... this macro.
34781 (grub_color_menu_highlight): New variable. Replaces ...
34782 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
34783 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
34784 `GRUB_TERM_COLOR_STANDARD'.
34785 (print_message): Use `grub_setcolorstate' to reload colors. Rename
34786 `normal_code' and `highlight_code' to `old_color_normal' and
34787 `old_color_highlight', respectively.
34788 (grub_menu_init_page): Update colors when drawing the menu, based on
34789 `menu_color_normal' and `menu_color_highlight' variables.
34790 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
34791 a message is printed.
34792
182dd4e5 347932008-01-05 Robert Millan <rmh@aybabtu.com>
34794
34795 * kern/env.c (grub_env_context_open): Propagate hooks for global
34796 variables to new context.
34797
34798 * kern/main.c (grub_set_root_dev): Export `root' variable.
34799
ddf8f6ad 348002008-01-05 Robert Millan <rmh@aybabtu.com>
34801
34802 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 34803 discs unconditionally, since udev and others have options to provide
ddf8f6ad 34804 them.
34805
d8b43d9b 348062008-01-05 Robert Millan <rmh@aybabtu.com>
34807
34808 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
34809
2bff2de3 348102008-01-04 Christian Franke <franke@computer.org>
34811
34812 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
34813 of eisa_mmap.
34814
97eab917 348152008-01-03 Pavel Roskin <proski@gnu.org>
34816
34817 * kern/i386/linuxbios/init.c: Put "void" to all function
34818 declarations with no arguments.
34819 * kern/powerpc/ieee1275/init.c: Likewise.
34820 * term/i386/pc/at_keyboard.c: Likewise.
34821 * term/i386/pc/vga_text.c: Likewise.
34822 * util/grub-mkdevicemap.c: Likewise.
34823
b9416d00 348242008-01-02 Robert Millan <rmh@aybabtu.com>
34825
34826 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
34827 message when loaded image is out of bounds.
34828 (grub_multiboot_load_elf64): Likewise.
34829
92695df9 348302008-01-02 Pavel Roskin <proski@gnu.org>
34831
34832 * util/grub.d/10_linux.in: Try version without ".old" when
34833 looking for initrd. It's better to use initrd from the newer
34834 kernel of the same version than no initrd at all.
34835
d98d9cad 348362008-01-01 Robert Millan <rmh@aybabtu.com>
34837
34838 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
34839
dbfdce36 348402008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
34841
f19dbdb7 34842 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 34843 grub_video_get_active_render_target.
34844 (grub_video_adapter): Added unmap_color and get_active_render_target.
34845
f19dbdb7 34846 * video/video.c: Added grub_video_unmap_color and
dbfdce36 34847 grub_video_get_active_render_target.
34848 (grub_video_get_info): Changed method to accept NULL pointer as an
34849 argument to allow detection of active video adapter.
34850
34851 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
34852 grub_video_vbe_unmap_color_int.
34853 Added grub_video_vbe_unmap_color and
34854 grub_video_vbe_get_active_render_target.
34855 (grub_video_vbe_adapter): Added unmap_color and
34856 get_active_render_target.
34857
f19dbdb7 34858 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 34859 with grub_video_vbe_unmap_color_int.
34860
34861 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
34862 (DEFAULT_NORMAL_COLOR): Likewise.
34863 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
34864 (DEFAULT_FG_COLOR): Removed.
34865 (DEFAULT_BG_COLOR): Likewise.
34866 (DEFAULT_CURSOR_COLOR): Changed value.
34867 (grub_virtual_screen): Added standard_color_setting,
34868 normal_color_setting, highlight_color_setting and term_color.
34869 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
34870 (bitmap_width): Added.
34871 (bitmap_height): Likewise.
34872 (bitmap): Likewise.
34873 (set_term_color): Likewise.
34874 (grub_virtual_screen_setup): Changed to use new terminal coloring
34875 settings.
34876 (grub_gfxterm_init): Added init for bitmap.
34877 (grub_gfxterm_fini): Added destroy for bitmap.
34878 (redraw_screen_rect): Updated to use background bitmap and new
34879 terminal coloring.
34880 (scroll_up): Added optimization for case when there is no bitmap.
34881 (grub_gfxterm_cls): Fixed to use correct background color.
34882 (grub_virtual_screen_setcolorstate): Changed to use new terminal
34883 coloring.
34884 (grub_virtual_screen_setcolor): Likewise.
34885 (grub_virtual_screen_getcolor): Added.
34886 (grub_gfxterm_background_image_cmd): Likewise.
34887 (grub_video_term): Added setcolor and getcolor.
34888 (MOD_INIT): Added registration of background_image command.
34889 (MOD_TERM): Added unregistration for background_image command.
34890
c3c20931 348912007-12-30 Pavel Roskin <proski@gnu.org>
34892
34893 * loader/multiboot_loader.c: Fix multiboot command
34894 unregistration. Fix all typos in the word "multiboot".
34895
df266716 348962007-12-29 Pavel Roskin <proski@gnu.org>
94239199 34897
34898 * util/grub.d/10_linux.in: Refactor search for initrd. Add
34899 support for initrd names used in Fedora.
34900
fc6e896c 349012007-12-26 Bean <bean123ch@gmail.com>
34902
34903 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
34904 (cpio_mod_SOURCES): New variable.
34905 (cpio_mod_CFLAGS): Likewise.
34906 (cpio_mod_LDFLAGS): Likewise.
34907
34908 * fs/cpio.c: New file.
34909
34910 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
34911
34912 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34913
34914 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34915
34916 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34917
533110ad 349182007-12-25 Robert Millan <rmh@aybabtu.com>
34919
34920 * include/grub/term.h (struct grub_term): Add `getcolor' function.
34921 (grub_getcolor): New function.
34922
34923 * kern/term.c (grub_getcolor): New function.
34924 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
34925 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
34926 (print_entry): Set normal and highlight colors to
34927 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
34928 respectively, before printing and restore them to old
34929 values afterwards.
34930 (grub_menu_init_page): Likewise. Fill an additional colored space
34931 that would otherwise be left blank.
34932
34933 * term/efi/console.c (grub_console_getcolor): New function.
34934 (struct grub_console_term.getcolor): New variable.
34935 * term/i386/pc/console.c (grub_console_getcolor): New function.
34936 (struct grub_console_term.getcolor): New variable.
34937 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
34938 (struct grub_console_term.getcolor): New variable.
34939
34940 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
34941 (struct grub_console_term.setcolor): Remove variable.
34942 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
34943 (struct grub_console_term.setcolor): Remove variable.
34944 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
34945 (struct grub_console_term.setcolor): Remove variable.
34946 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
34947 (struct grub_console_term.setcolor): Remove variable.
34948
4931827f 349492007-12-25 Robert Millan <rmh@aybabtu.com>
34950
34951 * configure.ac: Search for possible unifont.hex locations, and
34952 define UNIFONT_HEX if found.
34953
34954 * Makefile.in (UNIFONT_HEX): Define variable.
34955 (DATA): Rename to ...
34956 (PKGLIB): ... this. Update all users.
34957 (PKGDATA): New variable.
34958 (pkgdata_IMAGES): Rename to ...
34959 (pkglib_IMAGES): ... this. Update all users.
34960 (pkgdata_MODULES): Rename to ...
34961 (pkglib_MODULES): ... this. Update all users.
34962 (pkgdata_PROGRAMS): Rename to ...
34963 (pkglib_PROGRAMS): ... this. Update all users.
34964 (pkgdata_DATA): Rename to ...
34965 (pkglib_DATA): ... this. Update all users.
34966 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
34967 (unicode.pff, ascii.pff): New rules.
34968 (all-local): Add `$(PKGDATA)' dependency.
34969 (install-local): Process `$(PKGDATA)'.
34970
34971 * util/update-grub_lib.in (font_path): Search for *.pff files in
34972 a few more locations, including `${pkgdata}'.
34973
57e57e31 349742007-12-23 Robert Millan <rmh@aybabtu.com>
34975
34976 Patch from Bean <bean123ch@gmail.com>:
34977 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
34978 `size'.
34979
4bc72aa9 349802007-12-21 Bean <bean123ch@gmail.com>
34981
34982 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
34983 (ntfscomp_mod_SOURCES): New variable.
34984 (ntfscomp_mod_CFLAGS): Likewise.
34985 (ntfscomp_mod_LDFLAGS): Likewise.
34986
34987 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
34988 (grub_probe_SOURCES): Likewise.
34989 (grub_emu_SOURCES): Likewise.
34990
34991 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34992 (grub_emu_SOURCES): Likewise.
34993
34994 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34995 (grub_emu_SOURCES): Likewise.
34996
34997 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34998 (grub_emu_SOURCES): Likewise.
34999
35000 * fs/ntfs.c (grub_ntfscomp_func): New variable.
35001 (read_run_list): Renamed to grub_ntfs_read_run_list.
35002 (decomp_nextvcn): Moved to ntfscomp.c.
35003 (decomp_getch): Likewise.
35004 (decomp_get16): Likewise.
35005 (decomp_block): Likewise.
35006 (read_block): Likewise.
35007 (read_data): Partially moved to ntfscomp.c.
35008 (fixup): Change unsigned to grub_uint16_t.
35009 (read_mft): Change unsigned long to grub_uint32_t.
35010 (read_attr): Likewise.
35011 (read_data): Likewise.
35012 (read_run_data): Likewise.
35013 (read_run_list): Likewise.
35014 (read_mft): Likewise.
35015
35016 * fs/ntfscomp.c: New file.
35017
35018 * include/grub/ntfs.h: New file.
35019
af680a87 350202007-12-16 Robert Millan <rmh@aybabtu.com>
35021
35022 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
35023 IDE disk check, since Linux is known to support 20 IDE disks.
35024 Reported by Colin Watson.
35025
84be7599 350262007-12-15 Bean <bean123ch@gmail.com>
35027
35028 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
35029 (lnxboot_img_SOURCES): New variable.
35030 (lnxboot_img_ASFLAGS): Likewise.
35031 (lnxboot_img_LDFLAGS): Likewise.
35032
35033 * boot/i386/pc/lnxboot.S: New file.
35034
6af9db01 350352007-11-24 Pavel Roskin <proski@gnu.org>
35036
35037 * configure.ac: Test if '--build-id=none' is supported by the
35038 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
35039 objcopy to generate incorrect binary files (binutils
35040 2.17.50.0.18-1 as shipped by Fedora 8).
35041 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
35042 linking, so that build ID doesn't break the test.
35043
7361cfe6 350442007-11-24 Pavel Roskin <proski@gnu.org>
35045
35046 * include/grub/i386/time.h: use "void" in the argument list
35047 of grub_cpu_idle().
35048 * include/grub/powerpc/time.h: Likewise.
35049 * include/grub/sparc64/time.h: Likewise.
35050
1593e10c 350512007-11-18 Christian Franke <franke@computer.org>
35052
35053 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
35054 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
35055 This fixes the problem that function keys did not work in grub-emu.
35056
3b8db1a8 350572007-11-18 Christian Franke <franke@computer.org>
35058
35059 * disk/host.c (grub_host_open): Remove attribute unused from
35060 name parameter. Add check for "host". This fixes the problem
35061 that grub-emu does not find partitions.
35062
2e29408d 350632007-11-18 Christian Franke <franke@computer.org>
35064
35065 * util/hostfs.c (is_dir): New function.
35066 (grub_hostfs_dir): Handle missing dirent.d_type case.
35067 (grub_hostfs_read): Add missing fseek().
35068 (grub_hostfs_label): Clear label pointer. This fixes a crash
35069 of grub-emu on "ls (host)".
35070
398cd047 350712007-11-18 Christian Franke <franke@computer.org>
35072
35073 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
35074 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
35075 to 64 bit boundary by default.
35076
c405c391 350772007-11-18 Bean <bean123ch@gmail.com>
35078
35079 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
35080 (hexdump_mod_SOURCES): New variable.
35081 (hexdump_mod_CFLAGS): Likewise.
35082 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 35083
c405c391 35084 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35085
35086 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35087
35088 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35089
35090 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35091
35092 * include/grub/hexdump.h: New file.
35093
35094 * commands/hexdump.c: New file.
35095
5cced7fd 350962007-11-10 Robert Millan <rmh@aybabtu.com>
35097
35098 * commands/i386/pc/play.c (beep_off): Switch order of arguments
35099 in grub_outb() calls.
35100 (beep_on): Likewise.
35101
8b714eb0 351022007-11-10 Christian Franke <franke@computer.org>
35103
35104 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
35105 (grub_menu_run): Likewise.
35106
ce0f1839 351072007-11-10 Robert Millan <rmh@aybabtu.com>
35108
35109 * include/grub/i386/efi/machine.h: New file.
35110 * include/grub/i386/linuxbios/machine.h: Likewise.
35111 * include/grub/i386/pc/machine.h: Likewise.
35112 * include/grub/powerpc/ieee1275/machine.h: Likewise.
35113 * include/grub/sparc64/ieee1275/machine.h: Likewise.
35114
35115 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
35116 (serial_hw_io_addr): New variable.
35117 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
35118 instead of `(unsigned short *) 0x400'.
35119
270c237d 351202007-11-10 Bean <bean123ch@gmail.com>
35121
35122 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
35123
a87783bf 351242007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
35125
35126 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
35127 (vga_mod_SOURCES): Added.
35128 (vga_mod_CFLAGS): Likewise.
35129 (vga_mod_LDFLAGS): Likewise.
35130
35131 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
35132 grub_outb() calls.
35133 (set_map_mask): Likewise.
35134 (set_read_map): Likewise.
35135 (set_read_address): Likewise.
35136 (vga_font): Removed variable.
35137 (get_vga_glyph): Removed function.
35138 (invalidate_char): Likewise.
35139 (write_char): Changed to use grub_font_get_glyph() for font
35140 information.
35141 (grub_vga_putchar): Likewise.
35142 (grub_vga_getcharwidth): Likewise.
35143
6433b448 351442007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
35145
35146 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
35147 flags.
35148 (pxeboot_img_LDFLAGS): Likewise.
35149 (diskboot_img_LDFLAGS): Likewise.
35150 (kernel_img_LDFLAGS): Likewise.
35151
49178511 351522007-11-06 Robert Millan <rmh@aybabtu.com>
35153
35154 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
35155 in grub_outb() calls.
35156 (serial_hw_init): Likewise.
35157
53b052de 351582007-11-05 Robert Millan <rmh@aybabtu.com>
35159
35160 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
35161 spaces. Skip non-regular files.
35162
5ab33bba 351632007-11-05 Robert Millan <rmh@aybabtu.com>
35164
35165 * kern/disk.c (grub_disk_firmware_fini)
35166 (grub_disk_firmware_is_tainted): New variables.
35167
35168 * include/grub/disk.h (grub_disk_firmware_fini)
35169 (grub_disk_firmware_is_tainted): Likewise.
35170
35171 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
35172 (grub_disk_biosdisk_fini): ... to here.
35173 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
35174 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
35175 is set. Register grub_disk_biosdisk_fini() in
35176 `grub_disk_firmware_fini'.
35177
35178 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
35179 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
35180 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
35181 to finish existing firmware disk interface.
35182
35183 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
35184 (ata_mod_SOURCES): New variable.
35185 (ata_mod_CFLAGS): Likewise.
35186 (ata_mod_LDFLAGS): Likewise.
35187
0149ab7c 351882007-11-05 Robert Millan <rmh@aybabtu.com>
35189
35190 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
35191 (grub_ata_wait): Reimplement using grub_millisleep().
35192
35193 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
35194 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
35195
be7ac41e 351962007-11-03 Marco Gerards <marco@gnu.org>
35197
35198 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
35199 (CRTC_ADDR_PORT): New macro.
35200 (CRTC_DATA_PORT): Likewise.
35201 (CRTC_CURSOR): Likewise.
35202 (CRTC_CURSOR_ADDR_HIGH): Likewise.
35203 (CRTC_CURSOR_ADDR_LOW): Likewise.
35204 (update_cursor): New function.
35205 (grub_console_real_putchar): Call `update_cursor'.
35206 (grub_console_gotoxy): Likewise.
35207 (grub_console_cls): Set the default color when clearing the
35208 screen.
35209 (grub_console_setcursor): Implemented.
35210
bb06ab2e 352112007-11-03 Marco Gerards <marco@gnu.org>
35212
35213 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
35214 become activate.
35215 (grub_ata_pio_write): Likewise.
35216
35217 (grub_atapi_identify): Wait after issuing an ATA command.
35218 (grub_atapi_packet): Likewise.
35219 (grub_ata_identify): Likewise.
35220 (grub_ata_readwrite): Likewise.
35221
cf8f780b 352222007-11-03 Marco Gerards <marco@gnu.org>
35223
35224 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
35225 (grub_ata_pio_write): Likewise.
35226 (grub_ata_readwrite): Use `grub_error', instead of
35227 returning `grub_errno'.
35228
ed649e54 352292007-11-03 Marco Gerards <marco@gnu.org>
35230
35231 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
35232 grub_ata_pio_write once for every single sector, instead of for
35233 multiple sectors.
35234
ca25d8f0 352352007-10-31 Robert Millan <rmh@aybabtu.com>
35236
35237 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
35238
35239 * conf/i386-linuxbios.rmk: New file.
35240
35241 * kern/i386/pc/hardware.c: Likewise.
35242 * term/i386/pc/at_keyboard.c: Likewise.
35243 * term/i386/pc/vga_text.c: Likewise.
35244
35245 * include/grub/i386/linuxbios/boot.h: Likewise.
35246 * include/grub/i386/linuxbios/console.h: Likewise.
35247 * include/grub/i386/linuxbios/init.h: Likewise.
35248 * include/grub/i386/linuxbios/kernel.h: Likewise.
35249 * include/grub/i386/linuxbios/loader.h: Likewise.
35250 * include/grub/i386/linuxbios/memory.h: Likewise.
35251 * include/grub/i386/linuxbios/serial.h: Likewise.
35252 * include/grub/i386/linuxbios/time.h: Likewise.
35253
35254 * kern/i386/linuxbios/init.c: Likewise.
35255 * kern/i386/linuxbios/startup.S: Likewise.
35256 * kern/i386/linuxbios/table.c: Likewise.
35257
e911ecc1 352582007-10-31 Marco Gerards <marco@gnu.org>
35259
35260 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
35261 (ata_mod_SOURCES): New variable.
35262 (ata_mod_CFLAGS): Likewise.
35263 (ata_mod_LDFLAGS): Likewise.
35264
35265 * disk/ata.c: New file.
35266
35267 * include/grub/disk.h (grub_disk_dev_id): Add
35268 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 35269
7f66d0e0 352702007-10-31 Robert Millan <rmh@aybabtu.com>
35271
35272 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
35273 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
35274
35275 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
35276 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
35277
35278 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
35279 `<grub/types.h>'.
35280
35281 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
35282
5cd7dd46 352832007-10-27 Robert Millan <rmh@aybabtu.com>
35284
3236ca65 35285 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 35286
2ebfc90f 352872007-10-22 Robert Millan <rmh@aybabtu.com>
35288
35289 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
35290 `"../realmode.S"'.
35291 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
35292
73fcb0f3 352932007-10-22 Robert Millan <rmh@aybabtu.com>
35294
35295 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
35296 (pkgdata_MODULES): Add `biosdisk.mod'.
35297 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
35298 variables.
35299
35300 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
35301 (grub_biosdisk_init): Replace with ...
35302 (GRUB_MOD_INIT(biosdisk)): ... this.
35303 (grub_biosdisk_fini): Replace with ...
35304 (GRUB_MOD_FINI(biosdisk)): ... this.
35305
35306 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
35307 (grub_machine_init): Remove call to grub_biosdisk_init().
35308 (grub_machine_fini): Remove call to grub_machine_fini().
35309
35310 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
35311
3381d274 353122007-10-22 Robert Millan <rmh@aybabtu.com>
35313
35314 * include/grub/time.h: New file.
35315 * include/grub/i386/time.h: Likewise.
35316 * include/grub/powerpc/time.h: Likewise.
35317 * include/grub/sparc64/time.h: Likewise.
35318
35319 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
35320 instances to ...
35321 (KERNEL_MACHINE_TIME_HEADER): ... this.
35322 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
35323 instances to ...
35324 (KERNEL_MACHINE_TIME_HEADER): ... this.
35325 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
35326 instances to ...
35327 (KERNEL_MACHINE_TIME_HEADER): ... this.
35328
35329 * kern/i386/efi/init.c: Include `<grub/time.h>'.
35330 (grub_millisleep): New function.
35331 * kern/i386/pc/init.c: Include `<grub/time.h>'.
35332 (grub_millisleep): New function.
35333 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
35334 Remove `grub/machine/time.h' include.
35335 (grub_millisleep): New function.
35336 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
35337 Remove `grub/machine/time.h' include.
35338 (grub_millisleep): New function.
35339
35340 * include/grub/misc.h (grub_div_roundup): New function.
35341
35342 * kern/misc.c: Include `<grub/time.h>'.
35343 (grub_millisleep_generic): New function.
35344
35345 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
35346 Add `time.h'.
35347 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
35348 Add `time.h'.
35349 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
35350 `machine/time.h'. Add `time.h'.
35351 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
35352
a39a0312 353532007-10-21 Robert Millan <rmh@aybabtu.com>
35354
35355 * include/grub/misc.h (grub_max): New function.
35356
2aad70e2 353572007-10-21 Robert Millan <rmh@aybabtu.com>
35358
35359 * util/misc.c (grub_util_info): Call fflush() before returning.
35360
54b71c4b 353612007-10-20 Robert Millan <rmh@aybabtu.com>
35362
35363 * genmk.rb (Image): Copy `extra_flags' from here ...
35364 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
35365
35366 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
35367 to `argc' and `args' arguments.
35368
a979f513 353692007-10-17 Robert Millan <rmh@aybabtu.com>
35370
35371 * kern/i386/loader.S: New file.
35372
35373 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
35374 * kern/i386/loader.S (grub_linux_prot_size)... to here.
35375 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
35376 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
35377 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
35378 * kern/i386/loader.S (grub_linux_real_addr)... to here.
35379 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
35380 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
35381 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
35382 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
35383 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
35384 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
35385 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
35386 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
35387
35388 * kern/i386/realmode.S: New file.
35389
35390 * kern/i386/pc/startup.S (protstack): Moved from here ...
35391 * kern/i386/realmode.S (protstack)... to here.
35392 * kern/i386/pc/startup.S (gdt): Moved from here ...
35393 * kern/i386/realmode.S (gdt)... to here.
35394 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
35395 * kern/i386/realmode.S (prot_to_real)... to here.
35396
35397 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
35398 `kern/i386/realmode.S'.
35399
825fc8fd 354002007-10-17 Robert Millan <rmh@aybabtu.com>
35401
35402 * include/grub/i386/loader.h: New file.
35403
35404 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
35405 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
35406 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
35407 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
35408 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
35409 * include/grub/i386/loader.h (grub_linux_prot_size)
35410 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
35411 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
35412 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
35413 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
35414
35415 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
35416
e179b2f4 354172007-10-15 Robert Millan <rmh@aybabtu.com>
35418
35419 * normal/misc.c (grub_normal_print_device_info): Do not probe for
35420 filesystem when dev->disk is unset.
35421 Do probe for filesystem even when dev->disk->has_partitions is set.
35422 In case a filesystem is found, always report it.
35423 In case it isn't, if dev->disk->has_partitions is set, report that
35424 a partition table was found instead of reporting that no filesystem
35425 could be identified.
35426
5db82af6 354272007-10-12 Robert Millan <rmh@aybabtu.com>
35428
35429 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
35430 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
35431
68f6ac74 35432 * include/grub/types.h (grub_host_to_target16): New macro.
35433 (grub_host_to_target32): Likewise.
35434 (grub_host_to_target64): Likewise.
35435 (grub_target_to_host16): Likewise.
35436 (grub_target_to_host32): Likewise.
35437 (grub_target_to_host64): Likewise.
5db82af6 35438
35439 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
35440 Renamed from to ...
35441 (GRUB_MOD_ALIGN): ...this. Update all users.
35442
68f6ac74 35443 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
35444 grub_host_to_target32.
35445 Replace grub_be_to_cpu32 with grub_target_to_host32.
35446 (load_modules): Likewise.
35447 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
35448 Replace grub_be_to_cpu32 with grub_target_to_host32.
35449 Replace grub_cpu_to_be16 with grub_host_to_target16.
35450 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 35451
3cf497cc 354522007-10-12 Robert Millan <rmh@aybabtu.com>
35453
35454 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
35455 * util/elf/grub-mkimage.c: ... here.
35456
35457 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
35458 `util/powerpc/ieee1275/grub-mkimage.c'.
35459
c8cc3692 354602007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 35461
c8cc3692 35462 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
35463 and make it easier to figure out.
35464 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
35465 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
35466 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
35467 leave us with less than HEAP_MIN_SIZE total heap.
35468 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 35469
5c58b791 354702007-10-03 Robert Millan <rmh@aybabtu.com>
35471
35472 * include/grub/i386/io.h: New file.
35473 * commands/i386/pc/play.c (inb): Removed.
35474 (outb): Removed.
35475 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
35476 with grub_outb().
afcd2ef8 35477 * term/i386/pc/serial.c (inb): Removed.
35478 (outb): Removed.
35479 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
35480 with grub_outb().
35481 * term/i386/pc/vga.c (inb): Removed.
35482 (outb): Removed.
35483 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
35484 with grub_outb().
5c58b791 35485
1a477ed6 354862007-10-02 Robert Millan <rmh@aybabtu.com>
35487
35488 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
35489 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35490 Reported by Marcin Kurek.
35491
6b5d80fa 354922007-09-07 Robert Millan <rmh@aybabtu.com>
35493
35494 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
35495 SmartFirmware version updates (as released by Sven Luther), and avoid
35496 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
35497 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
35498 known broken.
35499
5618afbf 355002007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
35501
35502 From Hitoshi Ozeki:
35503 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
35504 when merging two regions.
35505
6139dcd9 355062007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
35507
508e39ee 35508 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
35509 * normal/completion.c (grub_normal_do_completion): Likewise.
35510 Reported by Hitoshi Ozeki.
35511
355122007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 35513
6139dcd9 35514 Do not use devices at boot in chainloading.
f19dbdb7 35515
6139dcd9 35516 * loader/i386/pc/chainloader.c (boot_drive): New variable.
35517 (boot_part_addr): Likewise.
35518 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
35519 with BOOT_DRIVE and BOOT_PART_ADDR.
35520 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
35521 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
35522
38da6516 355232007-08-29 Robert Millan <rmh@aybabtu.com>
35524
35525 Patch from Simon Peter <dn.tlp@gmx.net>:
35526 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
35527 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
35528 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
35529 util/i386/pc/grub-setup.c_DEPENDENCIES.
35530 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
35531 util/grub-probe.c_DEPENDENCIES.
35532 * conf/powerpc-ieee1275.rmk: Likewise.
35533
29d0928c 355342007-08-28 Robert Millan <rmh@aybabtu.com>
35535
35536 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
35537 to tell grub-mkdevicemap how to name devices.
35538 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
35539 feature).
35540
35541 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
35542 util/i386/get_disk_name.c.
35543 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
35544 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
35545 util/ieee1275/get_disk_name.c.
35546
35547 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
35548
35549 * DISTLIST: Add util/i386/get_disk_name.c and
35550 util/ieee1275/get_disk_name.c.
35551
35552 * util/grub-mkdevicemap.c: Replace device naming logic with
35553 grub_util_get_disk_name() calls.
35554
5a0d3cca 355552007-08-20 Robert Millan <rmh@aybabtu.com>
35556
35557 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
35558 (so that it works for both plural and singular quantities).
35559
8b72db2f 355602007-08-05 Robert Millan <rmh@aybabtu.com>
35561
35562 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
35563 so that [xz] isn't taken into account when determining order.
35564
352466bf 355652007-08-02 Marco Gerards <marco@gnu.org>
35566
35567 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
35568 `include/multiboot2.h', `include/grub/elfload.h',
35569 `include/multiboot.h', `include/grub/multiboot.h',
35570 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
35571 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
35572 `kern/elf.c', `loader/multiboot_loader.c',
35573 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
35574 `loader/i386/pc/multiboot2.c',
35575 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
35576 `util/i386/pc/grub-mkrescue.in'. Remove
35577 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
35578 `include/grub/i386/pc/util/biosdisk.h' and
35579 `include/grub/powerpc/ieee1275/multiboot.h'.
35580
8f096014 355812007-08-02 Bean <bean123ch@gmail.com>
35582
35583 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
35584 (ntfs_mod_SOURCES): New variable.
35585 (ntfs_mod_CFLAGS): Likewise.
35586 (ntfs_mod_LDFLAGS): Likewise.
35587
35588 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
35589 (grub_probe_SOURCES): Likewise.
35590 (grub_emu_SOURCES): Likewise.
35591
35592 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
35593 (grub_emu_SOURCES): Likewise.
35594
35595 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
35596 (grub_emu_SOURCES): Likewise.
f19dbdb7 35597
8f096014 35598 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
35599
35600 * fs/ntfs.c: New file.
35601
9959f7db 356022007-08-02 Bean <bean123ch@gmail.com>
35603
35604 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
35605
35606 * file.h (grub_file): Likewise.
35607
35608 * fshelp.h (grub_fshelp_read_file): Likewise.
35609
35610 * util/i386/pc/grub-setup.c (setup): Likewise.
35611 (save_first_sector): Likewise.
35612 (save_blocklists): Likewise.
f19dbdb7 35613
9959f7db 35614 * fs/affs.c (grub_affs_read_file): Likewise.
35615
35616 * fs/ext2.c (grub_ext2_read_file): Likewise.
35617
35618 * fs/fat.c (grub_fat_read_data): Likewise.
35619
35620 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
35621
35622 * fs/hfs.c (grub_hfs_read_file): Likewise.
35623
35624 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
35625
35626 * fs/jfs.c (grub_jfs_read_file): Likewise.
35627
35628 * fs/minix.c (grub_minix_read_file): Likewise.
35629
35630 * fs/sfs.c (grub_sfs_read_file): Likewise.
35631
35632 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 35633
9959f7db 35634 * fs/xfs.c (grub_xfs_read_file): Likewise.
35635
35636 * command/blocklist.c (read_blocklist): Likewise.
35637 (print_blocklist): Likewise.
35638
0a203f83 356392007-08-02 Marco Gerards <marco@gnu.org>
35640
35641 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
35642 `util/hostfs.c'.
35643
35644 * disk/host.c: New file.
35645
35646 * util/hostfs.c: Likewise.
35647
35648 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
35649 return `GRUB_ERR_BAD_FS'.
35650 * fs/sfs.c (grub_sfs_mount): Likewise.
35651 * fs/xfs.c (grub_xfs_mount): Likewise.
35652
35653 * include/grub/disk.h (enum grub_disk_dev_id): Add
35654 `GRUB_DISK_DEVICE_HOST_ID'.
35655
35656 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
35657
e5dfe777 356582007-07-24 Jerone Young <jerone@gmail.com>
35659
f19dbdb7 35660 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 35661 modules for compilation.
35662 * conf/powerpc-ieee1275.rmk: Likewise.
35663
35664 * include/multiboot.h: Move multiboot definitions to one file. Rename
35665 many definitions to not get grub specific.
35666 * include/multiboot2.h: Create header with multiboot 2 definitions.
35667 * include/grub/multiboot.h: Header for grub specific function
35668 prototypes and definitions.
35669 * include/grub/multiboot2.h: Likewise.
35670 * include/grub/multiboot_loader.h: Likewise.
35671 * include/grub/i386/pc/multiboot.h: Removed.
35672 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
35673
35674 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
35675 and 2 to allow for one multiboot and module commands.
35676 * loader/multiboot2.c: Add multiboot2 functionality.
35677 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
35678 and definition names.
35679 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
35680 2 functions.
35681 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
35682 ieee1275 specific multiboot2 code.
35683
35684 * kern/i386/pc/startup.S: Change headers and definition names for
35685 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
35686
daf0f0ba 356872007-07-22 Robert Millan <rmh@aybabtu.com>
35688
35689 * geninitheader.sh: Process file specified in first parameter rather
35690 than hardcoding grub_modules_init.lst.
fe6b695a 35691 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 35692 than hardcoding grub_modules_init.h.
35693
35694 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
35695 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
35696 grub_probe_init.[ch] and grub_setup_init.[ch].
35697
35698 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
35699 grub_modules_init.h with grub_emu_init.h.
35700 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
35701 grub_probe_init.[ch] files.
35702 * conf/i386-efi.rmk: Likewise.
35703 * conf/i386-pc.rmk: Likewise.
35704 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
35705 grub_setup_init.[ch] files.
35706
35707 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
35708 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
35709 to initialize modules rather than a list of hardcoded functions.
35710 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
35711 grub_init_all() to initialize modules rather than a list of hardcoded
35712 functions.
35713
54cdc1cc 357142007-07-22 Robert Millan <rmh@aybabtu.com>
35715
35716 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
35717 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
35718
ad0686cc 357192007-07-22 Robert Millan <rmh@aybabtu.com>
35720
35721 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
35722 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
35723 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
35724 flag when running on SmartFirmware.
35725 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
35726 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
35727 was set.
35728
35729 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
35730 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
35731 rather than decreasing it.
35732
35733 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
35734 there's not enough space to do it, fail in the same way as when it
35735 can't be done because there are no partitions.
35736
35737 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
35738 when nvsetenv failed.
35739
969c02ec 357402007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
35741
35742 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
35743 because this rule is automatically generated.
35744 (grub-mkrescue): Removed for the same reason as above.
35745
5a79f472 357462007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
35747
35748 Migrate to GNU General Public License Version 3.
f19dbdb7 35749
5a79f472 35750 * COPYING: Replaced with the plain text version of GPLv3.
35751
35752 * config.guess: Updated from gnulib.
35753 * config.sub: Likewise.
35754
35755 * geninit.sh: Output a GPLv3 copyright notice.
35756 * geninitheader.sh: Likewise.
35757 * genmodsrc.sh: Likewise.
35758 * gensymlist.sh.in: Likewise.
35759
35760 * boot/i386/pc/boot.S: Upgraded to GPLv3.
35761 * boot/i386/pc/diskboot.S: Likewise.
35762 * boot/i386/pc/pxeboot.S: Likewise.
35763 * commands/blocklist.c: Likewise.
35764 * commands/boot.c: Likewise.
35765 * commands/cat.c: Likewise.
35766 * commands/cmp.c: Likewise.
35767 * commands/configfile.c: Likewise.
35768 * commands/echo.c: Likewise.
35769 * commands/help.c: Likewise.
35770 * commands/ls.c: Likewise.
35771 * commands/search.c: Likewise.
35772 * commands/terminal.c: Likewise.
35773 * commands/test.c: Likewise.
35774 * commands/videotest.c: Likewise.
35775 * commands/i386/cpuid.c: Likewise.
35776 * commands/i386/pc/halt.c: Likewise.
35777 * commands/i386/pc/play.c: Likewise.
35778 * commands/i386/pc/reboot.c: Likewise.
35779 * commands/i386/pc/vbeinfo.c: Likewise.
35780 * commands/i386/pc/vbetest.c: Likewise.
35781 * commands/ieee1275/halt.c: Likewise.
35782 * commands/ieee1275/reboot.c: Likewise.
35783 * commands/ieee1275/suspend.c: Likewise.
35784 * disk/loopback.c: Likewise.
35785 * disk/lvm.c: Likewise.
35786 * disk/raid.c: Likewise.
35787 * disk/efi/efidisk.c: Likewise.
35788 * disk/i386/pc/biosdisk.c: Likewise.
35789 * disk/ieee1275/ofdisk.c: Likewise.
35790 * font/manager.c: Likewise.
35791 * fs/affs.c: Likewise.
35792 * fs/ext2.c: Likewise.
35793 * fs/fat.c: Likewise.
35794 * fs/fshelp.c: Likewise.
35795 * fs/hfs.c: Likewise.
35796 * fs/hfsplus.c: Likewise.
35797 * fs/iso9660.c: Likewise.
35798 * fs/jfs.c: Likewise.
35799 * fs/minix.c: Likewise.
35800 * fs/sfs.c: Likewise.
35801 * fs/ufs.c: Likewise.
35802 * fs/xfs.c: Likewise.
35803 * hello/hello.c: Likewise.
35804 * include/grub/acorn_filecore.h: Likewise.
35805 * include/grub/arg.h: Likewise.
35806 * include/grub/bitmap.h: Likewise.
35807 * include/grub/boot.h: Likewise.
35808 * include/grub/cache.h: Likewise.
35809 * include/grub/device.h: Likewise.
35810 * include/grub/disk.h: Likewise.
35811 * include/grub/dl.h: Likewise.
35812 * include/grub/elfload.h: Likewise.
35813 * include/grub/env.h: Likewise.
35814 * include/grub/err.h: Likewise.
35815 * include/grub/file.h: Likewise.
35816 * include/grub/font.h: Likewise.
35817 * include/grub/fs.h: Likewise.
35818 * include/grub/fshelp.h: Likewise.
35819 * include/grub/gzio.h: Likewise.
35820 * include/grub/hfs.h: Likewise.
35821 * include/grub/kernel.h: Likewise.
35822 * include/grub/loader.h: Likewise.
35823 * include/grub/lvm.h: Likewise.
35824 * include/grub/misc.h: Likewise.
35825 * include/grub/mm.h: Likewise.
35826 * include/grub/net.h: Likewise.
35827 * include/grub/normal.h: Likewise.
35828 * include/grub/parser.h: Likewise.
35829 * include/grub/partition.h: Likewise.
35830 * include/grub/pc_partition.h: Likewise.
35831 * include/grub/raid.h: Likewise.
35832 * include/grub/rescue.h: Likewise.
35833 * include/grub/script.h: Likewise.
35834 * include/grub/setjmp.h: Likewise.
35835 * include/grub/symbol.h: Likewise.
35836 * include/grub/term.h: Likewise.
35837 * include/grub/terminfo.h: Likewise.
35838 * include/grub/tparm.h: Likewise.
35839 * include/grub/types.h: Likewise.
35840 * include/grub/video.h: Likewise.
35841 * include/grub/efi/api.h: Likewise.
35842 * include/grub/efi/chainloader.h: Likewise.
35843 * include/grub/efi/console.h: Likewise.
35844 * include/grub/efi/console_control.h: Likewise.
35845 * include/grub/efi/disk.h: Likewise.
35846 * include/grub/efi/efi.h: Likewise.
35847 * include/grub/efi/pe32.h: Likewise.
35848 * include/grub/efi/time.h: Likewise.
35849 * include/grub/i386/linux.h: Likewise.
35850 * include/grub/i386/setjmp.h: Likewise.
35851 * include/grub/i386/types.h: Likewise.
35852 * include/grub/i386/efi/kernel.h: Likewise.
35853 * include/grub/i386/efi/loader.h: Likewise.
35854 * include/grub/i386/efi/time.h: Likewise.
35855 * include/grub/i386/pc/biosdisk.h: Likewise.
35856 * include/grub/i386/pc/boot.h: Likewise.
35857 * include/grub/i386/pc/chainloader.h: Likewise.
35858 * include/grub/i386/pc/console.h: Likewise.
35859 * include/grub/i386/pc/init.h: Likewise.
35860 * include/grub/i386/pc/kernel.h: Likewise.
35861 * include/grub/i386/pc/loader.h: Likewise.
35862 * include/grub/i386/pc/memory.h: Likewise.
35863 * include/grub/i386/pc/multiboot.h: Likewise.
35864 * include/grub/i386/pc/serial.h: Likewise.
35865 * include/grub/i386/pc/time.h: Likewise.
35866 * include/grub/i386/pc/vbe.h: Likewise.
35867 * include/grub/i386/pc/vbeblit.h: Likewise.
35868 * include/grub/i386/pc/vbefill.h: Likewise.
35869 * include/grub/i386/pc/vbeutil.h: Likewise.
35870 * include/grub/i386/pc/vga.h: Likewise.
35871 * include/grub/ieee1275/ieee1275.h: Likewise.
35872 * include/grub/ieee1275/ofdisk.h: Likewise.
35873 * include/grub/powerpc/libgcc.h: Likewise.
35874 * include/grub/powerpc/setjmp.h: Likewise.
35875 * include/grub/powerpc/types.h: Likewise.
35876 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
35877 * include/grub/powerpc/ieee1275/console.h: Likewise.
35878 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
35879 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
35880 * include/grub/powerpc/ieee1275/loader.h: Likewise.
35881 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
35882 * include/grub/powerpc/ieee1275/time.h: Likewise.
35883 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
35884 * include/grub/sparc64/libgcc.h: Likewise.
35885 * include/grub/sparc64/setjmp.h: Likewise.
35886 * include/grub/sparc64/types.h: Likewise.
35887 * include/grub/sparc64/ieee1275/console.h: Likewise.
35888 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
35889 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
35890 * include/grub/sparc64/ieee1275/time.h: Likewise.
35891 * include/grub/util/biosdisk.h: Likewise.
35892 * include/grub/util/getroot.h: Likewise.
35893 * include/grub/util/lvm.h: Likewise.
35894 * include/grub/util/misc.h: Likewise.
35895 * include/grub/util/raid.h: Likewise.
35896 * include/grub/util/resolve.h: Likewise.
35897 * io/gzio.c: Likewise.
35898 * kern/device.c: Likewise.
35899 * kern/disk.c: Likewise.
35900 * kern/dl.c: Likewise.
35901 * kern/elf.c: Likewise.
35902 * kern/env.c: Likewise.
35903 * kern/err.c: Likewise.
35904 * kern/file.c: Likewise.
35905 * kern/fs.c: Likewise.
35906 * kern/loader.c: Likewise.
35907 * kern/main.c: Likewise.
35908 * kern/misc.c: Likewise.
35909 * kern/mm.c: Likewise.
35910 * kern/parser.c: Likewise.
35911 * kern/partition.c: Likewise.
35912 * kern/rescue.c: Likewise.
35913 * kern/term.c: Likewise.
35914 * kern/efi/efi.c: Likewise.
35915 * kern/efi/init.c: Likewise.
35916 * kern/efi/mm.c: Likewise.
35917 * kern/i386/dl.c: Likewise.
35918 * kern/i386/efi/init.c: Likewise.
35919 * kern/i386/efi/startup.S: Likewise.
35920 * kern/i386/pc/init.c: Likewise.
35921 * kern/i386/pc/lzo1x.S: Likewise.
35922 * kern/i386/pc/startup.S: Likewise.
35923 * kern/ieee1275/ieee1275.c: Likewise.
35924 * kern/powerpc/cache.S: Likewise.
35925 * kern/powerpc/dl.c: Likewise.
35926 * kern/powerpc/ieee1275/cmain.c: Likewise.
35927 * kern/powerpc/ieee1275/crt0.S: Likewise.
35928 * kern/powerpc/ieee1275/init.c: Likewise.
35929 * kern/powerpc/ieee1275/openfw.c: Likewise.
35930 * kern/sparc64/cache.S: Likewise.
35931 * kern/sparc64/dl.c: Likewise.
35932 * kern/sparc64/ieee1275/init.c: Likewise.
35933 * kern/sparc64/ieee1275/openfw.c: Likewise.
35934 * loader/efi/chainloader.c: Likewise.
35935 * loader/efi/chainloader_normal.c: Likewise.
35936 * loader/i386/efi/linux.c: Likewise.
35937 * loader/i386/efi/linux_normal.c: Likewise.
35938 * loader/i386/pc/chainloader.c: Likewise.
35939 * loader/i386/pc/chainloader_normal.c: Likewise.
35940 * loader/i386/pc/linux.c: Likewise.
35941 * loader/i386/pc/linux_normal.c: Likewise.
35942 * loader/i386/pc/multiboot.c: Likewise.
35943 * loader/i386/pc/multiboot_normal.c: Likewise.
35944 * loader/powerpc/ieee1275/linux.c: Likewise.
35945 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
35946 * normal/arg.c: Likewise.
35947 * normal/cmdline.c: Likewise.
35948 * normal/command.c: Likewise.
35949 * normal/completion.c: Likewise.
35950 * normal/execute.c: Likewise.
35951 * normal/function.c: Likewise.
35952 * normal/lexer.c: Likewise.
35953 * normal/main.c: Likewise.
35954 * normal/menu.c: Likewise.
35955 * normal/menu_entry.c: Likewise.
35956 * normal/misc.c: Likewise.
35957 * normal/parser.y: Likewise.
35958 * normal/script.c: Likewise.
35959 * normal/i386/setjmp.S: Likewise.
35960 * normal/powerpc/setjmp.S: Likewise.
35961 * normal/sparc64/setjmp.S: Likewise.
35962 * partmap/acorn.c: Likewise.
35963 * partmap/amiga.c: Likewise.
35964 * partmap/apple.c: Likewise.
35965 * partmap/gpt.c: Likewise.
35966 * partmap/pc.c: Likewise.
35967 * partmap/sun.c: Likewise.
35968 * term/gfxterm.c: Likewise.
35969 * term/terminfo.c: Likewise.
35970 * term/efi/console.c: Likewise.
35971 * term/i386/pc/console.c: Likewise.
35972 * term/i386/pc/serial.c: Likewise.
35973 * term/i386/pc/vesafb.c: Likewise.
35974 * term/i386/pc/vga.c: Likewise.
35975 * term/ieee1275/ofconsole.c: Likewise.
35976 * util/biosdisk.c: Likewise.
35977 * util/console.c: Likewise.
35978 * util/genmoddep.c: Likewise.
35979 * util/getroot.c: Likewise.
35980 * util/grub-emu.c: Likewise.
35981 * util/grub-mkdevicemap.c: Likewise.
35982 * util/grub-probe.c: Likewise.
35983 * util/lvm.c: Likewise.
35984 * util/misc.c: Likewise.
35985 * util/raid.c: Likewise.
35986 * util/resolve.c: Likewise.
35987 * util/update-grub.in: Likewise.
35988 * util/update-grub_lib.in: Likewise.
35989 * util/grub.d/00_header.in: Likewise.
35990 * util/grub.d/10_hurd.in: Likewise.
35991 * util/grub.d/10_linux.in: Likewise.
35992 * util/i386/efi/grub-install.in: Likewise.
35993 * util/i386/efi/grub-mkimage.c: Likewise.
35994 * util/i386/pc/grub-install.in: Likewise.
35995 * util/i386/pc/grub-mkimage.c: Likewise.
35996 * util/i386/pc/grub-mkrescue.in: Likewise.
35997 * util/i386/pc/grub-setup.c: Likewise.
35998 * util/i386/pc/misc.c: Likewise.
35999 * util/powerpc/ieee1275/grub-install.in: Likewise.
36000 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
36001 * util/powerpc/ieee1275/misc.c: Likewise.
36002 * video/bitmap.c: Likewise.
36003 * video/video.c: Likewise.
36004 * video/i386/pc/vbe.c: Likewise.
36005 * video/i386/pc/vbeblit.c: Likewise.
36006 * video/i386/pc/vbefill.c: Likewise.
36007 * video/i386/pc/vbeutil.c: Likewise.
36008 * video/readers/tga.c: Likewise.
36009
3572d015 360102007-07-02 Robert Millan <rmh@aybabtu.com>
36011
36012 * conf/i386-efi.rmk: Replace obsolete reference to
36013 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
36014 with util/getroot.c.
36015 * conf/powerpc-ieee1275.rmk: Likewise.
36016 * conf/sparc64-ieee1275.rmk: Likewise.
36017
36018 * util/grub-emu.c (main): Fix unchecked pointer handling.
36019
2c2a681b 360202007-07-02 Robert Millan <rmh@aybabtu.com>
36021
36022 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
36023 invocation to fail, in order to support partition-less media.
36024
36025 * util/i386/pc/grub-install.in: Likewise.
36026
36027 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
36028 which fs or partmap modules are needed (akin to its sister scripts).
36029
36030 Also use grub-probe to get rid of unportable /proc/mounts check.
36031
36032 Print the same informational message that the other scripts do, before
fe6b695a 36033 exiting.
2c2a681b 36034
6193defe 360352007-06-23 Robert Millan <rmh@aybabtu.com>
36036
fe6b695a 36037 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 36038 a font file can be found and, if so, echo the GRUB path to it.
36039
36040 * util/update-grub.in: Handle multiple terminals depending on user
36041 input, platform availability and font file presence. Propagate
36042 variables of our findings to /etc/grub.d/ children.
36043
36044 * util/grub.d/00_header.in: Handle multiple terminals, based on
36045 environment setup by update-grub.
36046
eface1dc 360472007-06-23 Robert Millan <rmh@aybabtu.com>
36048
ba50d28f 36049 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 36050
bf697e28 360512007-06-21 Robert Millan <rmh@aybabtu.com>
36052
36053 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
36054 indicate end of data section in kernel image.
36055 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
36056 GRUB_KERNEL_MACHINE_DATA_END.
36057
36058 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
36059 space for it.
36060 * kern/i386/efi/startup.S: Likewise.
36061
36062 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
36063 during image generation. Implement --prefix option to override this
36064 patch.
36065 * util/i386/efi/grub-mkimage.c: Likewise.
36066
36067 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
36068 code to make path relative to its root into a separate function.
36069
36070 * util/i386/pc/grub-install.in: Use newly provided
36071 make_system_path_relative_to_its_root() to convert ${grubdir}, then
36072 pass the result to grub-install --prefix.
36073
baa574b4 360742007-06-13 Robert Millan <rmh@aybabtu.com>
36075
36076 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
36077 DEFAULT_DEVICE_MAP.
36078 * util/grub-emu.c: Use above definitions from misc.h instead of
36079 defining them.
36080 * util/grub-mkdevicemap.c: Likewise.
36081 * util/i386/pc/grub-setup.c: Likewise.
36082 * util/grub-probe.c: Likewise.
36083 (probe): Abort with grub_util_error() when either
36084 grub_guess_root_device or grub_util_get_grub_dev fails.
36085
0215dcbf 360862007-06-12 Robert Millan <rmh@aybabtu.com>
36087
36088 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
36089 "pager" assignment.
36090 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
36091 "pcdata".
36092 * util/grub-probe.c (probe): Likewise for "drive_name".
36093
8af2ab7b 360942007-06-11 Robert Millan <rmh@aybabtu.com>
36095
36096 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
36097 not just the cdrom one.
36098
59d31694 360992007-06-11 Robert Millan <rmh@aybabtu.com>
36100
36101 * util/i386/pc/grub-mkrescue.in: Add "set -e".
36102 Add --pkglibdir=DIR option to override pkglibdir.
36103 Mention --image-type=TYPE in help output.
36104 Fix --grub-mkimage (it was a no-op).
fe6b695a 36105 Abort gracefully when no parameter is given.
59d31694 36106
7ee367e4 361072007-06-11 Robert Millan <rmh@aybabtu.com>
36108
36109 * util/i386/pc/grub-mkrescue.in: New file.
36110 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
36111 * Makefile.in: Handle bin_SCRIPTS.
36112
29b0ed46 361132007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
36114
36115 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
36116 list of video modes.
36117
c0f90770 361182007-06-06 Robert Millan <rmh@aybabtu.com>
36119
36120 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
36121 file doesn't exist, or if it is in a filesystem grub can't read.
36122
36123 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
36124 not abort if GRUB_DRIVE could not be defined. Rearrange generated
36125 header comment to fit in 80 columns when the variables are resolved.
36126
36127 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
36128 could be identified by update-grub. Remove redundant check for
fe6b695a 36129 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 36130 handles that).
36131
fb36dc26 361322007-06-04 Robert Millan <rmh@aybabtu.com>
36133
36134 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
36135
36136 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
36137
36138 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
36139
0c68c93e 361402007-06-04 Robert Millan <rmh@aybabtu.com>
36141
36142 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
36143
36144 * include/grub/partition.h: Declare grub_apple_partition_map_init and
36145 grub_apple_partition_map_fini.
36146
36147 * util/biosdisk.c
36148 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
36149 to access >2 TiB disks).
36150
36151 Print disk->total_sectors with %llu instead of %lu, since this
36152 variable is always 64-bit (prevents wrong disk size from being displayed
36153 on either >2 TiB disk or big-endian CPU).
36154
36155 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
36156 into a generic case that supports all (sane) partition maps.
36157
36158 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
36159 breaks big-endian.
36160
36161 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
36162 and grub_apple_partition_map_fini() after that.
36163
0f23eb74 361642007-06-01 Robert Millan <rmh@aybabtu.com>
36165
36166 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
36167
36168 * util/grub.d/00_header.in: Only enable gfxterm when
36169 convert_system_path_to_grub_path() succeeds.
36170
42c71976 361712007-05-20 Robert Millan <rmh@aybabtu.com>
36172
36173 * util/update-grub_lib.in: New file.
36174 * DISTLIST: Add update-grub_lib.in.
36175 * conf/common.rmk: Generate update-grub_lib and install it in
36176 $(lib_DATA).
36177 * Makefile.in: Add install routine for $(lib_DATA).
36178
36179 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
36180 function provided by update-grub_lib to support arbitrary paths of
36181 unifont.pff.
36182 * util/update-grub.in: Use convert_system_path_to_grub_path() to
36183 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
36184
5beb2291 361852007-05-19 Robert Millan <rmh@aybabtu.com>
36186
36187 * commands/i386/cpuid.c: New module.
36188 * DISTLIST: Add it.
36189 * conf/i386-efi.rmk: Enable cpuid.mod.
36190 * conf/i386-pc.rmk: Likewise.
36191
7262eca1 361922007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
36193
36194 * kern/disk.c (grub_disk_read): Check return value of
36195 grub_realloc().
36196
260ba823 361972007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
36198
36199 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
36200 arrays.
36201 * disk/raid.c (grub_raid_open): Likewise.
36202
1ecb6cf2 362032007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
36204
36205 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
36206 stack instead of on the heap.
36207
36208 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
36209 before doing a read on it.
36210
36211 * configure.ac: Only use -fno-stack-protector for the target
36212 environment.
f19dbdb7 36213
21c8cbb1 362142007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
36215
36216 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
36217 __attribute_ ((unused)) to mode_type argument.
36218
36219 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 36220
21c8cbb1 36221 * kern/misc.c (memcmp): Fix prototype.
36222
36223 * include/grub/partition.h [GRUB_UTIL]
36224 (grub_gpt_partition_map_init): Add prototype.
36225 (grub_gpt_partition_map_fini): Likewise.
36226
36227 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
36228 at the right place.
36229
36230 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
36231 (grub_fat_read_data): Likewise.
36232 (grub_fat_find_dir): Likewise.
36233
36234 * font/manager.c (find_glyph): Make table a const.
36235 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 36236
849d55d3 362372007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
36238
36239 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
36240 code, first search for device in /dev/mapper, then in /dev.
36241 (grub_util_get_grub_dev): New function.
36242 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
36243 prototype.
36244 * util/grub-probe.c (probe): Remove check for RAID, call
36245 grub_util_get_grub_dev() instead of
36246 grub_util_biosdisk_get_grub_dev().
36247 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
36248 grub_util_biosdisk_get_grub_dev().
36249 * util/i386/pc/grub-setup.c (main): Likewise.
36250
8fff7c2f 362512007-05-16 Robert Millan <rmh@aybabtu.com>
36252
36253 * DISTLIST: Update for the latest changes.
36254 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
36255 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
36256 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
36257 grub/util/biosdisk.h.
36258 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
36259 grub/util/biosdisk.h.
36260
48e12b52 362612007-05-16 Robert Millan <rmh@aybabtu.com>
36262
36263 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
36264
46b9d128 362652007-05-16 Robert Millan <rmh@aybabtu.com>
36266
36267 * util/i386/efi/grub-install.in: New.
36268 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
36269 newly added grub-install.
36270 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
36271 include.
36272 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
36273 grub/util/biosdisk.h.
36274 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
36275 grub/util/biosdisk.h.
36276
2d1a40a9 362772007-05-16 Robert Millan <rmh@aybabtu.com>
36278
36279 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
36280 * include/grub/util/biosdisk.h: ... here.
36281 * util/i386/pc/biosdisk.c: Moved to ...
36282 * util/biosdisk.c: ... here.
36283 * util/i386/pc/getroot.c: Moved to ...
36284 * util/getroot.c: ... here.
36285 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
36286 * util/grub-mkdevicemap.c: ... here.
36287 * util/i386/pc/grub-probe.c: Moved to ...
36288 * util/grub-probe.c: ... here.
36289
9e26e3bc 362902007-05-15 Robert Millan <rmh@aybabtu.com>
36291
36292 * util/update-grub.in: Remove duplicated line in grub.cfg header
36293 message.
36294
57f96397 362952007-05-13 Robert Millan <rmh@aybabtu.com>
36296
36297 * util/update-grub.in: Fix a few assumptions about the devices holding
36298 /, /boot and /boot/grub being the same.
36299 * util/grub.d/00_header.in: Likewise.
36300 * util/grub.d/10_hurd.in: Likewise.
36301 * util/grub.d/10_linux.in: Likewise.
36302
36303 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
36304 patterns. Use that to define the `.old' suffix as older than `'.
36305
36306 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
36307
36308 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
36309 the grub.cfg header message.
36310
2e610d62 363112007-05-11 Robert Millan <rmh@aybabtu.com>
36312
36313 * util/update-grub.in: Create device.map if it doesn't already exist,
36314 before attempting to run grub-probe.
36315 Check for grub-probe and grub-mkdevicemap with the same code
36316 grub-install is using.
36317 Remove test mode.
36318
3f6a10ef 363192007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
36320
36321 * Makefile.in: Add the datarootdir autoconf variable.
36322
02e7b75e 363232007-05-09 Robert Millan <rmh@aybabtu.com>
36324
36325 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 36326 fail gracefully if dev->disk->partition == NULL.
02e7b75e 36327
75f396cc 363282007-05-07 Robert Millan <rmh@aybabtu.com>
36329
36330 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
36331 determine partition map module.
36332 * util/i386/pc/grub-install.in: Use this feature to decide which
36333 partition module to load, instead of hardcoding pc and gpt.
36334
da65cb36 363352007-05-07 Robert Millan <rmh@aybabtu.com>
36336
36337 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
36338 source directory differs from build directory.
36339
b57d6a91 363402007-05-05 Robert Millan <rmh@aybabtu.com>
36341
36342 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
36343 initialisation.
36344
509d00f1 363452007-05-05 Robert Millan <rmh@aybabtu.com>
36346
36347 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
36348
c48f23ef 363492007-05-05 Robert Millan <rmh@aybabtu.com>
36350
36351 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
36352 command-line arguments via ${GRUB_CMDLINE_LINUX}.
36353
20b97658 363542007-05-05 Robert Millan <rmh@aybabtu.com>
36355
36356 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
36357 (grub_probe_SOURCES): Likewise.
36358 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
36359 GPT and initialize dos_part and bsd_part accordingly.
36360 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
36361 install_bsd_part.
36362 (main): Activate gpt module for use during partition identification,
36363 and deactivate it afterwards.
36364 * util/i386/pc/grub-install.in: Add gpt module to core.img.
36365 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
36366 partition identification, and deactivate it afterwards.
36367
99123174 363682007-05-05 Robert Millan <rmh@aybabtu.com>
36369
36370 * term/i386/pc/console.c (grub_console_fini): Call
36371 grub_term_set_current() before grub_term_unregister().
36372
ebd97f6e 363732007-05-04 Robert Millan <rmh@aybabtu.com>
36374
36375 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
36376 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
36377 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
36378 and update-grub_DATA.
36379 * conf/common.rmk: Build and install update-grub components.
36380 * conf/common.mk: Regenerate.
36381 * util/update-grub.in: New. Core of update-grub.
36382 * util/grub.d/00_header.in: New. Generates grub.cfg header.
36383 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
36384 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
36385 * util/grub.d/README: New. Document grub.d directory layout.
36386
b06a264d 363872007-05-01 Robert Millan <rmh@aybabtu.com>
36388
36389 * util/grub-emu.c: Move initialization functions
36390 grub_util_biosdisk_init() and grub_init_all() before
36391 grub_util_biosdisk_get_grub_dev(), which relies on them.
36392
41f0050e 363932007-04-19 Robert Millan <rmh@aybabtu.com>
36394
36395 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
36396 it is used later.
36397
04582bb3 363982007-04-18 Jerone Young <jerone@gmail.com>
36399
f19dbdb7 36400 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 36401 stanza.
36402
08db4632 364032007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 36404
08db4632 36405 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
36406 continue on and look for device node with real device name.
36407
801b76be 364082007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 36409
fe6b695a 36410 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 36411 ability.
36412 * Makefile.in: Add autoconf package transformation code.
36413 * util/i386/pc/grub-install.in: Likewise.
36414 * util/powerpc/ieee1275/grub-install.in: Likewise.
36415
6795c4e1 364162007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
36417
36418 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
36419 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
36420 (EXT2_REVISION): Likewise.
36421 (EXT2_INODE_SIZE): Likewise.
36422 (struct grub_ext2_block_group): Added a missing member
36423 "used_dirs".
36424 (grub_ext2_read_inode): Divide by the inode size in a superblock
36425 instead of 128 to obtain INODES_PER_BLOCK.
36426 Use the macro EXT2_INODE_SIZE instead of directly using
36427 SBLOCK->INODE_SIZE.
36428
d70af616 364292007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
36430
36431 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
36432 superblock instead of the structure size to compute an
36433 offset. This fixes the problem that GRUB could not read a
36434 filesystem when inode size is different from 128-byte.
36435
3b801603 364362007-03-05 Marco Gerards <marco@gnu.org>
36437
36438 * normal/main.c (read_config_file): When "menu" is not set, create
36439 an initial context.
36440
4785bfe4 364412007-02-21 Hollis Blanchard <hollis@penguinppc.org>
36442
36443 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
36444 (HEAP_LIMIT): New macro.
36445 (grub_claim_heap): Claim memory up to `heaplimit'.
36446
a0cbb023 364472007-02-21 Hollis Blanchard <hollis@penguinppc.org>
36448
36449 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
36450 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
36451 (_start): Likewise.
36452 (grub_arch_modules_addr): Return address after `_end'.
36453 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
36454 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
36455 (add_segments): Calculate `_end' from phdr size and location.
36456 (ALIGN_UP): Moved to ...
36457 * include/grub/misc.h: here.
36458 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
36459 New macro.
36460 (GRUB_IEEE1275_MODULE_BASE): Removed.
36461
fd7d8eba 364622007-02-20 Hollis Blanchard <hollis@penguinppc.org>
36463
36464 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
36465 loop boundary.
36466
9b09e6fc 364672007-02-20 Hollis Blanchard <hollis@penguinppc.org>
36468
36469 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
36470 All users updated.
36471 (grub_elf64_load_hook_t): Likewise.
36472 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
36473 debug output.
36474
3ce27299 364752007-02-20 Hollis Blanchard <hollis@penguinppc.org>
36476
36477 * kern/mm.c: Update copyright.
36478 (grub_mm_debug): Correct syntax error.
36479 (grub_mm_dump_free): New function.
36480 (grub_debug_free): Call `grub_free'.
36481 * include/grub/mm.h: Update copyright.
36482 (grub_mm_dump_free): Add declaration.
36483
077d5fee 364842007-02-12 Hollis Blanchard <hollis@penguinppc.org>
36485
36486 * include/grub/ieee1275/ieee1275.h: Update copyright.
36487 * kern/powerpc/ieee1275/init.c: Likewise.
36488 * kern/powerpc/ieee1275/openfw.c: Likewise.
36489
36490 * loader/powerpc/ieee1275/linux.c: Likewise.
36491 * include/grub/elfload.h: Likewise.
36492 * kern/elf.c: Likewise.
36493 (grub_elf32_load): Pass `base' and `size' parameters. Update all
36494 callers.
36495 (grub_elf64_load): Likewise.
36496 (grub_elf32_load_segment): Move to a nested function.
36497 (grub_elf64_load_segment): Likewise.
36498
dc946850 364992007-02-12 Hollis Blanchard <hollis@penguinppc.org>
36500
36501 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
36502 prototype.
36503 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
36504 (grub_heap_len): Likewise.
36505 (HEAP_SIZE): New macro.
36506 (grub_claim_heap): New function.
36507 (grub_machine_init): Don't claim heap directly. Call
36508 `grub_claim_heap'.
36509 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
36510 (grub_available_iterate): New function.
36511
baa2a121 365122007-02-03 Thomas Schwinge <tschwinge@gnu.org>
36513
36514 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
36515 * configure.ac: Use it for testing the HOST and TARGET compilers.
36516
4fe9862e 365172006-12-13 Thomas Schwinge <tschwinge@gnu.org>
36518
36519 * Makefile.in (enable_grub_emu): New variable.
36520 * configure.ac (--enable-grub-emu): New option.
36521 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
36522 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
36523 * conf/i386-pc.rmk: Likewise.
36524 * conf/powerpc-ieee1275.rmk: Likewise.
36525 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
36526
a8aa5762 365272006-12-12 Marco Gerards <marco@gnu.org>
36528
36529 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
36530
36531 * kern/env.c (grub_env_unset): Don't free the member `value' when
36532 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
36533 pointer.
36534
36535 * normal/main.c (current_menu): Removed.
36536 (free_menu): Unset the `menu' environment variable.
36537 (grub_normal_menu_addentry): Make use of the environment variable
36538 `menu', instead of using the global `current_menu'. Allocate
36539 memory for the sourcecode of this entry.
36540 (read_config_file): New argument `nested', changed all callers.
36541 Only in the case of a new context, initialize a new menu. Set the
36542 `menu' environment variable.
36543 (grub_normal_execute): Don't set and unset the environment
36544 variable `menu' here anymore. Only free the menu when leaving the
36545 context.
36546
36547 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
36548 leak.
36549
957b3a3e 365502006-12-11 Marco Gerards <marco@gnu.org>
36551
36552 * normal/menu_entry.c (run): Fix off by one bug so the last line
36553 is executed. Move the loader check to outside the loop.
36554
ef875714 365552006-12-08 Hollis Blanchard <hollis@penguinppc.org>
36556
36557 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
36558
4e739985 365592006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
36560
36561 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
36562 the number of sectors. Reported by Andrey Shuvikov
36563 <mr_hyro@yahoo.com>.
f19dbdb7 36564
790707f2 365652006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
36566
36567 * kern/disk.c (grub_disk_read): When there is a read error, always
36568 try to read only the necessary data.
f19dbdb7 36569
790707f2 36570 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
36571 disk/raid.c.
36572 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
36573 prototype.
36574 [GRUB_UTIL] (grub_raid_fini): Likewise.
36575 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 36576 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 36577 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
36578 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
36579 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
36580 and grub_raid_fini().
f19dbdb7 36581
03e58196 365822006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
36583
36584 * include/grub/types.h (__unused): Rename to UNUSED.
36585 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
36586 (grub_elf64_size): Likewise.
f19dbdb7 36587
ae4f23bf 365882006-11-03 Hollis Blanchard <hollis@penguinppc.org>
36589
36590 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
36591 grub_error_push and grub_error_pop in the error-handling path.
36592 (grub_elf32_load_segment): Only call grub_file_read with non-zero
36593 length.
36594
2166cc83 365952006-11-03 Hollis Blanchard <hollis@penguinppc.org>
36596
36597 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
36598 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36599 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36600 (kernel_elf_SOURCES): Likewise.
36601 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
36602 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
36603 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
36604 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
36605 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
36606 (elf_mod_SOURCES): New variable.
36607 (elf_mod_CFLAGS): Likewise.
36608 (elf_mod_LDFLAGS): Likewise.
36609 * include/grub/types.h (__unused): New macro.
36610 * include/grub/elfload.h: New file.
36611 * kern/elf.c: Likewise.
36612 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
36613 (ELF32_LOADMASK): New macro.
36614 (ELF64_LOADMASK): Likewise.
36615 (vmlinux): Removed.
36616 (grub_linux_load32): New function.
36617 (grub_linux_load64): Likewise.
36618 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
36619 Use grub_elf_t instead of grub_file_t.
36620
a09d5aa5 366212006-11-02 Hollis Blanchard <hollis@penguinppc.org>
36622
36623 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
36624 `catch_result' to struct set_color_args.
36625
d976fc51 366262006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
36627
36628 * normal/menu.c: Include grub/script.h.
36629 * normal/menu_entry.c: Likewise.
36630 * include/grub/normal.h: Do not include grub/script.h.
36631
67507549 366322006-10-27 Hollis Blanchard <hollis@penguinppc.org>
36633
36634 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
36635
69203a99 366362006-10-27 Hollis Blanchard <hollis@penguinppc.org>
36637
36638 * kern/disk.c (grub_disk_open): Print debug messages when opening a
36639 disk.
36640 (grub_disk_close): Print debug messages when closing a disk.
36641 (grub_disk_read): Print debug messages when disk read fails.
36642 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
36643 filesystem type.
36644 * kern/partition.c: Include misc.h.
36645 (grub_partition_iterate): Print debug messages when detecting
36646 partition type.
36647
e2b8278c 366482006-10-27 Hollis Blanchard <hollis@penguinppc.org>
36649
36650 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
36651 is negative.
36652 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
36653
97b2f2ff 366542006-10-26 Hollis Blanchard <hollis@penguinppc.org>
36655
36656 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
36657 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
36658
6555d655 366592006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
36660
36661 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
36662 instead of sizeof(lv). Patch by Michael Guntsche.
36663
4d42b77f 366642006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
36665
36666 * disk/lvm.c: Rename VGS to VG_LIST.
36667 (grub_lvm_iterate): Change VGS->LV to VG-LV.
36668 (grub_lvm_open): Likewise.
36669 Thanks to Michael Guntsche for finding this bug.
36670
5d74d927 366712006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36672
36673 * configure.ac (AC_INIT): Bumped to 1.95.
36674
a1bb27e4 366752006-10-14 Robert Millan <rmh@aybabtu.com>
36676
36677 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
36678 with "/dev/.static/dev/md".
36679
e0994b8b 366802006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
36681
36682 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
36683 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
36684 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
36685 DRIVE_NAME are always freed.
36686
36687 * util/i386/pc/biosdisk.c (make_device_name): Add one into
36688 DOS_PART, as a DOS partition is counted from one instead of zero
36689 now. Reported by Robert Millan.
36690
ddd5cee9 366912006-10-14 Robert Millan <rmh@aybabtu.com>
36692
36693 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
36694 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
36695 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
36696 string returned by grub_guess_root_device.
36697 * util/i386/pc/grub-setup.c: Likewise.
36698 * util/i386/pc/grub-probefs.c: Likewise.
36699
36700 * util/i386/pc/grub-probefs.c: Rename to ...
36701 * util/i386/pc/grub-probe.c: ... this.
36702 * DISTLIST: Remove grub-probefs, add grub-probe.
36703 * conf/i386-efi.rmk: Likewise.
36704 * conf/i386-pc.rmk: Likewise.
36705 * util/i386/pc/grub-install.in: Likewise.
36706
36707 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
36708 choose which information we want to print.
36709
2b002173 367102006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
36711
36712 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
36713 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
36714 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
36715 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
36716 video/readers/tga.c and video/i386/pc/vbeutil.c.
36717
367182006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
36719
36720 Added support for RAID and LVM.
f19dbdb7 36721
2b002173 36722 * disk/lvm.c: New file.
36723 * disk/raid.c: Likewise.
36724 * include/grub/lvm.h: Likewise.
f19dbdb7 36725 * include/grub/raid.h: Likewise.
2b002173 36726 * include/grub/util/lvm.h: Likewise.
36727 * include/grub/util/raid.h: Likewise.
36728 * util/lvm.c: Likewise.
36729 * util/raid.c: Likewise.
36730
36731 * include/grub/disk.h (grub_disk_dev_id): Add
36732 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
36733 (grub_disk_get_size): New prototype.
36734 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
36735 returns a partition.
36736 (grub_disk_get_size): New function.
f19dbdb7 36737
2b002173 36738 * kern/i386/pc/init.c (make_install_device): Copy the prefix
36739 verbatim if grub_install_dos_part is -2.
36740
36741 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
36742 and LVM devices.
36743
36744 * util/i386/pc/grub-setup.c (setup): New argument
36745 MUST_EMBED. Force embedding of GRUB when the argument is
36746 true. Close FILE before returning.
36747 (main): Add support for RAID and LVM.
f19dbdb7 36748
2b002173 36749 * conf/common.rmk: Add RAID and LVM modules.
36750 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
36751 util/lvm.c.
36752 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
36753
36754 * kern/misc.c (grub_strstr): New function.
36755 * include/grub/misc.h (grub_strstr): New prototype.
36756
050548d0 367572006-10-10 Tristan Gingold <tristan.gingold@bull.net>
36758
36759 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
36760
da849d2d 367612006-10-05 Tristan Gingold <tristan.gingold@bull.net>
36762
36763 * kern/misc.c (grub_strtoull): Guess the base only if not
36764 specified.
36765
97b2f2ff 367662006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 36767
36768 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
36769 PowerMac support.
36770
97b2f2ff 367712006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 36772
36773 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
36774
36775 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
36776 Remove `flags' argument. All callers changed.
36777 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
36778 (IEEE1275_IHANDLE_INVALID): New variable.
36779 (IEEE1275_CELL_INVALID): New variable.
36780 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
36781 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
36782 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
36783 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
36784 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
36785 codes from Open Firmware. All callers updated.
36786 (grub_ieee1275_next_property): Directly return Open Firmware return
36787 code.
36788 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
36789 Standardize error checking from `grub_ieee1275_get_property'.
36790 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
36791 `devalias' to `aliases'. Correct comments. Consolidate error paths.
36792
97b2f2ff 367932006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 36794
36795 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
36796 `instance_to_package_args' to `instance_to_path_args'.
36797
36798 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
36799 `grub_ieee1275_chosen'.
36800
36801 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
36802 `grub_ieee1275_interpret'.
36803
97b2f2ff 368042006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 36805
36806 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
36807
97b2f2ff 368082006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 36809
36810 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
36811 (__cmpdi): Likewise.
36812
36813 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
36814 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
36815 `grub_ssize_t'.
36816
02bb8acc 36817 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 36818
36819 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
36820 to type `grub_ssize_t'.
36821 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
36822
7f9a8531 368232006-09-22 Marco Gerards <marco@gnu.org>
36824
36825 * normal/script.c (grub_script_create_cmdmenu): Skip leading
36826 newlines.
36827
b5ef1102 368282006-09-22 Marco Gerards <marco@gnu.org>
36829
36830 * commands/echo.c: New file.
36831
36832 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
36833
36834 * conf/common.rmk (echo_mod_SOURCES): New variable.
36835 (echo_mod_CFLAGS): Likewise.
36836 (echo_mod_LDFLAGS): Likewise.
36837
2cff3677 368382006-09-22 Marco Gerards <marco@gnu.org>
36839
36840 * normal/main.c (get_line): Malloc memory instead of using
36841 preallocated memory. Removed the arguments `cmdline' and
36842 `max_len'. Updated all callers.
36843
6ba4688b 368442006-09-22 Marco Gerards <marco@gnu.org>
36845
36846 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
36847 (normal_mod_DEPENDENCIES): Likewise.
36848
36849 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
36850 (normal_mod_DEPENDENCIES): Likewise.
36851
36852 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
36853
e02ac02c 368542006-09-22 Johan Rydberg <jrydberg@gnu.org>
36855
36856 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
36857 programs.
36858 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
36859 (normal_mod_DEPENDENCIES): Likewise.
36860 * conf/i386-pc.mk: Regenerate.
36861 * conf/i386-efi.mk: Likewise
36862 * conf/common.mk: Likewise.
36863 * conf/powerpc-ieee1275.mk: Likewise.
36864 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 36865
8d252e44 368662006-09-22 Robert Millan <rmh@aybabtu.com>
36867
36868 Sync with i386 version.
36869 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
36870 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
36871
209bf7ac 368722006-09-21 Robert Millan <rmh@aybabtu.com>
36873
36874 Import from GRUB Legacy (lib/device.c):
36875 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
36876 (init_device_map) [__linux__]: Add support for I2O devices.
36877
6b146090 368782006-09-14 Marco Gerards <marco@gnu.org>
36879
36880 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
36881 `-melf_i386'.
36882
e38600a8 368832006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 36884
36885 * util/i386/pc/grub-install.in: Skip menu.lst when removing
36886 /boot/grub/*.lst.
78fa1790 36887
2952da5d 36888 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 36889
2952da5d 36890 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
36891 before adding it to device.map.
36892
01b82a64 368932006-08-15 Johan Rydberg <jrydberg@gnu.org>
36894
fe6b695a 36895 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 36896 compiles a file; using the -MD option.
36897 * conf/common.mk: Regenerate.
36898 * conf/i386-pc.mk: Likewise.
36899 * conf/i386-efi.mk: Likewise.
36900 * conf/powerpc-ieee1275.mk: Likewise.
36901 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 36902
1064790d 369032006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
36904
36905 Move the prototypes of grub_setjmp and grub_longjmp to
36906 cpu/setjmp.h, so that each architecture may specify different
36907 attributes.
f19dbdb7 36908
1064790d 36909 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
36910 (grub_longjmp): Likewise.
36911 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
36912 (grub_longjmp): Likewise.
36913 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
36914 (grub_longjmp): Likewise.
36915
36916 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
36917 [!GRUB_UTIL] (grub_longjmp): Removed.
36918
29dda3ed 369192006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
36920
36921 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
36922 "color!" method does not return any value.
36923
ad2a06ed 369242006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36925
36926 * include/grub/bitmap.h: New file.
36927
36928 * include/grub/i386/pc/vbeutil.h: Likewise.
36929
36930 * video/bitmap.c: Likewise.
36931
36932 * video/readers/tga.c: Likewise.
36933
36934 * video/i386/pc/vbeutil.c: Likewise.
36935
36936 * commands/videotest.c: Code cleanup and updated to reflect to new
36937 video API.
36938
36939 * term/gfxterm.c: Likewise.
36940
36941 * video/video.c: Likewise.
36942
36943 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
36944 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
36945 (bitmap_mod_SOURCES): New entry.
36946 (bitmap_mod_CFLAGS): Likewise.
36947 (bitmap_mod_LDFLAGS): Likewise.
36948 (tga_mod_SOURCES): Likewise.
36949 (tga_mod_CFLAGS): Likewise.
36950 (tga_mod_LDFLAGS): Likewise.
36951
36952 * include/grub/video.h (grub_video_blit_operators): New enum type.
36953 (grub_video_render_target): Changed as forward declaration and moved
36954 actual definition to be video driver specific.
36955 (grub_video_adapter.blit_bitmap): Added blitting operator.
36956 (grub_video_adapter.blit_render_target): Likewise.
36957 (grub_video_blit_bitmap): Likewise.
36958 (grub_video_blit_render_target): Likewise.
36959
36960 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
36961 driver specific render target definition.
36962 (grub_video_vbe_map_rgba): Added driver internal helper.
36963 (grub_video_vbe_unmap_color): Updated to use
36964 grub_video_i386_vbeblit_info.
36965 (grub_video_vbe_get_video_ptr): Likewise.
36966
36967 * include/grub/i386/pc/vbeblit.h
36968 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
36969 grub_video_i386_vbeblit_info.
36970 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
36971 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
36972 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
36973 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
36974 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
36975 (grub_video_i386_vbeblit_index_index): Likewise.
36976 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
36977 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
36978 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
36979 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
36980 operator.
36981 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
36982 operator.
36983
36984 * video/i386/pc/vbeblit.c: Updated to reflect changes on
36985 include/grub/i386/pc/vbeblit.h.
36986
36987 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
36988 Updated to use grub_video_i386_vbeblit_info.
36989 (grub_video_i386_vbefill_R8G8B8): Likewise.
36990 (grub_video_i386_vbefill_index): Likewise.
36991 (grub_video_i386_vbefill): Added generic filler.
36992
36993 * video/i386/pc/vbefill.c: Updated to reflect changes on
36994 include/grub/i386/pc/vbefill.h.
36995
36996 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
36997 grub_video_i386_vbeblit_info.
36998 (grub_video_vbe_unmap_color): Likewise.
36999 (grub_video_vbe_blit_glyph): Likewise.
37000 (grub_video_vbe_scroll): Likewise.
37001 (grub_video_vbe_draw_pixel): Removed function.
37002 (grub_video_vbe_get_pixel): Likewise.
37003 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
37004 updated code to use it.
37005 (common_blitter): Added common blitter for render target and bitmap.
37006 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
37007 (grub_video_vbe_blit_render_target): Likewise.
37008
bc8c036d 370092006-07-30 Johan Rydberg <jrydberg@gnu.org>
37010
37011 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
37012 is in text mode if there is no console control protocol instance
37013 available.
37014
684a8eff 370152006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
37016
37017 * include/grub/video.h: Code cleanup.
37018
37019 * include/grub/i386/pc/vbe.h: Likewise.
37020
37021 * video/i386/pc/vbe.c: Likewise.
37022
37023 * video/i386/pc/vbeblit.c: Likewise.
37024
37025 * video/i386/pc/vbefill.c: Likewise.
37026
37027 * video/video.c: Likewise. Also added more comments.
37028
5915059b 370292006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
37030
37031 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
37032 (struct grub_biosdisk_dap): Likewise.
37033
37034 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
37035 linkage settings for all functions.
37036
90ce5d56 370372006-07-12 Marco Gerards <marco@gnu.org>
37038
37039 * configure.ac (--enable-mm-debug): Fix typo.
37040
37041 * genkernsyms.sh.in: Use proper quoting for `CC'.
37042
43e7f879 370432006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
37044
37045 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
37046 (normal_mod_ASFLAGS): Remove "-m32".
37047
4889bdec 370482006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
37049
37050 * util/misc.c: Include config.h.
37051 [!HAVE_MEMALIGN]: Do not include malloc.h.
37052 (grub_memalign): Use posix_memalign, if present. Then, use
37053 memalign, if present. Otherwise, emit an error.
37054
37055 * util/grub-emu.c: Do not include malloc.h.
37056
37057 * include/grub/util/misc.h: Include unistd.h. This is required for
37058 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
37059 D. Eades III <hde@foobar-qux.org>.
37060
37061 * configure.ac (AC_GNU_SOURCE): Added.
37062 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
37063 type.
37064
fd39d4da 370652006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
37066
37067 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
37068 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
37069
b786f3b5 370702006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
37071
37072 * include/grub/types.h (grub_host_addr_t): Rename to
37073 grub_target_addr_t.
37074 (grub_host_off_t): Rename to grub_target_off_t.
37075 (grub_host_size_t): Rename to grub_target_size_t.
37076 (grub_host_ssize_t): Rename to grub_target_ssize_t.
37077 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
37078
37079 * include/grub/kernel.h (struct grub_module_header): Change type
37080 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
37081 (grub_module_info): Likewise.
f19dbdb7 37082
051988bb 370832006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
37084
37085 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
37086 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
37087 Velazquez <jesus.velazquez@gmail.com>.
37088
deae281b 370892006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
37090
37091 Count partitions from 1 instead of 0 in the string representation
37092 of partitions. Still use 0-based internally.
f19dbdb7 37093
deae281b 37094 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
37095 (sun_partition_map_iterate): Use grub_partition_t instead of
37096 struct grub_partition *. Cast DESC->START_CYLINDER to
37097 grub_uint64_t after converting the endian.
37098 (sun_partition_map_probe): Subtract 1 for PARTNUM.
37099 (sun_partition_map_get_name): Add 1 to P->INDEX.
37100
37101 * partmap/pc.c (grub_partition_parse): Subtract 1 for
37102 PCDATA->DOS_PART.
37103 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
37104
37105 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
37106 zero instead of one.
37107 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
37108 (gpt_partition_map_get_name): Add 1 into P->INDEX.
37109
37110 * partmap/apple.c (apple_partition_map_iterate): Change the type
37111 of POS to unsigned.
37112 (apple_partition_map_probe): Subtract 1 for PARTNUM.
37113 (apple_partition_map_get_name): Add 1 into P->INDEX.
37114
37115 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
37116 of POS to unsigned.
37117 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
37118 calculate the offset of a partition.
37119 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
37120 (amiga_partition_map_get_name): Add 1 into P->INDEX.
37121
37122 * partmap/acorn.c (acorn_partition_map_find): Change the type of
37123 SECTOR to grub_disk_addr_t.
37124 (acorn_partition_map_iterate): Likewise.
37125 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
37126 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
37127 top.
37128 (acorn_partition_map_get_name): Add 1 into P->INDEX.
37129
37130 * kern/i386/pc/init.c (make_install_device): Add 1 into
37131 GRUB_INSTALL_DOS_PART.
37132
37133 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
37134 conditional.
37135
524a1e6a 371362006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
37137
37138 Clean up the code to support 64-bit addressing in disks and
37139 files. This change is not enough for filesystems yet.
f19dbdb7 37140
524a1e6a 37141 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
37142 type of "start" to grub_uint64_t.
37143 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
37144 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
37145 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
37146 convert addresses.
37147
37148 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
37149 to grub_disk_addr_t.
37150
37151 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
37152 string.
37153
37154 * partmap/pc.c (pc_partition_map_iterate): Likewise.
37155
37156 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
37157 to char *.
37158
37159 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
37160
37161 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
37162
37163 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
37164
37165 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
37166 to grub_off_t, to detect an error from grub_file_seek.
37167 (grub_multiboot_load_elf32): Likewise.
37168
37169 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
37170 maximum unsigned long value when an overflow is detected.
37171 (grub_strtoull): New function.
37172 (grub_divmod64): Likewise.
37173 (grub_lltoa): use grub_divmod64.
37174
37175 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
37176 grub_disk_addr_t.
37177 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
37178 the pointer to next character. Use grub_strtoull instead of
37179 grub_strtoul.
37180 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
37181 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
37182 respectively.
37183
fe6b695a 37184 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 37185 return value is signed.
37186 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
37187 test if OFFSET is less than zero, as OFFSET is unsigned now.
37188
37189 * kern/disk.c (struct grub_disk_cache): Change the type of
37190 "sector" to grub_disk_addr_t.
37191 (grub_disk_cache_get_index): Change the type of SECTOR to
37192 grub_disk_addr_t. Calculate the hash with SECTOR casted to
37193 unsigned after shifting.
37194 (grub_disk_cache_invalidate): Change the type of SECTOR to
37195 grub_disk_addr_t.
37196 (grub_disk_cache_unlock): Likewise.
37197 (grub_disk_cache_store): Likewise.
37198 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
37199 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
37200 grub_disk_addr_t and grub_uint64_t, respectively.
37201 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
37202 body, as the value of OFFSET is tweaked by
37203 grub_disk_check_range. Change the types of START_SECTOR, LEN and
37204 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
37205 respectively.
37206 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
37207 body, as the value of OFFSET is tweaked by
37208 grub_disk_check_range. Change the types of LEN and N to
37209 grub_size_t.
37210
37211 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
37212 and "saved_offset" to grub_off_t.
37213 (test_header): Cast BUF to char *.
37214 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
37215 to char *.
37216 (grub_gzio_read): Change the types of OFFSET and SIZE to
37217 grub_off_t and grub_size_t, respectively.
37218
37219 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
37220 Removed.
37221 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
37222 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
37223 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
37224 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
37225 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
37226
37227 * include/grub/types.h (grub_off_t): Unconditionally set to
37228 grub_uint64_t.
37229 (grub_disk_addr_t): Changed to grub_uint64_t.
37230
37231 * include/grub/partition.h (struct grub_partition): Change the
37232 types of "start", "len" and "offset" to grub_disk_addr_t,
37233 grub_uint64_t and grub_disk_addr_t, respectively.
37234 (grub_partition_get_start): Return grub_disk_addr_t.
37235 (grub_partition_get_len): Return grub_uint64_t.
37236
37237 * include/grub/misc.h (grub_strtoull): New prototype.
37238 (grub_divmod64): Likewise.
37239
37240 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
37241 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
37242 grub_off_t, respectively.
37243 All callers and references changed.
37244
37245 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
37246 grub_size_t in "read".
37247 All callers and references changed.
37248
37249 * include/grub/file.h (struct grub_file): Change the types of
37250 "offset" and "size" to grub_off_t and grub_off_t,
37251 respectively. Change the type of SECTOR to grub_disk_addr_t in
37252 "read_hook".
37253 (grub_file_read): Change the type of LEN to grub_size_t.
37254 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
37255 grub_off_t.
37256 (grub_file_size): Return grub_off_t.
37257 (grub_file_tell): Likewise.
37258 All callers and references changed.
37259
37260 * include/grub/disk.h (struct grub_disk_dev): Change the types of
37261 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
37262 "write".
37263 (struct grub_disk): Change the type of "total_sectors" to
37264 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 37265 "read_hook".
524a1e6a 37266 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
37267 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
37268 (grub_disk_write): Likewise.
37269 All callers and references changed.
37270
37271 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
37272 char * for grub_strncmp to silence gcc.
37273 (grub_iso9660_mount): Likewise.
37274 (grub_iso9660_mount): Likewise.
37275 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
37276 return statement.
37277 (grub_iso9660_iterate_dir): Likewise.
37278 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
37279
37280 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
37281 LEN to grub_disk_addr_t and grub_size_t, respectively.
37282
37283 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
37284
37285 * fs/jfs.c (grub_jfs_read_file): Likewise.
37286
37287 * fs/minix.c (grub_jfs_read_file): Likewise.
37288
37289 * fs/sfs.c (grub_jfs_read_file): Likewise.
37290
37291 * fs/ufs.c (grub_jfs_read_file): Likewise.
37292
37293 * fs/xfs.c (grub_jfs_read_file): Likewise.
37294
37295 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
37296 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
37297 respectively.
37298
37299 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
37300 BLKNR to -1 instead of returning GRUB_ERRNO.
37301 (grub_ext2_read_file): Change the types of SECTOR and
37302 LEN to grub_disk_addr_t and grub_size_t, respectively.
37303
37304 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
37305 LEN to grub_disk_addr_t and grub_size_t, respectively.
37306
37307 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
37308 grub_file_read.
37309
37310 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
37311 string. Do not cast SECTOR explicitly.
37312
37313 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
37314 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
37315 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
37316 grub_disk_addr_t and grub_size_t, respectively. If the sector is
37317 over 2TB and LBA mode is not supported, raise an error.
37318 (get_safe_sectors): New function.
37319 (grub_biosdisk_read): Use get_safe_sectors.
37320 (grub_biosdisk_write): Likewise.
37321
37322 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
37323 (grub_efidisk_write): Likewise.
37324
37325 * disk/loopback.c (delete_loopback): Cosmetic changes.
37326 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
37327 correctly.
37328 (grub_loopback_open): Likewise.
37329 (grub_loopback_read): Likewise. Also, change the type of POS to
37330 grub_off_t, and fix the usage of grub_memset.
37331
37332 * commands/i386/pc/play.c: Include grub/machine/time.h.
37333
37334 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
37335 print FILE->SIZE.
37336
37337 * commands/configfile.c: Include grub/env.h.
37338
37339 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
37340 GRUB_ERRNO directly instead. Change the type of POS to
37341 grub_off_t. Follow the coding standard.
37342
37343 * commands/blocklist.c: Include grub/partition.h.
37344 (grub_cmd_blocklist): Return an error if the underlying device is
37345 not a disk. Take the starting sector of a partition into account,
37346 if a partition is used.
37347
37348 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
37349 a length field.
37350 (lba_mode): Support 64-bit addresses.
37351 (chs_mode): Likewise.
37352 (copy_buffer): Adapted to the new offsets of a length field and a
37353 segment field.
37354 (blocklist_default_start): Allocate 64-bit space.
37355
37356 * boot/i386/pc/boot.S (force_lba): Removed.
37357 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 37358 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 37359 space.
37360 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
37361 is useless.
37362 (lba_mode): Refactored to support a 64-bit address. More size
37363 optimization.
37364 (setup_sectors): Likewise.
37365
53af98ad 373662006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
37367
37368 * DISTLIST: Added include/grub/i386/linux.h. Removed
37369 include/grub/i386/pc/linux.h
37370
37371 * configure.ac (AC_INIT): Bumped to 1.94.
37372
37373 * config.guess: Updated from gnulib.
37374 * config.sub: Likewise.
37375 * install-sh: Likewise.
37376 * mkinstalldirs: Likewise.
37377
b4c1940a 373782006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
37379
37380 * conf/common.rmk (grub_modules_init.lst): Depended on
37381 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
37382 MODSRCFILES.
37383
37384 * genmk.rb (PModule::rule): Reverted the previous change.
37385
cfca1cfd 373862006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
37387
37388 * conf/common.rmk (grub_modules_init.lst): Depends on
37389 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
37390 that the target does not exist before producing.
37391 (grub_modules_init.h): Remove the target before generating.
37392 (grub_emu_init.c): Likewise.
37393
37394 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
37395
aa6d7826 373962006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
37397
37398 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
37399 for the target-specific tests. Make sure that we also have the
37400 up-to-date target variables for those tests.
37401
26c607b9 374022006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
37403
37404 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
37405 (PModule::rule): Likewise.
37406
0162321a 374072006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
37408
37409 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
37410 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
37411 target-specific flags should be prefixed.
37412 (PModule::rule): Likewise.
37413
6c826348 374142006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
37415
37416 * configure.ac (CMP): Check if cmp is available explicitly.
37417
b977bf01 374182006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
37419
37420 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
37421 (target_cpu): New variable.
37422 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 37423
b977bf01 37424 * util/i386/pc/grub-install.in (host_cpu): Removed.
37425 (target_cpu): New variable.
37426 (pkglibdir): Use target_cpu instead of host_cpu.
37427
37428 * util/genmoddep.c: Removed.
f19dbdb7 37429
b977bf01 37430 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
37431 instead of GRUB_HOST_SIZEOF_VOID_P.
37432 * kern/dl.c: Likewise.
37433
37434 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
37435 ...
37436 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
37437 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
37438 (GRUB_TARGET_SIZEOF_LONG): ... this.
37439 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
37440 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
37441 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
37442 to ...
37443 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
37444 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
37445 (GRUB_TARGET_SIZEOF_LONG): ... this.
37446 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
37447 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
37448 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
37449 to ...
37450 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
37451 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
37452 (GRUB_TARGET_SIZEOF_LONG): ... this.
37453 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
37454 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
37455
37456 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
37457 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
37458 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
37459 instead of GRUB_HOST_SIZEOF_LONG.
37460 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
37461 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
37462 GRUB_CPU_WORDS_BIGENDIAN.
37463 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
37464 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
37465 grub_host_ssize_t.
37466
37467 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
37468 (genmoddep_SOURCES): Likewise.
37469 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
37470 (genmoddep_SOURCES): Likewise.
37471 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
37472 (genmoddep_SOURCES): Likewise.
37473 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
37474 Likewise.
37475 (genmoddep_SOURCES): Likewise.
37476
37477 * genmoddep.awk: New file.
37478
37479 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
37480 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
37481 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
37482 (PModule::rule): Likewise.
37483 (Program::rule): Likewise.
37484 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
37485 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
37486 respectively.
37487
37488 * configure.ac: Rewritten intensively to use host and target
37489 instead of build and host, respectively.
37490
37491 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
37492 (host_cpu): Removed.
37493 (target_cpu): New variable.
37494 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
37495 (BUILD_CC): Removed.
37496 (BUILD_CFLAGS): Likewise.
37497 (BUILD_CPPFLAGS): Likewise.
37498 (TARGET_CC): New variable.
37499 (TARGET_CFLAGS): Likewise.
37500 (TARGET_CPPFLAGS): Likewise.
37501 (TARGET_LDFLAGS): Likewise.
37502 (AWK): Likewise.
37503 (include): Use target_cpu instead of host_cpu.
37504 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 37505
b977bf01 37506 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
37507
f09771a1 375082006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
37509
37510 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
37511 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
37512 field 'false' to 'exec_on_false'.
37513 (grub_script_create_cmdif): Renamed argument names to reflect above
37514 changes.
37515
37516 * normal/execute.c (grub_script_execute_cmdif): Likewise.
37517
37518 * normal/script.c (grub_script_create_cmdif): Likewise.
37519
118f4fb3 375202006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
37521
37522 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
37523 top.
37524 (grub_hfsplus_btree_recptr): Likewise.
37525 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
37526 FILEBLOCK both to pass a block number and store next block
37527 number.
37528 (grub_hfsplus_read_block): Rewritten heavily to support an extent
37529 overflow file correctly. Specify errors appropriately, because
37530 fshelp expects that GRUB_ERRNO is set when fails. Reuse
37531 grub_hfsplus_btree_recptr to get the pointer to a found key.
37532 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
37533 is found.
37534
37535 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
37536 linux.mod.
37537 (_linux_mod_SOURCES): New variable.
37538 (_linux_mod_CFLAGS): Likewise.
37539 (_linux_mod_LDFLAGS): Likewise.
37540 (linux_mod_SOURCES): Likewise.
37541 (linux_mod_CFLAGS): Likewise.
37542 (linux_mod_LDFLAGS): Likewise.
37543
37544 * DISTLIST: Added loader/i386/efi/linux.c,
37545 loader/i386/efi/linux_normal.c and
37546 include/grub/i386/efi/loader.h.
37547
37548 * loader/i386/efi/linux.c: New file.
37549 * loader/i386/efi/linux_normal.c: Likewise.
37550 * include/grub/i386/efi/loader.h: Likewise.
37551
89a7d726 375522006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
37553
37554 * commands/blocklist.c: New file.
37555
37556 * DISTLIST: Added commands/blocklist.c.
37557
37558 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 37559 color for the background, and a darker color for the foreground.
89a7d726 37560 (grub_console_checkkey): Return READ_KEY.
37561 (grub_console_cls): Set the background to
37562 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
37563
37564 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
37565
37566 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
37567 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
37568
37569 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
37570 prototype.
37571
37572 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
37573 BG. The spec is wrong again.
37574
37575 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
37576 prototype.
37577 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
37578
37579 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
37580 commands/blocklist.c.
37581 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 37582
89a7d726 37583 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
37584 (blocklist_mod_SOURCES): New variable.
37585 (blocklist_mod_CFLAGS): Likewise.
37586 (blocklist_mod_LDFLAGS): Likewise.
37587
75c8f258 375882006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
37589
37590 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
37591 duplication.
37592 (lba_mode): Use %eax more intensively to reduce the code size.
37593
da2eb181 375942006-05-20 Marco Gerards <marco@gnu.org>
37595
37596 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
37597
37598 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
37599 for `menuentry'.
37600 (script): Accept leading newlines.
37601 (newlines): New rule to describe 0 or more newlines.
37602 (commands): Accept `command' with trailing newline. Fixed the
37603 order in which arguments were passed to `grub_script_add_cmd'.
37604 Accept commands separated by newlines.
37605 (function): Changed to accept newlines.
37606 (menuentry) Rewritten.
37607
37608 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
37609 front of the list, instead of to the end.
37610
577b4050 376112006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
37612
37613 * util/i386/pc/grub-install.in (bindir): New variable.
37614 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
37615 Shaver <lbgwjl@gmail.com>.
37616
0d6e1189 376172006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
37618
37619 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
37620 grub/machine/linux.h
37621 * loader/i386/pc/linux.c: Likewise.
37622
37623 * include/grub/i386/pc/linux.h: Moved to ...
37624 * include/grub/i386/linux.h: ... here.
37625
37626 * include/grub/i386/linux.h (struct linux_kernel_params): New
37627 struct.
f19dbdb7 37628
31b86e9f 376292006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
37630
37631 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
37632 checking.
37633 (grub_video_vbe_blit_glyph): Likewise.
37634 (grub_video_vbe_blit_bitmap): Likewise.
37635 (grub_video_vbe_blit_render_target): Likewise.
37636
83b984de 376372006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
37638
37639 * configure.ac (--with-platform): Properly quote the square
37640 brackets.
37641
5f0413bd 376422006-05-08 Marco Gerards <marco@gnu.org>
37643
37644 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
37645 this...
37646 (kernel_elf_HEADERS): ...to this. Updated all users.
37647 (grubof_symlist.c): Renamed from this...
37648 (kernel_elf_symlist.c): ...to this. Updated all users.
37649 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
37650 (grubof_SOURCES): Renamed from this...
37651 (kernel_elf_SOURCES): ...to this.
37652 (grubof_HEADERS): Renamed from this...
37653 (kernel_elf_HEADERS): ...to this.
37654 (grubof_CFLAGS): Renamed from this...
37655 (kernel_elf_CFLAGS): ...to this.
37656 (grubof_ASFLAGS): Renamed from this...
37657 (kernel_elf_ASFLAGS): ...to this.
37658 (grubof_LDFLAGS): Renamed from this...
37659 (kernel_elf_LDFLAGS): ...to this.
37660
37661 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
37662 this...
37663 (kernel_elf_HEADERS): ...to this. Updated all users.
37664 (grubof_symlist.c): Renamed from this...
37665 (kernel_elf_symlist.c): ...to this. Updated all users.
37666 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
37667 (grubof_SOURCES): Renamed from this...
37668 (kernel_elf_SOURCES): ...to this.
37669 (grubof_HEADERS): Renamed from this...
37670 (kernel_elf_HEADERS): ...to this.
37671 (grubof_CFLAGS): Renamed from this...
37672 (kernel_elf_CFLAGS): ...to this.
37673 (grubof_ASFLAGS): Renamed from this...
37674 (kernel_elf_ASFLAGS): ...to this.
37675 (grubof_LDFLAGS): Renamed from this...
37676 (kernel_elf_LDFLAGS): ...to this.
37677
37678 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
37679 `kernel.elf' instead of `grubof'.
37680
05568c2e 376812006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
37682
37683 Add --with-platform to configure. Use pkglibdir instead of
37684 pkgdatadir. This is reported by Roger Leigh.
37685
37686 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
37687 (host_vendor): Likewise.
37688 (host_os): Likewise.
37689 (pkgdatadir): Likewise.
37690 (platform): New variable.
37691 (pkglibdir): Likewise.
37692 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 37693
05568c2e 37694 * util/i386/pc/grub-install.in (datadir): Removed.
37695 (host_vendor): Likewise.
37696 (host_os): Likewise.
37697 (pkgdatadir): Likewise.
37698 (platform): New variable.
37699 (pkglibdir): Likewise.
37700 Use PKGLIBDIR instead of PKGDATADIR.
37701
37702 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
37703 instead of GRUB_DATADIR.
37704 (main): Likewise.
37705 * util/i386/pc/grub-mkimage.c (usage): Likewise.
37706 (main): Likewise.
37707 * util/i386/efi/grub-mkimage.c (usage): Likewise.
37708 (main): Likewise.
37709
37710 * configure.ac (--with-platform): New option.
37711 Use PLATFORM instead of HOST_VENDOR to specify a platform.
37712
37713 * Makefile.in: Include a makefile based on PLATFORM instead of
37714 HOST_VENDOR.
37715 (pkgdatadir): Not appended by the machine type.
37716 (pkglibdir): Appended by the machine type.
37717 (host_vendor): Removed.
37718 (platform): New variable.
37719 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
37720 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
37721 (uninstall): Likewise.
37722
4e93851c 377232006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
37724
37725 Use the environment context in the menu. Remove the commands
37726 "default" and "timeout", and use variables instead.
f19dbdb7 37727
4e93851c 37728 * normal/menu.c: Include grub/env.h.
37729 (print_entry): Cast TITLE to silence gcc.
37730 (get_timeout): New function.
37731 (set_timeout): Likewise.
37732 (get_entry_number): Likewise.
37733 (run_menu): Use a default entry, a fallback entry and a timeout
37734 in the environment variables "default", "fallback" and
37735 "timeout". Also, tweak the default entry if it is not within the
37736 current menu entries.
37737 (grub_menu_run): Use a fallback entry in the environment variable
37738 "fallback".
37739
37740 * normal/main.c (read_config_file): Do not initialize
37741 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
37742 NEWMENU->TIMEOUT.
37743 (grub_normal_execute): Use a data slot to store the menu.
37744
37745 * include/grub/normal.h (struct grub_menu): Removed default_entry,
37746 fallback_entry and timeout.
37747 (struct grub_menu_list): Removed.
37748 (grub_menu_list_t): Likewise.
37749 (struct grub_context): Likewise.
37750 (grub_context_t): Likewise.
37751 (grub_context_get): Likewise.
37752 (grub_context_get_current_menu): Likewise.
37753 (grub_context_push_menu): Likewise.
37754 (grub_context_pop_menu): Likewise.
37755 (grub_default_init): Likewise.
37756 (grub_default_fini): Likewise.
37757 (grub_timeout_init): Likewise.
37758 (grub_timeout_fini): Likewise.
37759
37760 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
37761 and timeout.mod.
37762 (normal_mod_SOURCES): Removed normal/context.c.
37763
37764 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
37765 commands/default.c, commands/timeout.c and normal/context.c.
37766 (normal_mod_SOURCES): Removed normal/context.c.
37767
37768 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
37769 commands/timeout.c and normal/context.c.
37770 (normal_mod_SOURCES): Removed normal/context.c.
37771
37772 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
37773 commands/default.c, commands/timeout.c and normal/context.c.
37774 (normal_mod_SOURCES): Removed normal/context.c.
37775
37776 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
37777 timeout.mod.
37778 (default_mod_SOURCES): Removed.
37779 (default_mod_CFLAGS): Likewise.
37780 (default_mod_LDFLAGS): Likewise.
37781 (timeout_mod_SOURCES): Removed.
37782 (timeout_mod_CFLAGS): Likewise.
37783 (timeout_mod_LDFLAGS): Likewise.
37784
37785 * DISTLIST: Removed commands/default.c, commands/timeout.c and
37786 normal/context.c.
37787
37788 * commands/default.c: Removed.
37789 * commands/timeout.c: Likewise.
37790 * normal/context.c: Likewise.
37791
1eb9cc1d 377922006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
37793
37794 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
37795
385bd9c1 377962006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
37797
37798 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
37799 "next" to "prev" for readability.
37800 (struct grub_env_sorted_var): New struct.
37801 (grub_env_context): Renamed to ...
37802 (initial_context): ... this.
37803 (grub_env_var_context): Renamed to ...
37804 (current_context): ... this.
37805 (grub_env_find): Look only at CURRENT_CONTEXT.
37806 (grub_env_context_open): Rewritten to copy exported variables from
37807 previous context.
37808 (grub_env_context_close): Rewritten according to the new
37809 scheme. Also, add an assertion to prevent the initial context from
37810 removed.
37811 (grub_env_insert): Removed the code for the sorted list.
37812 (grub_env_remove): Likewise.
37813 (grub_env_export): Simply mark the variable with
37814 GRUB_ENV_VAR_GLOBAL.
37815 (grub_env_set): A cosmetic change for naming consistency.
37816 (grub_env_get): Likewise.
37817 (grub_env_unset): Likewise.
37818 (grub_env_iterate): Rewritten to sort variables within this
37819 function.
37820 (grub_register_variable_hook): Fixed for naming consistency. Call
37821 grub_env_find again, only if NAME is not found at the first time.
37822 (mangle_data_slot_name): New function.
37823 (grub_env_set_data_slot): Likewise.
37824 (grub_env_get_data_slot): Likewise.
37825 (grub_env_unset_data_slot): Likewise.
37826
37827 * include/grub/env.h (grub_env_var_type): New enum.
37828 (GRUB_ENV_VAR_LOCAL): New constant.
37829 (GRUB_ENV_VAR_GLOBAL): Likewise.
37830 (GRUB_ENV_VAR_DATA): Likewise.
37831 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
37832 "type".
37833 (grub_env_set): Replace VAR with NAME for consistency.
37834 (grub_register_variable_hook): Likewise.
37835 (grub_env_export): Specify the name of the argument.
37836 (grub_env_set_data_slot): New prototype.
37837 (grub_env_get_data_slot): Likewise.
37838 (grub_env_unset_data_slot): Likewise.
37839
7f362539 378402006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
37841
37842 Extend the loader so that GRUB can accept a loader which comes
37843 back to GRUB when a loaded image exits. Also, this change adds
37844 support for a chainloader on EFI.
f19dbdb7 37845
7f362539 37846 * term/efi/console.c: Include grub/misc.h.
37847 (grub_console_checkkey): Display a scan code on the top for
37848 debugging. This will be removed once the EFI port gets stable.
37849 Correct the scan code mapping.
37850
37851 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
37852 allocate memory from larger regions, in order to reduce the number
37853 of allocated regions. Otherwise, the MacOSX loader panics.
37854 (filter_memory_map): Avoid less than 1MB for compatibility with
37855 other loaders.
37856 (add_memory_regions): Allocate from the tail of a region, if
37857 possible, to avoid allocating a region near to 1MB, for the MacOSX
37858 loader.
37859
37860 * kern/efi/init.c (grub_efi_set_prefix): Specify
37861 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
37862
37863 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
37864 argument IMAGE_HANDLE and specify it to get a loaded image.
37865 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
37866 grub_efi_get_loaded_image.
fe6b695a 37867 (grub_efi_get_filename): Divide the length by the size of
7f362539 37868 grub_efi_char16_t.
37869 (grub_efi_get_device_path): New function.
37870 (grub_efi_print_device_path): Print End Device Path nodes. Divide
37871 the length by the size of grub_efi_char16_t for a file path device
37872 path node.
37873
37874 * kern/loader.c (grub_loader_noreturn): New variable.
37875 (grub_loader_set): Accept a new argument NORETURN. Set
37876 GRUB_LOADER_NORETURN to NORETURN.
37877 All callers changed.
37878 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
37879 grub_machine_fini.
37880
37881 * include/grub/efi/efi.h (grub_efi_get_device_path): New
37882 prototype.
37883 (grub_efi_get_loaded_image): Take an argument to specify an image
37884 handle.
37885
37886 * include/grub/loader.h (grub_loader_set): Added one more argument
37887 NORETURN.
37888
37889 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
37890 instead of grub_efi_open_protocol.
37891 (grub_efidisk_get_device_name): Likewise.
37892 (grub_efidisk_close): Print a newline.
37893 (grub_efidisk_get_device_handle): Fixed to use
37894 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
37895 GRUB_EFI_DEVICE_PATH_TYPE.
37896
37897 * disk/efi/efidisk.c (device_path_guid): Moved to ...
37898 * kern/efi/efi.c (device_path_guid): ... here.
37899
37900 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
37901 chain.mod.
37902 (kernel_mod_HEADERS): Added efi/disk.h.
37903 (_chain_mod_SOURCES): New variable.
37904 (_chain_mod_CFLAGS): Likewise.
37905 (_chain_mod_LDFLAGS): Likewise.
37906 (chain_mod_SOURCES): Likewise.
37907 (chain_mod_CFLAGS): Likewise.
37908 (chain_mod_LDFLAGS): Likewise.
37909
37910 * DISTLIST: Added include/grub/efi/chainloader.h,
37911 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
37912
37913 * include/grub/efi/chainloader.h: New file.
37914 * loader/efi/chainloader.c: Likewise.
37915 * loader/efi/chainloader_normal.c: Likewise.
37916
c0111d6e 379172006-04-30 Marco Gerards <marco@gnu.org>
37918
37919 * commands/configfile.c (grub_cmd_source): New function.
37920 (GRUB_MOD_INIT): Register the commands `source' and `.'.
37921 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
37922
df5341da 379232006-04-30 Marco Gerards <marco@gnu.org>
37924
37925 * normal/execute.c (grub_script_execute_cmd): Change the return
37926 type to `grub_err_t'. Correctly return the error.
37927 (grub_script_execute_cmdline): In case a command line is not a
37928 command or a function, try to interpret it as an assignment.
37929
f85934bd 379302006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
37931
37932 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
37933 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
37934 skip a node whose name is obviously invalid as UTF-16,
37935 i.e. contains a NUL character. Stop the iteration when the last
37936 directory entry is found. Instead of using the return value of
37937 grub_hfsplus_btree_iterate_node, store the value in RET and use
37938 it, because the iterator can be stopped by the last directory
37939 entry.
37940
8f8a2cf8 379412006-04-30 Marco Gerards <marco@gnu.org>
37942
37943 * include/grub/env.h (grub_env_export): New prototype. Reported
37944 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
37945
a27e84ce 379462006-04-30 Marco Gerards <marco@gnu.org>
37947
37948 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
37949 size of the extents in a catalog file record.
37950
eaef0553 379512006-04-29 Marco Gerards <marco@gnu.org>
37952
37953 * commands/configfile.c (grub_cmd_configfile): Execute the
37954 configfile within its own context.
37955
37956 * include/grub/env.h (grub_env_context_open): New prototype.
37957 (grub_env_context_close): Likewise.
37958
37959 * kern/env.c (grub_env): Removed.
37960 (grub_env_sorted): Likewise.
37961 (grub_env_context): New variable.
37962 (grub_env_var_context): Likewise.
37963 (grub_env_find): Search both the active context and the global
37964 context.
37965 (grub_env_context_open): New function.
37966 (grub_env_context_close): Likewise.
37967 (grub_env_insert): Likewise.
37968 (grub_env_remove): Likewise.
37969 (grub_env_export): Likewise.
37970 (grub_env_set): Changed to use helper functions to avoid code
37971 duplication.
37972 (grub_env_iterate): Rewritten so both the current context and the
37973 global context are being used.
37974
37975 * normal/command.c (export_command): New function.
37976 (grub_command_init): Register the `export' function.
37977
7b455f4d 379782006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
37979
37980 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
37981 explicitly to suppress gcc's warnings.
37982 * fs/fat.c (grub_fat_find_dir): Likewise.
37983 (grub_fat_label): Likewise.
37984 * fs/xfs.c (grub_xfs_read_inode): Likewise.
37985 (grub_xfs_mount): Likewise.
37986 (grub_xfs_label): Likewise.
37987 * fs/affs.c (grub_affs_mount): Likewise.
37988 (grub_affs_label): Likewise.
37989 (grub_affs_iterate_dir): Likewise.
37990 * fs/sfs.c (grub_sfs_mount): Likewise.
37991 (grub_sfs_iterate_dir): Likewise.
37992 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
37993 * fs/hfs.c (grub_hfs_mount): Likewise.
37994 (grub_hfs_cmp_catkeys): Likewise.
37995 (grub_hfs_find_dir): Likewise.
37996 (grub_hfs_dir): Likewise.
37997 (grub_hfs_label): Likewise.
37998 * fs/jfs.c (grub_jfs_mount): Likewise.
37999 (grub_jfs_opendir): Likewise.
38000 (grub_jfs_getent): Likewise.
38001 (grub_jfs_lookup_symlink): Likewise.
38002 (grub_jfs_label): Likewise.
38003 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
38004 (grub_hfsplus_iterate_dir): Likewise.
38005 (grub_hfsplus_btree_iterate_node): Made static.
38006
38007 * util/grub-emu.c (prefix): New variable.
38008 (grub_machine_set_prefix): New function.
38009 (main): Do not set the environment variable "prefix" here. Only
38010 set PREFIX, which is used later by grub_machine_set_prefix.
38011
38012 * include/grub/video.h: Do not include grub/symbol.h.
38013 (grub_video_register): Not exported. This symbol is not defined in
38014 the kernel.
38015 (grub_video_unregister): Likewise.
38016 (grub_video_iterate): Likewise.
38017 (grub_video_setup): Likewise.
38018 (grub_video_restore): Likewise.
38019 (grub_video_get_info): Likewise.
38020 (grub_video_get_blit_format): Likewise.
38021 (grub_video_set_palette): Likewise.
38022 (grub_video_get_palette): Likewise.
38023 (grub_video_set_viewport): Likewise.
38024 (grub_video_get_viewport): Likewise.
38025 (grub_video_map_color): Likewise.
38026 (grub_video_map_rgb): Likewise.
38027 (grub_video_map_rgba): Likewise.
38028 (grub_video_fill_rect): Likewise.
38029 (grub_video_blit_glyph): Likewise.
38030 (grub_video_blit_bitmap): Likewise.
38031 (grub_video_blit_render_target): Likewise.
38032 (grub_video_scroll): Likewise.
38033 (grub_video_swap_buffers): Likewise.
38034 (grub_video_create_render_target): Likewise.
38035 (grub_video_delete_render_target): Likewise.
38036 (grub_video_set_active_render_target): Likewise.
38037
38038 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
38039 Undefined.
38040 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
38041
38042 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
38043 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38044 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38045 instead of $(srcdir)/genkernsyms.sh.
38046
38047 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
38048 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38049 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38050 instead of $(srcdir)/genkernsyms.sh.
38051
38052 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
38053 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38054 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38055 instead of $(srcdir)/genkernsyms.sh.
38056
38057 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
38058 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38059 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38060 instead of $(srcdir)/genkernsyms.sh.
38061
38062 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
38063 genkernsyms.sh.
38064
38065 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
38066 genkernsyms.sh.
38067 (gensymlist.sh): New target.
38068 (genkernsyms.sh): Likewise.
38069
38070 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
38071 genkernsyms.sh.in and gensymlist.sh.in.
38072
38073 * genkernsyms.sh: Removed.
38074 * gensymlist.sh: Likewise.
f19dbdb7 38075
7b455f4d 38076 * genkernsyms.sh.in: New file.
38077 * gensymlist.sh.in: Likewise.
38078
1885bb27 380792006-04-25 Hollis Blanchard <hollis@penguinppc.org>
38080
38081 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
38082 clobber "prefix", since we may have already set it manually.
38083
71538dff 380842006-04-25 Hollis Blanchard <hollis@penguinppc.org>
38085
38086 * kern/misc.c (abort): New alias for grub_abort.
38087
2965c7cc 380882006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
38089
38090 A new machine-specific function "grub_machine_set_prefix" is
38091 defined. This is called after loading modules, so that a prefix
38092 initialization can use modules. Also, this change adds an
38093 intensive debugging feature for the memory manager via the
38094 configure option "--enable-mm-debug".
f19dbdb7 38095
2965c7cc 38096 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
38097 PART.LEN.
38098
38099 * kern/sparc64/ieee1275/init.c (abort): Removed.
38100 (grub_stop): Likewise.
38101 (grub_exit): New function.
38102 (grub_set_prefix): Renamed to ...
38103 (grub_machine_set_prefix): ... this.
38104 (grub_machine_init): Do not call grub_set_prefix.
38105
38106 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
38107 (grub_machine_set_prefix): ... this.
38108 (grub_machine_init): Do not call grub_set_prefix.
38109
38110 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
38111 (grub_machine_init): Do not set the prefix here.
38112
38113 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
38114
38115 * kern/efi/init.c: Include grub/mm.h.
38116 (grub_efi_set_prefix): New function.
38117
38118 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
38119 (grub_efi_get_filename): New function.
38120 (grub_print_device_path): Renamed to ...
38121 (grub_efi_print_device_path): ... this.
38122
38123 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
38124 [MM_DEBUG] (grub_realloc): Likewise.
38125 [MM_DEBUG] (grub_free): Likewise.
38126 [MM_DEBUG] (grub_memalign): Likewise.
38127 [MM_DEBUG] (grub_mm_debug): New variable.
38128 [MM_DEBUG] (grub_debug_malloc): New function.
38129 [MM_DEBUG] (grub_debug_free): New function.
38130 [MM_DEBUG] (grub_debug_realloc): New function.
38131 [MM_DEBUG] (grub_debug_memalign): New function.
38132
38133 * kern/misc.c (grub_abort): Print a newline to distinguish
38134 the message.
38135
38136 * kern/main.c (grub_main): Call grub_machine_set_prefix and
38137 grub_set_root_dev after loading modules. This is necessary when
38138 setting a prefix depends on modules.
38139
38140 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
38141 (grub_efi_print_device_path): ... this.
38142 (grub_efi_get_filename): New prototype.
38143 (grub_efi_set_prefix): Likewise.
38144
38145 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
38146 and grub/disk.h.
38147 (grub_efidisk_get_device_handle): New prototype.
38148 (grub_efidisk_get_device_name): Likewise.
38149
38150 * include/grub/mm.h: Include config.h.
38151 (MM_DEBUG): Removed.
38152 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
38153 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
38154 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
38155 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
38156 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
38157 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
38158 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
38159 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
38160 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
38161
38162 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
38163
38164 * disk/efi/efidisk.c: Include grub/partition.h.
38165 (iterate_child_devices): New function.
38166 (add_device): First, compare only last device path nodes, so that
38167 devices are sorted by the types.
38168 (grub_efidisk_get_device_handle): New function.
38169 (grub_efidisk_get_device_name): Likewise.
38170
38171 * configure.ac (--enable-mm-debug): New option to enable the
38172 memory manager debugging feature. This makes the binary much
38173 bigger, so is disabled by default.
38174
9cacaa17 381752006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
38176
38177 Use grub_abort instead of grub_stop, and grub_exit must be
38178 define in each architecture now. Also, this change adds support
38179 for EFI disks.
f19dbdb7 38180
9cacaa17 38181 * util/i386/pc/grub-probefs.c: Include grub/term.h.
38182 (grub_getkey): New function.
38183 (grub_term_get_current): Likewise.
38184
38185 * util/i386/pc/grub-setup.c: Include grub/term.h.
38186 (grub_getkey): New function.
38187 (grub_term_get_current): Likewise.
38188
38189 * util/misc.c (grub_stop): Renamed to ...
38190 (grub_exit): ... this.
38191
38192 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
38193 (grub_exit): ... this.
38194 (grub_machine_init): Use grub_abort instead of abort.
38195 (grub_stop): Removed.
38196
38197 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
38198 abort.
38199
38200 * kern/i386/pc/startup.S (grub_exit): New function.
38201 (cold_reboot): New label.
38202
38203 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
38204 (grub_efi_init): Call grub_efidisk_init.
38205 (grub_efi_fini): Call grub_efidisk_fini.
38206
38207 * kern/efi/efi.c: Include grub/mm.h.
38208 (grub_efi_console_control_guid): Renamed to ...
38209 (console_control_guid): ... this.
38210 (grub_efi_loaded_image_guid): Renamed to ...
38211 (loaded_image_guid): ... this.
38212 (grub_efi_locate_handle): New function.
38213 (grub_efi_open_protocol): Likewise.
38214 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
38215 GRUB_EFI_CONSOLE_CONTROL_GUID.
38216 (grub_efi_exit): Removed.
38217 (grub_stop): Likewise.
38218 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
38219 (grub_exit): New function.
38220 (grub_print_device_path): Likewise.
38221
38222 * kern/rescue.c (grub_rescue_cmd_exit): New function.
38223 (grub_enter_rescue_mode): Register "exit".
38224
38225 * kern/misc.c (grub_real_dprintf): A cosmetic change.
38226 (grub_abort): New function.
38227
38228 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
38229
38230 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
38231
38232 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
38233
38234 * include/grub/efi/efi.h (grub_efi_exit): Removed.
38235 (grub_print_device_path): New prototype.
38236 (grub_efi_locate_handle): Likewise.
38237 (grub_efi_open_protocol): Likewise.
38238
38239 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
38240 * disk/efi/efidisk.c: Likewise.
38241
38242 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
38243
38244 * include/grub/efi/console_control.h
38245 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
38246
38247 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
38248 last 8 bytes as an array.
38249 (GRUB_EFI_DISK_IO_GUID): New macro.
38250 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
38251 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
38252 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
38253 grub_uint8_t.
38254 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
38255 (struct grub_efi_device_path): Rename the member "sub_type" to
38256 "subtype".
38257 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
38258 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
38259 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
38260 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
38261 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
38262 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
38263 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
38264 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
38265 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
38266 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
38267 (struct grub_efi_pci_device_path): New structure.
38268 (grub_efi_pci_device_path_t): New type.
38269 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
38270 (struct grub_efi_pccard_device_path): New structure.
38271 (grub_efi_pccard_device_path_t): New type.
38272 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
38273 (struct grub_efi_memory_mapped_device_path): New structure.
38274 (grub_efi_memory_mapped_device_path_t): New type.
38275 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
38276 (struct grub_efi_vendor_device_path): New structure.
38277 (grub_efi_vendor_device_path_t): New type.
38278 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
38279 (struct grub_efi_controller_device_path): New structure.
38280 (grub_efi_controller_device_path_t): New type.
38281 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
38282 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
38283 (struct grub_efi_acpi_device_path): New structure.
38284 (grub_efi_acpi_device_path_t): New type.
38285 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
38286 (struct grub_efi_expanded_acpi_device_path): New structure.
38287 (grub_efi_expanded_acpi_device_path_t): New type.
38288 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
38289 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
38290 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
38291 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
38292 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
38293 (struct grub_efi_atapi_device_path): New structure.
38294 (grub_efi_atapi_device_path_t): New type.
38295 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
38296 (struct grub_efi_fibre_channel_device_path): New structure.
38297 (grub_efi_fibre_channel_device_path_t): New type.
38298 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
38299 (struct grub_efi_1394_device_path): New structure.
38300 (grub_efi_1394_device_path_t): New type.
38301 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
38302 (struct grub_efi_usb_device_path): New structure.
38303 (grub_efi_usb_device_path_t): New type.
38304 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
38305 (struct grub_efi_usb_class_device_path): New structure.
38306 (grub_efi_usb_class_device_path_t): New type.
38307 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
38308 (struct grub_efi_i2o_device_path): New structure.
38309 (grub_efi_i2o_device_path_t): New type.
38310 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
38311 (struct grub_efi_mac_address_device_path): New structure.
38312 (grub_efi_mac_address_device_path_t): New type.
38313 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
38314 (struct grub_efi_ipv4_device_path): New structure.
38315 (grub_efi_ipv4_device_path_t): New type.
38316 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
38317 (struct grub_efi_ipv6_device_path): New structure.
38318 (grub_efi_ipv6_device_path_t): New type.
38319 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
38320 (struct grub_efi_infiniband_device_path): New structure.
38321 (grub_efi_infiniband_device_path_t): New type.
38322 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
38323 (struct grub_efi_uart_device_path): New structure.
38324 (grub_efi_uart_device_path_t): New type.
38325 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
38326 (struct grub_efi_vendor_messaging_device_path): New structure.
38327 (grub_efi_vendor_messaging_device_path_t): New type.
38328 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
38329 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
38330 (struct grub_efi_hard_drive_device_path): New structure.
38331 (grub_efi_hard_drive_device_path_t): New type.
38332 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
38333 (struct grub_efi_cdrom_device_path): New structure.
38334 (grub_efi_cdrom_device_path_t): New type.
38335 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
38336 (struct grub_efi_vendor_media_device_path): New structure.
38337 (grub_efi_vendor_media_device_path_t): New type.
38338 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
38339 (struct grub_efi_file_path_device_path): New structure.
38340 (grub_efi_file_path_device_path_t): New type.
38341 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
38342 (struct grub_efi_protocol_device_path): New structure.
38343 (grub_efi_protocol_device_path_t): New type.
38344 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
38345 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
38346 (struct grub_efi_bios_device_path): New structure.
38347 (grub_efi_bios_device_path_t): New type.
38348 (struct grub_efi_disk_io): New structure.
38349 (grub_efi_disk_io_t): New type.
38350 (struct grub_efi_block_io_media): New structure.
38351 (grub_efi_block_io_media_t): New type.
38352 (struct grub_efi_block_io): New structure.
38353 (grub_efi_block_io_t): New type.
38354
38355 * include/grub/misc.h (grub_stop): Removed.
38356 (grub_exit): New prototype.
38357 (grub_abort): Likewise.
38358
38359 * include/grub/disk.h (enum grub_disk_dev_id): Added
38360 GRUB_DISK_DEVICE_EFIDISK_ID.
38361
38362 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
38363 disk/efi/efidisk.c.
38364 (kernel_syms.lst): Remove the target if an error occurs.
38365
49986a9f 383662006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
38367
38368 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
38369 as it was simply too buggy.
38370
970d3b8a 383712006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
38372
38373 * kern/misc.c (grub_lltoa): New function.
38374 (grub_vsprintf): Added support for the long long suffix,
38375 i.e. "ll".
38376
ff04ec24 383772006-04-20 Hollis Blanchard <hollis@penguinppc.org>
38378
38379 * Makefile.in (LDFLAGS): Add variable.
38380 (LD): Remove variable.
38381 * configure.ac: Add -m32 to LDFLAGS.
38382 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
38383 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
38384 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
38385 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
38386 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
38387 variables.
38388 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
38389 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
38390 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
38391
37e5e1a4 383922006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
38393
38394 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
38395 length for unknown glyph.
38396
c352d8dd 383972006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
38398
2eab1c0d 38399 Add support for pre-loaded modules into the EFI port.
f19dbdb7 38400
2eab1c0d 38401 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
38402 completely. Accept one more argument DIR. The caller has changed.
38403
38404 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
38405
38406 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
38407 (grub_efi_loaded_image_guid): New variable.
38408 (grub_efi_get_loaded_image): New function.
38409 (grub_arch_modules_addr): Likewise.
38410
38411 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
38412 prototype.
38413
38414 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
38415 (struct grub_efi_loaded_image): New structure.
38416 (grub_efi_loaded_image_t): New type.
38417
384182006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 38419
c352d8dd 38420 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
38421 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
38422 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
38423
6d01d6b4 384242006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
38425
38426 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
38427
976a4ea0 384282006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
38429
38430 * DISTLIST: Added include/grub/efi/console.h,
38431 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
38432 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
38433
38434 * include/grub/efi/console.h: New file.
38435 * include/grub/efi/time.h: Likewise.
38436 * include/grub/i386/efi/kernel.h: Likewise.
38437 * kern/efi/init.c: Likewise.
38438 * kern/efi/mm.c: Likewise.
38439 * term/efi/console.c: Likewise.
f19dbdb7 38440
976a4ea0 38441 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
38442 (grub_stop): Removed.
38443 (grub_get_rtc): Likewise.
38444 (grub_machine_init): Simply call grub_efi_init.
38445 (grub_machine_fini): Call grub_efi_fini.
38446
38447 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
38448 (grub_efi_output_string): Removed.
38449 (grub_efi_stall): New function.
38450 (grub_stop): Likewise.
38451 (grub_get_rtc): Likewise.
38452
38453 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
38454 (grub_efi_stall): New prototype.
38455 (grub_efi_allocate_pages): Likewise.
38456 (grub_efi_free_pages): Likewise.
38457 (grub_efi_get_memory_map): Likewise.
38458 (grub_efi_mm_init): Likewise.
38459 (grub_efi_mm_fini): Likewise.
38460 (grub_efi_init): Likewise.
38461 (grub_efi_fini): Likewise.
38462
38463 * include/grub/i386/efi/time.h: Do not include
38464 grub/symbol.h. Include grub/efi/time.h.
38465 (GRUB_TICKS_PER_SECOND): Removed.
38466 (grub_get_rtc): Likewise.
38467
38468 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
38469 Added padding. The EFI spec is buggy.
38470 (GRUB_EFI_BLACK): New macro.
38471 (GRUB_EFI_BLUE): Likewise.
38472 (GRUB_EFI_GREEN): Likewise.
38473 (GRUB_EFI_CYAN): Likewise.
38474 (GRUB_EFI_RED): Likewise.
38475 (GRUB_EFI_MAGENTA): Likewise.
38476 (GRUB_EFI_BROWN): Likewise.
38477 (GRUB_EFI_LIGHTGRAY): Likewise.
38478 (GRUB_EFI_BRIGHT): Likewise.
38479 (GRUB_EFI_DARKGRAY): Likewise.
38480 (GRUB_EFI_LIGHTBLUE): Likewise.
38481 (GRUB_EFI_LIGHTGREEN): Likewise.
38482 (GRUB_EFI_LIGHTCYAN): Likewise.
38483 (GRUB_EFI_LIGHTRED): Likewise.
38484 (GRUB_EFI_LIGHTMAGENTA): Likewise.
38485 (GRUB_EFI_YELLOW): Likewise.
38486 (GRUB_EFI_WHITE): Likewise.
38487 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
38488 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
38489 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
38490 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
38491 (GRUB_EFI_BACKGROUND_RED): Likewise.
38492 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
38493 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
38494 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
38495 (GRUB_EFI_TEXT_ATTR): Likewise.
38496
38497 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
38498 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
38499 (kernel_mod_HEADERS): Added efi/time.h.
38500
83709125 385012006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
38502
38503 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
38504 include/grub/efi/api.h, include/grub/efi/console_control.h,
38505 include/grub/efi/efi.h, include/grub/efi/pe32.h,
38506 include/grub/i386/efi/time.h, kern/efi/efi.c,
38507 kern/i386/efi/init.c, kern/i386/efi/startup.S,
38508 and util/i386/efi/grub-mkimage.c.
38509
38510 * Makefile.in (RMKFILES): Added i386-efi.rmk.
38511
38512 * genmk.rb (PModule#rule): Do not export symbols if
38513 #{prefix}_EXPORTS is set to "no".
38514
38515 * conf/i386-efi.mk: New file.
38516 * conf/i386-efi.rmk: Likewise.
38517 * include/grub/efi/api.h: Likewise.
38518 * include/grub/efi/console_control.h: Likewise.
38519 * include/grub/efi/efi.h: Likewise.
38520 * include/grub/efi/pe32.h: Likewise.
38521 * include/grub/i386/efi/time.h: Likewise.
38522 * kern/efi/efi.c: Likewise.
38523 * kern/i386/efi/init.c: Likewise.
38524 * kern/i386/efi/startup.S: Likewise.
38525 * util/i386/efi/grub-mkimage.c: Likewise.
38526
385272006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 38528
38529 * include/grub/script.h: Include <grub/parser.h> and
38530 "grub_script.tab.h".
38531 (struct grub_lexer_param): New struct.
38532 (struct grub_parser_param): Likewise.
38533 (grub_script_create_arglist): Pass the state in an argument.
38534 (grub_script_add_arglist): Likewise.
38535 (grub_script_create_cmdline): Likewise.
38536 (grub_script_create_cmdblock): Likewise.
38537 (grub_script_create_cmdif): Likewise.
38538 (grub_script_create_cmdmenu): Likewise.
38539 (grub_script_add_cmd): Likewise.
38540 (grub_script_arg_add): Likewise.
38541 (grub_script_lexer_ref): Likewise.
38542 (grub_script_lexer_deref): Likewise.
38543 (grub_script_lexer_record_start): Likewise.
38544 (grub_script_lexer_record_stop): Likewise.
38545 (grub_script_mem_record): Likewise.
38546 (grub_script_mem_record_stop): Likewise.
38547 (grub_script_malloc): Likewise.
38548 (grub_script_yylex): Likewise.
38549 (grub_script_yyparse): Likewise.
38550 (grub_script_yyerror): Likewise.
38551 (grub_script_yylex): Likewise.
38552 (grub_script_lexer_init): Return the state.
38553
38554 * normal/lexer.c (grub_script_lexer_state): Removed variable.
38555 (grub_script_lexer_done): Likewise.
38556 (grub_script_lexer_getline): Likewise.
38557 (grub_script_lexer_refs): Likewise.
38558 (script): Likewise.
38559 (newscript): Likewise.
38560 (record): Likewise.
38561 (recording): Likewise.
38562 (recordpos): Likewise.
38563 (recordlen): Likewise.
38564 (grub_script_lexer_init): Return the state instead of setting
38565 global variables.
38566 (grub_script_lexer_ref): Use the newly added argument for state
38567 instead of globals.
38568 (grub_script_lexer_deref): Likewise.
38569 (grub_script_lexer_record_start): Likewise.
38570 (grub_script_lexer_record_stop): Likewise.
38571 (recordchar): Likewise.
38572 (nextchar): Likewise.
38573 (grub_script_yylex2): Likewise.
38574 (grub_script_yylex): Likewise.
38575 (grub_script_yyerror): Likewise.
38576
38577 * normal/parser.y (func_mem): Removed variable.
38578 (menu_entry): Likewise.
38579 (err): Likewise.
38580 (%lex-param): New parser option.
38581 (%parse-param): Likewise.
38582 (script): Always return the AST.
38583 (argument): Pass the state around.
38584 (arguments): Likewise.
38585 (grubcmd): Likewise.
38586 (commands): Likewise.
38587 (function): Likewise.
38588 (menuentry): Likewise.
38589 (if_statement): Likewise.
38590 (if): Likewise.
38591
38592 * normal/script.c (grub_script_memused): Removed variable.
38593 (grub_script_parsed): Likewise.
38594 (grub_script_malloc): Added a state argument. Use that instead of
38595 global variables.
38596 (grub_script_mem_record): Likewise.
38597 (grub_script_mem_record_stop): Likewise.
38598 (grub_script_arg_add): Likewise.
38599 (grub_script_add_arglist): Likewise.
38600 (grub_script_create_cmdline): Likewise.
38601 (grub_script_create_cmdif): Likewise.
38602 (grub_script_create_cmdmenu): Likewise.
38603 (grub_script_add_cmd): Likewise.
38604 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 38605
e2a8c904 386062006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 38607
38608 * normal/command.c (grub_command_init): Remove the title command.
38609
38610 * normal/lexer.c (grub_script_yylex): Renamed from this...
38611 (grub_script_yylex2): ... to this.
38612 (grub_script_yylex): New function. Temporary
38613 introduced to filter some tokens.
38614 (grub_script_yyerror): Print a newline.
38615
38616 * normal/main.c (read_config_file): Output information about the
38617 lines that contain errors. Wait for a key after all lines have
38618 been processed. Don't return an empty menu.
38619
38620 * normal/parser.y (func_mem): Don't initialize.
38621 (menu_entry): Likewise.
38622 (err): New variable.
38623 (script): Don't return anything when an error was encountered.
38624 (ws, returns): Removed rules.
38625 (argument): Disabled concatenated variable support.
38626 (arguments): Remove explicit separators.
38627 (grubcmd): Likewise.
38628 (function): Likewise.
38629 (menuentry): Likewise.
38630 (if): Likewise.
38631 (commands): Likewise. Add error handling.
38632
38633 * normal/script.c (grub_script_create_cmdline): If
38634 `grub_script_parsed' is 0, assume the parser encountered an error.
38635
c9a86192 386362006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
38637
38638 * configure.ac: Add support for EFI. Fix the typo
38639 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
38640
70f3b243 386412006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
38642
38643 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
38644 foreign multibyte characters should be shown correctly.
38645
65f201ad 386462006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
38647
38648 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
38649 calculation.
38650 (read_config_file): Made it to close file before returning.
38651
b4b93674 386522006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
38653
38654 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
38655 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
38656 video/i386/pc/vbefill.c.
38657
38658 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
38659 video/i386/pc/vbefill.c.
38660
38661 * include/grub/video.h (grub_video_blit_format): New enum.
38662 (grub_video_mode_info): Added new member blit_format.
38663 (grub_video_get_blit_format): New function prototype.
38664
38665 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
38666 function prototype.
38667 (grub_video_vbe_map_rgb): Likewise.
38668 (grub_video_vbe_unmap_color): Likewise.
38669
38670 * include/grub/i386/pc/vbeblit.h: New file.
38671
38672 * include/grub/i386/pc/vbefill.h: New file.
38673
38674 * video/video.c (grub_video_get_blit_format): New function.
38675 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
38676 (grub_video_vbe_map_rgb): Likewise.
38677 (grub_video_vbe_unmap_color): Likewise.
38678
38679 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
38680 optimized fills.
38681 (grub_video_vbe_blit_render_target): Changed to use more optimized
38682 blits.
38683 (grub_video_vbe_setup): Added detection for optimized settings.
38684 (grub_video_vbe_create_render_target): Likewise.
38685
38686 * video/i386/pc/vbeblit.c: New file.
38687
38688 * video/i386/pc/vbefill.c: New file.
38689
c2379b9c 386902006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
38691
38692 * font/manager.c (grub_font_get_glyph): Removed font fixup from
38693 here...
38694
38695 * util/unifont2pff.rb: ... and moved it to here. Improved argument
38696 parsing to support both hex and dec ranges. If filename was missing
38697 show usage information.
38698
bd0d7896 386992006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
38700
38701 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
38702 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
38703
38704 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
38705 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
38706 (video_mod_SOURCES): Added.
38707 (video_mod_CFLAGS): Likewise.
38708 (video_mod_LDFLAGS): Likewise.
38709 (gfxterm_mod_SOURCES): Likewise.
38710 (gfxterm_mod_CFLAGS): Likewise.
38711 (gfxterm_mod_LDFLAGS): Likewise.
38712 (videotest_mod_SOURCES): Likewise.
38713 (videotest_mod_CFLAGS): Likewise.
38714 (videotest_mod_LDFLAGS): Likewise.
38715 (vesafb_mod_SOURCES): Removed.
38716 (vesafb_mod_CFLAGS): Likewise.
38717 (vesafb_mod_LDFLAGS): Likewise.
38718 (vga_mod_SOURCES): Likewise.
38719 (vga_mod_CFLAGS): Likewise.
38720 (vga_mod_LDFLAGS): Likewise.
38721
38722 * commands/videotest.c: New file.
38723
38724 * font/manager.c (fill_with_default_glyph): Modified to use
38725 grub_font_glyph.
38726 (grub_font_get_glyph): Likewise.
38727 (fontmanager): Renamed from this...
38728 (font_manager): ... to this.
38729
38730 * include/grub/font.h (grub_font_glyph): Added new structure.
38731 (grub_font_get_glyph): Modified to use grub_font_glyph.
38732
38733 * include/grub/misc.h (grub_abs): Added as inline function.
38734
38735 * include/grub/video.h: New file.
38736
38737 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
38738 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
38739 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
38740 (grub_vbe_get_controller_info): Renamed from this...
38741 (grub_vbe_bios_get_controller_info): ... to this.
38742 (grub_vbe_get_mode_info): Renamed from this...
38743 (grub_vbe_bios_get_mode_info): ... to this.
38744 (grub_vbe_set_mode): Renamed from this...
38745 (grub_vbe_bios_set_mode): ... to this.
38746 (grub_vbe_get_mode): Renamed from this...
38747 (grub_vbe_bios_get_mode): ... to this.
38748 (grub_vbe_set_memory_window): Renamed from this...
38749 (grub_vbe_bios_set_memory_window): ... to this.
38750 (grub_vbe_get_memory_window): Renamed from this...
38751 (grub_vbe_bios_get_memory_window): ... to this.
38752 (grub_vbe_set_scanline_length): Renamed from this...
38753 (grub_vbe_set_scanline_length): ... to this.
38754 (grub_vbe_get_scanline_length): Renamed from this...
38755 (grub_vbe_bios_get_scanline_length): ... to this.
38756 (grub_vbe_set_display_start): Renamed from this...
38757 (grub_vbe_bios_set_display_start): ... to this.
38758 (grub_vbe_get_display_start): Renamed from this...
38759 (grub_vbe_bios_get_display_start): ... to this.
38760 (grub_vbe_set_palette_data): Renamed from this...
38761 (grub_vbe_bios_set_palette_data): ... to this.
38762 (grub_vbe_set_pixel_rgb): Removed.
38763 (grub_vbe_set_pixel_index): Likewise.
38764
38765 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
38766 from this...
38767 (grub_vbe_bios_get_controller_info): ... to this.
38768 (grub_vbe_get_mode_info): Renamed from this...
38769 (grub_vbe_bios_get_mode_info): ... to this.
38770 (grub_vbe_set_mode): Renamed from this...
38771 (grub_vbe_bios_set_mode): ... to this.
38772 (grub_vbe_get_mode): Renamed from this...
38773 (grub_vbe_bios_get_mode): ... to this.
38774 (grub_vbe_set_memory_window): Renamed from this...
38775 (grub_vbe_bios_set_memory_window): ... to this.
38776 (grub_vbe_get_memory_window): Renamed from this...
38777 (grub_vbe_bios_get_memory_window): ... to this.
38778 (grub_vbe_set_scanline_length): Renamed from this...
38779 (grub_vbe_set_scanline_length): ... to this.
38780 (grub_vbe_get_scanline_length): Renamed from this...
38781 (grub_vbe_bios_get_scanline_length): ... to this.
38782 (grub_vbe_set_display_start): Renamed from this...
38783 (grub_vbe_bios_set_display_start): ... to this.
38784 (grub_vbe_get_display_start): Renamed from this...
38785 (grub_vbe_bios_get_display_start): ... to this.
38786 (grub_vbe_set_palette_data): Renamed from this...
38787 (grub_vbe_bios_set_palette_data): ... to this.
38788 (grub_vbe_bios_get_controller_info): Fixed problem with registers
38789 getting corrupted after calling it. Added more pushes and pops.
38790 (grub_vbe_bios_set_mode): Likewise.
38791 (grub_vbe_bios_get_mode): Likewise.
38792 (grub_vbe_bios_get_memory_window): Likewise.
38793 (grub_vbe_bios_set_scanline_length): Likewise.
38794 (grub_vbe_bios_get_scanline_length): Likewise.
38795 (grub_vbe_bios_get_display_start): Likewise.
38796 (grub_vbe_bios_set_palette_data): Likewise.
38797
38798 * normal/cmdline.c (cl_set_pos): Refresh the screen.
38799 (cl_insert): Likewise.
38800 (cl_delete): Likewise.
38801
38802 * term/gfxterm.c: New file.
38803
38804 * term/i386/pc/vesafb.c: Removed file.
38805
38806 * video/video.c: New file.
38807
38808 * video/i386/pc/vbe.c (real2pm): Added new function.
38809 (grub_video_vbe_draw_pixel): Likewise.
38810 (grub_video_vbe_get_video_ptr): Likewise.
38811 (grub_video_vbe_get_pixel): Likewise
38812 (grub_video_vbe_init): Likewise.
38813 (grub_video_vbe_fini): Likewise.
38814 (grub_video_vbe_setup): Likewise.
38815 (grub_video_vbe_get_info): Likewise.
38816 (grub_video_vbe_set_palette): Likewise.
38817 (grub_video_vbe_get_palette): Likewise.
38818 (grub_video_vbe_set_viewport): Likewise.
38819 (grub_video_vbe_get_viewport): Likewise.
38820 (grub_video_vbe_map_color): Likewise.
38821 (grub_video_vbe_map_rgb): Likewise.
38822 (grub_video_vbe_map_rgba): Likewise.
38823 (grub_video_vbe_unmap_color): Likewise.
38824 (grub_video_vbe_fill_rect): Likewise.
38825 (grub_video_vbe_blit_glyph): Likewise.
38826 (grub_video_vbe_blit_bitmap): Likewise.
38827 (grub_video_vbe_blit_render_target): Likewise.
38828 (grub_video_vbe_scroll): Likewise.
38829 (grub_video_vbe_swap_buffers): Likewise.
38830 (grub_video_vbe_create_render_target): Likewise.
38831 (grub_video_vbe_delete_render_target): Likewise.
38832 (grub_video_vbe_set_active_render_target): Likewise.
38833 (grub_vbe_set_pixel_rgb): Remove function.
38834 (grub_vbe_set_pixel_index): Likewise.
38835 (index_color_mode): Remove static variable.
38836 (active_mode): Likewise.
38837 (framebuffer): Likewise.
38838 (bytes_per_scan_line): Likewise.
38839 (grub_video_vbe_adapter): Added new static variable.
38840 (framebuffer): Likewise.
38841 (render_target): Likewise.
38842 (initial_mode): Likewise.
38843 (mode_in_use): Likewise.
38844 (mode_list): Likewise.
38845
5f97350b 388462006-03-10 Marco Gerards <marco@gnu.org>
38847
38848 * configure.ac (AC_INIT): Bumped to 1.93.
38849
38850 * DISTLIST: Added `include/grub/hfs.h'.
38851
a3c5c6f8 388522006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
38853
38854 * boot/i386/pc/boot.S (general_error): Before looping, try INT
38855 18H, which might help the BIOS falling back to next boot media.
38856
6de53d26 388572006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
38858
38859 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
38860 Poe Chen <poe.poechen@gmail.com>.
38861
77c4a393 388622006-01-17 Marco Gerards <marco@gnu.org>
38863
38864 * include/grub/normal.h: Include <grub/script.h>.
38865 (grub_command_list): Removed struct.
38866 (grub_command_list_t): Removed type.
38867 (grub_menu_entry): Remove members `num' and `command_list'. Add
38868 members `commands' and `sourcecode'.
38869 * include/grub/script.h: Add inclusion guards.
38870 (grub_script_cmd_menuentry): New struct.
38871 (grub_script_execute_menuentry): New prototype.
38872 (grub_script_lexer_record_start): Likewise.
38873 (grub_script_lexer_record_stop): Likewise.
38874 * normal/execute.c (grub_script_execute_menuentry): New function.
38875 * normal/lexer.c (record, recording, recordpos, recordlen): New
38876 variables.
38877 (grub_script_lexer_record_start): New function.
38878 (grub_script_lexer_record_stop): Likewise.
38879 (recordchar): Likewise.
38880 (nextchar): Likewise.
38881 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
38882 2048 as the buffer size. Add the tokens `menuentry' and `@'.
38883 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
38884 (current_menu): New variable.
38885 (free_menu): Mainly rewritten.
38886 (grub_normal_menu_addentry): New function.
38887 (read_config_file): Rewritten.
38888 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 38889 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 38890 the menu entry.
38891 (run): Mainly rewritten.
38892 * normal/parser.y (menu_entry): New variable.
38893 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
38894 (menuentry): New rule.
38895 (command): Add `menuentry'.
38896 (if_statement): Allow additional returns before `fi'.
38897 * normal/script.c (grub_script_create_cmdmenu): New function.
38898
144f1f98 388992006-01-03 Marco Gerards <marco@gnu.org>
38900
38901 * INSTALL: GNU Bison is required.
38902 * configure.ac: Rewritten the test to detect Bison.
38903 * Makefile.in (YACC): New variable. Reported by Xun Sun
38904 <xun.sun.cn@gmail.com>.
38905
af4b2d89 389062006-01-03 Marco Gerards <marco@gnu.org>
38907
38908 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
38909 the HFS+ filesystem to filesystem blocks.
38910 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
38911 GCC warning is silenced.
38912
15643b71 389132006-01-03 Marco Gerards <marco@gnu.org>
38914
38915 * partmap/apple.c (apple_partition_map_iterate): Convert the data
38916 read from disk from big endian to host byte order.
38917
00905879 389182006-01-03 Hollis Blanchard <hollis@penguinppc.org>
38919
38920 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
38921 documentation.
38922 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
38923 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
38924 embedded HFS+ filesystem.
38925 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
38926 (grub_hfs_sblock): Move from here...
38927 * include/grub/hfs.h: To here... New file.
38928 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
38929 documentation.
38930 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
38931 New macros.
38932 (grub_hfsplus_volheader): Change type of member `magic' to
38933 `grub_uint16_t'.
38934 (grub_hfsplus_data): Add new member `embedded_offset'.
38935 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
38936 returned block.
38937 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
38938 Calculate the offset.
38939
8899bc3e 389402005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38941
38942 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
38943 Removed.
38944 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
38945
ae8c0277 389462005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38947
38948 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
38949 ENV->NAME is NULL after allocating ENV->VALUE.
38950
07084456 389512005-12-25 Marco Gerards <marco@gnu.org>
38952
38953 * kern/env.c (grub_env_set): Rewritten the error handling code.
38954
4750f5f1 389552005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38956
38957 * geninit.sh: Made more robust, and more portable.
38958
50214199 389592005-12-25 Marco Gerards <marco@gnu.org>
38960
38961 Add support for Apple HFS+ filesystems.
f19dbdb7 38962
50214199 38963 * fs/hfsplus.c: New file.
38964
38965 * DISTLIST: Added `fs/hfsplus.c'.
38966
38967 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
38968 (hfsplus_mod_SOURCES): New variable.
38969 (hfsplus_mod_CFLAGS): Likewise.
38970 (hfsplus_mod_LDFLAGS): Likewise.
38971 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
38972 (grub_setup_SOURCES): Likewise.
38973 (grub_mkdevicemap_SOURCES): Likewise.
38974 (grub_emu_SOURCES): Likewise.
38975 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38976
38977 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
38978
38979 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
38980
befaed6c 389812005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38982
38983 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
38984 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
38985 include/grub/parser.h, include/grub/script.h, kern/parser.c,
38986 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
38987 normal/lexer.c, normal/parser.y, normal/script.c, and
38988 partmap/gpt.c.
38989 Removed kern/sparc64/cache.c.
38990
38991 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
38992 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
38993 grub_emu_init.c.
38994
38995 * configure.ac (AC_INIT): Bumped to 1.92.
38996
6a124103 389972005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
38998
38999 * kern/err.c (grub_error_push): Added new function to support error
39000 stacks.
39001 (grub_error_pop): Likewise.
39002 (grub_error_stack_items): New local variable to support error stacks.
39003 (grub_error_stack_pos): Likewise.
39004 (grub_error_stack_assert): Likewise.
39005 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
39006 stack depth.
39007 (grub_print_error): Added support to print errors from error stack.
39008
39009 * include/grub/err.h (grub_error_push): Added function prototype.
39010 (grub_error_pop): Likewise.
39011
be973c1b 390122005-12-09 Hollis Blanchard <hollis@penguinppc.org>
39013
39014 * configure.ac: Accept `powerpc64' as host_cpu.
39015 (amd64): Rename to `biarch32'.
39016
39017 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
39018 non-cacheline-aligned addresses.
39019
39020 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
39021 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
39022 if `size' is non-zero.
39023
b04216ab 390242005-12-03 Marco Gerards <mgerards@xs4all.nl>
39025
39026 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
39027 and `cd' to make sure the filename is not prefixed with a
39028 directory name.
39029 (pkgdata_MODULES): Add `gpt.mod'.
39030 (gpt_mod_SOURCES): New variable.
39031 (gpt_mod_CFLAGS): Likewise.
39032 (gpt_mod_LDFLAGS): Likewise.
39033
39034 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
39035
39036 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
39037 New macro.
39038
39039 * partmap/gpt.c: New file.
39040
39041 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
39042 GPT partition map is detected.
39043
41730ed9 390442005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
39045
39046 * commands/i386/pc/play.c: New file.
39047 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
39048 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
39049 macros.
f19dbdb7 39050
95dc3643 390512005-11-27 Marco Gerards <mgerards@xs4all.nl>
39052
39053 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
39054 ((unused))' to silence gcc warning.
39055
1569ec51 390562005-11-26 Hollis Blanchard <hollis@penguinppc.org>
39057
39058 * configure.ac: Correct `AC_PROG_YACC' test.
39059
9abde152 390602005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39061
39062 * util/powerpc/ieee1275/grub-install.in: Run the mount point
39063 check before installing files.
39064
44b83271 390652005-11-22 Mike Small <smallm@panix.com>
39066
39067 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
39068 number regex so multidigit numbers are recognized correctly.
39069
390702005-11-22 Mike Small <smallm@panix.com>
39071
39072 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
39073 debugging message before attempting to claim memory.
39074 (grub_rescue_cmd_initrd): Add a claim debugging message and try
39075 multiple addresses in case of failure.
39076
9c12956b 390772005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39078
39079 * term/tparm.c (get_space): Remove empty `if' statement.
39080
39081 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
39082
39083 * kern/parser.c (check_varstate): Rename `state' to 's'.
39084
aeaf81d9 390852005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39086
39087 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
39088 variable definitions to the beginning of each function. Sort stack
39089 variables by size.
39090 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
39091 `buf' argument to `char *'.
39092
79bbb63f 390932005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39094
39095 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
39096 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 39097 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 39098 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
39099 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
39100 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
39101 configfile.mod, search.mod, gzio.mod and test.mod.
39102 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
39103 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
39104 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
39105 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
39106 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
39107 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
39108 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
39109 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
39110 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
39111 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
39112 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
39113 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
39114 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
39115 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
39116 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
39117 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
39118 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
39119 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
39120 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
39121 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
39122 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
39123 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
39124 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
39125
39126 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
39127 `grep --include'.
39128 (pkgdata_MODULES): Add test.mod.
39129
233b1628 391302005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39131
39132 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
39133 appending to variables with "+=".
39134 (PModule): Use full pathname to generate *.lst filenames.
39135
39136 * Makefile.in: Fixed list rules moved from genmk.rb.
39137 (.DELETE_ON_ERROR): New special target.
39138 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
39139
39140 * conf/i386-pc.rmk: Include conf/common.mk.
39141 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 39142 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 39143 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
39144 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
39145 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
39146 configfile.mod, search.mod, gzio.mod and test.mod.
39147 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
39148 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
39149 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
39150 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
39151 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
39152 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
39153 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
39154 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
39155 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
39156 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
39157 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
39158 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
39159 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
39160 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
39161 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
39162 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
39163 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
39164 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
39165 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
39166 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
39167 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
39168 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
39169 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
39170 here...
39171 * conf/common.rmk: ... to here. New file.
39172
39173 * conf/common.mk: New file.
39174
16f820c8 391752005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
39176
39177 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
39178 (grub_script.tab.c): ... here.
39179
39180 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
39181 (grub_script.tab.c): ... here.
39182
39183 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
39184 (grub_script.tab.c): ... here.
39185
39186 * normal/command.c (grub_command_find): Fixed a memory leak of
39187 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
39188
63ba1554 391892005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39190
39191 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
39192 "@" which marks the start of a comment on ARM.
39193 (VARIABLE): Likewise.
39194
7f67dc13 391952005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39196
79bbb63f 39197 Add support for Linux/ADFS partition tables.
7f67dc13 39198
39199 * partmap/acorn.c: New file.
39200
39201 * include/grub/acorn_filecore.h: Likewise.
39202
39203 * DISTLIST: Added `partmap/acorn.c' and
39204 `include/grub/acorn_filecore.h'.
f19dbdb7 39205
7f67dc13 39206 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
39207 `partmap/acorn.c'.
39208 (pkgdata_MODULES): Add `acorn.mod'.
39209 (acorn_mod_SOURCES): New variable.
39210 (acorn_mod_CFLAGS): Likewise.
39211
39212 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
39213 `partmap/acorn.c'.
39214 (pkgdata_MODULES): Add `acorn.mod'.
39215 (acorn_mod_SOURCES): New variable.
39216 (acorn_mod_CFLAGS): Likewise.
39217
39218 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
39219 (pkgdata_MODULES): Add `acorn.mod'.
39220 (acorn_mod_SOURCES): New variable.
39221 (acorn_mod_CFLAGS): Likewise.
39222 (acorn_mod_LDFLAGS): Likewise.
39223
39224 * include/types.h (grub_disk_addr_t): New typedef.
39225
6d099807 392262005-11-13 Marco Gerards <mgerards@xs4all.nl>
39227
39228 * geninit.sh: New file.
39229
39230 * geninitheader.sh: Likewise.
39231
39232 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
39233 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
39234 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
39235 * commands/configfile.c (grub_configfile_init)
39236 (grub_configfile_fini): Likewise.
39237 * commands/default.c (grub_default_init, grub_default_fini):
39238 Likewise.
39239 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
39240 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
39241 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
39242 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
39243 Likewise.
39244 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
39245 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
39246 Likewise.
39247 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 39248 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 39249 Likewise.
39250 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
39251 Likewise.
fe6b695a 39252 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 39253 Likewise.
39254 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
39255 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
39256 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
39257 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
39258 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
39259 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
39260 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
39261 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
39262 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
39263 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
39264 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
39265 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
39266 * partmap/amiga.c (grub_amiga_partition_map_init)
39267 (grub_amiga_partition_map_fini): Likewise.
39268 * partmap/apple.c (grub_apple_partition_map_init)
39269 (grub_apple_partition_map_fini): Likewise.
39270 * partmap/pc.c (grub_pc_partition_map_init)
39271 (grub_pc_partition_map_fini): Likewise.
39272 * partmap/sun.c (grub_sun_partition_map_init,
39273 grub_sun_partition_map_fini): Likewise.
39274 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
39275 Likewise.
39276
39277 * util/grub-emu.c: Include <grub_modules_init.h>.
39278 (main): Don't initialize and de-initialize any modules directly,
39279 use `grub_init_all' and `grub_fini_all' instead.
39280
39281 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
39282 `grub_vesafb_mod_init'.
39283 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
39284 all users.
39285 * term/i386/pc/vga.c (grub_vga_init): Renamed to
39286 `grub_vga_mod_init'. Updated all users.
39287 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 39288
6d099807 39289 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
39290 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
39291 rules.
39292
39293 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
39294 Generate a function to initialize the module in utilities.
39295 Updated all callers.
39296 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
39297 initialize the module in utilities. Updated all callers.
39298
9046bcf0 392992005-11-09 Hollis Blanchard <hollis@penguinppc.org>
39300
39301 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
39302 escape sequence and a literal ^L to clear the screen.
39303
39304 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
39305 when returning from Open Firmware.
39306
d13ea639 393072005-11-09 Hollis Blanchard <hollis@penguinppc.org>
39308
39309 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
39310 (grub_ofconsole_height): Likewise.
39311 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
39312 manually insert a '\n'.
39313 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
39314 `grub_ofconsole_height'. Return early if these are already set.
39315
a8fcf206 393162005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
39317
39318 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
39319 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
39320 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
39321 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
39322 and `normal/script.c'.
39323 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
39324 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
39325 (test_mod_SOURCES): New variable.
39326 (test_mod_CFLAGS): Likewise.
39327 (test_mod_LDFLAGS): Likewise.
39328 (pkgdata_MODULES): Add `test.mod'.
39329 (grub_script.tab.c): New rule.
39330 (grub_script.tab.h): Likewise.
39331
b6b32745 393322005-11-07 Marco Gerards <mgerards@xs4all.nl>
39333
39334 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
39335 `commands/test.c', `normal/execute.c', `normal/lexer.c',
39336 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
39337 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
39338 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
39339 (test_mod_SOURCES): New variable.
39340 (test_mod_CFLAGS): Likewise.
39341 (pkgdata_MODULES): Add `test.mod'.
39342 (grub_script.tab.c): New rule.
39343 (grub_script.tab.h): Likewise.
39344
daac212a 393452005-11-06 Marco Gerards <mgerards@xs4all.nl>
39346
39347 Add initial scripting support.
39348
39349 * commands/test.c: New file.
39350 * include/grub/script.h: Likewise.
39351 * normal/execute.c: Likewise.
39352 * normal/function.c: Likewise.
39353 * normal/lexer.c: Likewise.
39354 * normal/parser.y: Likewise.
39355 * normal/script.c: Likewise.
39356
39357 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 39358
daac212a 39359 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
39360 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
39361 `normal/function.c' and `normal/script.c'.
39362 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
39363 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 39364 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
39365 variables.
daac212a 39366 (pkgdata_MODULES): Add `test.mod'.
39367 (grub_script.tab.c): New rule.
39368 (grub_script.tab.h): Likewise.
39369
39370 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
39371
39372 * include/grub/normal.h (grub_test_init): New prototype.
39373 (grub_test_fini): Likewise.
f19dbdb7 39374
daac212a 39375 * normal/command.c: Include <grub/script.h>.
39376 (grub_command_execute): Rewritten.
f19dbdb7 39377
daac212a 39378 * util/grub-emu.c (main): Call `grub_test_init' and
39379 `grub_test_fini'.
39380
77500b2b 393812005-11-03 Hollis Blanchard <hollis@penguinppc.org>
39382
39383 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
39384 to 0.
39385 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
39386 there are no pending characters.
39387
e45deb9e 393882005-11-03 Hollis Blanchard <hollis@penguinppc.org>
39389
39390 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
39391 `grub_strndup' to drop device arguments. Replace unnecessary
39392 `grub_strndup' with `grub_strdup'.
39393
4ce32619 393942005-11-03 Hollis Blanchard <hollis@penguinppc.org>
39395
39396 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
39397 `debug' environment variable has been set.
39398
393992005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 39400
4ce32619 39401 * Makefile.in (install-local): Use $(DATA).
39402 (uninstall): Likewise.
39403 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
39404 (sbin_UTILITIES): ... to here.
39405 (sbin_SCRIPTS): New variable.
39406 (grub_install_SOURCES): New variable.
39407 * util/powerpc/ieee1275/grub-install.in: New file.
39408 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
39409 variable.
39410 (add_segments): Call `grub_util_get_path'.
39411
25fe6f03 394122005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
39413
39414 From Timothy Baldwin:
39415 * commands/ls.c (grub_ls_list_files): Close FILE with
39416 grub_file_close.
39417 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
39418
04ccf3ec 394192005-10-24 Marco Gerards <mgerards@xs4all.nl>
39420
39421 * include/grub/parser.h: New file.
39422
39423 * kern/parser.c: Likewise.
39424
39425 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
39426 (grub_setup_SOURCES): Likewise.
39427 (grub_probefs_SOURCES): Likewise.
39428 (grub_emu_SOURCES): Likewise.
39429 (kernel_img_HEADERS): Add `parser.h'.
39430
39431 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
39432 (grub_emu_SOURCES): Add `kern/parser.c'.
39433 (grubof_SOURCES): Likewise.
39434
39435 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
39436 (grubof_SOURCES): Add `kern/parser.c'.
39437
39438 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
39439
39440 * kern/misc.c (grub_split_cmdline): Removed function.
39441
39442 * kern/rescue.c: Include <grub/parser.h>.
39443 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
39444 of `grub_split_cmdline'.
39445
39446 * normal/command.c: Include <grub/parser.h>.
39447 (grub_command_execute): Use `grub_parser_split_cmdline' instead
39448 of `grub_split_cmdline'.
39449
39450 * normal/completion.c: Include <grub/parser.h>.
39451 (cmdline_state): New variable.
39452 (iterate_dir): End the filename with a quote depending on the
39453 command line state.
39454 (get_state): new function.
39455 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
39456 split the arguments and determine the current argument. When the
39457 argument string is not quoted, escape all spaces.
39458
6d8f4b0e 394592005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
39460
39461 * normal/sparc64/setjmp.S: New file.
39462
15cf03ed 394632005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
39464
39465 * include/grub/sparc64/libgcc.h: New file.
39466 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
39467 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
39468 normal/sparc64/setjmp.c.
39469
03e8661a 394702005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
39471
39472 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
39473 * kern/sparc64/cache.S: New file.
39474 * kern/sparc64/cache.c: Removed.
39475 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
39476 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
39477 -mtune=ultrasparc.
39478 (COMMON_LDFLAGS): Add -melf64_sparc.
39479 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
39480 (grubof_SOURCES): Use cache.S instead of cache.c.
39481 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
39482 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
39483 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
39484 commented though.
39485 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
39486 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
39487 (linux_mod_CFLAGS): Commented out.
39488 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
39489 out because module isn't built.
39490 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
39491 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
39492 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
39493 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
39494 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
39495 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
39496 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
39497 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
39498 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
39499 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
39500 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
39501 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
39502 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
39503 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
39504
34eeec8a 395052005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
39506
39507 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
39508 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
39509 longer, because HFS should not be used on PC.
39510
708367a3 395112005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39512
39513 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
39514 consistently within the loop.
39515
6fa1251a 395162005-10-15 Marco Gerards <mgerards@xs4all.nl>
39517
39518 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
39519 directory can not be read.
39520
4801580b 395212005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
39522
39523 * configure.ac (AC_INIT): Increase the version number to 1.91.
39524
39525 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
39526 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
39527 term/i386/pc/serial.c.
39528
219ad426 395292005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
39530
39531 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
39532 file size must be permitted.
39533
39534 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
39535 between %ah and %al.
39536
688e5699 395372005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
39538
39539 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
39540 grub_uint64_t.
39541 Call the hook with a NUL-terminated filename.
39542 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
39543 grub_cpu_to_be32.
39544
39545 * kern/term.c (cursor_state): New variable.
39546 (grub_term_set_current): Reset the cursor state on a new
39547 terminal.
39548 (grub_setcursor): Rewritten to use CURSOR_STATE.
39549 (grub_getcursor): New function.
39550
39551 * include/grub/term.h (grub_getcursor): New prototype.
39552
39553 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
39554 integers on ARM. Reported by Timothy Baldwin
39555 <T.E.Baldwin99@members.leeds.ac.uk>.
39556
bb34586c 395572005-10-11 Marco Gerards <mgerards@xs4all.nl>
39558
39559 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
39560 allocated.
39561 (grub_sfs_dir): Likewise.
39562
9a909877 395632005-10-09 Marco Gerards <mgerards@xs4all.nl>
39564
39565 Add support for the SFS filesystem.
39566
39567 * fs/sfs.c: New file.
39568
39569 * DISTLIST: Added `fs/sfs.c'.
39570
39571 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
39572 (grub_probefs_SOURCES): Likewise.
39573 (grub_emu_SOURCES): Likewise.
39574 (pkgdata_MODULES): Add `sfs.mod'.
39575 (sfs_mod_SOURCES): New variable.
39576 (sfs_mod_CFLAGS): Likewise.
39577 (sfs_mod_LDFLAGS): Likewise.
39578
39579 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
39580 (pkgdata_MODULES): Add `sfs.mod'.
39581 (sfs_mod_SOURCES): New variable.
39582 (sfs_mod_CFLAGS): Likewise.
39583
39584 * util/grub-emu.c (main): Call `grub_sfs_init' and
39585 `grub_sfs_fini'.
39586
39587 * include/grub/fs.h (grub_sfs_init): New prototype.
39588 (grub_sfs_fini): Likewise.
39589
57bdbde3 395902005-10-07 Marco Gerards <mgerards@xs4all.nl>
39591
39592 Add support for the AFFS filesystem.
39593
39594 * fs/affs.c: New file.
39595
39596 * DISTLIST: Added `fs/affs.c'.
39597
39598 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
39599 (grub_probefs_SOURCES): Likewise.
39600 (grub_emu_SOURCES): Likewise.
39601 (pkgdata_MODULES): Add `affs.mod'.
39602 (affs_mod_SOURCES): New variable.
39603 (affs_mod_CFLAGS): Likewise.
39604 (affs_mod_LDFLAGS): Likewise.
39605
39606 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
39607 (pkgdata_MODULES): Add `affs.mod'.
39608 (affs_mod_SOURCES): New variable.
39609 (affs_mod_CFLAGS): Likewise.
39610
39611 * util/grub-emu.c (main): Call `grub_affs_init' and
39612 `grub_affs_fini'.
39613
39614 * include/grub/fs.h (grub_affs_init): New prototype.
39615 (grub_affs_fini): Likewise.
39616
047b67e0 396172005-10-01 Marco Gerards <mgerards@xs4all.nl>
39618
39619 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
39620
59b8208a 396212005-10-01 Marco Gerards <mgerards@xs4all.nl>
39622
39623 * configure.ac: Accept `x86_64' as host_cpu. In that case add
39624 `-m32' to CFLAGS.
39625
39626 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
39627 linking.
f19dbdb7 39628
59b8208a 39629 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
39630 (COMMON_LDFLAGS): New variable.
39631 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
39632 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
39633 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
39634 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
39635 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
39636 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
39637 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
39638 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
39639 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
39640 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
39641 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
39642 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
39643 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
39644 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
39645 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
39646 variables.
39647 (normal_mod_ASFLAGS): Add `-m32'.
39648
39649 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
39650 (grub_host_size_t, grub_host_ssize_t): New types.
39651 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 39652 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 39653 `GRUB_HOST_SIZEOF_VOID_P'.
39654
39655 * include/grub/kernel.h (struct grub_module_header): Type of
39656 member offset changed to `grub_host_off_t'. Type of member size
39657 changed to `grub_host_size_t'.
39658 (struct grub_module_info): Type of member offset changed to
39659 `grub_host_off_t'. Type of member size changed to
39660 `grub_host_size_t'.
39661
b4093103 396622005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
39663
39664 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 39665
b4093103 39666 * kern/i386/pc/startup.S (multiboot_header): New label.
39667 (multiboot_entry): Likewise.
39668 (multiboot_trampoline): Likewise.
39669
39670 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
39671 Increased to 0x4A0.
39672
39673 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
39674 put parentheses after a question mark.
39675 [!GRUB_UTIL] (my_mod): New variable.
39676
39677 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
39678
b2499b29 396792005-09-28 Marco Gerards <mgerards@xs4all.nl>
39680
39681 Adds support for the XFS filesystem. Btrees are not supported
39682 yet.
39683
39684 * fs/xfs.c: New file.
39685
39686 * DISTLIST: Added `fs/xfs.c'.
39687
39688 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
39689 (grub_probefs_SOURCES): Likewise.
39690 (grub_emu_SOURCES): Likewise.
39691 (pkgdata_MODULES): Add `xfs.mod'.
39692 (xfs_mod_SOURCES): New variable.
39693 (xfs_mod_CFLAGS): Likewise.
39694
39695 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
39696 (pkgdata_MODULES): Add `xfs.mod'.
39697 (xfs_mod_SOURCES): New variable.
39698 (xfs_mod_CFLAGS): Likewise.
39699
39700 * util/grub-emu.c (main): Call `grub_xfs_init' and
39701 `grub_xfs_fini'.
39702
39703 * include/grub/fs.h (grub_xfs_init): New prototype.
39704 (grub_xfs_fini): Likewise.
39705
f19dbdb7 39706
83d37a62 397072005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
39708
39709 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
39710 color modes, allow greater than 16 colors to be configured as
39711 a default palette.
39712
47d2d65e 397132005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39714
39715 * normal/completion.c (complete_arguments): Add the qualifier
39716 const into OPTIONS.
39717
39718 From Omniflux <omniflux+lists@omniflux.com>:
39719 * include/grub/terminfo.h: New file.
39720 * include/grub/tparm.h: Likewise.
39721 * include/grub/i386/pc/serial.h: Likewise.
39722 * term/terminfo.c: Likewise.
39723 * term/tparm.c: Likewise.
39724 * term/i386/pc/serial.c: Likewise.
39725 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
39726 serial.mod.
39727 (terminfo_mod_SOURCES): New variable.
39728 (terminfo_mod_CFLAGS): Likewise.
39729 (serial_mod_SOURCES): Likewise.
39730 (serial_mod_CFLAGS): Likewise.
39731
48b671ff 397322005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
39733
39734 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
39735 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
39736 and kern/powerpc/ieee1275/cmain.c, respectively.
39737
39738 * boot/powerpc/ieee1275/crt0.S: Moved to ...
39739 * kern/powerpc/ieee1275/crt0.S: ... here.
39740
39741 * boot/powerpc/ieee1275/cmain.c: Moved to ...
39742 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 39743
48b671ff 39744 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
39745 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
39746 instead of boot/powerpc/ieee1275/crt0.S and
39747 boot/powerpc/ieee1275/cmain.c, respectively.
39748
39749 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
39750 sectors. It was not used anyway.
39751
09fc77a7 397522005-08-30 Hollis Blanchard <hollis@penguinppc.org>
39753
39754 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
39755 `unused parameter' warning.
39756
003789c7 397572005-08-30 Hollis Blanchard <hollis@penguinppc.org>
39758
39759 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
39760 function.
39761 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
39762 getcharwidth.
39763
67f44c86 397642005-08-28 Marco Gerards <metgerards@student.han.nl>
39765
39766 * include/grub/normal.h (enum grub_completion_type): Added
39767 `GRUB_COMPLETION_TYPE_ARGUMENT'.
39768
39769 * normal/cmdline.c (print_completion): Handle
39770 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
39771 * normal/menu_entry.c (store_completion): Likewise.
39772
39773 * normal/completion.c (complete_arguments): New function.
39774 (grub_normal_do_completion): Call `complete_arguments' when the
39775 current words start with a dash.
39776
0b5abe02 397772005-08-27 Marco Gerards <metgerards@student.han.nl>
39778
39779 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
39780 `gzio.mod' instead of `io.mod').
39781
d9864ee1 397822005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
39783
39784 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
39785 (DISTDIRS): Added io and video.
39786 Rewrite the search routine to make an output consistently.
39787
39788 * DISTLIST: Added conf/sparc64-ieee1275.mk,
39789 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
39790 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
39791 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
39792 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
39793 util/powerpc/ieee1275/misc.c.
f19dbdb7 39794
d9864ee1 39795 * include/grub/gzio.h: New file.
39796 * io/gzio.c: Likewise.
f19dbdb7 39797
d9864ee1 39798 * kern/file.c (grub_file_close): Call grub_device_close only if
39799 FILE->DEVICE is not NULL.
39800
39801 * include/grub/mm.h [!NULL] (NULL): New macro.
39802
39803 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
39804
39805 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
39806 (pkgdata_MODULES): Added gzio.mod.
39807 (gzio_mod_SOURCES): New variable.
39808 (gzio_mod_CFLAGS): Likewise.
39809
39810 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
39811 (pkgdata_MODULES): Added gzio.mod.
39812 (gzio_mod_SOURCES): New variable.
39813 (gzio_mod_CFLAGS): Likewise.
39814
39815 * commands/cat.c: Include grub/gzio.h.
39816 (grub_cmd_cat): Use grub_gzfile_open instead of
39817 grub_file_open.
f19dbdb7 39818
d9864ee1 39819 * commands/cmp.c: Include grub/gzio.h.
39820 (grub_cmd_cmp): Use grub_gzfile_open instead of
39821 grub_file_open.
39822
39823 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
39824 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
39825 grub_file_open.
39826 (grub_rescue_cmd_module): Likewise.
39827
fa46f4b5 398282005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
39829
39830 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
39831 kern/sparc64/ieee1275/init.c because it contains _start.
39832 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
39833
e9211b5d 398342005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
39835
39836 * configure.ac: Add support for sparc64 host with ieee1275
39837 firmware.
39838 * configure: Generated from configure.ac.
39839 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
39840 instead of int.
39841 (grub_ofdisk_read): Likewise.
39842 (grub_ofdisk_open): Use %p to print pointer values, and cast the
39843 pointers as (void *) to remove a warning.
39844 (grub_ofdisk_close): Likewise.
39845 (grub_ofdisk_read): Likewise.
39846 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
39847 returns, so make it return void to remove a warning.
39848 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
39849 Corresponding prototype change.
39850 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
39851 values, and cast the pointers as (void *) to remove a warning.
39852 (grub_mm_dump): Likewise.
39853 * conf/sparc64-ieee1275.mk: New file.
39854 * conf/sparc64-ieee1275.rmk: Likewise.
39855 * include/grub/sparc64/setjmp.h: Likewise.
39856 * include/grub/sparc64/types.h: Likewise.
39857 * include/grub/sparc64/ieee1275/console.h: Likewise.
39858 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
39859 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
39860 * include/grub/sparc64/ieee1275/time.h: Likewise.
39861 * kern/sparc64/cache.c: Likewise.
39862 * kern/sparc64/dl.c: Likewise.
39863 * kern/sparc64/ieee1275/init.c: Likewise.
39864 * kern/sparc64/ieee1275/openfw.c: Likewise.
39865
385c6a92 398662005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
39867
39868 * util/console.c (grub_ncurses_putchar): If C is greater than
39869 0x7f, set C to a question mark.
39870 (grub_ncurses_getcharwidth): New function.
39871 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
39872 getcharwidth.
39873
39874 * normal/menu.c (print_entry): Made aware of Unicode. First,
39875 convert TITLE to UCS-4, and predict the cursor position by
39876 grub_getcharwidth.
39877
39878 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
39879 const to SRC.
39880 * kern/misc.c (grub_utf16_to_utf8): Likewise.
39881
16ccb8b1 398822005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
39883
39884 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
39885 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
39886 grub_strcat.
39887
39888 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
39889 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
39890 grub_strcpy and grub_strlen. Take it into account that a space
39891 character is inserted as a delimiter.
39892
6a85ce79 398932005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
39894
39895 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 39896 invalid magic in the error.
6a85ce79 39897
39898 * commands/search.c: New file.
f19dbdb7 39899
6a85ce79 39900 * util/grub-emu.c (main): Call grub_search_init and
39901 grub_search_fini.
39902
39903 * kern/rescue.c (grub_rescue_print_disks): Removed.
39904 (grub_rescue_print_devices): New function.
39905 (grub_rescue_cmd_ls): Use grub_device_iterate with
39906 grub_rescue_print_devices instead of grub_disk_dev_iterate with
39907 grub_rescue_print_disks.
39908
39909 * kern/partition.c (grub_partition_iterate): Return the result of
39910 PARTMAP->ITERATE instead of GRUB_ERRNO.
39911
39912 * kern/device.c: Include grub/partition.h.
39913 (grub_device_iterate): New function.
39914
39915 * include/grub/partition.h (grub_partition_iterate): Return int
39916 instead of grub_err_t.
39917
39918 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
39919 prototype.
39920 [GRUB_UTIL] (grub_search_fini): Likewise.
39921
39922 * include/grub/device.h (grub_device_iterate): New prototype.
39923
39924 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
39925 commands/search.c.
39926 (pkgdata_MODULES): Added search.mod.
39927 (search_mod_SOURCES): New variable.
39928 (search_mod_CFLAGS): Likewise.
39929
39930 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
39931 (pkgdata_MODULES): Added search.mod.
39932 (search_mod_SOURCES): New variable.
39933 (search_mod_CFLAGS): Likewise.
39934
39935 * commands/ls.c (grub_ls_list_disks): Renamed to ...
39936 (grub_ls_list_devices): ... this, and use grub_device_iterate.
39937 All callers changed.
39938
39939 * DISTLIST: Added commands/search.c.
39940
ef095434 399412005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
39942
39943 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
39944 conversion.
39945 (grub_getcharwidth): New function.
39946
39947 * kern/misc.c (grub_utf8_to_ucs4): New function.
39948
39949 * include/grub/term.h (struct grub_term): Added a new member
39950 "getcharwidth".
39951 (grub_getcharwidth): New prototype.
39952
39953 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
39954
39955 * term/i386/pc/console.c (map_char): New function. Segregated from
39956 grub_console_putchar.
39957 (grub_console_putchar): Use map_char.
39958 (grub_console_getcharwidth): New function.
39959 (grub_console_term): Specified grub_console_getcharwidth as
39960 getcharwidth.
39961
39962 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
39963 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
39964
39965 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
39966 GRUB_ERRNO.
39967 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
39968 on grub_strtoul completely.
39969 (write_char): Declare local variables in the beginning of the
39970 function.
39971 (grub_vesafb_getcharwidth): New function.
39972 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
39973 getcharwidth.
39974
1f0a95e4 399752005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
39976
39977 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
39978 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
39979 commands/i386/pc/vbetest.c.
39980
39981 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
39982 call grub_vbe_get_controller_info again, because the returned
39983 information is volatile.
39984 (grub_vbe_set_video_mode): Mostly rewritten.
39985 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
39986 grub_vbe_status_t correctly.
39987 (grub_vbe_get_video_mode_info): Likewise.
39988 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
39989 several if statements.
39990
39991 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
39992 * commands/i386/pc/vbeinfo.c: ... this.
39993
39994 * commands/i386/pc/vbe_test.c: Renamed to ...
39995 * commands/i386/pc/vbetest.c: ... this.
39996
39997 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
39998 ...
39999 (grub_cmd_vbeinfo): ... this. Save video modes before
40000 iterating. Skip a video mode, if it is not available, not enough
40001 information is given or it is monochrome. Show the memory
40002 model. Leave the interpretation of MODEVAR to grub_strtoul
40003 completely.
40004 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
40005 (GRUB_MOD_FINI): Likewise.
40006
40007 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
40008 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
40009 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
40010 duplicated grub_env_get. Leave the interpretation of MODEVAR to
40011 grub_strtoul completely.
40012 (real2pm): Removed.
40013 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
40014 (GRUB_MOD_FINI): Likewise.
40015
40016 * normal/misc.c: Include grub/mm.h.
40017
40018 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
40019 vbe_list_modes with vbetest.mod and vbeinfo.mod.
40020 (vbe_list_modes_mod_SOURCES): Removed.
40021 (vbe_list_modes_mod_CFLAGS): Likewise.
40022 (vbe_test_mod_SOURCES): Likewise.
40023 (vbe_test_mod_CFLAGS): Likewise.
40024 (vbeinfo_mod_SOURCES): New variable.
40025 (vbeinfo_mod_CFLAGS): Likewise.
40026 (vbetest_mod_SOURCES): Likewise.
40027 (vbetest_mod_CFLAGS): Likewise.
40028
992ffbbe 400292005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
40030
40031 * normal/misc.c: New file.
40032
40033 * DISTLIST: Added normal/misc.c.
f19dbdb7 40034
992ffbbe 40035 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
40036 DISK to HOOK. Call HOOK with DISK.
40037 * partmap/apple.c (apple_partition_map_iterate): Likewise.
40038 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40039 * partmap/sun.c (sun_partition_map_iterate): Likewise.
40040
40041 * normal/menu_entry.c (struct screen): Added a new member
40042 "completion_shown".
40043 (completion_buffer): New global variable.
40044 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
40045 (store_completion): New function.
40046 (complete): Likewise.
40047 (clear_completions): Likewise.
40048 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
40049 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
40050 a tab, call complete.
40051
40052 * normal/completion.c (disk_dev): Removed.
40053 (print_simple_completion): Likewise.
40054 (print_partition_completion): Likewise.
40055 (print_func): New global variable.
40056 (add_completion): Do not take the arguments WHAT or PRINT any
40057 longer. Added a new argument TYPE. Instead of printing directly,
40058 call PRINT_FUNC if not NULL.
40059 All callers changed.
40060 (complete_device): Use a local variable DEV instead of
40061 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
40062 (grub_normal_do_completion): Take a new argument HOOK. Do not
40063 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
40064 empty string, return NULL instead.
40065 All callers changed.
40066
40067 * normal/cmdline.c (print_completion): New function.
40068
40069 * kern/partition.c (grub_partition_iterate): Add an argument DISK
40070 to HOOK.
40071 All callers changed.
40072
40073 * kern/disk.c (grub_print_partinfo): Removed.
40074
40075 * include/grub/partition.h (struct grub_partition_map): Add a new
40076 argument DISK into HOOK of ITERATE.
40077 (grub_partition_iterate): Add a new argument DISK to HOOK.
40078
40079 * include/grub/normal.h (enum grub_completion_type): New enum.
40080 (grub_completion_type_t): New type.
40081 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
40082 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
40083 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
40084 (GRUB_COMPLETION_TYPE_FILE): Likewise.
40085 (grub_normal_do_completion): Added a new argument HOOK.
40086 (grub_normal_print_device_info): New prototype.
40087
40088 * include/grub/disk.h (grub_print_partinfo): Removed.
40089
40090 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
40091 (normal_mod_SOURCES): Likewise.
40092 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40093 (normal_mod_SOURCES): Likewise.
40094
40095 * commands/ls.c (grub_ls_list_disks): Use
40096 grub_normal_print_device_info instead of grub_print_partinfo. Free
40097 PNAME.
40098 (grub_ls_list_files): Use grub_normal_print_device_info instead of
40099 duplicating the code.
40100
0bd41162 401012005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
40102
40103 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 40104 follow GCS more precisely.
40105 * commands/i386/pc/vbe_test.c: Likewise.
40106 * include/grub/i386/pc/vbe.h: Likewise.
40107 * term/i386/pc/vesafb.c: Likewise.
40108 * video/i386/pc/vbe.c: Likewise.
0bd41162 40109
6323696a 401102005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
40111
40112 * DISTLIST: Added term/i386/pc/vesafb.c
40113 DISTLIST: Added video/i386/pc/vbe.c
40114 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
40115 DISTLIST: Added commands/i386/pc/vbe_test.c.
40116 * commands/i386/pc/vbe_list_modes.c: New file.
40117 * commands/i386/pc/vbe_test.c: Likewise.
40118 * term/i386/pc/vesafb.c: Likewise.
40119 * video/i386/pc/vbe.c: Likewise.
40120 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
40121 (grub_vbe_probe) Added prototype.
40122 (grub_vbe_set_video_mode) Likewise.
40123 (grub_vbe_get_video_mode) Likewise.
40124 (grub_vbe_get_video_mode_info) Likewise.
40125 (grub_vbe_set_pixel_rgb) Likewise.
40126 (grub_vbe_set_pixel_index) Likewise.
40127 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
40128 (pkgdata_MODULES): Added vesafb.mod.
40129 (pkgdata_MODULES): Added vbe_list_modes.mod.
40130 (pkgdata_MODULES): Added vbe_test.mod.
40131 (vbe_mod_SOURCES): Added.
40132 (vbe_mod_CFLAGS): Likewise.
40133 (vesafb_mod_SOURCES): Likewise.
40134 (vesafb_mod_CFLAGS): Likewise.
40135 (vbe_list_modes_mod_SOURCES): Likewise.
40136 (vbe_list_modes_mod_CFLAGS): Likewise.
40137 (vbe_test_mod_SOURCES): Likewise.
40138 (vbe_test_mod_CFLAGS): Likewise.
40139
0a74e62f 401402005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
40141
0a74e62f 40142 * normal/command.c (grub_command_execute): If INTERACTIVE is
40143 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
40144 CMDLINE. Disable the pager if INTERACTIVE is true.
40145 All callers are changed.
40146
40147 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
40148 before reading a config file.
40149 * normal/main.c (read_config_file): Even if a command is not
40150 found, register it if it is within an entry.
40151
40152 * util/grub-emu.c: Include sys/types.h and unistd.h.
40153 (options): Added --hold.
40154 (struct arguments): Added a new member "hold".
40155 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
40156 missing.
40157 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
40158 cleared by a debugger, if it is not zero.
40159
40160 * include/grub/normal.h (grub_command_execute): Add an argument
40161 INTERACTIVE.
40162
e51f85ae 401632005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
40164
40165 * DISTLIST: Added include/grub/i386/pc/vbe.h.
40166
e9c6f39b 401672005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
40168
40169 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
40170 program with another one, because the old one didn't detect a bug
40171 in gcc-3.4. Always use regparm 2, because the new test is still
40172 not enough for gcc-4.0. Someone must investigate a simple test
40173 case which detects a bug in gcc-4.0.
40174
8de3495c 401752005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
40176
40177 * DISTLIST: Added normal/completion.c.
40178
40179 * normal/completion.c: New file.
f19dbdb7 40180
8de3495c 40181 * term/i386/pc/console.c (grub_console_getwh): New function.
40182 (grub_console_term): Assign grub_console_getwh to getwh.
40183
40184 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
40185 function is defined in normal/completion.c as
40186 grub_normal_do_completion.
40187 (grub_cmdline_get): Use grub_normal_do_completion instead of
40188 grub_tab_complete.
40189
40190 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
40191 returns non-zero, otherwise return 0.
40192 (grub_partition_iterate): First, probe the partition map. Then,
40193 call ITERATE only for this partition map.
40194
40195 * kern/misc.c (grub_strncmp): Rewritten.
40196
40197 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
40198 returns non-zero. Otherwise return 0.
40199
40200 * include/grub/partition.h (grub_partition_map_iterate): Return
40201 int instead of void.
40202
40203 * include/grub/normal.h (grub_normal_do_completion): New prototype.
40204
40205 * include/grub/misc.h (grub_strncmp): Change the type of N to
40206 grub_size_t.
40207
40208 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
40209 of void.
40210
40211 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 40212 unsigned explicitly before comparing it with I.
8de3495c 40213
40214 * kern/main.c (grub_env_write_root): Add the attribute unused into
40215 VAR.
40216
40217 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
40218 normal/completion.c.
40219 (normal_mod_SOURCES): Likewise.
40220 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40221 (normal_mod_SOURCES): Likewise.
40222
40223 * normal/command.c (grub_iterate_commands): If ITERATE returns
40224 non-zero, return one immediately.
40225
e85e144b 402262005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
40227
40228 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
40229 * kern/i386/pc/startup.S: Updated Global Descriptor table's
40230 descriptions.
40231 (grub_vbe_get_controller_info): New function.
40232 (grub_vbe_get_mode_info): Likewise.
40233 (grub_vbe_set_mode): Likewise.
40234 (grub_vbe_get_mode): Likewise.
40235 (grub_vbe_set_memory_window): Likewise.
40236 (grub_vbe_get_memory_window): Likewise.
40237 (grub_vbe_set_scanline_length): Likewise.
40238 (grub_vbe_get_scanline_length): Likewise.
40239 (grub_vbe_set_display_start): Likewise.
40240 (grub_vbe_get_display_start): Likewise.
40241 (grub_vbe_set_palette_data): Likewise.
40242 * include/grub/i386/pc/vbe.h: New file.
40243
c46153d2 402442005-08-08 Hollis Blanchard <hollis@penguinppc.org>
40245
40246 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
40247 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
40248 * DISTLIST: Likewise.
40249 * kern/ieee1275/of.c: Moved to ...
40250 * kern/ieee1275/ieee1275.c: ... here.
40251
0cb90c45 402522005-08-08 Hollis Blanchard <hollis@penguinppc.org>
40253
40254 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
40255 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
40256 Pass 0 as `end' parameter to grub_strtoul().
40257
a19fb360 402582005-08-08 Hollis Blanchard <hollis@penguinppc.org>
40259
40260 * include/grub/powerpc/ieee1275/console.h: Do not include
40261 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
40262 ifdef.
40263 (grub_console_cur_color): Remove i386-specific prototype.
40264 (grub_console_real_putchar): Likewise.
40265 (grub_console_checkkey): Likewise.
40266 (grub_console_getkey): Likewise.
40267 (grub_console_getxy): Likewise.
40268 (grub_console_gotoxy): Likewise.
40269 (grub_console_cls): Likewise.
40270 (grub_console_setcursor): Likewise.
40271 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
40272 Include <grub/machine/console.h>.
40273 * term/ieee1275/ofconsole.c: Likewise.
40274
4ac9bd04 402752005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
40276
40277 * Makefile.in (LIBLZO): New variable.
40278
40279 * configure.ac: Check for LZO version 2.
40280
40281 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
40282 lzo/lzo1x.h instead of lzo1x.h.
40283
40284 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
40285 of -llzo.
40286
40287 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
40288 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
40289
40290 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
40291 copying the data from PARTITION to P.
40292
f4917dfd 402932005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
40294
40295 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
40296 negative, unload the module.
40297
40298 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
40299 map is "pc_partition_map" but not "pc".
40300 (usage): Fix the description. The options are --boot-image and
40301 --core-image but not --boot-file or --core-file.
40302 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
40303 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
40304 DEFAULT_DIRECTORY.
40305
40306 * util/i386/pc/grub-install.in: Do not specify --boot-file or
40307 --core-file. Specify INSTALL_DEVICE as an argument.
40308
40309 * util/console.c: Include config.h.
40310 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
40311 [HAVE_NCURSES_H]: Include ncurses.h.
40312 [HAVE_CURSES_H]: Include curses.h.
40313 [!A_NORMAL] (A_NORMAL): Defined as zero.
40314 [!A_STANDOUT] (A_STANDOUT): Likewise.
40315
40316 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
40317 -lncurses.
40318 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
40319
40320 * configure.ac: Check for curses libraries and headers.
40321
40322 * Makefile.in (LIBCURSES): New variable.
40323
40324 * genmk.rb (Script::rule): Set the executable bits.
40325
40326 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
40327 name of the PC partition map is "pc_partition_map" but not "pc".
40328
0e143073 403292005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
40330
40331 * util/i386/pc/grub-install.in (grub_probefs): New variable.
40332 (modules): Likewise.
40333 (usage): Added descriptions for --modules and --grub-probefs.
40334 Handle --modules and --grub-probefs. Save the arguments in MODULES
40335 and GRUB_PROBEFS, respectively.
40336 Auto-detect a filesystem module against GRUBDIR. If the result is
40337 empty and modules are not specified explicitly, abort the
40338 installation. Add the result to MODULES.
40339
40340 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
40341 disk/powerpc/ieee1275/ofdisk.c,
40342 include/grub/powerpc/ieee1275/init.h and
40343 term/powerpc/ieee1275/ofconsole.c.
40344 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
40345 term/ieee1275/ofconsole.c.
40346
40347 * include/grub/powerpc/ieee1275/console.h: Resurrected.
40348
40349 * COPYING: Upgraded to the latest version. Only the address of the
40350 FSF office has changed.
f19dbdb7 40351
efd6e6d5 403522005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
40353
40354 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
40355 kern/ieee1275.c with kern/ieee1275/of.c.
40356
40357 * kern/ieee1275.c: Moved to ...
40358 * kern/ieee1275/of.c: ... here.
40359
8ceafda2 403602005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
40361
40362 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 40363 readability.
8ceafda2 40364
40365 * config.guess: Updated to the latest version from gnulib.
40366 * config.sub: Likewise.
40367 * install.sh: Likewise.
40368 * mkinstalldirs: Likewise.
40369
40370 * include/grub/console.h: Removed. This file is arch-specific. Do
40371 not put this in include/grub.
40372
40373 * include/grub/i386/pc/console.h: Resurrected.
40374
40375 * util/console.c: Include grub/machine/console.h instead of
40376 grub/console.h.
40377 * util/grub-emu.c: Likewise.
40378
267f6cd9 403792005-08-04 Marco Gerards <metgerards@student.han.nl>
40380
40381 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
40382 hardcoded value.
f19dbdb7 40383
267f6cd9 40384 From Vincent Pelletier <subdino2004@yahoo.fr>
40385 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
40386 Redefined to use grub_getwh.
40387 (grub_term): New member named getwh.
40388 (grub_getwh): New prototype.
40389 * kern/term.c (grub_getwh): New function.
40390 * term/i386/pc/console.c (grub_console_getwh): New function.
40391 (grub_console_term): New member `getwh'.
40392 * term/i386/pc/vga.c (grub_vga_getwh): New function.
40393 (grub_vga_term): New member `getwh'.
0b5abe02 40394 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 40395 grub_ssize_t.
40396 (grub_ofconsole_getw): New function.
40397 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
40398 (grub_ofconsole_term): New field named getwh and new initial
40399 value.
40400
3be7266d 404012005-08-03 Hollis Blanchard <hollis@penguinppc.org>
40402
40403 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
40404 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
40405 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
40406 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
40407 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
40408 of <grub/machine/ieee1275.h>.
40409 * commands/ieee1275/reboot.c: Likewise.
40410 * boot/powerpc/ieee1275/ieee1275.c: Move ...
40411 * kern/ieee1275.c: ... to here. All users updated. Change all
40412 parameter structs to use new type `grub_ieee1275_cell_t'.
40413 * term/powerpc/ieee1275/ofconsole.c: Move ...
40414 * term/ieee1275/ofconsole.c: ... to here. All users updated.
40415 * disk/powerpc/ieee1275/ofdisk.c: Move ...
40416 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
40417 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
40418 to return int.
40419 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
40420 Remove unused prototypes. All users updated.
40421 * include/grub/powerpc/ieee1275/console.h: Removed.
40422 * include/grub/powerpc/ieee1275/ieee1275.h: Define
40423 `grub_ieee1275_cell_t'.
40424 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
40425 Cast comparisons with -1 to the correct type.
40426 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
40427 type to match `grub_ieee1275_entry_fn'.
40428
8b5f3938 404292005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
40430
40431 * DISTLIST: Added util/i386/pc/grub-probefs.c.
40432
40433 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
40434 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
40435 partmap/sun.c.
40436 (grub_probefs_SOURCES): New variable.
40437
40438 * util/i386/pc/grub-probefs.c: New file.
40439
40440 * util/i386/pc/grub-setup.c (main): Call
40441 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
40442 grub_hfs_init and grub_jfs_init to initialize the system. Call
40443 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
40444 grub_pc_partition_map_fini to finish the system.
40445
ea409713 404462005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
40447
40448 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
40449 function.
40450 (grub_multiboot_load_elf32): Likewise.
40451 (grub_multiboot_is_elf64): Likewise.
40452 (grub_multiboot_load_elf64): Likewise.
40453 (grub_multiboot_load_elf): Likewise.
40454 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
40455 an ELF32 or ELF64 file.
40456 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
40457
40458 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
40459 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
40460 NULL before calling FS->LABEL.
40461 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
40462 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
40463 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
40464 before calling FS->LABEL.
40465
141a288b 404662005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
40467
40468 * util/i386/pc/grub-install.in (datadir): New variable.
40469 (libdir): Removed.
40470 (pkgdatadir): New variable.
40471 (pkglibdir): Removed.
40472
0d5f8a54 404732005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
40474
40475 * DISTLIST: Added util/i386/pc/grub-install.in.
40476
40477 * util/i386/pc/grub-install.in: New file.
40478
40479 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
40480 (grub_install_SOURCES): Likewise.
40481
40482 * genmk.rb: Added support for scripts.
40483 (Script): New class.
40484 (scripts): New variable.
40485
40486 * Makefile.in (install-local): Install sbin_SCRIPTS by
40487 INSTALL_SCRIPT.
40488 (uninstall): Remove sbin_SCRIPTS.
40489
40490 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
40491 device, try to get a GRUB device by
40492 grub_util_biosdisk_get_grub_dev.
40493 Free DEST_DEV.
40494
40495 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
40496 description for --device-map.
40497
5f968e1e 404982005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
40499
40500 Change the semantics of variable hooks. They now return strings
40501 instead of error values.
f19dbdb7 40502
5f968e1e 40503 * util/i386/pc/grub-setup.c: Include grub/env.h.
40504 (setup): Use grub_device_set_root instead of grub_env_set.
40505
40506 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
40507 grub_env_get instead of grub_device_set_root and
40508 grub_device_get_root, respectively.
40509
40510 * kern/main.c (grub_env_write_root): New function.
40511 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
40512 grub_env_set instead of grub_device_set_root.
40513
40514 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
40515 many variables.
40516 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
40517 rather than calling ENV->WRITE_HOOK afterwards.
40518 (grub_env_get): Return the result of ENV->READ_HOOK rather than
40519 passing a pointer of a pointer.
40520 (grub_register_variable_hook): Change the types of "read_hook" and
40521 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
40522 respectively.
40523 Allocate the default empty string on the heap, because this string
40524 may be freed later.
40525
40526 * kern/device.c: Include grub/env.h.
40527 (grub_device_set_root): Removed.
40528 (grub_device_get_root): Likewise.
40529 (grub_device_open): Use grub_env_get instead of
40530 grub_device_get_root.
40531
40532 * include/grub/env.h (grub_env_read_hook_t): New type.
40533 (grub_env_write_hook_t): Likewise.
40534 (grub_env_var): Change the types of "read_hook" and "write_hook"
40535 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
40536 (grub_register_variable_hook): Likewise.
40537
40538 * include/grub/device.h (grub_device_set_root): Removed.
40539 (grub_device_set_root): Likewise.
40540
40541 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
40542 make sure that DIRNAME terminates with '/', so that
40543 grub_fat_find_dir will fail if PATH is not a directory.
40544
40545 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
40546 from DIRNAME.
40547 Use the qualifier auto for print_files and print_files_long.
40548 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
40549 as a regular file.
40550 Put a newline only if there is no error.
40551 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
40552 used.
40553
896f0afd 405542005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
40555
40556 * kern/partition.c (grub_partition_probe): Initialize PART to
40557 NULL. Otherwise, when no partition map is registered, this returns
40558 a garbage.
40559
b28b81b2 405602005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
40561
40562 * partmap/apple.c (apple_partition_map_iterate): Check if POS
40563 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
40564 valid.
40565
5f3607e0 405662005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
40567
40568 * commands/ls.c (grub_ls_list_disks): Print the filesystem
40569 information on each device, if it does not have partitions. Print
40570 "Device" instead of "Disk", because this function is not specific
40571 to disk devices.
40572
40573 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
40574 static to ensure that it is put on the memory rather than a
40575 register.
40576
502c87e8 405772005-07-17 Yoshinori Okuji <okuji@enbug.org>
40578
40579 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
40580 (grub_cat_init): Likewise.
40581 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
40582 (options): Likewise.
40583 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
40584 (grub_configfile_init): Likewise.
40585 * font/manager.c (GRUB_MOD_INIT): Likewise.
40586 * commands/help.c (GRUB_MOD_INIT): Likewise.
40587 (grub_help_init): Likewise.
40588 * normal/command.c (grub_command_init): Likewise.
40589 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
40590 * disk/loopback.c (grub_loop_init): Likewise.
40591 (GRUB_MOD_INIT): Likewise.
40592 * commands/ls.c (grub_ls_init): Likewise.
40593 (GRUB_MOD_INIT): Likewise.
40594 (options): Likewise.
40595 * commands/boot.c (grub_boot_init): Likewise.
40596 (GRUB_MOD_INIT): Likewise.
40597 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
40598 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
40599 (GRUB_MOD_INIT): Likewise.
40600 * commands/cmp.c (grub_cmp_init): Likewise.
40601 (GRUB_MOD_INIT): Likewise.
40602
40603 * normal/arg.c: Use <> instead of "" to include header files.
40604 (SHORT_ARG_HELP): New macro.
40605 (SHORT_ARG_USAGE): Likewise.
40606 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
40607 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
40608 descriptions.
40609 (find_short): Check if C is 'h' or 'u' explicitly.
40610 (grub_arg_show_help): Use space characters instead of tabs. Treat
40611 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
40612 are shown with --help and --usage only if they are not used for
40613 the command itself.
40614 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
40615 'h' and 'u'.
40616
40617 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
40618 const into "longarg". Change the type of "shortarg" to int.
40619
f806d18e 406202005-07-17 Yoshinori Okuji <okuji@enbug.org>
40621
40622 * boot/i386/pc/boot.S (boot_drive_check): New label.
40623
40624 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
40625 macro.
40626
40627 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
40628 which do not pass a boot drive correctly. Copied from GRUB Legacy.
40629
e293232b 406302005-07-17 Yoshinori Okuji <okuji@enbug.org>
40631
40632 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
40633 When turning off Gate A20, skip the check and return immediately,
40634 because this is not fatal usually.
40635
ebedfd00 406362005-07-17 Yoshinori Okuji <okuji@enbug.org>
40637
40638 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
40639 be 0x7C00 instead of 0x8000.
40640
40641 * boot/i386/pc/pxeboot.S: Rewritten.
40642
40643 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
40644 EXT_C.
40645 (gate_a20_check_state): Read a byte from 0x108000. Invert the
40646 result.
40647
654fc59f 406482005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
40649
40650 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
40651 robustness. This routine now supports a BIOS call and System
40652 Control Port A to modify the gate A20.
40653
40654 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40655 Increased to 0x440.
40656
09f9923f 406572005-07-12 Hollis Blanchard <hollis@penguinppc.org>
40658
40659 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
40660 device path and resulting ihandle.
40661 (grub_ofdisk_close): dprintf the ihandle being closed.
40662 (grub_ofdisk_read): dprintf function parameters.
40663 * kern/mm.c (grub_mm_init_region): Likewise.
40664 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
40665 (grub_linux_boot): dprintf the Linux entry point, initrd address and
40666 size, and boot arguments.
40667 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
40668 before loading into memory.
40669 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
40670 before loading into memory.
40671
7ef504d8 406722005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
40673
40674 * kern/mm.c: Added much documentation.
40675 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
40676 8, set to 5 instead of 8.
40677
e0f050c2 406782005-07-10 Yoshinori Okuji <okuji@enbug.org>
40679
40680 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
40681
40682 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
40683 (grub_mkdevicemap_SOURCES): New variable.
40684
40685 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
40686 lib/device.c of GRUB Legacy.
40687
7224189a 406882005-07-10 Yoshinori Okuji <okuji@enbug.org>
40689
40690 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
40691 instead of PATH is NULL.
40692
68c864eb 406932005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
40694
40695 * commands/cmp.c (BUFFER_SIZE): New macro.
40696 (grub_cmd_cmp): Close the right file at the right time. Compare
40697 only data just read. Don't report files of different size as
40698 identical. Dynamically allocate buffers. Move variable
40699 declarations at the beginning of function.
40700
e6f3e614 407012005-07-09 Yoshinori Okuji <okuji@enbug.org>
40702
40703 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
40704 reverse.
40705
f8f1559a 407062004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
40707
40708 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
40709 when backspace is pressed at beginning of line.
40710
39c9d41d 407112005-07-03 Yoshinori Okuji <okuji@enbug.org>
40712
40713 * DISTLIST: Added genfslist.sh.
40714
40715 * normal/main.c (fs_module_list): New variable.
40716 (autoload_fs_module): New function.
40717 (read_fs_list): Likewise.
40718 (grub_normal_execute): Call read_fs_list.
40719
40720 * kern/fs.c (grub_fs_autoload_hook): New variable.
40721 (grub_fs_probe): Added support for auto-loading.
40722
40723 * include/grub/normal.h (struct grub_fs_module_list): New struct.
40724 (grub_fs_module_list_t): New type.
40725
40726 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
40727 (grub_fs_autoload_hook): New prototype.
40728
40729 * genfslist.sh: New file.
f19dbdb7 40730
39c9d41d 40731 * genmk.rb: Added a rule to generate a filesystem list.
40732
121c1d83 407332005-06-30 Marco Gerards <metgerards@student.han.nl>
40734
40735 * configure.ac: Fix the test for cross-compiling.
40736
40737 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
40738 define GRUB_UTIL anymore.
40739
40740 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
40741 so this function works on other systems than just big endian.
40742 (load_modules): Likewise.
40743 (add_segments): Likewise.
40744
e75d76e1 407452005-06-23 Hollis Blanchard <hollis@penguinppc.org>
40746
40747 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
40748 contains `l' modifier, get a long from va_arg().
40749
50b5a0a7 407502005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
40751
40752 * kern/mm.c (grub_free): If the next free block which is being
40753 merged is the first free block, set the first block to the block
40754 being freed.
40755 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
40756
89371b20 407572005-05-08 Hollis Blanchard <hollis@penguinppc.org>
40758
40759 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
40760 `grub_ieee1275_chosen'.
40761
168d6e58 407622005-05-08 Hollis Blanchard <hollis@penguinppc.org>
40763
40764 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
40765 (grub_ieee1275_chosen): New variable.
40766 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
40767 `chosen'.
40768 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
40769 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
40770 Rename first argument to `phandle' for consistency.
40771 (grub_ieee1275_get_property_length): Likewise.
40772 (grub_ieee1275_next_property): Likewise. Change type of first argument
40773 to grub_ieee1275_phandle_t.
40774 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
40775 Move export next to declaration.
40776 (grub_ieee1275_chosen): New variable.
40777 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
40778 Correct cosmetic typo.
40779 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
40780 `grub_ieee1275_chosen'.
40781 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
40782 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
40783 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
40784 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
40785 `grub_ieee1275_chosen'.
40786
ca5baa3f 407872005-05-10 Hollis Blanchard <hollis@penguinppc.org>
40788
40789 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
40790 /chosen/bootargs.
40791 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
40792 /chosen/bootargs as "variable=value" pairs.
40793
708b345f 407942005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
40795
40796 * include/grub/misc.h (grub_dprintf): New macro.
40797 (grub_real_dprintf): New prototype.
40798 (grub_strword): Likewise.
40799 (grub_iswordseparator): Likewise.
40800 * kern/misc.c (grub_real_dprintf): New function.
40801 (grub_strword): Likewise.
40802 (grub_iswordseparator): Likewise.
40803
f4c5e67c 408042005-04-30 Hollis Blanchard <hollis@penguinppc.org>
40805
40806 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
40807 (roundup): Remove macro.
40808 (grub_ieee1275_flags): Make static.
40809 (grub_ieee1275_realmode): Remove.
40810 (grub_ieee1275_test_flag): New function.
40811 (grub_ieee1275_set_flag): Likewise.
40812 (find_options): Rename to `grub_ieee1275_find_options'; update
40813 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
40814 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
40815 (cmain): New prototype.
40816 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
40817 `grub_ieee1275_flags' directly.
40818 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
40819 machine/biosdisk.h.
40820 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
40821 Don't include grub/machine/init.h.
40822 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
40823 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
40824 Remove prototype.
40825 (grub_ieee1275_realmode): Likewise.
40826 (grub_ieee1275_flag): New enum.
40827 (grub_ieee1275_test_flag): New prototype.
40828 (grub_ieee1275_set_flag): New prototype.
40829 * include/grub/powerpc/ieee1275/init.h: Remove file.
40830 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
40831 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
40832 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
40833 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
40834 comment.
40835 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
40836 `grub_ieee1275_test_flag'.
40837 (grub_ieee1275_encode_devname): Likewise.
40838
ed16607e 408392005-04-21 Hollis Blanchard <hollis@penguinppc.org>
40840
40841 * include/grub/powerpc/ieee1275/ieee1275.h
40842 (grub_ieee1275_encode_devname): New prototype.
40843 (grub_ieee1275_get_filename): Likewise.
40844 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
40845 function.
40846 (grub_set_prefix): Likewise.
40847 (grub_machine_init): Call grub_set_prefix.
40848 * kern/powerpc/ieee1275/openfw.c: Fix typos.
40849 (grub_parse_type): New enum.
40850 (grub_ieee1275_get_devargs): New function.
40851 (grub_ieee1275_get_devname): Likewise.
40852 (grub_ieee1275_parse_args): Likewise.
40853 (grub_ieee1275_get_filename): Likewise.
40854 (grub_ieee1275_encode_devname): Likewise.
40855
be369920 408562005-03-30 Marco Gerards <metgerards@student.han.nl>
40857
40858 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
40859 `grub_loader_unset'.
40860
a5ce3a4a 408612005-03-26 Hollis Blanchard <hollis@penguinppc.org>
40862
40863 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
40864 instead of grub_ieee1275_interpret.
40865 (grub_halt_init): New function.
40866 (grub_halt_fini): Likewise.
40867 (GRUB_MOD_INIT): Correct message grammar.
40868 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
40869 instead of grub_ieee1275_interpret.
40870 (grub_reboot_init): New function.
40871 (grub_reboot_fini): Likewise.
40872 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
40873 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
40874 util/i386/pc/misc.c with commands/ieee1275/halt.c,
40875 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
40876 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
40877 function.
40878 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
40879 Add prototype.
40880 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
40881 prototype.
40882 (grub_halt): Likewise.
40883 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
40884 (cmain): Remove __attribute__((unused)).
40885 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
40886 (grub_heap_len): Likewise.
40887 (grub_machine_fini): New function.
40888 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
40889 (grub_halt): Likewise.
40890 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
40891 function.
40892 * util/powerpc/ieee1275/misc.c: New file.
40893
0058f771 408942005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
40895
40896 * DISTLIST: New file.
40897 * gendistlist.sh: Likewise.
f19dbdb7 40898
0058f771 40899 * Makefile.in (COMMON_DISTFILES): Removed.
40900 (BOOT_DISTFILES): Likewise.
40901 (CONF_DISTFILES): Likewise.
40902 (DISK_DISTFILES): Likewise.
40903 (FS_DISTFILES): Likewise.
40904 (INCLUDE_DISTFILES): Likewise.
40905 (KERN_DISTFILES): Likewise.
40906 (LOADER_DISTFILES): Likewise.
40907 (TERM_DISTFILES): Likewise.
40908 (UTIL_DISTFILES): Likewise.
40909 (DISTFILES): Likewise.
40910 (uninstall): Uninstall files in $(pkgdata_DATA).
40911 (DISTLIST): New target.
40912 (distdir): Use the contents of the file DISTLIST to get a list of
40913 distributed files.
40914
46b3b8a5 409152005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
40916
40917 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
40918 descriptor. This is ported from GRUB Legacy.
40919
40920 * gencmdlist.sh: Added an extra semicolon to make it work with
40921 old sed versions. Reported by Robert Bihlmeyer
40922 <robbe@orcus.priv.at>.
40923
5822ff87 409242005-03-08 Yoshinori Okuji <okuji@enbug.org>
40925
40926 Automatic loading of commands is supported.
f19dbdb7 40927
5822ff87 40928 * normal/main.c (read_command_list): New function.
40929 (grub_normal_execute): Call read_command_list.
40930
40931 * normal/command.c (grub_register_command): Return zero or CMD.
40932 Allocate CMD->NAME from the heap.
40933 Initialize CMD->MODULE_NAME to zero.
40934 Find the same name as well. If the same command is found and it is
40935 a dummy command, overwrite members. If it is not a dummy command,
40936 return zero.
40937 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
40938 (grub_command_find): If a dummy command is found, load a module
40939 and retry to find a command only once.
40940
40941 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
40942 make sure that each command is loaded.
40943
40944 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
40945 macro.
40946 (struct grub_command): Remove const from the member `name'.
40947 Add a new member `module_name'.
40948 (grub_register_command): Return grub_command_t.
40949
40950 * commands/help.c (grub_cmd_help): Call grub_command_find to make
40951 sure that each command is loaded.
40952
40953 * genmk.rb (PModule::rule): Specify a module name without the
40954 suffix ".mod" to gencmdlist.sh.
40955
7b1f4b57 409562005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
40957
40958 * gencmdlist.sh: New file.
f19dbdb7 40959
7b1f4b57 40960 * genmk.rb (PModule::rule): Generate a rule for a command list.
40961 Clean command.lst.
40962 Generate command.lst from $(COMMANDFILES).
40963
40964 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
40965 (DATA): Added $(pkgdata_DATA).
40966 (install-local): Install files in $(pkgdata_DATA).
40967
062aaf39 409682005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
40969
40970 * term/i386/pc/vga.c (debug_command): Removed.
40971 (GRUB_MOD_INIT): Do not register the command "debug".
40972
40973 From Hollis Blanchard:
40974 * commands/configfile.c: New file.
40975 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40976 commands/configfile.c.
40977 (pkgdata_MODULES): Added configfile.mod.
40978 (configfile_mod_SOURCES): New variable.
40979 (configfile_mod_CFLAGS): Likewise.
40980 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
40981 commands/configfile.c.
40982 (pkgdata_MODULES): Added configfile.mod.
40983 (configfile_mod_SOURCES): New variable.
40984 (configfile_mod_CFLAGS): Likewise.
40985 * util/grub-emu.c (main): Call grub_configfile_init and
40986 grub_configfile_fini.
40987 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
40988 prototype.
40989 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 40990
cee01aa6 409912005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
40992
40993 * normal/arg.c (grub_arg_show_help): Do not show the bug report
40994 address.
40995
40996 * commands/help.c (grub_cmd_help): Do not print newlines after
40997 the last command in print_command_help.
40998
93f3a1d8 409992005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
41000
41001 * commands/default.h: New file.
41002 * commands/timeout.h: Likewise.
41003 * normal/context.c: Likewise.
f19dbdb7 41004
93f3a1d8 41005 * util/misc.c: Do not include sys/times.h.
41006 Include sys/time.h and grub/machine/time.h.
41007 (grub_get_rtc): Rewritten with gettimeofday.
41008
41009 * util/grub-emu.c (main): Call grub_default_init and
41010 grub_timeout_init before grub_normal_init, and call
41011 grub_timeout_fini and grub_default_fini after grub_main.
41012
41013 * util/console.c (grub_ncurses_checkkey): Return the read
41014 character or -1.
41015
41016 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
41017 timeouts.
41018
41019 * normal/main.c (read_config_file): Push MENU. If this fails,
41020 print an error and wait for a user input.
41021 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
41022 If a menu is empty or an error occurs, pop MENU.
41023 (grub_normal_execute): Pop and free MENU after grub_menu_run
41024 returns.
41025
41026 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
41027
41028 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
41029 include time.h.
41030 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
41031 without GRUB_UTIL.
41032 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
41033 time.h.
41034 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
41035 without GRUB_UTIL.
41036
41037 * include/grub/normal.h (struct grub_menu_list): New struct.
41038 (grub_menu_list_t): New type.
41039 (struct grub_context): New struct.
41040 (grub_context_t): New type.
41041 (grub_register_command): Got rid of EXPORT_FUNC.
41042 (grub_unregister_command): Likewise.
41043 (grub_context_get): New prototype.
41044 (grub_context_get_current_menu): Likewise.
41045 (grub_context_push_menu): Likewise.
41046 (grub_context_pop_menu): Likewise.
41047 [GRUB_UTIL] (grub_default_init): Likewise.
41048 [GRUB_UTIL] (grub_default_fini): Likewise.
41049 [GRUB_UTIL] (grub_timeout_init): Likewise.
41050 [GRUB_UTIL] (grub_timeout_fini): Likewise.
41051
41052 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
41053 commands/timeout.c and normal/context.c.
41054 (pkgdata_MODULES): Added default.mod and timeout.mod.
41055 (normal_mod_SOURCES): Added normal/context.c.
41056 (default_mod_SOURCES): New variable.
41057 (default_mod_CFLAGS): Likewise.
41058 (timeout_mod_SOURCES): Likewise.
41059 (timeout_mod_CFLAGS): Likewise.
41060 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
41061 conf/i386-pc.rmk.
41062 (pkgdata_MODULES): Added default.mod and timeout.mod.
41063 (normal_mod_SOURCES): Added normal/context.c.
41064 (default_mod_SOURCES): New variable.
41065 (default_mod_CFLAGS): Likewise.
41066 (timeout_mod_SOURCES): Likewise.
41067 (timeout_mod_CFLAGS): Likewise.
41068
41069 * Makefile.in (all-local): Added $(MKFILES).
41070
4ed2e1dd 410712005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
41072
41073 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
41074 (grub_emu_SOURCES): Likewise.
41075 (pkgdata_MODULES): Add `sun.mod'.
41076 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
41077 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41078 `partmap/sun.c'.
41079 (pkgdata_MODULES): Add `sun.mod'.
41080 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
41081 * include/grub/partition.h (grub_sun_partition_map_init): New
41082 prototype.
41083 (grub_sun_partition_map_fini): Likewise.
41084 * partmap/sun.c: New file.
41085 * util/grub-emu.c (main): Initialize and de-initialize the sun
41086 partitionmap support.
41087
4d4e372e 410882005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
41089
41090 This implements an Emacs-like menu entry editor.
f19dbdb7 41091
4d4e372e 41092 * normal/menu_entry.c: New file.
f19dbdb7 41093
4d4e372e 41094 * util/console.c (grub_ncurses_putchar): Translate some Unicode
41095 characters to ASCII.
41096 (saved_char): New variable.
41097 (grub_ncurses_checkkey): Rewritten completely.
41098 (grub_ncurses_getkey): Likewise.
41099 (grub_ncurses_init): Call raw instead of cbreak.
41100
41101 * normal/menu.c (print_entry): Do not put a space.
41102 (init_page): Renamed to ...
41103 (grub_menu_init_page): ... this. All callers changed.
41104 (edit_menu_entry): Removed.
41105 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
41106
41107 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
41108
41109 * kern/misc.c (grub_vprintf): Call grub_refresh.
41110
41111 * normal/menu.c (DISP_LEFT): Renamed to ...
41112 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
41113 * normal/menu.c (DISP_UP): Renamed to ...
41114 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
41115 * normal/menu.c (DISP_RIGHT): Renamed to ...
41116 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
41117 * normal/menu.c (DISP_DOWN): Renamed to ...
41118 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
41119 * normal/menu.c (DISP_HLINE): Renamed to ...
41120 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
41121 * normal/menu.c (DISP_VLINE): Renamed to ...
41122 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
41123 * normal/menu.c (DISP_UL): Renamed to ...
41124 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
41125 * normal/menu.c (DISP_UR): Renamed to ...
41126 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
41127 * normal/menu.c (DISP_LL): Renamed to ...
41128 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
41129 * normal/menu.c (DISP_LR): Renamed to ...
41130 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
41131 * normal/menu.c (TERM_WIDTH): Renamed to ...
41132 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
41133 * normal/menu.c (TERM_HEIGHT): Renamed to ...
41134 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
41135 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
41136 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
41137 * normal/menu.c (TERM_MARGIN): Renamed to ...
41138 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
41139 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
41140 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
41141 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
41142 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
41143 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
41144 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
41145 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
41146 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
41147 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
41148 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
41149 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
41150 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
41151 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
41152 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
41153 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
41154 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
41155 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
41156 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
41157 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
41158 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
41159 All callers changed.
41160
41161 * include/grub/normal.h: New prototype.
41162
41163 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41164 normal/menu_entry.c.
41165 (normal_mod_SOURCES): Likewise.
41166 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41167 (normal_mod_SOURCES): Likewise.
41168
e6b92c8a 411692005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
41170
41171 * include/grub/normal.h (grub_halt_init): New prototype.
41172 (grub_halt_fini): Likewise.
41173 (grub_reboot_init): Likewise.
41174 (grub_reboot_fini): Likewise.
41175
41176 * util/grub-emu.c: Include signal.h.
41177 (main_env): New global variable.
41178 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
41179 catch C-c.
41180 (grub_machine_fini): New function.
41181 (main): Call grub_halt_init and grub_reboot_init before
41182 grub_main, and grub_reboot_fini and grub_halt_fini after it.
41183 Call setjmp with MAIN_ENV to go back afterwards.
41184 Call grub_machine_fini right before return.
41185
41186 * include/grub/util/misc.h: Include setjmp.h.
41187 (main_env): New prototype.
41188
41189 * include/grub/kernel.h (grub_machine_fini): New prototype.
41190 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
41191 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
41192
41193 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
41194 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
41195 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 41196
e6b92c8a 41197 * util/i386/pc/misc.c: New file.
f19dbdb7 41198
e6b92c8a 41199 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41200 util/i386/pc/misc.c, commands/i386/pc/halt.c and
41201 commands/i386/pc/reboot.c.
41202
c642636f 412032005-02-14 Guillem Jover <guillem@hadrons.org>
41204
41205 * include/grub/dl.h (grub_dl_check_header): New prototype.
41206 (grub_arch_dl_check_header): Change return type to grub_err_t,
41207 remove size parameter and export function. Update all callers.
41208 * kern/dl.c (grub_dl_check_header): New function.
41209 (grub_dl_load_core): Use `grub_dl_check_header' instead of
41210 `grub_arch_dl_check_header'. Check ELF type. Check if sections
41211 are inside the core.
41212 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
41213 independent ELF header checks.
41214 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
41215 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
41216 `grub_dl_check_header' instead of explicit checks. Check for the
41217 ELF type.
41218 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
41219 `grub_dl_check_header' instead of explicit checks. Remove arch
41220 specific ELF header checks.
41221
e6b92c8a 41222 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
41223 argument SIZE.
41224
5eabe94b 412252005-02-13 Hollis Blanchard <hollis@penguinppc.org>
41226
41227 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
41228 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
41229
1b14a681 412302005-02-12 Hollis Blanchard <hollis@penguinppc.org>
41231
41232 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 41233 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 41234 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 41235 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 41236 * partmap/amiga.c (amiga_partition_map_iterate): Return
41237 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
41238 * partmap/apple.c (apple_partition_map_iterate): Likewise.
41239
aca108aa 412402005-02-01 Guillem Jover <guillem@hadrons.org>
41241
41242 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
41243 help info.
41244
c9f9c556 412452005-01-31 Marco Gerards <metgerards@student.han.nl>
41246
41247 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
41248 Removed prototype.
41249 (grub_rescue_cmd_linux): New prototype.
41250 (grub_rescue_cmd_initrd): Likewise.
41251 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
41252 `bi_rec'.
41253 (grub_linux_release_mem): Release the memory for the initrd.
41254 (grub_load_linux): Renamed from this...
41255 (grub_rescue_cmd_linux): ...To this. Changed all callers.
41256 Changed `entry' not to be static. Loop over memory regions to
41257 find another one when the default fails.
41258 (grub_rescue_cmd_initrd): New function.
41259 (grub_linux_init): Remove function.
41260 (grub_linux_fini): Likewise.
41261 (GRUB_MOD_INIT): Register `initrd'.
41262 (GRUB_MOD_FINI): Unregister `initrd'.
41263 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
41264 Function removed.
41265 (grub_linux_normal_fini): Likewise.
41266 (GRUB_MOD_INIT): Register `initrd'.
41267 (GRUB_MOD_FINI): Unregister `initrd'.
41268
990cf3aa 412692005-01-31 Marco Gerards <metgerards@student.han.nl>
41270
41271 * commands/help.c: New file.
41272 * normal/arg.c (show_help): Renamed to...
41273 (grub_arg_show_help): ... this.
41274 * commands/i386/pc/halt.c: New file.
41275 * commands/i386/pc/reboot.c: Likewise.
41276 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
41277 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
41278 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
41279 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
41280 variables.
41281 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41282 `commands/help.c'.
41283 (pkgdata_MODULES): Add `help.mod'.
41284 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
41285 * grub/i386/pc/init.h (grub_reboot): New prototype.
41286 (grub_halt): Likewise.
41287 * include/grub/normal.h (grub_arg_show_help): New prototype.
41288 (grub_help_init): Likewise.
41289 (grub_help_fini): Likewise.
41290 * util/grub-emu.c (main): Initialize and deinitialize the help
41291 command.
41292
41293 * normal/cmdline.c (grub_cmdline_get): Doc fix.
41294
41295 * normal/command.c (grub_command_init): Fixed the description of
41296 the `set' and `unset' commands.
41297
412982005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 41299
41300 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
41301 function.
41302 * commands/ieee1275/halt.c: New file.
41303 * commands/ieee1275/reboot.c: Likewise.
41304 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
41305 `__attribute__ ((unused))'. Some GCS related fixed.
41306 (grub_suspend_init) [GRUB_UTIL]: Function removed.
41307 (grub_suspend_fini): Likewise.
41308 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
41309 and `halt.mod'.
41310 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
41311 (halt_mod_CFLAGS): New variables.
41312 * include/grub/powerpc/ieee1275/ieee1275.h
41313 (grub_ieee1275_interpret): New prototype.
41314
1ab09cc7 413152005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
41316
41317 * include/grub/misc.h (memmove): New prototype.
41318 (memcpy): Likewise.
41319
8b8cbdb2 413202005-01-22 Hollis Blanchard <hollis@penguinppc.org>
41321
41322 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
41323 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
41324
e3741a27 413252005-01-22 Marco Gerards <metgerards@student.han.nl>
41326
41327 * kern/misc.c (grub_strndup): Function rewritten.
41328
776bd780 413292005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
41330
41331 * normal/menu.c (TERM_WIDTH): Macro redefined.
41332 (TERM_TOP_BORDER_Y): Likewise.
41333 (draw_border): Replaced while-loop by a for-loop. Make the number
41334 of lines consistent with the number of lines displayed in
41335 print_entries. Added a margin below the rectangle.
41336 (print_entry): Make the entry fit in the rectangle.
41337 (print_entries): Display the scroll arrows next to the right
41338 border.
41339
78026bce 413402005-01-21 Marco Gerards <metgerards@student.han.nl>
41341
41342 * fs/minix.c (grub_minix_find_file): Reserve more space for
41343 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
41344 `grub_strncpy' to copy `path' into it.
41345
67bbaf0f 413462005-01-21 Marco Gerards <metgerards@student.han.nl>
41347
41348 Add the loopback device, a device via which files can be accessed
41349 as devices.
f19dbdb7 41350
67bbaf0f 41351 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
41352 (pkgdata_MODULES): Add loopback.mod.
41353 (loopback_mod_SOURCES): New variable.
41354 (loopback_mod_CFLAGS): Likewise.
41355 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41356 `disk/loopback.c'.
41357 (pkgdata_MODULES): Add loopback.mod.
41358 (loopback_mod_SOURCES): New variable.
41359 (loopback_mod_CFLAGS): Likewise.
41360 * disk/loopback.c: new file.
41361 * include/grub/normal.h (grub_loop_init): New prototype.
41362 (grub_loop_fini): New prototype.
41363 * util/grub-emu.c (main): Initialize and de-initialize loopback
41364 support.
41365 * include/grub/disk.h (grub_disk_dev_id): Add
41366 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
41367
6f1c18bd 413682005-01-20 Hollis Blanchard <hollis@penguinppc.org>
41369
41370 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
41371 function.
41372 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
41373 (suspend_mod_SOURCES): New variable.
41374 (suspend_mod_CFLAGS): Likewise.
41375 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
41376 New prototype.
41377 * commands/ieee1275/suspend.c: New file.
41378
b38551da 413792005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41380
41381 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 41382 ((unused))' to `__attribute__ ((used))'.
b38551da 41383 (GRUB_MOD_FINI): Likewise.
41384 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
41385 * genmk.rb (PModule): Assign space to common symbols when linking
41386 modules.
41387
777aff39 413882005-01-20 Marco Gerards <metgerards@student.han.nl>
41389
41390 * include/grub/mm.h (grub_mm_init_region): Change the type of the
41391 `unsigned' arguments to `grub_size_t'.
41392 (grub_malloc): Likewise.
41393 (grub_realloc): Likewise.
41394 (grub_memalign): Likewise.
41395 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
41396 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
41397 * util/misc.c (grub_malloc): Likewise.
41398 (grub_realloc): Likewise.
41399 * kern/mm.c (get_header_from_pointer): Change the casts to
41400 `unsigned' into a cast to `grub_size_t'.
41401
41402 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
41403 point to `currnode' when `currnode' is changed.
41404
41405 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
41406 Schottelius <nico-linux@schottelius.org>.
41407
d0ff18e1 414082005-01-09 Hollis Blanchard <hollis@penguinppc.org>
41409
41410 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
41411 (note_path): Remove variable.
41412 (GRUB_IEEE1275_NOTE_NAME): New macro.
41413 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
41414 (grub_ieee1275_note_hdr): New structure.
41415 (grub_ieee1275_note_desc): Likewise.
41416 (grub_ieee1275_note): Likewise.
41417 (load_note): Remove `dir' argument. All callers updated. Remove
41418 `note_img' and `path'. Do not load a file from `note_path'.
41419 Initialize a struct grub_ieee1275_note and write that to `out'.
41420 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
41421
4ca7004c 414222005-01-05 Marco Gerards <metgerards@student.han.nl>
41423
41424 * util/misc.c (grub_util_read_image): Revert last change. It
41425 called `grub_util_read_at', which seeks from the beginning of the
41426 file.
41427
0b412211 414282005-01-04 Hollis Blanchard <hollis@penguinppc.org>
41429
41430 * TODO: Add note about endianness in grub-mkimage.
41431 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
41432 section.
41433 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
41434 (grub_mkimage_SOURCES): New target.
41435 * include/grub/kernel.h (grub_start_addr): Remove variable.
41436 (grub_end_addr): Likewise.
41437 (grub_total_module_size): Likewise.
41438 (grub_kernel_image_size): Likewise.
41439 (GRUB_MODULE_MAGIC): New constant.
41440 (grub_module_info): New structure.
41441 (grub_arch_modules_addr): New prototype.
41442 (grub_get_end_addr): Remove prototype.
41443 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
41444 * include/grub/powerpc/ieee1275/kernel.h: New file.
41445 * include/grub/util/misc.h (grub_util_get_fp_size): New
41446 prototype.
41447 (grub_util_read_at): Likewise.
41448 (grub_util_write_image_at): Likewise.
41449 * kern/main.c (grub_get_end_addr): Remove function.
41450 (grub_load_modules): Call grub_arch_modules_addr instead of using
41451 grub_end_addr. Look for a grub_module_info struct in memory. Use
41452 the grub_module_info fields instead of calling grub_get_end_addr
41453 as loop conditions. Move grub_add_unused_region code here.
41454 (grub_add_unused_region): Remove function.
41455 * kern/i386/pc/init.c: Include grub/cache.h.
41456 (grub_machine_init): Remove call to grub_get_end_addr. Remove
41457 one call to add_mem_region.
41458 (grub_arch_modules_addr): New function.
41459 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
41460 (grub_total_module_size): Likewise.
41461 Include grub/machine/kernel.h.
41462 (grub_arch_modules_addr): New function.
41463 * util/grub-emu.c (grub_end_addr): Remove variable.
41464 (grub_total_module_size): Likewise.
41465 (grub_arch_modules_addr): New function.
41466 * util/misc.c: Include unistd.h.
41467 (grub_util_get_fp_size): New function.
41468 (grub_util_read_at): Likewise.
41469 (grub_util_write_image_at): Likewise.
41470 (grub_util_read_image): Call grub_util_read_at.
41471 (grub_util_write_image): Call grub_util_write_image_at.
41472 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
41473 additional memory in kernel_img for a struct grub_module_info.
41474 Fill in that grub_module_info.
41475 * util/powerpc/ieee1275/grub-mkimage.c: New file.
41476
458786f8 414772005-01-03 Hollis Blanchard <hollis@penguinppc.org>
41478
41479 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
41480 New function.
41481 * include/grub/powerpc/ieee1275/ieee1275.h
41482 (grub_ieee1275_milliseconds): New prototype.
41483 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
41484 Change to 1000.
41485 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
41486 grub_ieee1275_milliseconds.
41487
ac507d1b 414882005-01-03 Hollis Blanchard <hollis@penguinppc.org>
41489
41490 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
41491 variable.
41492 (find_options): New function.
41493 (cmain): Call find_options.
41494 * include/grub/powerpc/ieee1275/ieee1275.h
41495 (grub_ieee1275_realmode): New extern variable.
41496 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
41497 grub_map if grub_ieee1275_realmode is false.
41498
6b8fd1c4 414992004-12-29 Marco Gerards <metgerards@student.han.nl>
41500
41501 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
41502 lines are inserted and make it work like readline. Reported by
41503 Vincent Pelletier <subdino2004@yahoo.fr>.
41504
8514a1e0 415052004-12-28 Marco Gerards <metgerards@student.han.nl>
41506
41507 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
41508
41509 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
41510 `kern/powerpc/cache.S'.
41511
924b6140 415122004-12-27 Marco Gerards <metgerards@student.han.nl>
41513
41514 * genmk.rb: Handle the `Program' class in the main loop. Written
41515 by Johan Rydberg <jrydberg@gnu.org>.
41516 (Program): New class.
41517 (programs): New variable.
41518 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
41519 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
41520 instead of "grub/kernel.h". Include <grub/machine/init.h>.
41521 (help_arch): Function removed.
41522 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
41523 `powerpc/libgcc.h' and `loader.h'.
41524 (pkgdata_PROGRAMS): New variable.
41525 (sbin_UTILITIES): Variable removed.
41526 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
41527 (grubof_SOURCES): Variable re-defined so it only includes the
41528 core functionality.
41529 (grubof_CFLAGS): Remove `-DGRUBOF'.
41530 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
41531 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
41532 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
41533 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
41534 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
41535 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
41536 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
41537 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
41538 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
41539 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
41540 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
41541 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
41542 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
41543 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
41544 (pc_mod_CFLAGS): New variables.
41545 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
41546 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
41547 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
41548 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
41549 Moved from here...
41550 * include/grub/i386/pc/init.h (grub_os_area_addr)
41551 (rub_os_area_size): ... to here.
41552 * include/grub/powerpc/ieee1275/ieee1275.h
41553 (grub_ieee1275_entry_fn): Export symbol.
41554 * include/grub/powerpc/ieee1275/init.h: New file.
41555 * include/grub/powerpc/libgcc.h: Likewise.
41556 * include/grub/cache.h: Likewise.
41557 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
41558 <hollis@penguinppc.org>.
41559 * kern/dl.c: Include <grub/cache.h>.
41560 (grub_dl_flush_cache): New function.
41561 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
41562 for this module.
41563 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
41564 (grub_console_init): Removed prototypes.
41565 (grub_machine_init): Don't initialize the modules anymore.
41566 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
41567 static.
41568 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
41569 Macro undef removed.
41570 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
41571 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
41572 relocation `R_PPC_REL32'. Return an error when the relocation is
41573 unknown.
41574 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
41575 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
41576 * util/misc.c (grub_arch_sync_caches): Likewise.
41577
e4b47e0c 415782004-12-19 Marco Gerards <metgerards@student.han.nl>
41579
41580 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
41581 `symlist.c', add `grubof_symlist.c'.
41582 (symlist.c): Variable removed.
41583 (grubof_HEADERS): Variable added.
41584 (grubof_symlist.c): New target.
41585 (kernel_syms.lst): Use `grubof_HEADERS' instead of
41586 `kernel_img_HEADERS'.
41587 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
41588 * kern/powerpc/dl.c: New file.
41589 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
41590 Function removed.
41591 (grub_arch_dl_relocate_symbols): Likewise.
41592 (grub_register_exported_symbols): Likewise.
41593
4ceb3636 415942004-12-13 Marco Gerards <metgerards@student.han.nl>
41595
41596 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
41597 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
41598 to fail instead. Reported by Vincent Pelletier
41599 <subdino2004@yahoo.fr>.
41600
41601 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
41602 it is not allocated. Reported by Vincent Pelletier
41603 <subdino2004@yahoo.fr>.
41604
41605 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
41606 output so the output looks better.
f19dbdb7 41607
3f1578fe 416082004-12-04 Marco Gerards <metgerards@student.han.nl>
41609
41610 Modulize the partition map support and add support for the amiga
41611 partition map.
f19dbdb7 41612
3f1578fe 41613 * commands/ls.c: Include <grub/partition.h> instead of
41614 <grub/machine/partition.h>.
41615 * kern/disk.c: Likewise.
41616 * kern/rescue.c: Likewise.
41617 * loader/i386/pc/chainloader.c: Likewise.
41618 * normal/cmdline.c: Likewise.
41619 * kern/powerpc/ieee1275/init.c: Likewise.
41620 (grub_machine_init): Call `grub_pc_partition_map_init',
41621 `grub_amiga_partition_map_init' and
41622 `grub_apple_partition_map_init'.
41623 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
41624 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
41625 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
41626 `partition.h' and `pc_partition.h'.
41627 (grub_setup_SOURCES): Remove
41628 `disk/i386/pc/partition.c'. Add `kern/partition.c',
41629 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
41630 (grub_emu_SOURCES): Likewise.
41631 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
41632 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
41633 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
41634 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
41635 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
41636 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
41637 (grubof_SOURCES): Likewise.
41638 * disk/i386/pc/partition.c: File removed.
41639 * disk/powerpc/ieee1275/partition.c: Likewise.
41640 * include/grub/powerpc/ieee1275/partition.h: Likewise.
41641 * include/grub/i386/pc/partition.h: Likewise.
41642 * kern/partition.c: New file.
41643 * partmap/amiga.c: Likewise.
41644 * partmap/apple.c: Likewise.
41645 * partmap/pc.c: Likewise.
41646 * include/grub/partition.h: Likewise..
41647 * include/grub/pc_partition.h: Likewise.
41648 * util/grub-emu.c: Include <grub/partition.h> instead of
41649 <grub/machine/partition.h>.
41650 (main): Call `grub_pc_partition_map_init',
41651 `grub_amiga_partition_map_init' and
41652 `grub_apple_partition_map_init' and deinitialize afterwards.
41653 * util/i386/pc/biosdisk.c: Include `#include
41654 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
41655 `<grub/machine/partition.h>'.
41656 * util/i386/pc/grub-setup.c: Likewise.
41657 * util/i386/pc/biosdisk.c: Likewise.
41658 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
41659 partition information in case of a PC partition.
41660 * util/i386/pc/grub-setup.c: Include `#include
41661 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
41662 `<grub/machine/partition.h>'.
41663 (setup): Only access the PC specific partition information in case
41664 of a PC partition.
41665
0ef4ced9 416662004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 41667
0ef4ced9 41668 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
41669 (grub_longjmp): Likewise.
41670 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
41671 20.
41672 * normal/powerpc/setjmp.S: New file.
41673 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
41674 `normal/powerpc/setjmp.S'.
41675 (grubof_CFLAGS): Add `-DGRUBOF'.
41676 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
41677 [GRUB_UTIL && !GRUBOF].
f19dbdb7 41678
19950e29 416792004-11-16 Marco Gerards <metgerards@student.han.nl>
41680
41681 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
41682 property named `name'. Correctly handle the error returned by
41683 `grub_ieee1275_finddevice' if a device can not be opened.
41684
a2fea427 416852004-11-02 Hollis Blanchard <hollis@penguinppc.org>
41686
41687 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
41688 `actual' for negativity.
41689 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
41690 kern/fshelp.c.
41691
41ea0ea3 416922004-11-01 Marco Gerards <metgerards@student.han.nl>
41693
41694 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
41695 (PAGE_OFFSET): New macro.
41696 (CRTC_ADDR_PORT): Likewise.
41697 (CRTC_DATA_PORT): Likewise.
41698 (START_ADDR_HIGH_REGISTER): Likewise.
41699 (START_ADDR_LOW_REGISTER): Likewise.
41700 (GRAPHICS_ADDR_PORT): Likewise.
41701 (GRAPHICS_DATA_PORT): Likewise.
41702 (READ_MAP_REGISTER): Likewise.
41703 (INPUT_STATUS1_REGISTER): Likewise.
41704 (INPUT_STATUS1_VERTR_BIT): Likewise.
41705 (page): New variable.
41706 (wait_vretrace): New function.
41707 (set_read_map): Likewise.
41708 (set_start_address): Likewise.
41709 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
41710 the right page.
41711 (check_vga_mem): Take the page into account.
41712 (write_char): Likewise.
41713 (write_cursor): Likewise.
41714 (scroll_up): Likewise. Copy the page to the page that is not
41715 shown and switch between both pages.
41716 (grub_vga_putchar): Fix off by one error.
41717 (grub_vga_cls): Wait for the vertical retrace. Take the page into
41718 account.
41719
ad0bd20b 417202004-11-01 Marco Gerards <metgerards@student.han.nl>
41721
41722 Add support for iso9660 (including rockridge).
f19dbdb7 41723
ad0bd20b 41724 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
41725 (iso9660_mod_SOURCES): New variable.
41726 (iso9660_mod_CFLAGS): Likewise.
41727 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
41728 * include/grub/fs.h (grub_iso9660_init): New prototype.
41729 * util/grub-emu.c (main): Call `grub_iso9660_init'.
41730 * fs/iso9660.c: New file.
41731
41732 * include/grub/misc.h (grub_strncat): New prototype.
41733 * kern/misc.c (grub_strncat): New function.
f19dbdb7 41734
ad0bd20b 41735 * fs/hfs.c (grub_hfs_mount): Translate the error
41736 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
41737 * fs/jfs.c (grub_jfs_mount): Likewise.
41738 * fs/ufs.c (grub_ufs_mount): Likewise.
41739
a5477a59 417402004-10-28 Hollis Blanchard <hollis@penguinppc.org>
41741
41742 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
41743 which initialized BAT registers.
41744 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
41745 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
41746 Move from here...
41747 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
41748 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
41749 ... to here.
41750 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
41751 (grub_mapclaim): Likewise.
41752 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
41753 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
41754 hand.
41755
9304c1f8 417562004-10-19 Hollis Blanchard <hollis@penguinppc.org>
41757
41758 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
41759 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
41760 -ffreestanding and -msoft-float.
41761
86f4ae25 417622004-10-15 Hollis Blanchard <hollis@penguinppc.org>
41763
41764 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
41765 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
41766 set in grub_ieee1275_flags.
41767
38912228 417682004-10-14 Hollis Blanchard <hollis@penguinppc.org>
41769
41770 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
41771 prototype.
41772 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
41773 grub_console_init first.
41774 Change the memory range used for grub_ieee1275_claim and
41775 grub_mm_init_region.
41776 Print an error message if the claim fails.
41777 Include <grub/misc.h>.
41778
d1923dc8 417792004-10-13 Hollis Blanchard <hollis@penguinppc.org>
41780
41781 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
41782 Call grub_children_iterate for device nodes of type `scsi',
41783 `ide', or `ata'.
41784 (grub_ofdisk_open): Remove manual device alias resolution.
41785 Fix memory leak when device cannot be opened.
f19dbdb7 41786 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 41787 (grub_children_iterate): New prototype.
41788 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
41789 New function.
41790 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
41791 Return -1 if args.size was -1.
41792
4512e4f3 417932004-10-11 Hollis Blanchard <hollis@penguinppc.org>
41794
41795 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
41796 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
41797 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
41798 Open Firmware's memory for it; claim memory from _start to _end.
41799 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
41800 (_end): New extern.
41801 (_start): Zero BSS from __bss_start to _end.
41802 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
41803 New extern.
41804 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
41805
4d61feb0 418062004-10-11 Hollis Blanchard <hollis@penguinppc.org>
41807
ad0bd20b 41808 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
41809 -1 if args.base was -1.
4d61feb0 41810
026fa2f9 418112004-10-08 Hollis Blanchard <hollis@penguinppc.org>
41812
41813 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
41814 escape sequence instead of a literal ^L. Also call
41815 grub_ofconsole_gotoxy.
41816
9f2220ef 418172004-10-03 Hollis Blanchard <hollis@penguinppc.org>
41818
41819 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
41820 void * arguments to grub_addr_t. All callers updated. Also make
41821 the `result' argument optional.
41822 (grub_ieee1275_release): change void * arguments to grub_addr_t.
41823 All callers updated.
41824
8a572cd7 418252004-09-22 Hollis Blanchard <hollis@penguinppc.org>
41826
41827 * commands/ls.c (grub_ls_list_files): Use the string following the
41828 initial ')', if present, as the filesystem path.
41829 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
41830
41831 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
41832
18aa81f2 418332004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
41834
41835 Make the source code of the menu interface more readable.
f19dbdb7 41836
18aa81f2 41837 * normal/menu.c: Include grub/mm.h.
41838 (TERM_WIDTH): New macro.
41839 (TERM_HEIGHT): Likewise.
41840 (TERM_INFO_HEIGHT): Likewise.
41841 (TERM_MARGIN): Likewise.
41842 (TERM_SCROLL_WIDTH): Likewise.
41843 (TERM_TOP_BORDER_Y): Likewise.
41844 (TERM_LEFT_BORDER_X): Likewise.
41845 (TERM_BORDER_WIDTH): Likewise.
41846 (TERM_MESSAGE_HEIGHT): Likewise.
41847 (TERM_BORDER_HEIGHT): Likewise.
41848 (TERM_NUM_ENTRIES): Likewise.
41849 (TERM_FIRST_ENTRY_Y): Likewise.
41850 (TERM_ENTRY_WIDTH): Likewise.
41851 (TERM_CURSOR_X): Likewise.
41852 (draw_border): Use macros instead of magic numbers.
41853 (print_entry): Likewise.
41854 (print_entries): Likewise.
41855 (run_menu): Likewise. Also, handle the key 'e'.
41856 (run_menu_entry): Ignore empty command lines.
41857 (print_message): Added a new argument EDIT. If EDIT is true,
41858 print a different message.
41859 (init_page): Likewise.
41860 (edit_menu_entry): New function. Not implemented yet.
41861
b47efe30 418622004-09-17 Marco Gerards <metgerards@student.han.nl>
41863
41864 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
41865 can be loaded from normal mode.
f19dbdb7 41866
b47efe30 41867 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
41868 `multiboot.mod'.
41869 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
41870 (multiboot_mod_CFLAGS): New variables.
41871 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 41872 * loader/i386/pc/multiboot_normal.c: Likewise.
41873
b47efe30 41874 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
41875 attribute `unused'.
f19dbdb7 41876
b47efe30 41877 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
41878 `fdiro' to read the mode information from instead of `diro'.
41879
41880 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
41881 looking up a symlink.
41882
41883 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
41884 macro.
41885 * normal/command.c (grub_command_execute): Don't parse the
41886 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
41887 flags of the command.
41888
41889 * normal/menu.c (grub_menu_run): Fix typo.
41890
da75ac71 418912004-09-14 Hollis Blanchard <hollis@penguinppc.org>
41892
41893 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
41894
41895 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
41896 `y + 1' instead of `y - 1'.
41897
41898 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 41899
062b24c2 419002004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
41901
41902 From Hollis Blanchard <hollis@penguinppc.org>:
41903 * kern/misc.c (memmove): New alias for grub_memmove.
41904 (memcmp): New alias for grub_memcmp.
41905 (memset): New alias for grub_memset.
f19dbdb7 41906 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 41907 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 41908 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 41909 (grub_ieee1275_get_property): Likewise.
f19dbdb7 41910
8ddad845 419112004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
41912
41913 Added normal mode command `chainloader' as module chain.mod, which
41914 depends on normal.mod and _chain.mod.
f19dbdb7 41915
8ddad845 41916 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
41917 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
41918 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
41919 Deleted prototype.
41920 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
41921 but arguments parsing moved to ...
41922 (grub_chainloader_cmd): ... here. New function.
41923 * include/grub/i386/pc/chainloader.h: New file.
41924 * loader/i386/pc/chainloader_normal.c: Likewise.
41925
2c1f4ce3 419262004-09-11 Marco Gerards <metgerards@student.han.nl>
41927
41928 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
41929 (grub_mkimage_LDFLAGS): Likewise.
41930 (grub_emu_SOURCES): Likewise.
41931 (kernel_img_HEADERS): Added fshelp.h.
41932 * fs/ext2.c: Include <grub/fshelp.h>.
41933 (FILETYPE_REG): New macro.
41934 (FILETYPE_INO_REG): Likewise.
41935 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
41936 Changed all users.
41937 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
41938 all users.
41939 (grub_fshelp_node): New struct.
41940 (grub_ext2_data): Added member `diropen'. Changed member `inode'
41941 to a pointer.
41942 (grub_ext2_get_file_block): Removed function.
41943 (grub_ext2_read_block): New function.
41944 (grub_ext2_read_file): Replaced parameter `data' by `node'.
41945 This function was written.
41946 (grub_ext2_mount): Read the root inode. Create a diropen struct.
41947 (grub_ext2_find_file): Removed function.
41948 (grub_ext2_read_symlink): New function.
41949 (grub_ext2_iterate_dir): Likewise.
41950 (grub_ext2_open): Rewritten.
41951 (grub_ext2_dir): Rewritten.
41952 * include/grub/fshelp.h: New file.
41953 * fs/fshelp.c: Likewise.
41954
3c52136a 419552004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
41956
41957 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
41958 (print_message): Add a missing newline.
41959 (run_menu): Added timeout support.
41960 (run_menu_entry): New local function.
41961 (grub_menu_run): Added support for booting.
41962
41963 * kern/loader.c (grub_loader_is_loaded): New function.
41964
41965 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
41966 (grub_get_rtc): Exported.
41967
41968 * include/grub/i386/pc/time.h: Include grub/symbol.h.
41969 (grub_get_rtc): Exported.
41970
41971 * include/grub/normal.h (struct grub_command_list): Remove
41972 constant from the member `command'.
41973
41974 * include/grub/loader.h (grub_loader_is_loaded): Declared.
41975
41976 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
41977
41978 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
41979
aa033560 419802004-08-28 Marco Gerards <metgerards@student.han.nl>
41981
41982 Add support for the JFS filesystem.
41983
41984 * fs/jfs.c: New file.
41985 * include/grub/fs.h (grub_jfs_init): New prototype.
41986 (grub_jfs_fini): New prototype.
41987 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
41988 (grub_emu_SOURCES): Likewise.
41989 (pkgdata_MODULES): Add jfs.mod.
41990 (jfs_mod_SOURCES): New variable.
41991 (jfs_mod_CFLAGS): Likewise.
41992 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
41993 (grubof_SOURCES): Likewise.
41994 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
41995
41996 * fs/fat.c (grub_fat_find_dir): Convert the filename little
41997 endian to the host endian.
41998 (grub_fat_utf16_to_utf8): Move function from there...
41999 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 42000 the endianness of the source string anymore.
aa033560 42001 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
42002
94bc45af 420032004-08-24 Marco Gerards <metgerards@student.han.nl>
42004
42005 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
42006 (grub_boot_fini) [GRUB_UTIL]: Likewise.
42007 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
42008 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 42009
94bc45af 42010 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
42011 (grub_hfs_iterate_dir): Make the function static. Add prototypes
42012 for `node_found' and `it_dir'.
42013 (grub_hfs_dir): Add prototype for `dir_hook'.
42014
42015 * fs/minix.c (grub_minix_get_file_block): Add prototype for
42016 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
42017 and `indir32' to silence a gcc warning.
42018
42019 * include/grub/fs.h (grub_hfs_init): New prototype.
42020 (grub_hfs_fini): Likewise.
f19dbdb7 42021
42022
97543f08 420232004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
42024
42025 Each disk device has its own id now. This is useful to make use
42026 of multiple disk devices.
f19dbdb7 42027
97543f08 42028 * include/grub/disk.h (grub_disk_dev_id): New enum.
42029 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
42030 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
42031
42032 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
42033 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
42034
42035 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
42036 GRUB_DISK_DEVICE_OFDISK_ID as an id.
42037
42038 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
42039 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
42040
42041 * include/grub/disk.h (struct grub_disk_dev): Added a new member
42042 "id" which is used by the cache manager.
42043
42044 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
42045 of just "GRUB".
42046
64372eb4 420472004-08-18 Marco Gerards <metgerards@student.han.nl>
42048
42049 * fs/hfs.c: New file.
42050 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
42051 (grub_emu_SOURCES): Likewise.
42052 (pkgdata_MODULES): Add hfs.mod.
42053 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
42054 (grubof_SOURCES): Likewise.
42055 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
42056
42057 * include/grub/misc.h (grub_strncasecmp): Add prototype.
42058 * kern/misc.c (grub_strncasecmp): Add function.
42059
cc61b58f 420602004-08-14 Marco Gerards <metgerards@student.han.nl>
42061
42062 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
42063 with parentheses.
42064
42065 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
42066 (grub_ext2_dir): In case the directory entry type is unknown, read
42067 it from the inode.
42068
0ef123f6 420692004-08-02 Peter Bruin <pjbruin@dds.nl>
42070
42071 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
42072 grub_load_linux instead of grub_rescue_cmd_linux as second
42073 argument of grub_rescue_register_command.
42074
42075 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
42076
a447c5df 420772004-07-27 Marco Gerards <metgerards@student.han.nl>
42078
42079 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
42080 function.
42081 * commands/boot.c: Remove the check for `GRUB_UTIL'.
42082 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
42083 `loader/powerpc/ieee1275/linux.c',
42084 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
42085 * include/grub/powerpc/ieee1275/ieee1275.h
42086 (grub_ieee1275_release): New prototype.
42087 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
42088 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
42089 normal, boot, linux and linux_normal.
42090 * loader/powerpc/ieee1275/linux.c: New file.
42091 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
42092
5a9e3546 420932004-07-12 Marco Gerards <metgerards@student.han.nl>
42094
42095 * normal/arg.c (grub_arg_parse): Correct error handling after
42096 reallocating the argumentlist (check if `argl' is not null instead
42097 of checking if `args' is not null).
42098 * kern/mm.c (grub_realloc): Return the same pointer when using the
42099 same region, instead of returning the header address.
42100
e15199cb 421012004-07-11 Marco Gerards <metgerards@student.han.nl>
42102
42103 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
42104 one block instead of two when looking for the initial partition.
42105 (grub_partition_probe): Initialize the local variable `p' with 0.
42106 Use base 10 for the grub_strtoul call.
42107 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
42108 need for one local variable.
42109 (grub_strtoul): Don't add the new value to `num', instead of that
42110 just assign it.
42111
020616c2 421122004-07-11 Marco Gerards <metgerards@student.han.nl>
42113
42114 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
42115 (pxeboot_img_SOURCES): New variable.
42116 (pxeboot_img_ASFLAGS): Likewise.
42117 (pxeboot_img_LDFLAGS): Likewise.
42118 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
42119 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
42120 <lode_leroy@hotmail.com>.
42121
6c51eb64 421222004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
42123
42124 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
42125 there was no input.
42126
cfb12aff 421272004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
42128
42129 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
42130 the history buffer logic.
42131
6eabba74 421322004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
42133
42134 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
42135 (FILETYPE_INO_SYMLINK): New macros.
42136 (grub_ext2_find_file): Check if the node is a directory using the
42137 inode stat information instead of using the filetype in the
42138 dirent. Exclude the first character of an absolute symlink.
42139 (grub_ext2_dir): Mask out the filetype part of the mode member of
42140 the inode.
42141
66e19ef8 421422004-05-24 Marco Gerards <metgerards@student.han.nl>
42143
42144 Add support for UFS version 1 and 2. Add support for the minix
42145 filesystem version 1 and 2, both the variants with 14 and 30 long
42146 filenames.
f19dbdb7 42147
66e19ef8 42148 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
42149 fs/minix.c.
42150 (grub_emu_SOURCES): Likewise.
42151 (pkgdata_MODULES): Add ufs.mod and minix.mod.
42152 (ufs_mod_SOURCES): New variable.
42153 (ufs_mod_CFLAGS): Likewise.
42154 (minix_mod_SOURCES): Likewise.
42155 (minix_mod_CFLAGS): Likewise.
42156 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
42157 fs/minix.c.
42158 (grubof_SOURCES): Likewise.
42159 * fs/ufs.c: New file.
42160 * fs/minix.c: New file.
42161 * include/grub/fs.h (grub_ufs_init): New prototype.
42162 (grub_ufs_fini): Likewise.
42163 (grub_minix_init): Likewise.
42164 (grub_minix_fini): Likewise.
42165 * util/grub-emu.c (main): Initialize and deinitialize UFS and
42166 minix fs.
42167
cc2e748a 421682004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
42169
42170 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
42171 commands/ls.c, commands/terminal.c, commands/boot.c,
42172 commands/cmp.c and commands/cat.c.
42173 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
42174
42175 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
42176 "env.h"
42177
4b13b216 421782004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
42179
42180 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
42181 and grub_, respectively. Because the conversion is trivial and
42182 mechanical, I omit the details here. Please refer to the CVS
42183 if you need more information.
42184
6a142551 421852004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
42186
42187 * include/pupa: Renamed to ...
42188 * include/grub: ... this.
42189 * util/i386/pc/pupa-mkimage.c: Renamed to ...
42190 * util/i386/pc/grub-mkimage.c: ... this.
42191 * util/i386/pc/pupa-setup.c: Renamed to ...
42192 * util/i386/pc/grub-setup.c: ... this.
42193 * util/pupa-emu.c: Renamed to ...
42194 * util/grub-emu.c: ... this.
42195
e56cdf21 421962004-03-29 Marco Gerards <metgerards@student.han.nl>
42197
42198 Add support for the newworld apple macintosh (PPC). This has been
42199 tested on the powerbook 2000 only. It only adds support for
42200 generic ieee1275 functions, console and disk support. This should
42201 be easy to port to other architectures with support for Open
42202 Firmware.
f19dbdb7 42203
e56cdf21 42204 * configure.ac: Accept the powerpc as host_cpu. In the case of
42205 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
42206 specific tests are only executed while building for the i386.
42207 Inverse test for crosscompile.
42208 * genmk.rb (Utility): Allow assembler files.
42209 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
42210 * conf/powerpc-ieee1275.rmk: New file.
42211 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
42212 * disk/powerpc/ieee1275/partition.c: Likewise.
42213 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
42214 * include/pupa/powerpc/ieee1275/console.h: Likewise.
42215 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
42216 * include/pupa/powerpc/ieee1275/time.h: Likewise.
42217 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
42218 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
42219 * include/pupa/powerpc/ieee1275/loader.h
42220 * include/pupa/powerpc/setjmp.h: Likewise.
42221 * include/pupa/powerpc/types.h: Likewise.
42222 * kern/powerpc/ieee1275/init.c: Likewise.
42223 * kern/powerpc/ieee1275/openfw.c: Likewise.
42224 * term/powerpc/ieee1275/ofconsole.c: Likewise.
42225
42226 These files were written by Johan Rydberg
42227 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 42228
e56cdf21 42229 * boot/powerpc/ieee1275/cmain.c: New file.
42230 * boot/powerpc/ieee1275/crt0.S: Likewise.
42231 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
42232 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
42233
8c8cc205 422342004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
42235
42236 * Makefile.in: Update copyright.
42237 * genmodsrc.sh: Likewise.
42238 * gensymlist.sh: Likewise.
42239 * term/i386/pc/vga.c: Indent correctly.
42240
42241 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
42242 bugreporting address.
42243 * util/i386/pc/pupa-setup.c (usage): Likewise,
42244 (main): Call pupa_ext2_init and pupa_ext2_fini.
42245
f19dbdb7 42246 * fs/fat.c (log2): Renamed to ...
8c8cc205 42247 (fat_log2): ... this.
42248 All callers changed.
42249 * kern/misc.c (memcpy): Alias to pupa_memmove.
42250 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
42251 lvalue cast.
42252 * util/console.c (pupa_ncurses_fini): Return 0.
42253
42254 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
42255 Move fail label here.
42256 [__GNU__]: Don't warn when using stat.
42257 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
42258 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
42259 long int. Use strtol instead of strtoul.
f19dbdb7 42260
db1771cf 422612004-03-14 Marco Gerards <metgerards@student.han.nl>
42262
42263 * commands/boot.c: New file.
42264 * commands/cat.c: Likewise.
42265 * commands/cmp.c: Likewise.
42266 * commands/ls.c: Likewise.
42267 * commands/terminal.c: Likewise.
42268 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
42269 (pupa_register_command): Changed interface to match the new
42270 argument parser.
42271 (pupa_command_execute): Changed (almost rewritten) so it uses
42272 pupa_split_command. Added support for setting variables using the
42273 syntax `foo=bar'.
42274 (rescue_command): Changed to work with the new argument parser.
42275 (terminal_command): Moved from here to commands/terminal.c.
42276 (set_command): New function.
42277 (unset_command): New function.
42278 (insmod_command): New function.
42279 (rmmod_command): New function.
42280 (lsmod_command): New function.
42281 (pupa_command_init): Don't initialize the command terminal
42282 anymore. Initialize the commands set, unset, insmod, rmmod and
42283 lsmod.
42284 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
42285 (kernel_img_HEADERS): Add arg.h and env.h.
42286 (pupa_mkimage_LDFLAGS): Add kern/env.c.
42287 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
42288 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
42289 normal/arg.c.
42290 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
42291 terminal.mod.
42292 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
42293 (boot_mod_SOURCES): New variable.
42294 (terminal_mod_SOURCES): Likewise.
42295 (ls_mod_SOURCES): Likewise.
42296 (cmp_mod_SOURCES): Likewise.
42297 (cat_mod_SOURCES): Likewise.
42298
42299 * normal/arg.c: New file.
42300 * kern/env.c: Likewise.
42301 * include/pupa/arg.h: Likewise.
42302 * include/pupa/env.h: Likewise.
42303 * font/manager.c (font_command): Changed to match argument parsing
42304 interface changes.
42305 (PUPA_MOD_INIT): Likewise.
42306 * hello/hello.c (pupa_cmd_hello): Likewise.
42307 (PUPA_MOD_INIT): Likewise.
42308 * include/pupa/disk.h: Include <pupa/device.h>.
42309 (pupa_print_partinfo): New prototype.
42310 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
42311 (pupa_dl_get_prefix): Likewise.
42312 * include/pupa/misc.h: Include <pupa/err.h>.
42313 (pupa_isgraph): New prototype.
42314 (pupa_isdigit): Likewise.
42315 (pupa_split_cmdline): Likewise.
42316 * include/pupa/normal.h: Include <pupa/arg.h>.
42317 (pupa_command): Changed the prototype of the member `func' to
42318 match the argument parsing interface. Added member `options'.
42319 (pupa_register_command): Updated to match function.
42320 (pupa_arg_parse): New prototype.
42321 (pupa_hello_init) [PUPA_UTIL]: New prototype.
42322 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
42323 (pupa_ls_init) [PUPA_UTIL]: Likewise.
42324 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
42325 (pupa_cat_init) [PUPA_UTIL]: Likewise.
42326 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
42327 (pupa_boot_init) [PUPA_UTIL]: Likewise.
42328 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
42329 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
42330 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
42331 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
42332 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
42333 * kern/disk.c: Include <pupa/file.h>.
42334 (pupa_print_partinfo): New function.
42335 * kern/dl.c: Include <pupa/env.h>.
42336 (pupa_dl_dir): Variable removed.
42337 (pupa_dl_load): Use the environment variable `prefix' instead of
42338 the variable pupa_dl_dir.
42339 (pupa_dl_set_prefix): Function removed.
42340 (pupa_dl_get_prefix): Likewise.
42341 * kern/i386/pc/init.c: Include <pupa/env.h>.
42342 (pupa_machine_init): Use the environment variable `prefix' instead of
42343 using pupa_dl_set_prefix to set the prefix.
42344 * kern/main.c: Include <pupa/env.h>.
42345 (pupa_set_root_dev): Use the environment variable `prefix' instead of
42346 using pupa_dl_get_prefix to get the prefix.
42347 * kern/misc.c: Include <pupa/env.h>.
42348 (pupa_isdigit): New function.
42349 (pupa_isgraph): Likewise.
42350 (pupa_ftoa): Likewise.
42351 (pupa_vsprintf): Added support for printing values of the type
42352 `double'. Make it possible to format variable output when using
42353 formatting like `%1.2%f'.
42354 (pupa_split_cmdline): New function.
42355 * kern/rescue.c: Include <pupa/env.h>.
42356 (next_word): Removed function.
42357 (pupa_rescue_cmd_prefix): Likewise.
42358 (pupa_rescue_cmd_set): New function.
42359 (pupa_rescue_cmd_unset): New function.
42360 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
42361 split the command line instead of splitting it here. Added
42362 support for setting variables using the syntax `foo=bar'. Don't
42363 initialize the prefix command anymore. Initialized the set and
42364 unset commands.
42365 * normal/cmdline.c: Include <pupa/env.h>.
42366 (pupa_tab_complete): Added prototypes for print_simple_completion,
42367 print_partition_completion, add_completion, iterate_commands,
42368 iterate_dev, iterate_part and iterate_dir. Moved code to print
42369 partition information from here to kern/disk.c.
fe6b695a 42370 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 42371 * normal/main.c: Include <pupa/env.h>.
42372 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
42373 instead of using pupa_dl_get_prefix to get the prefix.
42374 * term/i386/pc/vga.c: Include <pupa/arg.h>.
42375 (check_vga_mem): Cast pointers to `void *' to silence a gcc
42376 warning.
42377 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
42378 (pupa_vga_setcolor): Declare unused variables with `__attribute__
42379 ((unused))' to silence a gcc warning.
42380 (pupa_vga_setcolor): Likewise.
42381 (debug_command): Changed to match argument parsing
42382 interface changes.
42383 * util/pupa-emu.c: Include <pupa/env.h>.
42384 (options): Added 0's for unused fields to silence a gcc warning.
42385 (argp): Likewise.
42386 (main): Use the environment variable `prefix' instead of using
42387 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
42388 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
42389 and terminal.
42390
42391 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
42392 * util/misc.c: Include <malloc.h>.
42393 (pupa_malloc): Rewritten so errors are correctly reported.
42394 (pupa_realloc): Likewise.
42395 (pupa_memalign): Likewise.
42396 (pupa_mm_init_region): Declare unused variables with
42397 `__attribute__ ((unused))' to silence a gcc warning.
42398 * normal/i386/setjmp.S: Remove tab at the end of the file to
42399 silence a gcc warning.
42400 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
42401 variables with `__attribute__ ((unused))' to silence a gcc
42402 warning.
42403 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
42404 local variable i unsigned to silence a gcc warning.
42405
42406 * kern/term.c: Include <pupa/misc.h>.
42407 (pupa_more_lines): New variable.
42408 (pupa_more): Likewise.
42409 (pupa_putcode): When the pager is active pause at the end of every
42410 screen.
42411 (pupa_set_more): New function.
42412 * include/pupa/term.h (pupa_set_more): New prototype.
42413
42414
3b1139cb 424152004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
42416
42417 Now this project is GRUB 2 rather than PUPA. The location of
42418 the CVS repository was moved to GRUB's.
f19dbdb7 42419
3b1139cb 42420 * configure.ac: Use bug-grub as the reporting address.
42421 Use GRUB instead of PUPA.
42422 Change the version number to 1.90.
42423
8367695c 424242004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
42425
42426 * genkernsyms.sh: Updated copyright information.
42427 * genmk.rb: Likewise.
42428 * genmodsrc.sh: Likewise.
42429 * gensymlist.sh: Likewise.
42430 * boot/i386/pc/boot.S: Likewise.
42431 * boot/i386/pc/diskboot.S: Likewise.
42432 * disk/i386/pc/biosdisk.c: Likewise.
42433 * disk/i386/pc/partition.c: Likewise.
42434 * font/manager.c: Likewise.
42435 * fs/ext2.c: Likewise.
42436 * fs/fat.c: Likewise.
42437 * include/pupa/boot.h: Likewise.
42438 * include/pupa/device.h: Likewise.
42439 * include/pupa/disk.h: Likewise.
42440 * include/pupa/dl.h: Likewise.
42441 * include/pupa/elf.h: Likewise.
42442 * include/pupa/err.h: Likewise.
42443 * include/pupa/file.h: Likewise.
42444 * include/pupa/font.h: Likewise.
42445 * include/pupa/fs.h: Likewise.
42446 * include/pupa/kernel.h: Likewise.
42447 * include/pupa/loader.h: Likewise.
42448 * include/pupa/misc.h: Likewise.
42449 * include/pupa/mm.h: Likewise.
42450 * include/pupa/net.h: Likewise.
42451 * include/pupa/normal.h: Likewise.
42452 * include/pupa/rescue.h: Likewise.
42453 * include/pupa/setjmp.h: Likewise.
42454 * include/pupa/symbol.h: Likewise.
42455 * include/pupa/term.h: Likewise.
42456 * include/pupa/types.h: Likewise.
42457 * include/pupa/i386/setjmp.h: Likewise.
42458 * include/pupa/i386/types.h: Likewise.
42459 * include/pupa/i386/pc/biosdisk.h: Likewise.
42460 * include/pupa/i386/pc/boot.h: Likewise.
42461 * include/pupa/i386/pc/console.h: Likewise.
42462 * include/pupa/i386/pc/init.h: Likewise.
42463 * include/pupa/i386/pc/kernel.h: Likewise.
42464 * include/pupa/i386/pc/linux.h: Likewise.
42465 * include/pupa/i386/pc/loader.h: Likewise.
42466 * include/pupa/i386/pc/memory.h: Likewise.
42467 * include/pupa/i386/pc/multiboot.h: Likewise.
42468 * include/pupa/i386/pc/partition.h: Likewise.
42469 * include/pupa/i386/pc/time.h: Likewise.
42470 * include/pupa/i386/pc/vga.h: Likewise.
42471 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
42472 * include/pupa/util/getroot.h: Likewise.
42473 * include/pupa/util/misc.h: Likewise.
42474 * include/pupa/util/resolve.h: Likewise.
42475 * kern/device.c: Likewise.
42476 * kern/disk.c: Likewise.
42477 * kern/dl.c: Likewise.
42478 * kern/err.c: Likewise.
42479 * kern/file.c: Likewise.
42480 * kern/fs.c: Likewise.
42481 * kern/loader.c: Likewise.
42482 * kern/main.c: Likewise.
42483 * kern/misc.c: Likewise.
42484 * kern/mm.c: Likewise.
42485 * kern/rescue.c: Likewise.
42486 * kern/term.c: Likewise.
42487 * kern/i386/dl.c: Likewise.
42488 * kern/i386/pc/init.c: Likewise.
42489 * kern/i386/pc/lzo1x.S: Likewise.
42490 * kern/i386/pc/startup.S: Likewise.
42491 * loader/i386/pc/chainloader.c: Likewise.
42492 * loader/i386/pc/linux.c: Likewise.
42493 * loader/i386/pc/multiboot.c: Likewise.
42494 * normal/cmdline.c: Likewise.
42495 * normal/command.c: Likewise.
42496 * normal/main.c: Likewise.
42497 * normal/menu.c: Likewise.
42498 * normal/i386/setjmp.S: Likewise.
42499 * term/i386/pc/console.c: Likewise.
42500 * term/i386/pc/vga.c: Likewise.
42501 * util/console.c: Likewise.
42502 * util/genmoddep.c: Likewise.
42503 * util/misc.c: Likewise.
42504 * util/pupa-emu.c: Likewise.
42505 * util/resolve.c: Likewise.
42506 * util/unifont2pff.rb: Likewise.
42507 * util/i386/pc/biosdisk.c: Likewise.
42508 * util/i386/pc/getroot.c: Likewise.
42509 * util/i386/pc/pupa-mkimage.c: Likewise.
42510 * util/i386/pc/pupa-setup.c: Likewise.
42511
e6eced71 425122004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
42513
42514 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
42515 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
42516 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
42517 reading and reset it after reading.
42518 (pupa_ext2_close): Return PUPA_ERR_NONE.
42519
42520 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
42521 Correct value.
42522 (struct linux_kernel_header): Add kernel_version and
42523 initrd_addr_max.
42524 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
42525 pupa_file_read succeeds.
42526 (pupa_rescue_cmd_initrd): Implement.
42527
5aded270 425282003-12-03 Marco Gerards <metgerards@student.han.nl>
42529
42530 * fs/ext2.c (pupa_ext2_label): New function.
42531 (pupa_ext2_fs): Added label.
42532 * fs/fat.c (pupa_fat_label): New function.
42533 (pupa_fat_fs): Added label.
42534 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
42535
42536 * kern/misc.c (pupa_strndup): New function.
42537 * include/pupa/misc.h (pupa_strndup): New prototype.
42538
42539 * include/pupa/normal.h: Include <pupa/err.h>.
42540 (pupa_set_history): New prototype.
42541 (pupa_iterate_commands): New prototype.
42542 * normal/cmdline.c: Include <pupa/machine/partition.h>,
42543 <pupa/disk.h>, <pupa/file.h>.
42544 (hist_size): New variable.
42545 (hist_lines): Likewise.
42546 (hist_end): Likewise.
42547 (hist_used): Likewise.
42548 (pupa_set_history): New function.
42549 (pupa_history_get): Likewise.
42550 (pupa_history_add): Likewise.
42551 (pupa_history_replace): Likewise.
42552 (pupa_tab_complete): Likewise.
42553 (pupa_cmdline_run): Added tab completion and history buffer. Tab
42554 completion shows partitionnames while completing partitions, this
42555 feature was suggested by Jeff Bailey.
42556 * normal/command.c (pupa_iterate_commands): New function.
42557 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
42558 (pupa_normal_init): Initialize history buffer.
42559 (PUPA_MOD_INIT): Likewise.
42560 (pupa_normal_fini): Free the history buffer.
42561 (PUPA_MOD_FINI): Likewise.
42562
42563 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
42564 key.
42565
42566 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
42567 * configure.ac [i386]: Check for regparam bug.
42568 (NESTED_FUNC_ATTR) [! i386]: Defined.
42569
1f7315a3 425702003-11-17 Marco Gerards <metgerards@student.han.nl>
42571
42572 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
42573 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
42574 (pupa_emu_SOURCES): New variable.
42575 (pupa_emu_LDFLAGS): Likewise.
42576 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
42577 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
42578 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
42579 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
42580 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
42581 (pupa_jmp_buf): New typedef.
42582 (pupa_setjmp) [PUPA_UTIL]: New macro.
42583 (pupa_longjmp) [PUPA_UTIL]: Likewise.
42584 * include/pupa/term.h (struct pupa_term): New member `refresh'.
42585 (pupa_refresh): New prototype.
42586 * include/pupa/util/getroot.h: New file.
42587 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
42588 it.
42589 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
42590 (pupa_rescue_cmd_cat): Likewise.
42591 (pupa_rescue_cmd_ls): Likewise.
42592 (pupa_rescue_cmd_testload): Likewise.
42593 (pupa_rescue_cmd_lsmod): Likewise.
42594 * normal/cmdline.c (pupa_cmdline_get): Likewise.
42595 * normal/menu.c (run_menu): Likewise.
42596 * kern/term.c (pupa_cls): Likewise.
42597 (pupa_refresh): New function.
42598 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
42599 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
42600 * util/console.c: New file.
f19dbdb7 42601
1f7315a3 42602 * util/i386/pc/getroot.c: New file.
42603 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
42604 (pupa_putchar): New function.
42605 (pupa_refresh): Likewise.
42606 (xgetcwd): Function moved to ...
42607 (strip_extra_slashes): Likewise.
42608 (get_prefix): Likewise.
f19dbdb7 42609 * util/i386/pc/getroot.c: ... here.
1f7315a3 42610 (find_root_device): Function moved and renamed to...
42611 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
42612 Changed all callers.
42613 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
42614 and renamed to...
42615 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
42616 Changed all callers.
42617 * util/misc.c (pupa_memalign): New function.
42618 (pupa_mm_init_region): Likewise.
42619 (pupa_register_exported_symbols): Likewise.
42620 (pupa_putchar): Function removed.
42621 * util/pupa-emu.c: New file.
42622
9a5c1ade 426232003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
42624
42625 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
42626 (_multiboot_mod_SOURCES): New variable.
42627 (_multiboot_mod_CFLAGS): Likewise.
42628 * loader/i386/pc/multiboot.c: New file.
42629 * include/pupa/i386/pc/multiboot.h: Likewise.
42630 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
42631 (pupa_multiboot_real_boot): New function.
42632 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
42633 (pupa_multiboot_real_boot): New prototype.
42634 (pupa_rescue_cmd_multiboot): Likewise
42635 (pupa_rescue_cmd_module): Likewise.
42636
42637 * kern/loader.c (pupa_loader_set): Continue when
42638 pupa_loader_unload_func() fails.
42639 (pupa_loader_unset): New function.
42640 * include/pupa/loader.h (pupa_loader_unset): New prototype.
42641
42642 * kern/misc.c (pupa_stpcpy): New function.
42643 * include/pupa/misc.h (pupa_stpcpy): New prototype.
42644
8e72a9c0 426452003-11-12 Marco Gerards <metgerards@student.han.nl>
42646
42647 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
42648 for available extensions.
42649
42650 * include/pupa/i386/pc/time.h: New file.
42651 * kern/disk.c: Include <pupa/machine/time.h>.
42652 (PUPA_CACHE_TIMEOUT): New macro.
42653 (pupa_last_time): New variable.
42654 (pupa_disk_open): Flush the cache when there was a timeout.
42655 (pupa_disk_close): Reset the timer.
42656 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
42657 pupa_currticks.
42658 * util/misc.c: Include <sys/times.h>
42659 (pupa_get_rtc): New function.
42660
c4adbd32 426612003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
42662
42663 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
42664 as blocks.
42665 (pupa_ext2_get_file_block): Use blocks member.
42666
42667 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
42668 first block. Return -1 instead of pupa_errno on error.
42669
bfd30f06 426702003-10-27 Marco Gerards <metgerards@student.han.nl>
42671
42672 * README: In the pupa-mkimage example use _chain instead of chain
42673 and ext2 instead of fat.
42674 * TODO: Replace ext2fs with jfs as an example. Add an item for
42675 adding journal playback for ext2fs.
42676 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
42677 (pkgdata_MODULES): Added ext2.mod.
42678 (ext2_mod_SOURCES): New variable.
42679 (ext2_mod_CFLAGS): Likewise.
42680 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
42681 * include/pupa/misc.h (pupa_strncpy): New prototype.
42682 (pupa_strcat): Likewise.
42683 (pupa_strncmp): Likewise.
42684 * kern/misc.c (pupa_strcat): Enable function.
42685 (pupa_strncpy): New function.
42686 (pupa_strncmp): Likewise.
42687 * fs/ext2.c: New file.
f19dbdb7 42688
bfd30f06 42689 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
42690 when the read failed before retrying.
42691 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
42692 (_FILE_OFFSET_BITS): Likewise.
42693 * configure.ac: Added AC_SYS_LARGEFILE.
42694
98d15063 426952003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
42696
42697 * genmk.rb (PModule#rule): Make sure to get only symbol names
42698 from the output of nm.
59cad637 42699 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 42700
18d9c7cd 427012003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
42702
42703 I forgot to check in these changes for a long time. This adds
42704 incomplete support for VGA console, and this is still very
42705 buggy. Also, a lot of consideration is required for I18N,
42706 UNICODE, and VGA font issues. Therefore, assume that this is
42707 such that "better than nothing".
f19dbdb7 42708
18d9c7cd 42709 * font/manager.c: New file.
42710 * include/pupa/font.h: Likewise.
42711 * include/pupa/i386/pc/vga.h: Likewise.
42712 * term/i386/pc/vga.c: Likewise.
42713 * util/unifont2pff.rb: Likewise.
42714
42715 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
42716 (pkgdata_MODULES): Added vga.mod and font.mod.
42717 (vga_mod_SOURCES): New variables.
42718 (vga_mod_CFLAGS): Likewise.
42719 (font_mod_SOURCES): Likewise.
42720 (font_mod_CFLAGS): Likewise.
42721
42722 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
42723
42724 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 42725 (struct pupa_term): Added init and fini.
18d9c7cd 42726 Changed the argument of putchar to pupa_uint32_t.
42727
42728 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
42729 (pupa_console_real_putchar): New prototype.
42730 (pupa_console_putchar): Removed.
42731 (pupa_console_checkkey): Exported.
42732 (pupa_console_getkey): Likewise.
42733
42734 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
42735 characters.
42736
42737 * kern/term.c (pupa_term_set_current): Rewritten.
42738 (pupa_putchar): Likewise.
42739 (pupa_putcode): New function.
42740
42741 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
42742 (pupa_console_real_putchar): ... this.
42743 (pupa_vga_set_mode): New function.
42744 (pupa_vga_get_font): Likewise.
42745
42746 * normal/command.c: Include pupa/term.h.
42747 (terminal_command): New function.
42748 (pupa_command_init): Register the command "terminal".
42749
42750 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
42751 (DISP_UP): Likewise.
42752 (DISP_RIGHT): Likewise.
42753 (DISP_DOWN): Likewise.
42754 (DISP_HLINE): Likewise.
42755 (DISP_VLINE): Likewise.
42756 (DISP_UL): Likewise.
42757 (DISP_UR): Likewise.
42758 (DISP_LL): Likewise.
42759 (DISP_LR): Likewise.
42760
42761 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 42762
977329f5 427632003-02-08 NIIBE Yutaka <gniibe@m17n.org>
42764
42765 * util/resolve.c (pupa_util_resolve_dependencies): BUG
42766 FIX. Reverse the path_list.
42767
42768 * include/pupa/normal.h: Export pupa_register_command and
42769 pupa_unregister_command.
42770
42771 * hello/hello.c (pupa_cmd_hello): New module.
42772 * conf/i386-pc.rmk: Added hello.mod.
42773
1f5ab428 427742003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
42775
42776 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 42777
1f5ab428 42778 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
42779 (compress_kernel): New variable.
42780 (generate_image): Heavily modified to support compressing a
42781 large part of the core image.
42782
42783 * util/misc.c (pupa_util_read_image): Fix a file descriptor
42784 leak.
42785 (pupa_util_load_image): New function.
42786
42787 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
42788 (pupa_compressed_size): New variable.
42789 (codestart): Enable Gate A20 here.
42790 Decompress the compressed part of the core image.
42791 Rearrange the code to put functions and variables which are
42792 required for initialization in the non-compressed part.
42793 Include lzo1x.S.
42794
42795 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
42796 here.
42797
42798 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
42799
f19dbdb7 42800 * include/pupa/i386/pc/kernel.h
1f5ab428 42801 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
42802 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
42803 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
42804 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
42805 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
42806
42807 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
42808
42809 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
42810 (Utility#rule): Likewise.
42811
42812 * configure.ac: Check if LZO is available.
42813
ce5bf700 428142003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
42815
42816 * include/pupa/normal.h: New file.
42817 * include/pupa/setjmp.h: Likewise.
42818 * include/pupa/i386/setjmp.h: Likewise.
42819 * normal/cmdline.c: Likewise.
42820 * normal/command.c: Likewise.
42821 * normal/main.c: Likewise.
42822 * normal/menu.c: Likewise.
42823 * normal/i386/setjmp.S: Likewise.
f19dbdb7 42824
ce5bf700 42825 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
42826 (pupa_rescue_cmd_initrd): Likewise.
42827
42828 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
42829 Likewise.
42830
42831 * kern/i386/pc/startup.S (translation_table): New variable.
42832 (translate_keycode): New function.
42833 (pupa_console_getkey): Call translate_keycode.
42834
42835 * kern/rescue.c (attempt_normal_mode): New function.
42836 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
42837 it failed, print a message.
42838
42839 * kern/mm.c (pupa_real_malloc): Print more information when a
42840 free magic is broken.
42841 (pupa_free): If the first free header is not free actually, set
42842 it to P.
42843
42844 * kern/main.c (pupa_load_normal_mode): Just load the module
42845 "normal".
42846 (pupa_main): Don't print the message
42847 "Entering into rescue mode..." here.
42848
42849 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
42850 Declared.
42851 (pupa_rescue_cmd_initrd): Likewise.
42852 (pupa_rescue_cmd_initrd): Likewise.
42853
42854 * include/pupa/symbol.h (FUNCTION): Specify the type.
42855 (VARIABLE): Likewise.
42856
42857 * include/pupa/err.h (pupa_err_t): Added
42858 PUPA_ERR_UNKNOWN_COMMAND.
42859
42860 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
42861 (pupa_dl_get_prefix): Likewise.
42862
42863 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
42864 Added _chain.mod and _linux.mod instead of chain.mod and
42865 linux.mod.
42866 (chain_mod_SOURCES): Renamed to ...
42867 (_chain_mod_SOURCES): ... this.
42868 (chain_mod_CFLAGS): Renamed to ...
42869 (_chain_mod_CFLAGS): ... this.
42870 (linux_mod_SOURCES): Renamed to ...
42871 (_linux_mod_SOURCES): ... this.
42872 (linux_mod_CFLAGS): Renamed to ...
42873 (_linux_mod_CFLAGS): ... this.
42874 (normal_mod_SOURCES): New variable.
42875 (normal_mod_CFLAGS): Likewise.
42876 (normal_mod_ASFLAGS): Likewise.
42877
428782003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
42879
42880 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
42881 possible.
42882
fe6b695a 42883 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 42884 recursively.
42885 (pupa_dl_unref): Unrefer depending modules recursively.
42886 Don't call pupa_dl_unload implicitly, because PUPA can crash if
42887 a module is unloaded before one depending on that module is
42888 unloaded.
42889 (pupa_dl_unload): Unload depending modules explicitly,
42890 if possible.
42891
c04da074 428922003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
42893
42894 * include/pupa/i386/pc/linux.h: New file.
42895 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 42896
c04da074 42897 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
42898 Removed.
42899 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
42900 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
42901 of PUPA_CHAINLOADER_BOOT_SECTOR.
42902
42903 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
42904 (pupa_linux_prot_size): New variable.
42905 (pupa_linux_tmp_addr): Likewise.
42906 (pupa_linux_real_addr): Likewise.
42907 (pupa_linux_boot_zimage): New function.
42908 (pupa_linux_boot_bzimage): Likewise.
42909
42910 * kern/i386/pc/init.c (struct mem_region): New structure.
42911 (MAX_REGIONS): New macro.
42912 (mem_regions): New variable.
42913 (num_regions): Likewise.
42914 (pupa_os_area_addr): Likewise.
42915 (pupa_os_area_size): Likewise.
42916 (pupa_lower_mem): Likewise.
42917 (pupa_upper_mem): Likewise.
42918 (add_mem_region): New function.
42919 (compact_mem_regions): Likewise.
42920 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
42921 the size of the conventional memory and that of so-called upper
42922 memory (before the first memory hole).
42923 Instead of adding each found region to free memory, use
42924 add_mem_region and add them after removing overlaps.
42925 Also, add only 1/4 of the upper memory to free memory. The rest
42926 is used for loading OS images. Maybe this is ad hoc, but this
42927 makes it much easier to relocate OS images when booting.
42928
42929 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
42930 (pupa_enter_rescue_mode): Don't register initrd and module.
42931
42932 * kern/mm.c: Include pupa/dl.h.
42933
42934 * kern/main.c: Include pupa/file.h and pupa/device.h.
42935
42936 * kern/loader.c (pupa_loader_load_module_func): Removed.
42937 (pupa_loader_load_module): Likewise.
42938
42939 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
42940 ``.o''.
42941
42942 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
42943 (pupa_linux_tmp_addr): Likewise.
42944 (pupa_linux_real_addr): Likewise.
42945 (pupa_linux_boot_zimage): Likewise.
42946 (pupa_linux_boot_bzimage): Likewise.
42947
42948 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
42949 (pupa_upper_mem): Likewise.
42950 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
42951 module is too dangerous.
42952
42953 * include/pupa/loader.h (pupa_os_area_addr): Declared.
42954 (pupa_os_area_size): Likewise.
42955 (pupa_loader_set): Remove the first argument. Loader doesn't
42956 manage modules or initrd any longer.
42957 (pupa_loader_load_module): Removed.
42958
42959 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
42960 (linux_mod_SOURCES): New variable.
42961 (linux_mod_CFLAGS): Likewise.
42962
a13f9237 429632003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
42964
42965 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
42966 the length of a blocklist correctly.
42967
42968 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
42969 Use ioctl only if the OS file is a block device.
42970 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
42971 not very useful for normal files.
42972
42973 * kern/main.c (pupa_set_root_dev): New function.
42974 (pupa_load_normal_mode): Likewise.
42975 (pupa_main): Call those above.
42976
42977 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
42978 pupa_uint16_t.
42979
42980 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
42981
a5ffe966 429822003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42983
42984 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
42985 (setup): Configure the installed partition information and the
42986 dl prefix.
42987
42988 * loader/i386/pc/chainloader.c (my_mod): New variable.
42989 (pupa_chainloader_unload): New function.
42990 (pupa_rescue_cmd_chainloader): Refer itself.
42991 (PUPA_MOD_INIT): Save its own module in MY_MOD.
42992
42993 * kern/i386/pc/startup.S (install_partition): Removed.
42994 (version_string): Likewise.
42995 (config_file): Likewise.
42996 (pupa_install_dos_part): New variable.
42997 (pupa_install_bsd_part): Likewise.
42998 (pupa_prefix): Likewise.
42999 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
43000
43001 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
43002 and pupa/misc.h.
43003 (make_install_device): New function.
43004 (pupa_machine_init): Set the dl prefix.
43005
43006 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
43007 (buf): Renamed to ...
43008 (linebuf): ... this.
43009 (pupa_rescue_cmd_prefix): New function.
43010 (pupa_rescue_cmd_insmod): Likewise.
43011 (pupa_rescue_cmd_rmmod): Likewise.
43012 (pupa_rescue_cmd_lsmod): Likewise.
43013 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
43014 rmmod and lsmod.
43015
43016 * kern/mm.c (pupa_memalign): If failed even after invalidating
43017 disk caches, unload unneeded modules and retry.
43018
43019 * kern/misc.c (pupa_memmove): New function.
43020 (pupa_memcpy): Removed.
43021 (pupa_strcpy): New function.
43022 (pupa_itoa): Made static.
43023
43024 * kern/dl.c (pupa_dl_iterate): New function.
43025 (pupa_dl_ref): Likewise.
43026 (pupa_dl_unref): Likewise.
43027 (pupa_dl_unload): Return if succeeded or not.
43028 (pupa_dl_unload_unneeded): New function.
43029 (pupa_dl_unload_all): Likewise.
43030 (pupa_dl_init): Renamed to ...
43031 (pupa_dl_set_prefix): ... this.
43032 (pupa_dl_get_prefix): New function.
43033
43034 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
43035 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
43036 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
43037 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
43038 (pupa_install_dos_part): Declared.
43039 (pupa_install_bsd_part): Likewise.
43040 (pupa_prefix): Likewise.
43041 (pupa_boot_drive): Likewise.
43042
43043 * include/pupa/types.h: Fix a typo.
43044
43045 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
43046 pupa_memmove.
43047 (pupa_memmove): Declared.
43048 (pupa_strcpy): Likewise.
43049
43050 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
43051 pupa_mod_init takes one argument, its own module.
43052 (pupa_dl_unload_unneeded): Declared.
43053 (pupa_dl_unload_all): Likewise.
43054 (pupa_dl_ref): Likewise.
43055 (pupa_dl_unref): Likewise.
43056 (pupa_dl_iterate): Likewise.
43057 (pupa_dl_init): Renamed to ...
43058 (pupa_dl_set_prefix): ... this.
43059 (pupa_dl_get_prefix): Declared.
43060
43061 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 43062 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 43063 unloaded.
43064 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
43065 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
43066
43067 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
43068 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
43069
012d7999 430702003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
43071
43072 * util/i386/pc/pupa-setup.c (setup): Define the internal
43073 function find_first_partition_start at the top level, because GCC
43074 3.0.x cannot compile internal functions in deeper scopes
43075 correctly.
43076 (find_root_device): Use lstat instead of stat.
43077 Don't follow symbolic links.
43078 Fix the path-constructing code.
43079
43080 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
43081 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
43082 by a BLKGETSIZE ioctl first, because block devices don't fill
43083 the member st_mode of the structure stat on Linux.
43084 [__linux__] (linux_find_partition): Use a temporary buffer
43085 REAL_DEV for the working space. Copy it to DEV before returning.
43086 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
43087 buffer cache consistent.
43088 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
43089 strncmp. The previous value was merely wrong.
43090 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
43091
43092 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
43093 FAT size is 12. The previous value was merely wrong.
43094
43095 * kern/main.c (pupa_main): Don't split the starting message from
43096 newlines.
43097
43098 * kern/term.c (pupa_putchar): Put CR after LF instead of before
43099 LF, because BIOS goes crazy about character attributes in this
43100 case.
43101
1cc73a62 431022003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
43103
43104 * include/i386/pc/util/biosdisk.h: New file.
43105 * util/i386/pc/biosdisk.c: Likewise.
43106 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 43107
1cc73a62 43108 * Makefile.in (INCLUDE_DISTFILES): Added
43109 include/pupa/i386/pc/util/biosdisk.h.
43110 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
43111 directory util/i386/pc.
43112 (install-local): Added a rule for sbin_UTILITIES.
43113 (uninstall): Likewise.
43114
43115 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
43116
43117 * util/misc.c (xrealloc): New function.
43118 (pupa_malloc): Likewise.
43119 (pupa_free): Likewise.
43120 (pupa_realloc): Likewise.
43121 (pupa_stop): Likewise.
43122 (pupa_putchar): Likewise.
43123
43124 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
43125
43126 * include/pupa/util/misc.h (xrealloc): Declared.
43127
43128 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
43129 macro.
43130 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
43131 (PUPA_BOOT_MACHINE_BPB_END): ... this.
43132
43133 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
43134 [PUPA_UTIL] (pupa_fat_fini): Likewise.
43135
43136 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
43137 way should be implemented.
43138 [PUPA_UTIL] (pupa_fat_fini): Likewise.
43139
43140 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
43141 the size of NAME for safety.
43142 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
43143 0x88.
43144
43145 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
43146 (pupa_setup_SOURCES): Likewise.
43147
43148 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
43149
08b70fe8 431502002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
43151
43152 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
43153 bunch of pushl's from pusha, because this destroys the return
43154 value.
43155
62ddcc8f 431562002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
43157
43158 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
43159 This means that any missing prototypes could be fatal. Also, you
43160 must take care when writing assembly code. See the comments at
43161 the beginning of startup.S, for more details.
f19dbdb7 43162
62ddcc8f 43163 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
43164 compilation mechanism.
43165 (pupa_chainloader_real_boot): Likewise.
43166 (pupa_biosdisk_rw_int13_extensions): Likewise.
43167 (pupa_biosdisk_rw_standard): Likewise.
43168 (pupa_biosdisk_check_int13_extensions): Likewise.
43169 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
43170 (pupa_biosdisk_get_diskinfo_standard): Likewise.
43171 (pupa_get_memsize): Likewise.
43172 (pupa_get_mmap_entry): Likewise.
43173 (pupa_console_putchar): Likewise.
43174 (pupa_console_setcursor): Likewise.
43175 (pupa_getrtsecs): Use pushl instead of push.
43176
43177 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
43178 memory instead of the stack for a mmap entry, because some
43179 BIOSes may ignore the maximum size and overflow.
43180
43181 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
43182
43183 * genmk.rb (PModule#rule): Compile automatically generated
43184 sources with module-specific CFLAGS as well as other sources.
43185
9962ed99 431862002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
43187
43188 * configure.ac: Check ld.
43189 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
43190 respectively, before checking endianness and sizes.
43191
43192 * Makefile.in (LD): New variable.
f19dbdb7 43193
abdfc3c5 431942002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
43195
43196 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
43197
6a161fa9 431982002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
43199
43200 * Changelog: New file.
43201