]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
[grub2.git] / ChangeLog
CommitLineData
ef023e42
VS
12012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
4 to ensure that it's after the last byte of .text.
5
48afcb75
VS
62012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * util/ieee1275/ofpath.c (my_isdigit): New function.
9 (trailing_digits): Use my_isdigit.
10 (strip_trailing_digits): Likewise.
11
88d51eff
VS
122012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
13
14 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
15 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
16
17edc2ba
VS
172012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
18
19 * grub-core/kern/i386/pc/startup.S: Define __start.
20
ad5518d7
VS
212012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
22
23 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
24 strip already transforms he format.
25
9e95e1bf
VS
262012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
27
28 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
29
9cc3ee5c
VS
302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
31
32 * util/grub-install.in: Add missing gettext init.
33 * util/grub-kbdcomp.in: Likewise.
34 * util/grub-mkconfig.in: Likewise.
35 * util/grub-mknetdir.in: Likewise.
36 * util/grub-mkrescue.in: Likewise.
37 * util/grub-mkstandalone.in: Likewise.
38 * util/grub-reboot.in: Likewise.
39 * util/grub-set-default.in: Likewise.
40 * util/grub.d/00_header.in: Likewise.
41 * util/grub.d/10_hurd.in: Likewise.
42 * util/grub.d/10_windows.in: Likewise.
43 * util/grub.d/30_os-prober.in: Likewise.
44 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
45
49e08a06
VS
462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
47
48 * po/Rules-swiss: Fix header comment.
49
3809cb41
AV
502012-02-29 Andreas Vogel <anvoit>
51
52 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
53 resulted in leak of arguments.
54
fa6ec573
VS
552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
56
57 * grub-core/boot/i386/pc/startup_raw.S: Use separate
58 reed_solomon_size const definition instead of computing it since
59 Apple assembler doesn't support the later.
60
22899b9c
VS
612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
62
63 * gentpl.py (kernel): Rewrite Apple part.
64
a132afc3
VS
652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
66
67 * include/grub/kernel.h (FOR_MODULES): Check module magic.
68
9d742bd4
VS
692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
70
71 * util/grub-mkimagexx.c (locate_sections): Support non-standard
72 ELF section gap.
73 (load_image): Likewise.
74
f04a9a21
VS
752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
76
77 * configure.ac: Fix a typo in previous commit.
78
46cf439c
VS
792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
80
81 Don't add -Wl,-N on Apple platform.
82
83 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
84 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
85
c4c48c54
VS
862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
87
88 * grub-core/Makefile.core.def (lzma_decompress): Use
89 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
90
31a12124
VS
912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
92
93 * grub-core/genmod.sh.in: Rewrite the Apple part.
94
4f3aa1af
VS
952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
96
97 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
98 comparison.
99
7bd8b0c7
VS
1002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
101
102 * acinclude.m4 (grub_CHECK_PIC): New test.
103 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
104
97304d7c
VS
1052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
106
107 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
108 to avoid the warning.
109
fb883812
VS
1102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
111
112 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
113 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
114 after. All users updated.
115
a121c964
VS
1162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
117
118 Use the common size routine in hostfs so we can read disks as well.
119
120 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
121 (grub_util_get_fd_size): ... this. Return size in bytes.
122 All users updated.
123 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
124 grub_util_get_fd_size.
125
c66d6410
VS
1262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
127
128 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
129 Add blocksize retrieval.
130
dfc8aeb0
VS
1312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
132
133 * configure.ac: Restore CFLAGS after efiemu check.
134
403e25a5
VS
1352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
136
137 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
138 Apple bug.
139
382775d1
VS
1402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
141
142 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
143
6fd4e6e4
VS
1442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
145
146 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
147 (grub_cmd_halt): Likewise.
148
bea359d6
VS
1492012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
150
151 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
152 for local arithmetics.
153 Break %sp init into 2 instructions.
154 Add 0 byte at the end.
155
32eb6ee1
VS
1562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
157
158 * grub-core/disk/diskfilter.c (read_segment): Initialise err
159 before loops.
160
e8377389
VS
1612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
164 for context.
165
8cb17de7
VS
1662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
167
168 * grub-core/disk/ldm.c (make_vg): Init part.name.
169 (grub_ldm_detect): Silence spurious warning.
170 (grub_util_is_ldm): Likewise.
171
595717e6
VS
1722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
173
174 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
175 sane value to avoid a spurious warning.
176
c4b7e588
VS
1772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
178
179 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
180 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
181
59824957
VS
1822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
183
184 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
185 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
186
70115b99
VS
1872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
188
189 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
190 hardcoding the relevant info.
191
56733740
VS
1922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
193
194 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
195 missing const qualifiers.
196 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
197
43481481
VS
1982012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
199
200 * util/getroot.c [__APPLE__]: Add missing includes.
201 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
202
3cb38f01
VS
2032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
204
205 * util/grub-mkimage.c (generate_image): Silence spurious warning.
206
d9dbf11e
VS
2072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
208
209 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
210 avoid conflicts.
211
0c42a45d
VS
2122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
213
214 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
215
46c34eb0
VS
2162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
217
218 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
219 and grub_file_close call.
220
99ce1597
VS
2212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
222
223 Add LZSS Mach-O support (needed for new xnu kernelcache).
224
225 * grub-core/Makefile.core.def (xnu): Add file lzss.c
226 * grub-core/loader/lzss.c: New file.
227 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
228 on Mach-O open failure.
229 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
230 Don't free cmdsXX in uncompressedXX is set.
231 (grub_macho_file): Init new fields.
232 New argument is_64bit. All users updated.
233 Handle compressed. Error out if no suitable architecture is found.
234 Don't close file.
235 (grub_macho_open): New argument is_64bit. All users updated.
236 * grub-core/loader/macho32.c: Add defines for new fields.
237 * grub-core/loader/macho64.c: Likewise.
238 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
239 (grub_macho_parse): Handle compressed.
240 Defer actual processing if compressed.
241 (grub_macho_cmds_iterate): Decompress if compressed. New argument
242 "filename". All users updated.
243 (grub_macho_size): New argument "filename". All users updated.
244 (grub_macho_get_entry_point): Likewise.
245 (grub_macho_load): Handle compressed.
246 * include/grub/macho.h (grub_macho_lzss_header): New struct.
247 (GRUB_MACHO_LZSS_OFFSET): New define.
248 (grub_decompress_lzss): New proto.
249 * include/grub/machoload.h (grub_macho_file): New fields to handle
250 compressed.
251 (grub_macho_contains_macho64): Remove proto.
252 (grub_macho_contains_macho32): Likewise.
253 * util/grub.d/30_os-prober.in: Use kernel cache if available.
254
ebd17d6f
VS
2552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
256
257 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
258
2702b4e4
VS
2592012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
260
261 Fix make dist.
262
263 * Makefile.am (starfield_theme_files): New var.
264 (starfield_DATA): Use starfield_theme_files.
265 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
266 Add bootcheck-related files.
267 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
268 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
269 and font_char_metrics.txt.
270 * grub-core/Makefile.core.def (kernel): Update extra_dist.
271 (setjmp): Add lib/ia64/longjmp.S.
272 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
273 * po/POTFILES.in: Regenerate.
274 * po/Rules-swiss: use DISTFILES.common.extra2 and not
275 DISTFILES.common.extra1.
276 * util/devicemap.c: Removed.
277 * grub-core/lib/i386/relocator_backward.S: Likewise.
278 * util/import_gcry.py: Remove unused files. Add extra_dist for
279 ChangeLog.
280
cf1adfdf
VS
2812012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
282
283 * grub-core/gettext/gettext.c (grub_mofile_open): Call
284 grub_gettext_delete_list before changing grub_gettext_max to avoid
285 running out of array bounds.
286
2872012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
288
289 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
290 grub_vga_text_init/grub_vga_text_fini.
291
cf1adfdf 2922012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
293
294 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
295
541d92e9
VS
2962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
297
298 * configure.ac: Bump to 2.00~beta0.
299
7931dddf
VS
3002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
301
302 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
303 missing initialisation.
304
f1b16fa3
VS
3052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
306
307 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
308
83ddae23
VS
3092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
310
311 Support v2 xnu boot arguments.
312
313 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
314 New argument fsbfreq_out.
315 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
316 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
317 be used.
318 * grub-core/loader/machoXX.c (grub_macho_load): New argument
319 darwin_version.
320 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
321 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
322 (grub_xnu_boot_params): Rename to ...
323 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
324 (grub_xnu_boot_params_v2): New struct.
325
dc693fe6
VS
3262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
327
328 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
329 zeroing of CRC field before computing CRC.
330
5a6e39c2
VS
3312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
332
333 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
334 Change order of allocations to decrease fragmentation.
335
6c21f5d7
VS
3362012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
337
338 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
339
cfe456dc
CW
3402012-02-27 Colin Watson <cjwatson@ubuntu.com>
341
342 Use write-combining MTRR to speed up video with buggy BIOSes.
343
344 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
345 (cpuid): New define.
346 (rdmsr): Likewise.
347 (wrmsr): Likewise.
348 (mtrr_base): Likewise.
349 (mtrr_mask): Likewise.
350 (grub_vbe_enable_mtrr_entry): New function.
351 (grub_vbe_enable_mtrr): Likewise.
352 (grub_vbe_disable_mtrr): Likewise.
353 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
354 control off to BIOS.
355 (grub_video_vbe_init): Fill mtrr.
356 (grub_video_vbe_fini): Disable mtrr.
357 (grub_video_vbe_get_info_and_fini): Likewise.
358 (grub_video_vbe_setup): Enable mtrr.
359
e3c78337
CW
3602012-02-27 Colin Watson <cjwatson@ubuntu.com>
361
362 * include/grub/partition.h (grub_partition_map): Change prototype of
363 embed to take a maximum value for nsectors.
364 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
365 * include/grub/fs.h (grub_fs): Likewise.
366 * grub-core/partmap/msdos.c (embed_signatures): New array.
367 (pc_partition_map_embed): Check for and avoid sectors matching any
368 of the signatures in embed_signatures, up to max_nsectors.
369 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
370 returned sector map to max_nsectors.
371 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
372 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
373 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
374 * util/grub-setup.c (setup): Allow for the embedding area being
375 split into multiple blocklists. Tell dest_partmap->embed the
376 maximum number of sectors we care about.
377
3782012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
379
380 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
381 Specify blocklist_install and reserver_first_sector for all fs.
382 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
383 blocklists.
384
984b973f
VS
3852012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
386
387 * util/grub-install.in: Clarify strings.
388 Fix source dir check.
389
f122e0d6
RL
3902012-02-27 Richard Laager <rlaager@wiktel.com>
391
392 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
393 "zfs" and "fuse.zfs" as synonyms.
394
071114bb
VS
3952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
396
397 * configure.ac: Put platform and target_cpu substitutions back since
398 they are used for directories.
399
817e6abc
RL
4002012-02-27 Richard Laager <rlaager@wiktel.com>
4012012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
402
403 * util/grub.d/10_linux.in: Add ZFS-related arguments.
404 * util/grub.d/20_linux_xen.in: Likewise.
405
897b7419
RL
4062012-02-27 Richard Laager <rlaager@wiktel.com>
407
408 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
409 with full paths.
410
a414bd15
RL
4112012-02-27 Richard Laager <rlaager@wiktel.com>
412
413 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
414 unescape.
415
30ac48c4
VS
4162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
417
418 Don't use insecure popen in getroot.
419
420 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
421 (exec_pipe): ... here.
422 (find_root_devices_from_poolname): Use exec_pipe.
423
53f13848
VS
4242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
425
426 Remove platform and target_cpu replacement.
427
428 * configure.ac: Remove platform and target_cpu substitutions.
429 * tests/util/grub-shell.in: Use modinfo.
430 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
431 explicitly.
432
90cb2803
VS
4332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
434
435 Autodetect platform in grub-install but allow override.
436
437 * util/grub-install.in: Autodetect platform. Support --target and
438 --directory. Read platform from modinfo.sh.
439
b9136427
VS
4402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
441
442 Support btrfs multi-volume probe.
443
444 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
445 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
446 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
447 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
448 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
449 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
450 grub_find_root_devices_from_btrfs if on btrfs.
451
c36e5cd1
VS
4522012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
453
454 Remove any awareness of *.c util files about target.
455
456 * Makefile.util.def (grub-setup): Split to ...
457 (grub-bios-setup): ... and this.
458 (grub-sparc64-setup): ... and this.
459 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
460 * docs/man/grub-setup.h2m: Split into ...
461 * docs/man/grub-sparc64-setup.h2m: ... this.
462 * docs/man/grub-bios-setup.h2m: ... and this.
463 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
464 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
465 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
466 (grub_target_addr_t): Remove.
467 (grub_target_size_t): Remove.
468 (grub_target_ssize_t): Remove.
469 * util/grub-install.in: Use new grub-*-setup.
470 * util/grub-mkimagexx.c (Elf_Word): New define.
471 (Elf_Half): Likewise.
472 (Elf_Section): Likewise.
473 (ELF_ST_TYPE): Likewise.
474 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
475 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
476
584b2f8a
VS
4772012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
478
479 Replace grub_target_addr with more appropriate types.
480
481 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
482 grub_target_addr with grub_addr.
483 * grub-core/commands/iorw.c (grub_cmd_read): Replace
484 grub_target_addr with grub_port.
485 (grub_cmd_write): Likewise.
486 * grub-core/commands/memrw.c (grub_cmd_read): Replace
487 grub_target_addr with grub_addr.
488 (grub_cmd_write): Likewise.
489 * grub-core/video/efi_uga.c (find_line_len): Likewise.
490
5a0dc6fb
VS
4912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
492
493 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
494 const qualifier for vendor_guid.
495
786aff6e
VS
4962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
497
498 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
499 const qualifier.
500 (efiemu_memequal): Likewise.
501 (find_variable): Likewise.
502
49017b17
VS
5032012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
504
505 Fix missing console prototype on qemu-mips.
506
507 * include/grub/mips/qemu_mips/console.h: New file.
508
c5988629
MG
5092012-02-27 Matthew Garrett <mjg@redhat.com>
5102012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
511
512 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
513 * include/grub/efi/efi.h: Likewise.
514 * include/grub/efi/api.h: Add guid for EFI-specified variables.
515 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
516 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
517 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
518 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
519 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
520
e33f8d69
MG
5212012-02-27 Matthew Garrett <mjg@redhat.com>
522
523 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
524
fb312cd9
VS
5252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
526
527 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
528 error.
529
7134247c
VS
5302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
531
532 * configure.ac: Remove inappropriate use of program_transform_name
533 on grubdir and bootdir but allow explicit specification of those
534 variables.
535
6a313124
VS
5362012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
537
538 * util/grub-mknetdir.in (grub_prefix): Removed.
539 (subdir): Use @bootdirname@ and @grubdirname@.
540
2311c5ca
VS
5412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
542
543 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
544
7d5d60f7
VS
5452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
546
547 * po/POTFILES.in: Regenerated.
548
8151bc82
VS
5492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
550
551 Remove improper use of program_transform_name on pkglibrootdir.
552
553 * configure.ac (pkglibrootdir): Removed.
554 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
555 * util/grub-mkimage.c: Likewise.
556
b4a6a533
VS
5572012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
558
559 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
560 warning.
561
668f304f
VS
5622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
563
564 * util/grub-install.in: Use file identifier if no UUID is available
565 or user explicitly prompted for it.
566
665f2341
NP
5672012-02-27 Navdeep Parhar <nparhar@gmail.com>
568
569 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
570 (freebsd_get_zfs): New function.
571 (grub_freebsd_boot): Pass zfs UUID.
572 (grub_cmd_freebsd): Set zfs UUID.
573
8151bc82 5742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
575
576 * conf/Makefile.common (platformdir): Base on pkglibdir and not
577 pkglibrootdir.
578
e4c498a1
MG
5792012-02-27 Mike Gilbert <floppym@gentoo.org>
580
581 Add configure flag to control libzfs integration.
582
583 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
584
1e9a9a3f
VS
5852012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
586
587 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
588 device.
589 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
590 small devices.
591
036985b8
VS
5922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
593
594 Remove grub_{modname}_init and grub_{modname}_fini. They should never
595 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
596 be used on non-modules.
597
598 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
599 Rename to grub_boot_init.
600 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
601 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
602 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
603 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
604 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
605 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
606 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
607 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
608 includes.
609 (grub_machine_init): Remove empty inits.
610 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
611 includes.
612 (grub_machine_init): Remove empty inits.
613 * grub-core/term/arc/console.c: Remove explicit proto.
614 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
615 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
616 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
617 grub_at_keyboard_fini.
618 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
619 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
620 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
621 grub_gfxterm_fini.
622 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
623 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
624 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
625 grub_vgatext_fini.
626 * grub-core/term/ieee1275/console.c: Remove explicit proto.
627 * grub-core/term/serial.c (GRUB_MOD_INIT)
628 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
629 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
630 grub_serial_fini.
631 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
632 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
633 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
634 grub_terminfo_fini.
635 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
636 (GRUB_MOD_FINI): Likewise.
637 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
638 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
639 (GRUB_MOD_FINI) [LOONGSON]: Rename to
640 grub_video_radeon_fuloong2e_fini.
641 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
642 [LOONGSON]: Rename to grub_video_sis315pro_init.
643 (GRUB_MOD_FINI) [LOONGSON]: Rename to
644 grub_video_sis315pro_fini.
645 * grub-core/video/sm712.c (GRUB_MOD_INIT)
646 [LOONGSON]: Rename to grub_video_sm712_init.
647 (GRUB_MOD_FINI) [LOONGSON]: Rename to
648 grub_video_sm712_fini.
649 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
650 (grub_at_keyboard_fini): Likewise.
651 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
652 Don't declare grub_{modname}_init.
653 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
654 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
655 New proto.
656 (grub_keylayouts_fini) [!EMU]: Likewise.
657 * include/grub/serial.h (grub_serial_init) [!EMU]:
658 New proto.
659 (grub_serial_fini) [!EMU]: Likewise.
660 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
661 New proto.
662 (grub_terminfo_fini) [!EMU]: Likewise.
663 * include/grub/video.h (grub_font_init) [!EMU]:
664 New proto.
665 (grub_font_fini) [!EMU]: Likewise.
666 (grub_gfxterm_init) [!EMU]: Likewise.
667 (grub_gfxterm_fini) [!EMU]: Likewise.
668 (grub_video_sm712_init) [!EMU]: Likewise.
669 (grub_video_sm712_fini) [!EMU]: Likewise.
670 (grub_video_sis315pro_init) [!EMU]: Likewise.
671 (grub_video_sis315pro_fini) [!EMU]: Likewise.
672 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
673 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
674
d5534665
VS
6752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
676
677 Make nand a prefix for nand devices.
678
679 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
680
10133b5f
VS
6812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
682
683 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
684 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
685
8e307a62
VS
6862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
687
688 * include/grub/env.h (grub_env_find): Remove prototype.
689 * grub-core/kern/env.c (grub_env_find): Make static.
690 (grub_env_set): Remove useless set.
691
a4c65f34
VS
6922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
693
694 * grub-core/kern/i386/realmode.S: Remove useless align.
695
d87893d5
VS
6962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
697
698 * include/grub/dl.h (grub_dl_load_file): Don't export.
699
50159add
VS
7002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
701
702 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
703 grub_dprintf.
704
b2582b84
VS
7052012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
706
707 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
708 grub_errors.
709 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
710 not reloading whole superblock but only the part which is really needed.
711 Remove useless grub_errors.
712 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
713 grub_errors.
714
e2a83395
VS
7152012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
716
717 Don't export grub_get_rtc.
718
719 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
720 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
721
e7d2a906
VS
7222012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
723
724 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
725
6cf1363b
VS
7262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
727
728 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 729 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 730
eece3349
VS
7312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
732
733 Remove prio_list.
734
735 * include/grub/list.h (grub_prio_list): Removed.
736 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
737 GRUB_COMMAND_PRIO_MASK.
738 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
739 GRUB_COMMAND_FLAG_ACTIVE.
740 (grub_prio_list_insert): Removed.
741 (grub_prio_list_remove): Likewise.
742 (GRUB_AS_PRIO_LIST): Likewise.
743 (GRUB_AS_PRIO_LIST_P): Likewise.
744 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
745 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
746 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
747 * grub-core/kern/command.c (grub_register_command_prio): Inline
748 the prio_list code.
749 (grub_unregister_command): Likewise.
750
94f064b4
VS
7512012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
752
753 Fix interrupt mixup from previous commit.
754
755 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
756 (grub_realidt): New var.
757 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
758 Load idt.
759 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
760 New declaration.
761 (grub_relocator16_boot): Set grub_relocator16_idt.
762 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
763 (LOCAL(realidt)): ... this.
764 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
765 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
766 (grub_realidt): New variable.
767
27317084
VS
7682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
769
770 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
771 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
772 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
773 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
774 Gettextize.
775 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
776 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
777 * po/POTFILES.in: Regenerate.
778
47b40053
VS
7792012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
780
781 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
782 errors.
783
2b343101
VS
7842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
785
786 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
787 \0.
788 (add_length): Likewise.
789
ff27c3dd
LK
7902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7912012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
792
793 GDB serial and backtrace support.
794
795 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
796 (prot_to_real): Likewise.
797 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
798 * grub-core/Makefile.core.def (backtrace): New module.
799 (gdb): Likewise.
800 * grub-core/gdb/cstub.c: New file.
801 * grub-core/gdb/gdb.c: Likewise.
802 * grub-core/gdb/i386/idt.c: Likewise.
803 * grub-core/gdb/i386/machdep.S: Likewise.
804 * grub-core/gdb/i386/signal.c: Likewise.
805 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 806 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
807 * include/grub/backtrace.h: Likewise.
808 * include/grub/gdb.h: Likewise.
809 * include/grub/i386/gdb.h: Likewise.
810
8112012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
812
813 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
814 New function.
815 (add_length): Likewise.
816 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
817 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
818 proto.
819 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
820 __argp_get_display_len.
821
ff27c3dd 8222012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
823
824 $"..." support in scripts.
825
826 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
827 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
828 * grub-core/script/yylex.l: Likewise.
829 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
830 value.
831
ff27c3dd 8322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
833
834 * gentpl.py: Remove obsolete pkglib_DATA handling.
835
ff27c3dd 8362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
837
838 Don't transform PACKAGE_TARNAME following a discussion on autoconf
839 mailing list.
840
841 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
842 * util/grub-kbdcomp.in: Likewise.
843 * util/grub-mkconfig.in: Likewise.
844 * util/grub-mkconfig_lib.in: Likewise.
845 * util/grub-mknetdir.in: Likewise.
846 * util/grub-mkrescue.in: Likewise.
847 * util/grub-mkstandalone.in: Likewise.
848 * util/grub-reboot.in: Likewise.
849 * util/grub-set-default.in: Likewise.
850 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
851
ff27c3dd 8522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
853
854 Remove GRUB_PREFIX.
855
856 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
857 * util/grub.d/00_header.in: Compute prefix in the only place it's still
858 used for backward compatibility.
859
ff27c3dd 8602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
861
862 Add new all_video module.
863
864 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
865 * grub-core/Makefile.core.def (all_video): New module.
866 * grub-core/genmoddep.awk: Generate dependency of all_video from
867 video.lst.
868 * grub-core/lib/fake_module.c: New file.
869 * grub-core/normal/main.c (features): Add feature_all_video_module.
870 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
871 don't do explicit search again.
47454da5 872 insmod all_video in load_video if available.
22c7ce85 873
ff27c3dd 8742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
875
876 Another round of string clarification and adding TRANSLATORS comments.
877
ff27c3dd 8782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
879
880 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
881
ff27c3dd 8822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
883
884 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
885 to grub_ssize_t.
886 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
887 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
888
ff27c3dd 8892012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
890
891 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
892 trailing newline implicitly. All users updated.
893
ff27c3dd 8942012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
895
896 Implement serial on IEEE1275 and EFI.
897
898 * docs/grub.texi (Platform-specific limitations): Fix the columen video
899 on emu. Mention arc and emu as the only platforms without serial
900 support.
901 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
902 ieee1275 platforms.
903 * grub-core/term/efi/serial.c: New file.
904 * grub-core/term/ieee1275/serial.c: Likewise.
905 * grub-core/term/serial.c (grub_serial_find): Disable direct port
906 specification if no ns8250 driver is available.
907 (grub_cmd_serial): Likewise.
908 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
909 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
910 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
911 (grub_efi_parity_type_t): New type.
912 (grub_efi_stop_bits_t): Likewise.
913 (grub_efi_serial_io_interface): New struct.
914 * include/grub/serial.h (grub_serial_port): Make 'broken' field
915 available for all interfaces.
916 Add EFI and IEEE1275 fields.
917 (grub_ofserial_init): New proto.
918 (grub_efiserial_init): Likeiwse.
919 * util/grub.d/00_header.in: Don't check for the presence of serial
920 module.
921
ff27c3dd 9222012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
923
924 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
925 name as if it was an alias.
926
114076ef
VS
9272012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
928
929 * grub-core/commands/lsacpi.c (options): Fix typo.
930
6a656b0e
VS
9312012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
932
933 Convert grub-emu to argp.
934
935 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
936 emu.
937 * util/argp_common.c: Rename to ...
938 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
939 Add missing includes.
940 * grub-core/kern/emu/main.c: Convert to argp.
941 * po/POTFILES.in: Regenerate.
942 * util/grub-install.in (usage): Make first letter lowcase in messages
943 for uniformity.
944 * util/grub-setup.c (options): Likewise.
945
1e3f8ae8
VS
9462012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
947
948 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
949 Put back accidently commented-out code.
950
ed167a80
VS
9512012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
952
953 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
954 loop check using Brent algorithm.
955 (grub_hfsplus_btree_search): Likewise.
956
6753c0ec
VS
9572012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
958
959 * util/grub-install.in: Fix usage of wrong device for PreP install.
960
4e27343f
VS
9612012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
962
963 * conf/Makefile.common (CFLAGS_GNULIB): Add
964 -Wno-unsafe-loop-optimizations.
965 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
966 on tools.
967 * grub-core/commands/legacycfg.c: Add pragma to skip
968 -Wunsafe-loop-optimizations.
969 (check_password_md5_real): Fix loop counter type.
970 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
971 reading.
972 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
973 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
974 loop condition.
975 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
976 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
977 * grub-core/net/net.c (grub_net_route_address): Add safety loop
978 condition.
979 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
980 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
981 avoid possible infinite loops.
982 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
983 and -Wunsafe-loop-optimizations.
984 * grub-core/script/yylex.l: Likewise.
985 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
986 (print_glyphs): Avoid infinite loops.
987 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
988
697f18b0
GS
9892012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
990
991 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
992 to avoid infinite loop.
993 (disp_acpi_rsdt_table): Likewise.
994
274416e8
VS
9952012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
996
997 * grub-core/font/font.c (grub_font_load): Add support for default
998 path for fonts ($prefix/fonts).
999 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
1000 for checking if string is a path.
1001 * grub-core/normal/main.c (features): Add feature_default_font_path.
1002 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
1003 * util/grub.d/00_header.in: Use default directory if possible.
1004 * util/grub-install.in: Install unicode.pf2.
1005
b3e08622
VS
10062012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1007
1008 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
1009 * po/Rules-swiss: New file.
1010 * po/swiss.sed: Likewise.
1011
fe42ce09
VS
10122012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 * grub-core/fs/btrfs.c (find_device): Fix typos.
1015 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
1016 * util/grub-mkrelpath.c (argp_parser): Likewise.
1017 Reported by: Yuri Chornoivan.
1018
72f1d065
DO
10192012-02-23 Dalet Omega <daletomega@gmail.com>
1020
1021 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
1022 for usual informative messages.
1023
c5884973
DO
10242012-02-23 Dalet Omega <daletomega@gmail.com>
1025
1026 Starfield theme.
1027
1028 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
1029 * conf/Makefile.common: Define starfielddir.
1030 * configure.ac: Configure starfield.
1031 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
1032 * themes/starfield/README: Likewise.
1033 * themes/starfield/blob_w.png: Likewise.
1034 * themes/starfield/boot_menu_c.png: Likewise.
1035 * themes/starfield/boot_menu_e.png: Likewise.
1036 * themes/starfield/boot_menu_n.png: Likewise.
1037 * themes/starfield/boot_menu_ne.png: Likewise.
1038 * themes/starfield/boot_menu_nw.png: Likewise.
1039 * themes/starfield/boot_menu_s.png: Likewise.
1040 * themes/starfield/boot_menu_se.png: Likewise.
1041 * themes/starfield/boot_menu_sw.png: Likewise.
1042 * themes/starfield/boot_menu_w.png: Likewise.
1043 * themes/starfield/slider_c.png: Likewise.
1044 * themes/starfield/slider_n.png: Likewise.
1045 * themes/starfield/slider_s.png: Likewise.
1046 * themes/starfield/src/blob_nw.xcf: Likewise.
1047 * themes/starfield/src/bootmenu/: Likewise.
1048 * themes/starfield/src/bootmenu/center.xcf: Likewise.
1049 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
1050 * themes/starfield/src/bootmenu/side.xcf: Likewise.
1051 * themes/starfield/src/slider_c.xcf: Likewise.
1052 * themes/starfield/src/slider_n.xcf: Likewise.
1053 * themes/starfield/src/slider_s.xcf: Likewise.
1054 * themes/starfield/src/terminalbox/: Likewise.
1055 * themes/starfield/src/terminalbox/center.xcf: Likewise.
1056 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
1057 * themes/starfield/src/terminalbox/side.xcf: Likewise.
1058 * themes/starfield/starfield.png: Likewise.
1059 * themes/starfield/terminal_box_c.png: Likewise.
1060 * themes/starfield/terminal_box_e.png: Likewise.
1061 * themes/starfield/terminal_box_n.png: Likewise.
1062 * themes/starfield/terminal_box_ne.png: Likewise.
1063 * themes/starfield/terminal_box_nw.png: Likewise.
1064 * themes/starfield/terminal_box_s.png: Likewise.
1065 * themes/starfield/terminal_box_se.png: Likewise.
1066 * themes/starfield/terminal_box_sw.png: Likewise.
1067 * themes/starfield/terminal_box_w.png: Likewise.
1068 * themes/starfield/theme.txt: Likewise.
1069
17d73325
VS
10702012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
1071
1072 * util/grub.d/00_header.in: Add missing export theme.
1073
dbebaf92
VS
10742012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1075
1076 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
1077 already included.
1078 Reported by: Eren D.
1079
3d68bffb
VS
10802012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 * conf/Makefile.common (grubdatadir): Removed.
1083 (Makefile.am): Move eveything grubdata to pkgdata.
1084
4b59234d
VS
10852012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1086
1087 * grub-core/commands/acpihalt.c (get_sleep_type):
1088 Remove unused variable.
1089
463dcadc
VS
10902012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1091
1092 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
1093 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
1094 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
1095 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
1096 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
1097 i18n with gettext no-op.
1098 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
1099 GRUB_ACPI_OPCODE_STRING_CONST.
1100 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
1101 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
1102
e5b90c82
VS
11032012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1104
1105 * po/POTFILES.in: Regenerate.
1106
2a704ca9
VS
11072012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1108
1109 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
1110 -Wno-error=missing-noreturn.
1111
84f9d341
VS
11122012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1113
1114 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
1115 condition to avoid possibly infinite loops.
1116 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
1117 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
1118
d46683f9
VS
11192012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1120
1121 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
1122 condition to avoid possibly infinite loops.
1123
c44866b2
VS
11242012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1125
1126 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
1127 on show_error.
1128
96790539
VS
11292012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1130
1131 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
1132
1ba7e295
VS
11332012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1134
1135 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
1136
21ffe8f1
VS
11372012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1138
1139 * util/bin2h.c (usage): Add missing attribute noreturn.
1140
0ccb6b3c
VS
11412012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1142
1143 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
1144 if the size isn't divisible by 512.
1145
b00d7fb6
VS
11462012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1147
1148 Make list_push and list_remove functions rather than inline functions
1149 to decrease size and avoid aliasing violations.
1150
1151 * include/grub/list.h (grub_list_push): Move to ...
1152 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
1153 * include/grub/list.h (grub_list_remove): Move to ...
1154 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
1155
9d369087
VS
11562012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
1159 and -Wunused-result.
1160
af0250d9
VS
11612012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
1162
1163 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
1164 Reported by: Seth Goldberg
1165
aad32b14
VS
11662012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
1167
1168 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
1169
ac96441c
ST
11702012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
1171
1172 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
1173 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
1174 command line.
1175 * docs/grub.texi (Simple configuration): Document
1176 GRUB_CMDLINE_GNUMACH.
1177
11782012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
1179
1180 * conf/Makefile.common (platform_SCRIPTS): New variable.
1181 (platform_PROGRAMS): Likewise.
1182 * gentpl.py: Mark *,module and *.image for install.
1183 * grub-core/gdb_grub.in: Add a notice of expected environment.
1184 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
1185 (gmodule.pl): Likewise.
1186
ac96441c 11872012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
1188
1189 Replace grub_checkkey with grub_getkey_noblock.
1190
1191 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
1192 (grub_getkey_noblock): ... this. All users updated.
1193
ac96441c 11942012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
1195
1196 * grub-core/kern/emu/console.c: Move to ...
1197 * grub-core/term/emu/console.c: ...here.
1198 (grub_ncurses_getkey): Fix return value if no key is detected.
1199
e51b5666
VS
12002012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1201
1202 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
1203 (grub_unit_test_fini): Likewise.
1204 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
1205
12062012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1207
1208 * include/grub/test.h (GRUB_UNIT_TEST)
1209
d9a62292
VS
12102012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1211
1212 * grub-core/script/execute.c (grub_script_break): Clarify logic.
1213 Better error handling.
1214 (grub_script_return): Likewise.
1215 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
1216
77c9182f
VS
12172012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1218
1219 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
1220 rimplicit redifinition.
1221
edb13cf9
VS
12222012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
1225 GRUB.
1226
a9e9dc7c
VS
12272012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1228
1229 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
1230 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
1231 prompt here.
1232
b4ba8e02
VS
12332012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1234
1235 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
1236 as GRUB_ERR_BUG. Don't malloc if no device is available.
1237
dded5540
VS
12382012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
1241 Mark calling with invalid term as GRUB_ERR_BUG.
1242
0cf69874
VS
12432012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
1246 packets rather than raising an error.
1247
59bfe502
VS
12482012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1249
1250 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
1251 in if.
1252
db5fc596
VS
12532012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
1256 diagnostic to dprintf.
1257 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1258
e4b7f404
VS
12592012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
1262 device name.
1263
e7b02f9e
VS
12642012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1265
1266 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
1267 (grub_ntfs_iterate_dir): Likewise.
1268
0331e102
VS
12692012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1270
1271 Efiemu stylistic fixes and gettext.
1272
1273 * grub-core/efiemu/i386/loadcore32.c
1274 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
1275 * grub-core/efiemu/i386/loadcore64.c
1276 (grub_arch_efiemu_relocate_symbols64): Likewise.
1277 * grub-core/efiemu/i386/pc/cfgtables.c
1278 (grub_machine_efiemu_init_tables): Likewise.
1279 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
1280 (grub_efiemu_loadcore_initXX): Add a filename argument.
1281 All users updated.
1282 Improved error message.
1283 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
1284 Add a filename argument.
1285 All users updated.
1286 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
1287 Reclassify double relocation as GRUB_ERR_BUG.
1288
306fc074
VS
12892012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1290
1291 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
1292 handling.
1293
794d8ef2
VS
12942012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1295
1296 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
1297 on partition.
1298
12992012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
1300
1301 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
1302
794d8ef2 13032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
1304
1305 Improve string. Gettextize.
1306
78dde88e
VS
13072012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1308
1309 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
1310 utils.
1311 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
1312
4786a90f
VS
13132012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1314
1315 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
1316 [GRUB_UTIL]: New function.
1317 (insert_array) [GRUB_UTIL]: Store partmaps.
1318 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
1319 partmaps.
1320 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
1321 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
1322 (probe_abstraction): Print diskfilter and not raid.
1323 Reported by: Lennart Sorensen
1324
0b6225bd
VS
13252012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1326
1327 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
1328 * util/grub-mkimagexx.c (MASK3): New define.
1329 (add_value_to_slot_20b): Use MASK3.
1330 (add_value_to_slot_21): Likewise.
1331 (relocate_addresses): Fix format specification.
1332 (load_image): Explicitly init symtab_section.
1333
b055f8f6
VS
13342012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
1337 (grub_util_biosdisk_get_grub_dev): Fix format specification.
1338
b77c2fb7
VS
13392012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
1342 on powerpc.
1343 Reported by: Lennart Sorensen
1344
e3ec28ab
VS
13452012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1346
1347 * gentpl.py: Add missing license header.
1348 * docs/grub.texi: Update copyright year.
1349
c8d9ead6
GS
13502012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
1351
1352 Source grub-mkconfig_lib from the build directory at build time.
1353 Suggested by: Vladimir Serbinenko.
1354
1355 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
1356 * util/grub-install.in: Define pkgdatadir if not already set, and source
1357 grub-mkconfig_lib from there.
1358 * util/grub-kbdcomp.in: Likewise.
1359 * util/grub-mkconfig.in: Likewise.
1360 * util/grub-mknetdir.in: Likewise.
1361 * util/grub-mkrescue.in: Likewise.
1362 * util/grub-mkstandalone.in: Likewise.
1363 * util/grub-reboot.in: Likewise.
1364 * util/grub-set-default.in: Likewise.
1365 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1366
ebcecdf1
VS
13672012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 Increase warning level.
1370
1371 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
1372 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
1373 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
1374 (TARGET_CFLAGS): Likewise.
1375 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
1376 * grub-core/Makefile.core.def (decompressor_xz): Add
1377 -Wno-unreachable-code.
1378 (normal): Add -Wno-redundant-decls.
1379 (xzio): Add -Wno-unreachable-code.
1380 (lzopio): Add -Wno-redundant-decls -Wno-error.
1381 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
1382 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
1383 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
1384 * grub-core/kern/dl.c: Add exception to -Wcast-align.
1385 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
1386 * grub-core/kern/i386/coreboot/init.c: Add exception to
1387 -Wsuggest-attribute=noreturn.
1388 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
1389 * grub-core/kern/ia64/dl_helper.c: Likewise.
1390 * grub-core/kern/mips/dl.c: Likewise.
1391 * grub-core/kern/sparc64/dl.c: Likewise.
1392 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
1393 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
1394 (memcmp): Likewise.
1395 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
1396 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
1397 * grub-core/loader/mips/linux.c: Likewise.
1398 * grub-core/loader/multiboot_elfxx.c: Likewise.
1399 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
1400 * grub-core/video/sm712.c: Add exception to -Wcast-align.
1401 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
1402 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
1403 fixme.
1404 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
1405 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
1406 Fix prototype.
1407
37bb97fe
VS
14082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
1411 address.
1412
29a3550b
VS
14132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
1416 Avoid improper use of strings.
1417 (grub_cmd_legacy_initrdnounzip): Likewise.
1418
dfdffd0d
VS
14192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1420
1421 * include/grub/emu/misc.h (grub_util_warn): Add missing format
1422 attribute.
1423 (grub_util_info): Likewise.
1424 (grub_util_error): Likewise.
1425
102fae4a
VS
14262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1427
1428 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
1429 * util/grub-fstest.c (fstest): Likewise.
1430
7e94d044
VS
14312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1432
1433 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
1434 (grub_md_sha512_real): Likewise.
1435 (grub_util_get_geli_uuid): Likewise.
1436 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
1437 (grub_util_biosdisk_open): Fix format specification.
1438 Respect format security.
1439 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
1440 (xrealloc): Likewise.
1441 (xasprintf): Likewise.
1442
5ebd9769
VS
14432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1444
1445 * util/import_gcry.py: Include grub/crypto.h in init.c.
1446
495fc8c1
VS
14472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1448
1449 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
1450 (generate_image): Make prefix a const char *.
1451 Fix format specifications. Respect format security.
1452 Avoid void * arithmetics.
1453 Avoid shadowing.
1454 (argp_parser): Remove unused variable. Respect format security.
1455 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
1456 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
1457 (count_funcs): Remove unused variable.
1458 (relocate_addresses): Fix format specification.
1459 Disable x86-64 with elf32. Remove unused variables.
1460 (add_fixup_entry): Avoid shadowing.
1461 (make_reloc_section): Fix format specification.
1462 Use assert.
1463 (locate_sections): Fix format specifications.
1464 (load_image): Avoid shadowing.
1465
043c2ea3
VS
14662012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1467
1468 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
1469 Fix format specifications. Respect format security.
1470 Don't translate already translated grub_errmsg.
1471 (argp_parser): Remove unused variable
1472
3ec65a81
VS
14732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1474
1475 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
1476
a4d9fe4a
VS
14772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
1480 (main): Likewise. Use xmalloc. Respect format security.
1481
15b81d49
VS
14822012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
1485 a const char *.
1486 (argp_parser): Remove unused variable.
1487
31731fc0
VS
14882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1489
1490 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
1491 (add_pixel): Make static.
1492 (add_font): Likewise.
1493 (write_string_section): Make name and str a const char *.
1494 (write_be16_section): Make name a const char *.
1495 (print_glyphs): Make static.
1496 (write_font_ascii_bitmap): Likewise.
1497 (write_font_width_spec): Likewise.
1498 (write_font_pf2): Likewise.
1499 (argp_parser): Remove unused variable.
1500 Respect format security.
1501 (main): Avoid shadowing. Respect format security.
1502
0809527b
VS
15032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1504
1505 * util/grub-editenv.c (argp_parser): Make static.
1506 (create_envblk_file): Use xmalloc.
1507 (open_envblk_file): Likewise.
1508 Resepect format security.
1509 (set_variables): Respect format security.
1510
45b0c8b7
VS
15112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1512
1513 * util/getroot.c (grub_find_device): Respect format security.
1514 (get_mdadm_uuid): Remove unused variable.
1515 (grub_util_pull_device): Dont call gettext on already translated
1516 grub_errmsg.
1517 (find_system_device): Remove unused variable.
1518 (grub_util_get_grub_dev): Likewise.
1519 (grub_make_system_path_relative_to_its_root): Respect format security.
1520
1b024b4e
VS
15212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 * util/grub-fstest.c (execute_command): Make first argument
1524 a const char *.
1525 (read_file): Avoid shadowing.
1526 Reuse underlying error message if device open fails.
1527 (cmd_cmp): Respect format security.
1528 (root): Make const char *.
1529 (fstest): Remove args argument and use global copy.
1530 Respect format security.
1531 (argp_parser): Make static.
1532 (main): Make default_root const char *.
1533
5d1d4e28
VS
15342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1535
1536 * util/grub-mount.c (root): Make const char *.
1537 (execute_command): Make first argument a const char *.
1538 (fuse_init): Respect format security.
1539 (argp_parser): Make static. Remove unused variable.
1540 (main): Make default_root a const char *.
1541 Respect format security.
1542
36eb7379
VS
15432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1544
1545 * util/grub-probe.c (probe): Don't call gettext on already translated
1546 grub_errmsg.
1547 Remove unused variables.
1548 (argp_parser): Remove unused variable.
1549
76fb2ea9
VS
15502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1551
1552 * util/grub-script-check.c (argp_parser): Remove unused variable.
1553 (main): Rename read to curread to avoid shadowing.
1554
56c98584
VS
15552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1556
1557 * util/misc.c (grub_util_write_image_at): Fix format specification.
1558 (grub_util_write_image): Likewise.
1559 (grub_script_execute_argument_to_string): Removed (unused).
1560 (grub_script_execute_menuentry): Likewise.
1561 (grub_putchar): Likewise.
1562
164ebb48
VS
15632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
1566 (FUNCTION) [GRUB_UTIL]: Likewise.
1567 (VARIABLE) [GRUB_UTIL]: Likewise.
1568
44318d61
VS
15692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1570
1571 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
1572 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
1573
31a26002
VS
15742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1575
1576 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
1577 buffer.
1578
15792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1580
1581 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
1582 (LzmaEnc_SaveState): Removed (unused).
1583 (LzmaEnc_RestoreState): Likewise.
1584 (LzmaEnc_InitPriceTables): Made static.
1585 (LzmaEnc_Construct): Likewise.
1586 (LzmaEnc_FreeLits): Likewise.
1587 (LzmaEnc_Destruct): Likewise.
1588 (LzmaEnc_Init): Likewise.
1589 (LzmaEnc_InitPrices): Likewise.
1590 (LzmaEnc_Finish): Likewise.
1591 (LzmaEnc_PrepareForLzma2): Removed (unused).
1592 (LzmaEnc_MemPrepare): Likewise.
1593 (LzmaEnc_GetNumAvailableBytes): Likewise.
1594 (LzmaEnc_GetCurBuf): Likewise.
1595 (LzmaEnc_CodeOneMemBlock): Likewise.
1596
6fa67967
VS
15972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1598
1599 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
1600 (grub_util_ldm_embed): Likewise.
1601
9a7428e6
VS
16022012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1603
1604 * util/grub-editenv.c (print_var): Rename name to varname to
1605 avoid shadowing.
1606 (main): Rename index to curindex to avoid shadowing.
31a26002 1607 Make filename a const char *.
9a7428e6 1608
4f96abd1
VS
16092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1610
1611 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
1612 to arg_getline to avoid shadowing.
1613
44d10dad
VS
16142012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1615
1616 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
1617 disk_ to avoid shadowing.
1618
340ba63e
VS
16192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
1622 curindex to avoid shadowing.
1623 Make static.
1624 (MatchFinder_GetNumAvailableBytes): Make static.
1625
22965bce
VS
16262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1627
1628 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
1629 avoid shadowing.
1630
7b5784d4
VS
16312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
1634 argument from encrypt to do_encrypt to avoid shadowing.
1635
6f48ca01
VS
16362012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1637
1638 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
1639 incorrect nesting of #if's.
1640
a4ea2dff
VS
16412012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1642
1643 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
1644 checks which are always false on some platforms.
1645 (grub_cmd_lsacpi): Likewise.
1646 * grub-core/kern/misc.c (grub_strtoul): Likewise.
1647 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
1648 Likewise.
1649
def9fc1b
VS
16502012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1651
1652 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
1653 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
1654
a67b2a04
VS
16552012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1656
1657 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
1658 re_dfa_t to avoid breaking alignment invariants.
1659 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
1660 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
1661
44c6828d
VS
16622012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1663
1664 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
1665 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
1666
bebe0dd0
VS
16672012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1668
1669 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
1670 Fix declaration.
1671
a9cdb3cf
VS
16722012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1673
1674 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
1675 conserve alignment invariants.
1676 (grub_ehci_ehcc_read16): Likewise.
1677 (grub_ehci_oper_read32): Likewise.
1678 (grub_ehci_oper_write32): Likewise.
1679 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
1680 Conserve alignment invariants.
1681
ccc3b1b8
VS
16822012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1683
1684 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
1685 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
1686 declarations.
1687
987fbd95
VS
16882012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1689
1690 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
1691 Remove unused variable.
1692
0df363f3
VS
16932012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
1696 Remove set in if.
1697
b2c0c4a6
VS
16982012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1699
1700 * include/grub/net.h: Remove double declarations.
1701
690c531f
VS
17022012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 Remove "payload" command in ia64 Linux loader since I couldn't
1705 find any evidence of it being used for anything.
1706 Replace "relocate" command with an environment variable
1707
1708 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
1709 fields.
1710 (ia64_boot_payload): Removed.
1711 (last_payload): Likewise.
1712 (RELOCATE_OFF): Likewise.
1713 (RELOCATE_ON): Likewise.
1714 (RELOCATE_FORCE): Likewise.
1715 (relocate): Likewise.
1716 (free_pages): Don't free payloads.
1717 (grub_load_elf64): Use common error messages.
1718 Use "linux_relocate" variable.
1719 Increase the space after boot_params.
1720 (grub_cmd_payload): Removed.
1721 (grub_cmd_relocate): Likewise.
1722 (grub_cmd_fpswa): Improve messages.
1723 (cmd_payload): Removed.
1724 (cmd_relocate): Likewise.
1725 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
1726 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
1727
01783768
VS
17282012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1729
1730 Convert UHCI to DMA framework.
1731
1732 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
1733 (grub_uhci_pci_iter): Fill new members
1734 (grub_alloc_td): Use P2V and V2P functions.
1735 (grub_free_queue): Likewise.
1736 (grub_alloc_qh): Likewise.
1737 (grub_uhci_setup_transfer): Likewise.
1738 (grub_uhci_check_transfer): Likewise.
1739
43206939
VS
17402012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1741
1742 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
1743 Remove assignment in if while on it.
1744
571e140e
VS
17452012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1746
1747 * util/grub-mkstandalone.in: Fix modules directory.
1748
a9d96eeb
VS
17492012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1750
1751 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
1752 on i386-pc target.
1753 (argp_parser): Accept "auto" as compression specification.
1754
e4e37e8d
VS
17552012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1756
1757 Fix `help' with unloaded modules.
1758
1759 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
1760 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
1761 (grub_dyncmd_dispatcher): Small stylistic fix.
1762 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
1763 explicit help is requested.
1764
e1ea3ade
VS
17652012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1766
1767 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
1768 Explicitly init restart while on it.
1769
27556881
VS
17702012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1771
1772 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
1773 uninited variable.
1774
d65f6b36
VS
17752012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1776
1777 * util/grub-mknetdir.in: Use . rather than source for POSIX
1778 compatibility.
1779
0a1e473c
VS
17802012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1781
1782 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
1783
ce6647c8
VS
17842012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1785
1786 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
1787 variable.
1788
66747894
VS
17892012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1790
1791 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
1792 without quotes.
1793
71645f6e
VS
17942012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1795
1796 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
1797
0e1c1f61
VS
17982012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1799
1800 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
1801 iteration of partitions.
1802
9c4b5c13
VS
18032012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1804
1805 Improve gettext support. Stylistic fixes and error handling fixes while
1806 on it.
1807
215c90cb
VS
18082012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1809
1810 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
1811 part. Instead setup the correct stack in RM.
1812 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
1813 for stack.
1814 * include/grub/i386/relocator_private.h: New file.
1815
b5c1f9bf
VS
18162012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1817
1818 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
1819 argument.
1820 * util/grub-fstest.c (options): Add missing DEVICE part.
1821
b525fd83
VS
18222012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1823
1824 Clarify and unify messages.
1825
1826 * grub-core/commands/hashsum.c (options): Unify messages.
1827 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
1828 literal-only message as translatable.
1829 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
1830 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
1831 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
1832 commands.
1833 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
1834 key, not the key used to unlock. Clarify what it's used for.
1835 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
1836 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
1837 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
1838 * util/grub-editenv.c (options): Unify "verbose" message.
1839 * util/grub-fstest.c (read_file): Unify error message.
1840 (fstest): Add quotes around commands.
1841 (options): Unify "verbose" message.
1842 * util/grub-install.in: Add quotes around variable name.
1843 * util/grub-kbdcomp.in: Unify error message.
1844 * util/grub-mkfont.c (main): Likewise.
1845 * util/grub-mkrescue.in: Likewise.
1846 * util/grub-mklayout.c (options): Unify "verbose" message.
1847 * util/grub-mkstandalone.in: Unify help and verbose messages.
1848 * util/grub-mount.c (options): Unify "verbose" message.
1849 * util/grub-probe.c (options): Likewise.
1850 * util/grub-script-check.c (options): Likewise.
1851 * util/grub-setup.c (setup): Unify no-terminator message.
1852 (options): Use DEVICE and not DEV.
1853 Unify "verbose" message.
1854 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
1855
0ae70393
VS
18562012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1857
1858 Improve and unify messages.
1859
1860 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
1861 name. All users updated.
1862 Print filename in error.
1863 (read_device_map): Print filename in error.
1864 * util/getroot.c (grub_guess_root_devices): Print filename in error.
1865 (grub_util_get_os_disk): Likewise.
1866 (grub_util_biosdisk_get_grub_dev): Likewise.
1867 (grub_util_check_block_device): Likewise.
1868 (grub_util_check_char_device): Likewise.
1869 (grub_make_system_path_relative_to_its_root): Likewise.
1870 * util/grub-editenv.c (create_envblk_file): Likewise.
1871 (open_envblk_file): Likewise.
1872 (write_envblk): Likewise.
1873 * util/grub-fstest.c (cmd_cp): Likewise.
1874 (cmd_cat): Likewise.
1875 (cmd_cmp): Likewise.
1876 * util/grub-menulst2cfg.c (main): Likewise.
1877 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
1878 (write_font_width_spec): Likewise.
1879 (write_font_pf2): Likewise.
1880 * util/grub-mkimage.c (generate_image): New argument outname.
1881 All users updated.
1882 Remove unreacheable message.
1883 (options): Unify messages.
1884 (help_filter): Likewise.
1885 * util/grub-mklayout.c (usage): Removed (unused).
1886 (main): Print filename in error.
1887 * util/grub-mkrescue.in: Fix wrong quoting.
1888 * util/grub-setup.c (setup): Print filename in error.
1889 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
1890 (check_sas): Likewise.
1891 * util/misc.c (grub_util_get_fp_size): Removed.
1892 (grub_util_get_image_size): Print filename in error.
1893 (grub_util_read_at): Removed.
1894 (grub_util_read_image): Print filename in error.
1895 (grub_util_load_image): Likewise.
1896 (grub_util_write_image_at): New argument filename. All users updated.
1897 Print filename in error.
1898 (grub_util_write_image): New argument filename. All users updated.
1899 Print filename in error.
1900 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
1901 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
1902
0a96117d
VS
19032012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1904
1905 * grub-core/Makefile.core.def (pxechain): New module.
1906 * grub-core/loader/i386/pc/pxechainloader.c: New file.
1907 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
1908 function.
1909 (grub_pc_net_config_real): Use grub_pxe_get_cached.
1910 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
1911
aca002f7
VS
19122012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1913
1914 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
1915 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
1916 * include/grub/err.h (grub_error_saved): New struct.
1917 (grub_errmsg): Make array size explicit.
1918 * include/grub/misc.h (grub_error_save): New function.
1919 (grub_error_load): Likewise.
1920 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
1921 (grub_error_push): Update `errno' member name.
1922 (grub_error_pop): Likewise
1923 * grub-core/net/tftp.c (tftp_data): New member save_err.
1924 (tftp_receive): Save error.
1925 (tftp_open): Restore error.
1926
a51dab13
VS
19272012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1928
1929 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
1930 to real mode down to execute A20-related code in protected mode as
1931 intended.
1932
eb6e6649
GS
19332012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
1934
1935 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
1936 NULL when the argument `level' has an unexpected value.
1937
92cd0f6e
VS
19382012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1939
1940 Move platform-dependent files from $prefix to $prefix/$platform.
1941
1942 * config.h.in (GRUB_TARGET_CPU): New definition.
1943 (GRUB_PLATFORM): Likewise.
1944 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
1945 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
1946 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
1947 * grub-core/kern/dl.c (grub_dl_load): Likewise.
1948 * grub-core/normal/autofs.c (read_fs_list): Likewise.
1949 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
1950 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
1951 * grub-core/normal/term.c (read_terminal_list): Likewise.
1952 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
1953 $prefix/locale.
1954 (grub_gettext_init_ext): Likewise.
1955 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
1956 grub_platform.
1957 * util/grub-install.in: Update directories.
1958 * util/grub-mknetdir.in: Likewise.
1959 * util/grub-mkrescue.in: Likewise.
1960
db606889
VS
19612012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1962
1963 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
1964 grub_error framework. All users updated.
1965
c39992a4
VS
19662012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1967
1968 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
1969 lists (by always binsearching), improve caching (cache strings
1970 used for binsearch, not only results), improve
1971 maintainability (by using more structured binary search) and correct
1972 error handling.
1973
1e5ec32f
VS
19742012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1975
1976 * grub-core/script/execute.c (grub_script_return): Fix warning.
1977
ac576cde
VS
19782012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1979
1980 * grub-core/script/execute.c (grub_script_return): Fix potential
1981 NULL-dereference.
1982 Reported by: Jim Meyering.
1983
498453f6
VS
19842012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1985
1986 * po/POTFILES.in: Regenerate.
1987 * util/grub-install.in: Gettextize the strings missed in first pass.
1988
8be63f2e
VS
19892012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1990
1991 * Makefile.util.def (grub-mkdevicemap): Removed.
1992 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
1993 * include/grub/util/deviceiter.h: Removed.
1994 * util/deviceiter.c: Likewise.
1995 * util/getroot.c (grub_util_get_os_disk): New function.
1996 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
1997 replacement for EFI.
1998 * util/grub-mkdevicemap.c: Removed.
1999 * util/grub-probe.c (probe): Handle PRINT_DISK.
2000 (argp_parser): Handle -t disk.
2001
8e1e4e39
VS
20022012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2003
2004 * util/grub-mkfont.c: Migrate to argp.
2005 * util/grub-mklayout.c: Likewise.
2006 * util/grub-mkpasswd-pbkdf2.c: Likewise.
2007 * util/grub-mkrelpath.c: Likewise.
2008 * util/grub-probe.c: Likewise.
2009 * util/grub-script-check.c: Likewise.
2010
4459819a
VS
20112012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2012
2013 * util/grub-reboot.in: Add missing datarootdir.
2014 Add missing newline.
2015 * util/grub-set-default.in: Add missing datarootdir.
2016 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
2017 * util/grub-mkrescue.in: Likewise.
2018
f65741c7
VS
20192012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2020
2021 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
2022
c1a33466
VS
20232012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2024
2025 * util/grub-kbdcomp.in: Add decent help and gettextize.
2026 * docs/man/grub-kbdcomp.h2m: New file.
2027
c76899a0
VS
20282012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2029
2030 Migrate grub-mkimage.c to argp.
2031
2032 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
2033 (grub-setup): Likewise.
2034 * util/grub-setup.c (print_version): Move to ...
2035 * util/argp_common.c (print_version): ... here.
2036 * util/grub-setup.c (argp_program_version_hook): Move to ...
2037 * util/argp_common.c (argp_program_version_hook): ... here.
2038 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
2039 safety.
2040 * util/grub-mkimage.c (main): Migrate to argp.
2041
57db0757
VS
20422012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2043
2044 * util/grub-mkrescue.in: Use same message as
2045 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
2046 for better translations.
2047
18534ad9
VS
20482012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
2051 options with generic grub-mkrescue.in with the goal of future
2052 merge.
2053
c84ba308
VS
20542012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 * grub-core/kern/mm.c: Add missing include of i18n.h
2057 * grub-core/lib/relocator.c: Likewise.
2058
347998c2
VS
20592012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2060
2061 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
2062 error.
2063 (allocate_pages): Check return value.
2064 Replace fatal with error.
2065 (grub_linux_boot): Replace printf with dprintf.
2066 Check find_mmap_size return value.
2067 Replace fatal with error.
2068 Don't call grub_machine_fini.
2069 (grub_load_elf64): Replace printf with dprintf.
2070 (grub_cmd_linux): Likewise.
2071 (grub_cmd_initrd): Likewise.
2072 (grub_cmd_payload): Likewise.
2073
c779226e
VS
20742012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2075
2076 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
2077 message.
2078 * grub-core/video/radeon_fuloong2e.c
2079 (grub_video_radeon_fuloong2e_setup): Likewise.
2080 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
2081 * grub-core/video/video.c (grub_video_set_mode): Don't override
2082 standard out of memory message.
2083
dc87d45a
GS
20842012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2085
2086 NetBSD disk wedge support.
2087
2088 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
2089 [__NetBSD__]: Handle NetBSD disk wedges.
2090 * util/getroot.c (convert_system_partition_to_system_disk)
2091 [__NetBSD__]: Likewise.
2092
055f856f
MW
20932012-02-03 Mark Wooding <mdw@distorted.org.uk>
2094
2095 * util/grub-mkconfig.in: Use umask rather than chmod to create
2096 grub.cfg.new to avoid insecure grub.cfg.
2097
4a9f8346
VS
20982012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2099
2100 * grub-core/commands/ls.c: Gettextize.
2101 * grub-core/commands/setpci.c: Likewise.
2102 * grub-core/commands/videotest.c: Likewise.
2103 * grub-core/disk/geli.c: Likewise.
2104 * grub-core/kern/mm.c: Likewise.
2105 * grub-core/lib/relocator.c: Likewise.
2106 * grub-core/loader/efi/appleloader.c: Likewise.
2107 * grub-core/loader/i386/xnu.c: Likewise.
2108 * grub-core/loader/ia64/efi/linux.c: Likewise.
2109 * grub-core/loader/xnu.c: Likewise.
2110 * grub-core/net/dns.c: Likewise.
2111 * grub-core/net/net.c: Likewise.
2112 * grub-core/script/lexer.c: Likewise.
2113 * grub-core/script/parser.y: Likewise.
2114 * grub-core/script/yylex.l: Likewise.
2115 * util/getroot.c: Likewise.
2116 * util/grub-setup.c: Likewise.
2117
a646a366
VS
21182012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
2121 number.
2122
54e2be26
VS
21232012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2124
2125 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
2126
f7c71e68
VS
21272012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2128
2129 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
2130 macro.
2131 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
2132 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
2133
a32d5c71
VS
21342012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2135
2136 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
2137 * util/grub-install.in: Gettextize.
2138 * util/grub-mkconfig.in: Likewise.
2139 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
2140 if not available.
2141 (grub_warn): Gettextize.
2142 * util/grub-mknetdir.in: Gettextize.
2143 * util/grub-mkrescue.in: Likewise.
2144 * util/grub-mkstandalone.in: Likewise.
2145 * util/grub-reboot.in: Likewise.
2146 * util/grub-set-default.in: Likewise.
2147 * util/grub.d/00_header.in: Likewise.
2148 * util/grub.d/10_hurd.in: Likewise.
2149 * util/grub.d/10_kfreebsd.in: Likewise.
2150 * util/grub.d/10_linux.in: Likewise.
2151 * util/grub.d/10_netbsd.in: Likewise.
2152 * util/grub.d/10_windows.in: Likewise.
2153 * util/grub.d/20_linux_xen.in: Likewise.
2154 * util/grub.d/30_os-prober.in: Likewise.
2155 * po/POTFILES-shell.in: Regenerate.
2156
69edd81a
RL
21572012-02-03 Richard Laager <rlaager@wiktel.com>
2158
2159 * util/grub-mkimage.c (main): Fix format-security warning.
2160 * util/grub-mkrelpath.c (main): Likewise.
2161 * util/grub-probe.c (main): Likewise.
2162
65f08dbf
RL
21632012-02-03 Richard Laager <rlaager@wiktel.com>
2164
2165 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
2166 failure.
2167 Put back lost PRINT_DRIVE.
2168
e9084abe
RL
21692012-02-03 Richard Laager <rlaager@wiktel.com>
2170
2171 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
2172 (grub_guess_root_devices): Replace strlen with sizeof.
2173 Avoid crash.
2174 (find_root_devices_from_poolname): Remove unused variable.
2175 Handle raidzN.
2176
cf5f7ee7
VS
21772012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2178
2179 Support install on multi-device filesystems.
2180
2181 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
2182 (grub_guess_root_devices): ...this. Return char **. All users updated.
2183 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
2184 Removed.
2185 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
2186 (find_root_devices_from_poolname): ... here.
2187 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
2188 Support zfs-fuse.
2189 (grub_guess_root_device): Rename to ...
2190 (grub_guess_root_devices): ... this. Return char **. All users updated.
2191 * util/grub-install.in: Handle multi-device filesystems.
2192 * util/grub-probe.c (probe). Make device_names a char **. Add delim
2193 argument. All users updated.
2194 Handle multi-device filesystems.
2195 Use 'delim' as separator.
2196 Remove device check to allow filesystems on file.
2197 (main): Support -0 argument. Handle multi-device.
2198 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
2199 Fix a cross-device check while on it.
2200 (arguments): Remove root_dev.
2201 (argp_parser): Remove -r.
2202 (main): Remove root_dev.
2203
2f53a9ed
VS
22042012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2205
2206 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
2207
17e1d934
VS
22082012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2209
2210 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
2211 symbol.
2212 Reported by: NODA, Kai <nodakai>.
2213
d3e3fab5
VS
22142012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2215
2216 Fix ehci on amd64.
2217
2218 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
2219 pointers.
2220 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
2221 (grub_ehci_setup_qh): Likewise.
2222 (grub_ehci_find_qh): Likewise.
2223 (grub_ehci_transaction): Likewise.
2224 (grub_ehci_setup_transfer): Likewise.
2225 (grub_ehci_check_transfer): Likewise.
2226 (grub_ehci_portstatus): Likewise.
2227 (grub_ehci_detect_dev): Likewise.
2228 (grub_ehci_transfer_controller_data): New field td_last_phys.
2229 (grub_ehci_setup_transfer): Fill td_last_phys.
2230 (grub_ehci_check_transfer): Use td_last_phys.
2231
3008675b
SG
22322012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
2233
2234 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
2235 if no submenu is present.
2236
fc9b5652
AN
22372012-02-01 Aleš Nesrsta <starous@volny.cz>
2238
2239 CBI support.
2240
2241 * include/grub/usb.h (grub_usbms_protocol_t): New values
2242 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
2243 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
2244 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
2245 (grub_usbms_dev): Add subclass, protocol and intrpt.
2246 Remove in_maxsz and out_maxsz.
2247 (grub_usbms_reset): Rename to ...
2248 (grub_usbms_bo_reset): .. this.
2249 (grub_usbms_cbi_cmd): New function.
2250 (grub_usbms_cbi_reset): Likewise.
2251 (grub_usbms_reset): Likewise.
2252 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
2253 (grub_usbms_transfer): Rename to ...
2254 (grub_usbms_transfer_bo): ... this.
2255 (grub_usbms_transfer_cbi): Likewise.
2256 (grub_usbms_transfer): Likewise.
2257
a2b81d53
AN
22582012-02-01 Aleš Nesrsta <starous@volny.cz>
22592012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2260
2261 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
2262 the support for the CS5536 modification thereos and few bugfixes.
2263
2264 * grub-core/Makefile.core.def (ehci): New module.
2265 * grub-core/bus/usb/ehci.c: New file.
2266 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
2267 port and hubaddr. All users updated.
2268 Save port and hubaddr into dev structure.
2269 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
2270 define.
2271 * include/grub/pci.h (grub_dma_phys2virt): New function.
2272 (grub_dma_virt2phys): Likewise.
2273 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
2274
b1d51f02
VS
22752012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
2278 check as some mkfs implementations omit it.
2279
fc694106
VS
22802012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2281
2282 * docs/grub.texi (Unicode): Mention identifier and space limitations.
2283
6c0920e3
VS
22842012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2285
2286 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
2287 Add new member volname2.
2288 (grub_jfs_label): Use volname2 if available.
2289
d1a46f9a
VS
22902012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2291
2292 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
2293 over last_mounted as seen in image generated by mkfs.nilfs2.
2294 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
2295
dec8ed14
VS
22962012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2297
2298 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
2299 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
2300 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
2301
7397c69b
VS
23022012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
2305 over the sector.
2306
b3fe42ad
VS
23072012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2308
2309 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
2310 subvolume name (by removing a bogus and useless check).
2311
10476bb0
VS
23122012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2313
2314 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
2315 sizeof while on it.
2316
9c08ad87
VS
23172012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2318
2319 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
2320 (grub_scsi_read_capacity10): ... this.
2321 (grub_scsi_read_capacity16): New function.
2322 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
2323 0xffffffff.
2324 Fix off-by-one error.
2325 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
2326 64-bit unsigned.
2327 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
2328 (grub_scsi_read_capacity10): ... this.
2329 (grub_scsi_read_capacity_data): Rename to ...
2330 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
2331 (grub_scsi_read_capacity16): New struct.
2332 (grub_scsi_read_capacity16_data): Likewise.
2333 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
2334 grub_scsi_cmd_read_capacity10.
2335 New command grub_scsi_cmd_read_capacity16.
2336
bc8d0f45
VS
23372012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2338
2339 SCSI >2TiB support.
2340
2341 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
2342 (grub_scsi_write16): Likewise.
2343 (grub_scsi_read): Use read16 when necessary.
2344 (grub_scsi_write): Likewise.
2345 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
2346 (grub_scsi_write16): Likewise.
2347 (grub_scsi_cmd_t): Add READ16 and WRITE16.
2348
cc774926
VS
23492012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2350
2351 SCSI write support (for usbms mainly).
2352
2353 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
2354 a const pointer.
2355 (grub_scsi_write): Implement.
2356 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
2357
67639fd7
VS
23582012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2359
2360 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
2361 variable.
2362
9079d3ed
VS
23632012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2364
2365 * grub-core/lib/posix_wrap/string.h (memchr): New function.
2366
c6a6f204
VS
23672012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2368
2369 * po/POTFILES.in: Regenerate.
2370
ecbf8cd1
VS
23712012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2372
2373 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
2374 with grub_printf to avoid unnecessary fatal failure.
2375
0b3b3b38
VS
23762012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2377
2378 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
2379 (INT_MAX): Likewise.
2380 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
2381 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
2382 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
2383 (strcpy): Likewise.
2384 (strstr): Likewise.
2385 (strchr): Likewise.
2386 (strncpy): Likewise.
2387 (strcat): Likewise.
2388 (strncat): Likewise.
2389 (strcoll): Likewise.
2390 * include/grub/types.h (GRUB_SHRT_MAX): New define.
2391 (GRUB_INT_MAX): Likewise.
2392
db7337a3
VS
23932012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
2396 unexpected error.
2397 (optimize_utf8): Likewise.
2398 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
2399
f37c87e1
VS
24002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2401
2402 * grub-core/boot/i386/pc/lnxboot.S: Use
2403 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
2404 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
2405 location.
2406 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
2407 definition.
2408 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
2409
63fe43f3
VS
24102012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2411
2412 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
2413 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
2414 now to avoid double free.
2415 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
2416 hostdisk.
2417 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
2418 * util/grub-probe.c (escape_of_path): Always return a new copy.
2419 (print_full_name): Escape path.
2420 (probe): Don't call grub_util_devname_to_ofpath on NULL.
2421 Fix hints on abstractions.
2422
ebe2c961
VS
24232012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2424
2425 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
2426 Don't add "root" line if no compatibility hont is available.
2427 Suggested by: Seth Goldberg.
2428
2b5336a2
VS
24292012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2430
2431 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
2432 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
2433 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
2434 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
2435
74310bd8
VS
24362012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2437
2438 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
2439
c30582ba
VS
24402012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2441
2442 * util/grub-pe2elf.c (ehdr): Make static.
2443 (shdr): Likewise.
2444 (num_sections): Likewise.
2445 (offset): Likewise.
2446
5f47782c
VS
24472012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2448
2449 Eliminate ofpath limits and possible overflows.
2450
2451 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
2452 (OF_PATH_MAX): Removed.
2453 (MAX_DISK_CAT): New const.
2454 (find_obppath): Use allocated rather than preallocated buffer.
2455 Return result. Argument of_path removed. All users updated.
2456 Add missing fdstat.
2457 (xrealpath): New function.
2458 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
2459 Allocate rather than use preallocated buffer. All users updated.
2460 (__of_path_common): Use allocated rather than preallocatecd buffer.
2461 Return result. Argument of_path removed. All users updated.
2462 (vendor_is_ATA): Read only needed part form the file.
2463 (check_sas): Allocate depending on contents rather than fixed.
2464 (main) [STANDALONE]: Handle NULL result.
2465
f990cbf9
VS
24662012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 * grub-core/normal/completion.c (iterate_dev): Close the disk.
2469
9c6e84b8
VS
24702012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2471
2472 Cryptodisk write support.
2473
2474 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
2475 (grub_cryptodisk_decrypt): Moved logic to ...
2476 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
2477 (grub_cryptodisk_write): Implement.
2478 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
2479 (grub_util_fd_write): ... this. Make global.
2480 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
2481
87cf9744
VS
24822012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 * include/grub/list.h (grub_list_remove): Don't crash if element is
2485 removed twice.
2486
ca8c0baf
VS
24872012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2488
2489 Rename ofconsole to console.
2490
2491 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
2492 as sysnonym to console.
2493 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
2494 * grub-core/term/ieee1275/console.c: ... this. All users updated.
2495 Rename grub_ofconsole_ to grub_console_. All users updated
2496 (grub_console_term_output): Rename "ofconsole" to "console".
2497 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
2498 as "console".
2499
64c8b8f6
VS
25002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2501
2502 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
2503 handling.
2504 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
2505 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
2506 GRUB_DISK_DEVICE_FILE_ID.
2507
f6c434d5
VS
25082012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2509
2510 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
2511 and improve performance.
2512
5858b42d
VS
25132012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2514
2515 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
2516 missing ieee1275/ prefix on whole disk.
2517
4ed3c26b
VS
25182012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2519
2520 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
2521 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
2522
df71143e
VS
25232012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2524
2525 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
2526
076e7c0f
VS
25272012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2528
2529 Merge common RAID and LVM logic to an abstract diskfilter.
2530 Add LDM support using the same framework.
2531
2532 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
2533 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
2534 (libgrubmods): Remove grub-core/disk/raid.c and
2535 grub-core/partmap/gpt.c.
2536 * grub-core/Makefile.core.def (ldm): New module.
2537 (raid): Renamed to diskfilter. All users updated.
2538 * grub-core/disk/raid.c: Moved to ...
2539 * grub-core/disk/diskfilter.c: ... here.
2540 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
2541 (lv_num): New var.
2542 (find_array): Renamed to ...
2543 (find_lv): ... this. Support multi-LV. Skip nameless LVs
2544 (grub_is_array_readable): Renamed to ...
2545 (grub_is_lv_readable): ... this. Support multinode hierarchy.
2546 (insert_array): New argument id.
2547 (is_node_readable): New function.
2548 (scan_device): Rename to ...
2549 (scan_disk): .. this. Restrict to one disk.
2550 (scan_devices): New function.
2551 (grub_diskfilter_iterate): Support multi-LV.
2552 Skip invisible and nameless LVs.
2553 (grub_diskfilter_memberlist): Support multi-LV.
2554 (grub_diskfilter_read_node): New function.
2555 (grub_raid_read): Most of logic moved to ...
2556 (read_segment): ... here
2557 (read_lv): New function.
2558 (grub_diskfilter_get_vg_by_uuid): New function.
2559 (grub_diskfilter_make_raid): Likewise.
2560 * grub-core/disk/ldm.c: New file.
2561 * grub-core/disk/lvm.c (vg_list): Removed.
2562 (lv_count): Likewise.
2563 (scan_depth): Likewise.
2564 (is_lv_readable): Likewise.
2565 (grub_lvm_getvalue): Advance pointer past the number.
2566 (find_lv): Removed.
2567 (do_lvm_scan): Refactored into ...
2568 (grub_lvm_detect): ... this. Support raid.
2569 (grub_lvm_iterate): Removed.
2570 (grub_lvm_memberlist): Likewise.
2571 (grub_lvm_open): Likewise.
2572 (grub_lvm_close): Likewise.
2573 (read_lv): Likewise.
2574 (read_node): Likewise.
2575 (is_node_readable): Likewise.
2576 (is_lv_readable): Likewise.
2577 (grub_lvm_read): Likewise.
2578 (grub_lvm_write): Likewise.
2579 (grub_lvm_dev): Use diskfilter
2580 (GRUB_MOD_INIT): Likewise.
2581 (GRUB_MOD_FINI): Likewise.
2582 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
2583 new interface.
2584 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
2585 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2586 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
2587 grub_diskfilter_read_node.
2588 Fix a bug with xor.
2589 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
2590 grub_diskfilter_read_node.
2591 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
2592 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
2593 (grub_disk_dev_iterate): Move from here...
2594 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
2595 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
2596 Make global.
2597 (grub_hostdisk_find_partition_start): Likewise.
2598 (grub_hostdisk_os_dev_to_grub_drive): New function.
2599 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
2600 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
2601 * util/getroot.c (make_device_name): ... here.
2602 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
2603 Move to ...
2604 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
2605 * grub-core/kern/emu/hostdisk.c
2606 (convert_system_partition_to_system_disk): Move to ...
2607 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
2608 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
2609 * util/getroot.c (device_is_wholedisk): ... here.
2610 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
2611 * util/getroot.c (find_system_device): ... here.
2612 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
2613 Move to ...
2614 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
2615 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
2616 Move to ...
2617 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
2618 Handle LDM.
2619 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
2620 Move to ...
2621 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
2622 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
2623 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
2624 DISKFILTER.
2625 * include/grub/raid.h: Renamed to ...
2626 * include/grub/diskfilter.h: ... this.
2627 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
2628 (GRUB_RAID_LAYOUT_*): Make into array.
2629 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
2630 (grub_diskfilter_vg): New struct.
2631 (grub_diskfilter_pv_id): Likewise.
2632 (grub_raid_member): Removed.
2633 (grub_raid_array): Likewise.
2634 (grub_diskfilter_pv): New struct.
2635 (grub_diskfilter_lv): Likewise.
2636 (grub_diskfilter_segment): Likewise.
2637 (grub_diskfilter_node): Likewise.
2638 (grub_diskfilter_get_vg_by_uuid): New proto.
2639 (grub_raid_register): Inline.
2640 (grub_diskfilter_unregister): Likewise.
2641 (grub_diskfilter_make_raid): New proto.
2642 (grub_diskfilter_vg_register): Likewise.
2643 (grub_diskfilter_read_node): Likewise.
2644 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
2645 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
2646 (grub_util_is_ldm): Likewise.
2647 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
2648 (grub_hostdisk_find_partition_start): Likewise.
2649 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
2650 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
2651 New definition.
2652 (grub_gpt_partition_map_iterate): New proto.
2653 * include/grub/lvm.h (grub_lvm_vg): Removed.
2654 (grub_lvm_pv): Likewise.
2655 (grub_lvm_lv): Likewise.
2656 (grub_lvm_segment): Likewise.
2657 (grub_lvm_node): Likewise.
2658 * util/getroot.c [...]
2659 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
2660 (probe_abstraction): Likewise.
2661 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
2662 (main): Remove dead logic.
2663
8a7f9b9c
VS
26642012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
2665
2666 Simplify root device discover and don't fail when trying to open
2667 incorrect devices.
2668
2669 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
2670 function.
2671 (get_diskname_from_path): Likewise.
2672 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
2673 of iterating.
2674
30545b85
VS
26752012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2676
2677 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
2678
28ea58cf
VS
26792012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2680
2681 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
2682 pastthe end.
2683
692dabca
VS
26842012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2685
2686 * util/grub-install.in: Add missing \.
2687 Reported by: gentoofan
2688
f6e4ea70
VS
26892012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
2690
2691 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
2692 (direct_read): Use correct compressed size.
2693 (grub_squash_read_data): Likewise.
2694
26952012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
2696
2697 * docs/grub.texi (Platform limitations): New section.
2698 (Platform-specific operations): Likewise.
2699 * docs/grub-dev.texi (Porting): Likewise.
2700
76261110
VS
27012012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2702
2703 IEEE1275 disk write support.
2704
2705 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
2706 const void *.
2707 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
2708 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
2709 and seek loginc to ...
2710 (grub_ofdisk_prepare): ... here.
2711 (grub_ofdisk_write): Implement.
2712
fc36d603
VS
27132012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2714
2715 ARC disk write support.
2716
2717 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
2718 (reopen): New argument writable. All users updated.
2719 Handle required access mode.
2720 (grub_arcdisk_write): Implement.
2721 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
2722 (grub_arc_firmware_vector): Make buffer to write a const buffer.
2723
e06c2e7a
VS
27242012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
2727 (read_sblock): Don't attempt to read superblocks outside the disk size.
2728
ff447958
VS
27292012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2730
2731 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
2732 first superblock to find the second one when possible.
2733
9e88df39
VS
27342012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2735
2736 * util/grub-install.in: Fix an ARC bug.
2737 Print a warning if no platform-specific setup is available.
2738
bb26e4ff
VS
27392012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2740
2741 Use static allocation rather than scratch pointer in reed_solomon.
2742 It decreases its size significantly and avoids a variable in .text.
2743
2744 * grub-core/lib/reed_solomon.c (scratch): Removed.
2745 (chosenstat): New const or static array.
2746 (sigma): Likewise.
2747 (errpot): Likewise.
2748 (errpos): Likewise.
2749 (sy): Likewise.
2750 (mstat): Likewise.
2751 (errvals): Likewise.
2752 (eqstat): Likewise.
2753 (pol_evaluate): Replace x with log_x argument. All users updated.
2754 (syndroms): Removed.
2755 (gauss_solve): Use statically allocated arrays.
2756 (rs_recover): Likewise.
2757 Calculate syndroms directly.
2758 (decode_block): Use statically allocated arrays.
2759 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
2760 (main) [TEST]: Allow -DTEST -DSTANDALONE.
2761
2e13ede5
VS
27622012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2763
2764 Eliminate fixed limit on reed solomon decoder length.
2765
2766 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
2767 rather than hardcoding the address.
2768 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
2769 no_reed_solomon_length.
2770 Move gate_a20 to no-reed-solomon part.
2771 Don't force a particular size of no reed-solomon part.
2772 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
2773 Removed.
2774 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
2775 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
2776
f8a9ab12
VS
27772012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2778
2779 * grub-core/commands/wildcard.c (match_files): Handle filenames
2780 without explicit device.
2781 (wildcard_expand): Don't add explicit device if not already present.
2782 * tests/grub_script_echo1.in: Add a new expansion test.
2783
87edb894
VS
27842012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 Replace single-linked with double-linked lists. It results in more
2787 compact and more efficient code.
2788
2789 * grub-core/kern/list.c (grub_list_push): Moved from here ...
2790 * include/grub/list.h (grub_list_push): ... to here. Set prev.
2791 (grub_list_remove): Moved from here ...
2792 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
2793 (grub_prio_list_insert): Set prev.
2794 * include/grub/list.h (grub_list): Add prev. All users updated.
2795
48b391e9
VS
27962012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2797
2798 Handle newer autotools. Add some missing quotes while on it.
2799
2800 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
2801 (pkglib_DATA): Move grub-mkconfig_lib from here ...
2802 (pkgdata_DATA): ... here.
2803 * Makefile.util.def (update-grub_lib): Removed.
2804 * conf/Makefile.common (pkglib_DATA): Removed.
2805 (pkglib_SCRIPTS): Likewise.
2806 (pkgdata_DATA): New variable.
2807 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
2808 needed.
2809 Add missing quotes.
2810 Remove unused variable while on it.
2811 * tests/util/grub-shell.in: Likewise.
2812 * util/grub-install.in: Likewise.
2813 * util/grub-mkconfig.in: Likewise.
2814 * util/grub-mknetdir.in: Likewise.
2815 * util/grub-mkrescue.in: Likewise.
2816 * util/grub-mkstandalone.in: Likewise.
2817 * util/grub.d/00_header.in: Likewise.
2818 * util/grub.d/10_hurd.in: Likewise.
2819 * util/grub.d/10_illumos.in: Likewise.
2820 * util/grub.d/10_kfreebsd.in: Likewise.
2821 * util/grub.d/10_linux.in: Likewise.
2822 * util/grub.d/10_netbsd.in: Likewise.
2823 * util/grub.d/10_windows.in: Likewise.
2824 * util/grub.d/20_linux_xen.in: Likewise.
2825 * util/grub.d/30_os-prober.in: Likewise.
2826 * util/update-grub_lib.in: Removed.
2827
28282012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
2829
2830 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
2831 a workaround for intel problem.
2832
66832792
PRP
28332012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
28342012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
28352012-01-23 pfsmorigo
2836
2837 * util/grub-install.in: Support dd'in into PreP partition.
2838 * util/grub-probe.c (probe): Support discovering partition type.
2839 (main): Support -t msdos_parttype.
2840
7816a17e
VS
28412012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
2844 infinite recursion using counter.
2845 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
2846 init to skip it if the magic check fails.
2847 (dec_stream_header): Init s->crc32.
2848
8f9d3a8c
ZB
28492012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28502012-01-22 Zachary Bedell <pendorbound@gmail.com>
28512012-01-22 Richard Laager <rlaager@wiktel.com>
2852
2853 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
2854 All users updated.
2855 (find_bestub): Determine correct size.
2856 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
2857 (scan_disk): Align the size down.
2858 Call check pool before find_bestub to have ashift.
2859
b055dd32
VS
28602012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
2863 dprintf in no-malloc zone.
2864
d779e9bd
ML
28652012-01-22 Mario Limonciello <mario_limonciello@dell.com>
2866
2867 * configure.ac: Add back in test for limits.h.
2868
b508af69
VS
28692012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2870
2871 Support 4K-sector NTFS.
2872
2873 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
2874 (grub_ntfs_data): Remove blocksize.
2875 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
2876 Remove data argument. All users updated.
2877
dad9c8b5
VS
28782012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2879
2880 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
2881 being in .text to avoid dprel references.
2882 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
2883 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
2884 (grub_arch_highmemsize): Likewise.
2885 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
2886 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
2887 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
2888
d43a777e
VS
28892012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2890
2891 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
2892
2893 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
2894 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
2895
34e4208f
VS
28962012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2897
2898 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
2899 GRUB_UTIL.
2900 (grub_set_datetime_cmos): Likewise.
2901
3ec0fc1c
VS
29022012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2903
2904 Make XZ compression parameters dependent on target and not host CPU.
2905
2906 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
2907 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
2908
22489834
VS
29092012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2910
2911 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
2912 set but not used variable.
2913
8502fbca
VS
29142012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
2917 created when no uuid support is compiled into mkfs.reiser.
2918
76df2068
VS
29192012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2920
2921 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
2922 (utf8_to_macroman): Do the opposite.
2923 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
2924
64e3f8f6
VS
29252012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2926
2927 * configure.ac: Refise build qemu_mips w/o unifont.
2928
9c271078
VS
29292012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2930
2931 Eliminate grub_min/grub_max prone to overflow usage.
2932
2933 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
2934 (poll_nonroot_hub): Likewise.
2935 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
2936 (grub_affs_label): Likewise.
2937 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
2938 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
2939 (grub_hfs_label): Likewise.
2940 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
2941 * grub-core/fs/zfs/zfs.c (MIN): Remove.
2942 (zap_leaf_array_equal): Use grub_size. Remove MIN.
2943 (zap_leaf_array_get): Likewise.
2944 (dnode_get_path): Likewise.
2945 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
2946 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
2947 * grub-core/script/execute.c (grub_script_break): Likewise.
2948 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
2949 grub_max.
2950 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
2951 * include/grub/misc.h (grub_min): Removed.
2952 (grub_max): Likewise.
2953
80662dbc
VS
29542012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
2955
2956 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
2957 direct.inode = 0.
2958
e6da1467
VS
29592012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2960
2961 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
2962
b1ac4cb1
VS
29632012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2964
2965 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
2966
b4bf7c3b
VS
29672012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
2970 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
2971
8ee1101a
VS
29722012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2973
2974 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
2975 rather than a hack for grub_strncasemap.
2976
29772012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2978
2979 Support multiple initrds
2980 Note: part of this was accidently committed in r3739.
2981
2982 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
2983 initrd.
2984 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
2985 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
2986 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
2987 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2988 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2989
4d1e2bc9
VS
29902012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2991
2992 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
2993 disks with unknown size.
2994 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
2995
75b49ebe
VS
29962012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2997
2998 Remove defines pertaining to arbitrary limits not affecting GRUB
2999 anymore.
3000
3001 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
3002 (EXT2_MAX_SYMLINKCNT): Likewise.
3003 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
3004 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
3005 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
3006 (GRUB_PXE_MAX_BLKSIZE): Likewise.
3007 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
3008 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
3009 (DN_MAX_OBJECT_SHIFT): Likewise.
3010 (DN_MAX_OFFSET_SHIFT): Likewise.
3011 (DN_MAX_OBJECT): Likewise.
3012 (DNODES_PER_LEVEL_SHIFT): Likewise.
3013 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
3014 (SPA_MAXBLOCKSIZE): Likewise.
3015 (SPA_BLOCKSIZES): Likewise.
3016 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
3017 (MZAP_MAX_BLKSZ): Likewise.
3018
74a1dce7
VS
30192012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3020
3021 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
3022 handle NULL appropriately.
3023 Remove MIN.
3024
30c7d3ce
VS
30252012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3026
3027 Fix efiemu.
3028
3029 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
3030 cpu/types.h.
3031 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
3032 * configure.ac: Fix efiemu check.
3033
3c76ea0c
VS
30342012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
3037 grub_probe.
3038 Reported by: adamwill
3039
7e532280
SG
30402012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
3041
3042 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
3043
30492374
VS
30442012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 Fix handling of wide characters in gfxterm.
3047
3048 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
3049 (clear_char): Likewise.
3050 (paint_char): Skip code == NULL chars.
3051 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
3052
e70cb72f
VS
30532012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3054
3055 * grub-core/normal/charset.c: Move comment to right place.
3056
5c827cf9
VS
30572012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3058
3059 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
3060 (GRUB_AFFS_FLAG_FFS): Put back where it was.
3061 (grub_affs_mount): Revert the correct version checking.
3062
53603892
VS
30632012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3064
3065 * docs/grub.texi (Unicode): Mention several other unsupported features.
3066
ff094b9b
VS
30672011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
3070 case statements as compile-time one.
3071 (direct_read): Prevent spurious warnings.
3072 (grub_squash_read_data): Likewise.
3073
c029da8a
VS
30742011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3075
3076 Various squash4 fixes and LZO and XZ support.
3077
3078 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
3079 Add xzembed source files.
3080 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
3081 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
3082 (grub_squash_inode): New subtype long_dir.
3083 (SQUASH_TYPE_LONG_DIR): New inode type.
3084 (COMPRESSION): New enum.
3085 (XZBUFSIZ): New const.
3086 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
3087 (read_chunk): Use data->decompress.
3088 (zlib_decompress): New function.
3089 (lzo_decompress): Likewise.
3090 (xz_decompress): Likewise.
3091 (squash_mount): Set new data fields.
3092 (grub_squash_iterate_dir): Handle long dir.
3093 (squash_unmount): Free xzdec and xzbuf.
3094 (grub_squash_open): Check ino type.
3095 (direct_read): Stylistic fixes. Use data->decompress.
3096 (grub_squash_read_data): Likewise.
3097 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
3098 (get_byte): Likewise.
3099 (grub_zlib_disk_read): Removed.
3100 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
3101 (GRUB_POSIX_BOOL_DEFINED): New define.
3102 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
3103 * grub-core/lib/xzembed/xz.h: Addmissing includes.
3104 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
3105 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
3106
7a45a539
VS
31072011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3108
3109 Don't override more informative errors.
3110
3111 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
3112 * grub-core/font/font.c (open_section): Likewise.
3113 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
3114 filename. Don't override errors.
3115 (grub_cmd_openbsd_ramdisk): Don't override errors.
3116 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
3117 (grub_cmd_initrd): Likewise.
3118 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3119 (grub_cmd_initrd): Likewise.
3120 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
3121 (grub_cmd_linux): Likewise.
3122 (grub_cmd_initrd): Likewise.
3123 (grub_cmd_payload): Likewise.
3124 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3125 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
3126 (grub_cmd_module): Likewise.
3127 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3128 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3129 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
3130 (grub_cmd_xnu_mkext): Likewise.
3131 (grub_cmd_xnu_ramdisk): Likewise.
3132 (grub_xnu_check_os_bundle_required): Likewise.
3133 (grub_xnu_load_kext_from_dir): Likewise.
3134 (grub_cmd_xnu_kextdir): Likewise.
3135 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
3136
b2d004db
VS
31372011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
3140 as 1024 in block size field. Found on one of my test images.
3141 Small optimisation while on it.
3142
ec000eac
VS
31432011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3144
3145 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
3146 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
3147 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
3148 performance fixes while on it.
3149 (grub_sfs_close): Fix memory leak while on it.
3150 (grub_sfs_label): Convert Latin1 to UTF-8.
3151
f50e1165
VS
31522011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3153
3154 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
3155 space to avoid overflows.
3156 (grub_hfs_label): Convert from macroman to UTF-8.
3157
2ae254de
VS
31582011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3159
3160 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
3161
0108f491
VS
31622011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3163
3164 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
3165
f45f5f89
VS
31662011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3167
3168 * unicode: Import Unicode 6.0 data.
3169
4d8c4765
VS
31702011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3171
63fa8ef9
VS
3172 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
3173 outside of range.
3174
31752011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3176
3177 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
3178
3179 * include/grub/charset.h (grub_getend): New function.
3180 * grub-core/script/function.c (grub_script_function_find): Use
3181 grub_getend.
3182 * grub-core/normal/completion.c (add_completion): Likewise.
3183
f3cb4a4e
VS
31842011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3185
3186 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
3187 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
3188 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
3189 (GRUB_UNICODE_TAG_END): Likewise.
3190 (GRUB_UNICODE_LAST_VALID): Likewise.
3191
5da8dbc5
VS
31922011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3193
3194 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
3195 len and make it smaller. All users updated.
3196 * util/import_unicode.py: Put length and not end character.
3197 Check length.
3198
8569f13d
VS
31992011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 Make better Unicode-compliant and unify some UTF-8 code pathes.
3202
3203 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
3204 valid character.
3205 (grub_is_valid_utf8): Use grub_utf8_process.
3206 Check resulting code range.
3207 (grub_utf8_to_ucs4): Use grub_utf8_process.
3208 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
3209 valid character.
3210
cc4fddf5
VS
32112011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3212
3213 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
3214
bbc47747
VS
32152011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3216
3217 * docs/grub.texi (Filesystems): Mention AFS.
3218
f63d6bf4
VS
32192011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3220
3221 * docs/grub.texi (Filesystems): Clarify restrictions.
3222 (Regexp): Mention non-Unicode regexp behaviour.
3223 (Other): Mention non-Unicode matching behaviour.
3224
74bbf0db
VS
32252011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3226
f63d6bf4 3227 Make HFS implementation use MacRoman.
74bbf0db
VS
3228
3229 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
3230 (macroman): New const array.
3231 (macroman_to_utf8): New function.
3232 (utf8_to_macroman): Likewise.
3233 (grub_hfs_find_dir): Use utf8_to_macroman.
3234 (grub_hfs_dir): Use macroman_to_utf8.
3235 Set case_insensitive.
3236
4ea0316e
VS
32372011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3238
3239 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
3240
d3c13cbd
VS
32412011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3242
3243 Integrate hints into autogeneration scripts.
3244
3245 * docs/grub.texi (Filesystems): Add a hostdisk example.
3246 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
3247 (grub-probe): Add ofpath.
3248 * gentpl.py: Remove group nosparc64.
3249 * grub-core/commands/search.c (cache_entry): New struct.
3250 (cache): New var.
3251 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
3252 * grub-core/commands/search_wrap.c (options): Add platform-specific
3253 hint options.
3254 (grub_cmd_search): Handle platform-specific hints.
3255 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
3256 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
3257 (grub_util_biosdisk_data): Likewise.
3258 (grub_util_biosdisk_open): Set device_map.
3259 (read_device_map): Handle "" as indication of no map.
3260 Set device_map.
3261 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
3262 (grub_util_biosdisk_get_compatibility_hint): New function.
3263 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
3264 * include/grub/emu/hostdisk.h
3265 (grub_util_biosdisk_get_compatibility_hint): New proto.
3266 * util/grub-install.in: Don't call grub-mkdevicemap.
3267 Add platform-specific hint to load.cfg.
3268 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
3269 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
3270 hints. Set root preliminary to compatibility hint, not to OS name.
3271 * util/grub-probe.c (PRINT_*): Add hints.
3272 (print): Make static.
3273 (escape_of_path): New function.
3274 (guess_bios_drive): Likewise.
3275 (guess_efi_drive): Likewise.
3276 (guess_baremetal_drive): Likewise.
3277 (print_full_name): Likewise.
3278 (probe): Handle hints.
3279 (main): Likewise.
3280 * util/ieee1275/devicemap.c: Removed.
3281 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
3282 updated.
3283 (grub_util_devname_to_ofpath): Return NULL on failure.
3284
3285 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
3286 resource leak.
3287 * util/getroot.c (grub_util_pull_device): Fix memory leak.
3288
3289 * po/POTFILES.in: Regenerated.
3290
3291 Allow purely long options
3292
3293 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
3294 (SHORT_ARG_USAGE): Likewise.
3295 (grub_arg_show_help): Compare opt with help_options.
3296 (parse_option): Receive opt as argument. If makes big simplificatons.
3297 All users updated
3298
00ce2df3
VS
32992011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3300
3301 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
3302 Restructure to avoid warning.
3303
e77e325f
VS
33042011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3305
3306 * util/grub-install.in: Account for possible escaped comma in device
3307 name.
3308
165099ea
VS
33092011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3310
3311 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
3312 channel.
3313
ce4a999d
VS
33142011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3315
3316 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
3317 allocation and zero-setting.
3318 (grub_ieee1275_get_devname): Check that alias is complete.
3319
379586ad
VS
33202011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3321
3322 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
3323 unaligned segments.
3324
9197b0ad
VS
33252011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3326
3327 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
3328 prefix.
3329 (grub_ofdisk_open): Check and discard ieee1275 prefix.
3330 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
3331 Add ieee1275 prefix.
3332
edddb7f9
VS
33332011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3334
3335 * docs/grub.texi (Filesystems): Update.
3336
a1a8b1b9
VS
33372011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3338
3339 Support odc, newc and bigendian cpio formats.
3340
3341 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
3342 * grub-core/Makefile.core.def (newc): New module.
3343 (odc): Likewise.
3344 (cpio_be): Likewise.
3345 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
3346 (MAGIC): Likewise.
3347 (MAGIC2): Likewise.
3348 (head) [MODE_ODC]: Adapt for the format.
3349 (head) [MODE_NEWC]: Likewise.
3350 (head) [!MODE_*]: Write fields of interest as arrays.
3351 (MAGIC_USTAR): Removed.
3352 (read_number) [MODE_NEWC]: Change to hex.
3353 (read_number) [!MODE_*]: Parse binary arrays.
3354 (grub_cpio_find_file): Factor out the code for better structure and
3355 always use read_number.
3356 (grub_cpio_mount): Use MAGIC and MAGIC2.
3357 (grub_cpio_dir): Exit on first hook non-0 return.
3358 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
3359 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
3360 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
3361 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
3362 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
3363 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
3364 * grub-core/fs/newc.c: New file.
3365 * grub-core/fs/odc.c: Likewise.
3366 * grub-core/fs/cpio_be.c: Likewise.
3367
58eba9ee
VS
33682011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3369
3370 Fix handling of tar numbers occupying the whole field.
3371
3372 * grub-core/fs/cpio.c (read_number): New function.
3373 (grub_cpio_find_file): Use read_number instead of strtoull.
3374
a54a0e12
VS
33752011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3376
3377 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
3378 occupying the whole field size.
3379
a6120aca
LA
33802011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
3381
3382 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
3383
a93964ce
VS
33842011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3385
3386 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
3387
3ea1ca46
SG
33882011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
3389
3390 * grub-core/Makefile.core.def (lzma_decompress): Add missing
3391 TARGET_IMG_LDFLAGS.
3392
b87f7ef2
VS
33932011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3394
3395 * util/getroot.c (ESCAPED_PATH_MAX): New define.
3396 (mountinfo_entry): Increase the field size to take escaping into
3397 account.
3398 (find_root_device_from_libzfs): Add one byte to size of strings for
3399 security.
3400
62092395
VS
34012011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3402
3403 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
3404 an assert.
3405 * util/grub-setup.c (setup): Likewise.
3406
1f0b1a77
VS
34072011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3408
3409 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
3410 _LzmaDecodeA.
3411
8eba9997
VS
34122011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3413
3414 * docs/grub.texi (Internationalisation): New section.
3415
dd0c91e9
VS
34162011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3417
3418 * docs/grub.texi (Loopback booting): New section.
3419
34202011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
3421
3422 * util/grub-mkstandalone.in: Fix minor typo errors.
3423
198e150a
VS
34242011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
3425
3426 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
3427
3428 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
3429 net/icmp.c and net/icmp6.c.
3430 (http): New module.
3431 (priority_queue): Likewise.
3432 * grub-core/io/bufio.c: Rewritten.
3433 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
3434 TYPE_WITH_CONFIGFILE_OPTION.
3435 (legacy_commands): Add bootp and dhcp.
3436 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
3437 (grub_legacy_parse): Likewise.
3438 * grub-core/lib/priority_queue.c: New file.
3439 * grub-core/net/arp.c: Add missing license header.
3440 (arp_find_entry): Removed.
3441 (arp_find_entry): Likewise.
3442 (grub_net_arp_resolve): Rename to ...
3443 (grub_net_arp_send_request): ...this.
3444 (grub_net_arp_receive): New card argument.
3445 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
3446 Set router and DNS server.
3447 (grub_net_configure_by_dhcp_ack): Handle routing information.
3448 (grub_cmd_bootp): Set checksum.
3449 (grub_bootp_init): Remove net_dhcp.
3450 * grub-core/net/dns.c: New file.
3451 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
3452 completion.
3453 (get_card_packet): Handle allocation.
3454 (grub_efinet_findcards): Set mtu.
3455 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
3456 (get_card_packet): Handle allocation.
3457 (emucard): Set mtu.
3458 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
3459 (GRUB_MOD_INIT): Set mtu.
3460 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
3461 mtu.
3462 (get_card_packet): Handle allocation.
3463 (grub_ofnet_findcards): Set mtu.
3464 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
3465 assert.
3466 (grub_net_recv_ethernet_packet): Handle IPv6.
3467 * grub-core/net/http.c: New file.
3468 * grub-core/net/icmp.c: Likewise.
3469 * grub-core/net/icmp6.c: Likewise.
3470 * grub-core/net/ip.c (ip6addr): New type.
3471 (ip6hdr): Likewise.
3472 (reassemble): Likewise.
3473 (cmp): New function.
3474 (reassembles): New variable.
3475 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
3476 (id): New variable.
3477 (send_fragmented): New function.
3478 (grub_net_send_ip_packet): Rename to ...
3479 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
3480 Handle non-UDP.
3481 (grub_net_recv_ip_packets): Rename to ...
3482 (handle_dgram): ... this. Check checksum. Handle non-UDP.
3483 (free_rsm): New function.
3484 (free_old_fragments): Likewise.
3485 (grub_net_recv_ip4_packets): New function.
3486 (grub_net_send_ip6_packet): Likewise.
3487 (grub_net_send_ip_packet): Likewise.
3488 (grub_net_recv_ip6_packets): Likewise.
3489 (grub_net_recv_ip_packets): Likewise.
3490 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
3491 (LINK_LAYER_CACHE_SIZE): New const.
3492 (link_layer_find_entry): New function.
3493 (grub_net_link_layer_add_address): Likewise.
3494 (grub_net_link_layer_resolve_check): Likewise.
3495 (grub_net_link_layer_resolve): Likewise.
3496 (grub_net_ipv6_get_slaac): Likewise.
3497 (grub_net_ipv6_get_link_local): Likewise.
3498 (grub_cmd_ipv6_autoconf): Likewise.
3499 (parse_ip): Handle one number representation.
3500 (parse_ip6): New functoion.
3501 (match_net): Handle IPv6.
3502 (grub_net_resolve_address): Handle IPv6 and DNS.
3503 (grub_net_resolve_net_address): Handle IPv6.
3504 (route_cmp): New function.
3505 (grub_net_route_address): Find best route.
3506 (grub_net_addr_to_str): Handle IPv6.
3507 (grub_net_addr_cmp): New function.
3508 (grub_net_add_addr): Register local route.
3509 (print_net_address): Handle net address.
3510 (grub_net_poll_cards): Retransmit TCP.
3511 (grub_net_poll_cards_idle_real): Likewise.
3512 (have_ahead): New function.
3513 (grub_net_seek_real): Use underlying seek.
3514 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
3515 * grub-core/net/tcp.c: New file.
3516 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
3517 (cmp): New function.
3518 (ack): Likewise.
3519 (tftp_receive): Handle unordered input.
3520 (destroy_pq): New function.
3521 (tftp_close): Close pq.
3522 * grub-core/net/udp.c: Put missing license header.
3523 (grub_net_udp_socket): New function.
3524 (udp_socket_register): Likewise.
3525 (grub_net_udp_close): Likewise.
3526 (grub_net_recv_udp_packet): Check checksum.
3527 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
3528 * include/grub/misc.h (grub_memchr): New function.
3529 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
3530 (grub_net_card_driver): Return buf in recv.
3531 (grub_net_slaac_mac_list): New struct.
3532 (grub_network_level_protocol_id): Add ipv6.
3533 (grub_net_network_level_addr): Likewise.
3534 (grub_net_network_level_net_addr): Likewise.
3535 (grub_net_app_protocol): Add seek.
3536 (grub_net_socket): Removed.
3537 (grub_net_sockets): Likewise.
3538 (grub_net_socket_register): Likewise.
3539 (grub_net_socket_unregister): Likewise.
3540 (FOR_NET_SOCKETS): Likewise.
3541 (grub_net_add_addr): Add const.
3542 (GRUB_NET_BOOTP_*): New enum.
3543 (grub_net_addr_cmp): New proto.
3544 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
3545 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
3546 (grub_net_hwaddr_to_str): NEw proto.
3547 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
3548 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
3549 (grub_dns_init): New proto.
3550 (grub_dns_fini): Likewise.
3551 (grub_net_tcp_retransmit): Likewise.
3552 (grub_net_link_layer_add_address): Likewise.
3553 (grub_net_link_layer_resolve_check): Likewise.
3554 (grub_net_link_layer_resolve): Likewise.
3555 (grub_net_dns_lookup): Likewise.
3556 (grub_net_add_dns_server): Likewise.
3557 (grub_net_remove_dns_server): Likewise.
3558 (GRUB_NET_TRIES): New const.
3559 (GRUB_NET_INTERVAL): Likewise.
3560 * include/grub/net/arp.h: Mostly rewritten.
3561 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
3562 * include/grub/net/ip.h: Mostly rewritten.
3563 * include/grub/net/netbuff.h: Indent.
3564 * include/grub/net/tcp.h: New file.
3565 * include/grub/net/udp.h: Mostly rewritten.
3566 * include/grub/priority_queue.h: New file.
3567 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
3568 (grub_swap_bytes64_compile_time): Likewise.
3569 (grub_cpu_to_be16_compile_time): Likewise.
3570 (grub_cpu_to_be32_compile_time): Likewise.
3571 (grub_cpu_to_be64_compile_time): Likewise.
3572 (grub_be_to_cpu64_compile_time): Likewise.
3573
215c1800
VS
35742011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
3575
3576 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
3577 UINT_TO_PTR with cast.
3578
c17e546c
VS
35792011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3580
3581 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
3582 don't use them.
3583
ff6b18b6
VS
35842011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3585
3586 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
3587 already there.
3588
70ffcc93
VS
35892011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3590
3591 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
3592 confusing ipxe.
3593
e5f4d260
VS
35942011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3595
3596 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
3597 Add missing const attribute.
3598 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
3599 Likewise.
3600 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
3601 Likewise.
3602
8e54b4b7
VS
36032011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3604
3605 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
3606 misaligned access.
3607 (serpent_setkey): Likewise.
3608 (serpent_encrypt_internal): Likewise.
3609 (serpent_decrypt_internal): Likewise.
3610 (serpent_encrypt): Don't put an alignment-increasing cast.
3611 (serpent_decrypt): Likewise.
3612 (serpent_test): Likewise.
3613
813c0a2b
VS
36142011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3615
3616 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
3617
f2b60fbd
VS
36182011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3619
3620 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
3621
3622 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
3623 grub_addr_t casts.
3624 (PTR_TO_UINT64): Likewise.
3625 (PTR_TO_UINT32): Likewise.
3626
5ef5c511
VS
36272011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3628
3629 * util/grub-mkimage.c (generate_image): Decrease the higher limit
3630 because of stack.
3631 * util/grub-setup.c (setup): Don't add redundancy past the higher load
3632 limit.
3633
c476e6df
VS
36342011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3635
3636 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
3637 text_width > available width a bit more gracefully.
3638
384ad7cc
VS
36392011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3640
3641 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
3642 current address calculation.
3643
96f8caf8
VS
36442011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3645
3646 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
3647 stack.
3648 (encode_block): Likewise.
3649
276b7a8b
VS
36502011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3651
3652 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
3653 certainety.
3654
e3fd394a
VS
36552011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3656
3657 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
3658 non-RS part to avoid RS messing with GDT.
3659 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
3660 Increase to suit in realmode routines.
3661
36622011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3663
3664 * grub-core/kern/i386/realmode.S: Increase alignment.
3665 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
3666
ee9c2e7a
VS
36672011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3668
3669 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
3670 be deterministic.
3671 (syndroms): Compute 0 syndrom.
3672 (rs_recover): Use 0 syndrom.
3673
7a7f7cc9
VS
36742011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3675
3676 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
3677
a14b16d1
VS
36782011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3679
3680 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
3681 brackets.
3682
9f59e9fc
VS
36832011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3684
ca1b552c
VS
3685 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
3686 account.
3687 (get_top_pad): Likewise.
3688 (get_right_pad): Likewise.
3689 (get_bottom_pad): Likewise.
3690
36912011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3692
3693 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 3694
e739d698
VS
36952011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3696
3697 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
3698 attribute as the structure isn't guaranteed to be properly aligned.
3699 (grub_efi_pci_device_path): Likewise.
3700 (grub_efi_pccard_device_path): Likewise.
3701 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
3702 specify the size of `memory_type'.
3703 (grub_efi_vendor_device_path): Likewise.
3704 (grub_efi_controller_device_path): Likewise.
3705 (grub_efi_acpi_device_path): Likewise.
3706 (grub_efi_expanded_acpi_device_path): Likewise.
3707 (grub_efi_atapi_device_path): Likewise.
3708 (grub_efi_scsi_device_path): Likewise.
3709 (grub_efi_fibre_channel_device_path): Likewise.
3710 (grub_efi_1394_device_path): Likewise.
3711 (grub_efi_usb_device_path): Likewise.
3712 (grub_efi_usb_class_device_path): Likewise.
3713 (grub_efi_i2o_device_path): Likewise.
3714 (grub_efi_mac_address_device_path): Likewise.
3715 (grub_efi_ipv4_device_path): Likewise.
3716 (grub_efi_ipv6_device_path): Likewise.
3717 (grub_efi_infiniband_device_path): Likewise.
3718 (grub_efi_uart_device_path): Likewise.
3719 (grub_efi_vendor_messaging_device_path): Likewise.
3720 (grub_efi_hard_drive_device_path): Likewise.
3721 (grub_efi_cdrom_device_path): Likewise.
3722 (grub_efi_vendor_media_device_path): Likewise.
3723 (grub_efi_file_path_device_path): Likewise.
3724 (grub_efi_protocol_device_path): Likewise.
3725 (grub_efi_piwg_device_path): Likewise.
3726 (grub_efi_bios_device_path): Likewise.
3727
cb8f88ea
VS
37282011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3729
3730 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
3731 (grub_ucs4_to_utf8_alloc): Likewise.
3732 (grub_ucs4_to_utf8): Likewise.
3733 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
3734 (grub_ucs4_to_utf8_alloc): Likewise.
3735
309e5352
VS
37362011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3737
3738 AFFS never uses unicode.
3739
3740 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
3741 (grub_latin1_to_utf8): New inline function.
3742 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
3743
e7987e1b
VS
37442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3745
3746 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
3747 overflow.
3748
efc2616e
VS
37492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3750
3751 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
3752 (grub_squash_dirent_header): Likewise.
3753 (read_chunk): Don't double swap.
3754 (grub_squash_iterate_dir): Fix swap sizes.
3755
3c349f5a
VS
37562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3757
3758 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
3759
b453412d
VS
37602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
3763 (grub_hfs_iterate_dir): Likewise.
3764
12e9d4d1
VS
37652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3766
3767 Fix video on platforms where unaligned access is forbidden.
3768 Make several optimisations while on it.
3769
3770 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
3771 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
3772 (grub_video_fbblit_replace_32bit_1bit): Likewise.
3773 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
3774 Disable.
3775 (grub_video_fbblit_replace_16bit_1bit):
3776 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
3777 (grub_video_fbblit_replace_8bit_1bit): Likewise.
3778 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
3779 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
3780 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
3781 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
3782 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
3783 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
3784 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
3785 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
3786 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
3787 (grub_video_fbblit_replace_index_RGB888): Likewise.
3788 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
3789 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
3790 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
3791 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
3792 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
3793 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
3794 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
3795 Disable.
3796 (grub_video_fbblit_blend_XXX565_1bit):
3797 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
3798 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
3799 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
3800 void *.
3801 * grub-core/video/fb/video_fb.c (common_blitter)
3802 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
3803 (grub_video_fb_create_render_target_from_pointer)
3804 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
3805 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
3806 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
3807 definition.
3808 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
3809
ace96609
VS
38102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3811
3812 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
3813 HH22 and HM10 relocations.
3814
fd261d73
VS
38152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3816
3817 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
3818
e59b7857
VS
38192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3820
3821 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
3822 allocation succeeded.
3823
9b4baaa4
VS
38242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3825
3826 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
3827 argument a u8 pointer. All users updated.
3828 Handle unaligned buffers.
3829
dc713193
VS
38302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3831
3832 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
3833 add_part to workaround compiler bug.
3834
30dd48c2
VS
38352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3836
3837 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
3838
0c6087a8
VS
38392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3840
3841 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
3842 Reserve alignment invariants.
3843 (grub_multiboot_load): Likewise.
3844 (retrieve_video_parameters): Likewise.
3845 (grub_multiboot_make_mbi): Likewise.
3846
c2e77777
VS
38472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3848
3849 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
3850 incorrect pointer.
3851
b70b6d11
VS
38522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3853
3854 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
3855 (grub_pata_pio_write): Likewise.
3856
02a2bf83
VS
38572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3858
3859 Add noreturn attributes and remove unreachable code.
3860
3861 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
3862 code.
3863 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
3864 code. Mark as noreturn.
3865 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
3866 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
3867 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
3868 unreachable code.
3869 * grub-core/kern/main.c (grub_main): Mark as noreturn.
3870 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
3871 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
3872 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
3873 * include/grub/kernel.h (grub_main): Mark as noreturn.
3874 * include/grub/reader.h (grub_rescue_run): Likewise.
3875
2019d09e
VS
38762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3877
3878 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
3879 redundant declaration.
3880
d1c501ee
VS
38812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3882
3883 * include/grub/net.h (grub_net_network_level_interfaces): Remove
3884 redundant declaration.
3885 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
3886
61664420
VS
38872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3888
3889 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
3890 to ensure alignment.
3891 (grub_hdparm_print_identify): Make argument uint16 * to ensure
3892 alignment. Ensure tmp alignment.
3893 (grub_cmd_hdparm): Ensure buf alignment.
3894 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
3895 to ensure alignment.
3896 (grub_ata_dumpinfo): Ensure text alignment.
3897 (grub_atapi_identify): Preserve alignment invariant.
3898 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
3899
0d51ee20
VS
39002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3901
3902 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
3903 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
3904 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
3905 * include/grub/misc.h (grub_reboot)
3906 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
3907 (grub_halt) [__mips__]: Likewise.
3908
753ef8c1
VS
39092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3910
3911 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
3912 Remove redundant declaration.
3913 (grub_mmap_get_post64): Likewise.
3914 (grub_mmap_get_upper): Likewise.
3915 (grub_mmap_get_lower): Likewise.
3916
85c85365
VS
39172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3918
3919 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
3920 uint32_t * to ensure alignment.
3921 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
3922
a23f2cc4
VS
39232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3924
93018f64
VS
3925 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
3926 uint16_t * to ensure alignment.
3927 (sun_pc_partition_map_iterate): Make `block' a union to ensure
3928 alignment.
3929
39302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3931
3932 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
3933 to ensure alignment.
3934 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
3935
58acccd6
VS
39362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3937
3938 * grub-core/fs/ntfs.c (u16at): Make into inline function.
3939 Handle unaligned pointers.
3940 (u32at): Likewise.
3941 (u64at): Likewise.
3942 (fixup): Use byte access instead of v16at.
3943 (find_attr): Fix imporper usage of v32at.
3944 (read_data): Likewise.
3945 (list_file): Handle byte-swapping and unaligned strings.
3946 (grub_ntfs_label): Likewise.
3947
9b05cad7
VS
39482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3949
3950 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
3951 as it's not necessarily aligned.
3952
b3950b84
VS
39532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3954
3955 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
3956 redundant declaration.
3957 (grub_serial_init): Likewise.
3958 (grub_terminfo_init): Likewise.
3959
fcd232b7
VS
39602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
3963 function.
3964 (ZAP_HASH_IDX): Likewise.
3965 (ZAP_LEAF_HASH_SHIFT): Likewise.
3966 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
3967 (LEAF_HASH): Likewise.
3968 (ZAP_LEAF_NUMCHUNKS): Likewise.
3969 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
3970 alignment invariants. Return pointer. All users updated.
3971 (ZAP_LEAF_ENTRY): Make into inline function.
3972 (NBBY): Removed.
3973 (xor): LIkewise.
3974 (xor_out): Use grub_crypto_xor.
3975 (dnode_get_path): Use grub_get_unaligned.
3976 (nvlist_find_value): Likewise.
3977 (grub_zfs_nvlist_lookup_uint64): Likewise.
3978 (grub_zfs_nvlist_lookup_string): Likewise.
3979 (get_nvlist_size): Likewise.
3980 (grub_zfs_open): Likewise.
3981 (fill_fs_info): Likewise.
3982 (grub_zfs_dir): Likewise.
3983 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
3984 alignment invariants.
3985 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
3986 necessarily aligned.
3987
f138623a
VS
39882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3989
3990 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
3991
564840dc
VS
39922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3993
3994 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
3995 arithmetic to conserve alignment invariants.
3996
9b40df20
VS
39972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3998
3999 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
4000 redundant declaration.
4001 (grub_efiemu_mm_obtain_request): Likewise.
4002 (grub_efiemu_prepare): Likewise.
4003
d1c930f9
VS
40042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4005
4006 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
4007 to match types.
4008
4c5f3056
VS
40092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4010
4011 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
4012 case of aunaligned recptr.
4013 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
4014 alignment.
4015 (grub_hfsplus_btree_search): Handle unaligned index.
4016
728cba91
VS
40172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4018
4019 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
4020 to get freetag and skip.
4021
eb561f31
VS
40222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4023
4024 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
4025 array.
4026 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
4027 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
4028
20993fbb
VS
40292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4030
4031 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
4032 name for checksum and fix allocation algorithm.
4033
1f313b94
VS
40342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4035
4036 * include/grub/types.h (grub_properly_aligned_t): New type.
4037 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
4038 (grub_get_unaligned16): Add explicit casts.
4039 (grub_get_unaligned32): Likewise.
4040 (grub_get_unaligned64): Likewise.
4041 (grub_set_unaligned16): New function.
4042 (grub_set_unaligned32): Likewise.
4043
47ae27ec
VS
40442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4045
4046 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
4047
78c2cd1c
VS
40482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4049
4050 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
4051 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
4052 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
4053
53072f9b
VS
40542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4055
4056 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
4057 conditionals.
4058
055dc239
VS
40592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4060
4061 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
4062 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
4063
496bd074
VS
40642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4065
4066 Unify and improve RAID and crypto xor.
4067
4068 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
4069 changed to grub_crypto_xor
4070 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
4071 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
4072 Use bigger types when possible.
4073
ef6e4335
VS
40742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4075
4076 * grub-core/disk/raid.c (scan_devices): Fix condition.
4077
5d048bf2
VS
40782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4079
4080 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
4081 Make name a const ptr.
4082
ee533335
VS
40832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4084
4085 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
4086 first argument a const pointer.
4087 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
4088 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
4089 proto.
4090 (grub_children_iterate): Likewise.
4091 (grub_machine_mmap_iterate): Remove redundant declaration.
4092
cc8f3668
VS
40932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4094
4095 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
4096 (grub_cmd_acpi) [!x86]: Disable EBDA.
4097
c5fc563a
VS
40982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4099
4100 Enable UTF8 in gnulib regexp.
4101
4102 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
4103 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
4104 (isupper): Use grub_isupper.
4105 (isascii): New inline function.
4106 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
4107 * grub-core/lib/posix_wrap/wctype.h: Likewise.
4108 * grub-core/normal/charset.c (grub_utf8_process): New function.
4109 (grub_utf8_to_utf16): Use grub_utf8_process.
4110 (grub_encode_utf8_character): New function.
4111 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
4112 * include/grub/charset.h (grub_utf8_process): New declaration.
4113 (grub_encode_utf8_character): Likewise.
4114 * include/grub/misc.h (grub_islower): New inline function.
4115 (grub_isupper): Likewise.
4116 (grub_strchrsub): Moved down to fix the definitions.
4117
0af2346f
VS
41182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4119
4120 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
4121 specification.
4122
74dbd244
VS
41232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4124
4125 * include/grub/loader.h (grub_loader_register_preboot_hook):
4126 Use struct preboot * and not void * for handle. All users updated.
4127 (grub_loader_unregister_preboot_hook): Likewise.
4128
1bc8f60d
VS
41292011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
4130
4131 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
4132 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
4133 UTF-16-BE. All users updated.
4134 (grub_hfsplus_cmp_catkey): Fix unicode handling.
4135 (grub_hfsplus_iterate_dir): Likewise.
4136 (grub_hfsplus_label): Likewise.
4137
48d6e456
VS
41382011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
4139
4140 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
4141
bf3a3857
VS
41422011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
4143
4144 Add missing const qualifiers.
4145
4146 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
4147 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
4148 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
4149 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
4150 (grub_lvm_check_flag): Likewise.
4151 * grub-core/efiemu/i386/coredetect.c
4152 (grub_efiemu_get_default_core_name): Likewise
4153 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
4154 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
4155 * grub-core/fs/ntfs.c (fixup): Likewise.
4156 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
4157 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
4158 (fzap_lookup): Likewise.
4159 (zap_lookup): Likewise.
4160 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
4161 * grub-core/lib/legacy_parse.c (check_option): Likewise.
4162 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
4163 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
4164 (grub_freebsd_add_meta_module): Likewise.
4165 (grub_cmd_freebsd_module): Likewise.
4166 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
4167 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
4168 (grub_xnu_writetree_get_size): Likewise.
4169 (grub_xnu_writetree_toheap_real): Likewise.
4170 (grub_xnu_find_key): Likewise.
4171 (grub_xnu_create_key): Likewise.
4172 (grub_xnu_create_value): Likewise.
4173 (grub_xnu_register_memory): Likewise.
4174 (grub_xnu_check_os_bundle_required): Likewise.
4175 (grub_xnu_scan_dir_for_kexts): Likewise.
4176 (grub_xnu_load_kext_from_dir): Likewise.
4177 * grub-core/normal/color.c (color_list): Likewise.
4178 * grub-core/normal/completion.c (current_word): Likewise.
4179 * grub-core/normal/menu_entry.c (insert_string): Likewise.
4180 * grub-core/term/serial.c (grub_serial_find): Likewise.
4181 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
4182 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
4183 Likewise.
4184 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
4185 (grub_freebsd_add_meta_module): Likewise.
4186 * include/grub/lib/arg.h (grub_arg_option): Likewise.
4187 * include/grub/net.h (grub_net_card_driver): Likewise.
4188 (grub_net_card): Likewise.
4189 (grub_net_app_protocol): Likewise.
4190 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
4191 * include/grub/serial.h (grub_serial_find): Likewise.
4192 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
4193 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
4194 (grub_xnu_create_value): Likewise.
4195 (grub_xnu_find_key): Likewise.
4196 (grub_xnu_scan_dir_for_kexts): Likewise.
4197 (grub_xnu_load_kext_from_dir): Likewise.
4198
4199 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
4200 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
4201 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
4202 Moved from here ...
4203 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
4204
112b4837
CW
42052011-11-28 Colin Watson <cjwatson@ubuntu.com>
4206
4207 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
4208
49e891ac
VS
42092011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
4210
4211 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
4212 (read_device): Fix size calculation.
4213
fd258e5c
RM
42142011-11-25 Robert Millan <rmh@gnu.org>
4215
4216 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
4217 (find_root_device_from_libzfs): Add zpool output parser to be used
4218 as fallback when libzfs isn't available.
4219
78845dc2
SG
42202011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
4221
4222 * po/Makefile.in.in: Add missing escape-continuation.
4223
adac5211
VS
42242011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
4225
4226 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
4227
10b64f1c
VS
42282011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4229
4230 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
4231
bb416954
VS
42322011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4233
4234 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
4235
bdfe9eeb
VS
42362011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4237
4238 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
4239
581ffa8a
VS
42402011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4241
4242 * grub-core/lib/adler32.c: Add missing license specification.
4243 * grub-core/lib/crc64.c: Likewise.
4244 * grub-core/loader/i386/pc/plan9.c: Likewise.
4245 * grub-core/partmap/plan.c: Likewise.
4246
2536cf64
LK
42472011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
4248
4249 Add facility to debug GRUB with gdb under qemu.
4250
4251 * grub-core/gdb_grub.in: New file.
4252 * grub-core/gmodule.pl.in: Likewise.
4253 * grub-core/Makefile.core.def (gmodule.pl): New script.
4254 (gdb_grub): Likewise.
4255
bc108a4a
VS
42562011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4257
4258 * util/grub-mount.c (argp_parser): Accept relative pathes.
4259 * util/grub-fstest.c (argp_parser): Likewise.
4260
111c1778
VS
42612011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4262
4263 Plan9 support.
4264
4265 * Makefile.util.def (libgrubmods): Add
4266 grub-core/partmap/plan.c.
4267 * docs/grub.texi: Notice Plan9 support.
4268 * grub-core/Makefile.core.def (plan9): New module.
4269 (part_plan): Likewise.
4270 * grub-core/loader/i386/pc/plan9.c: New file.
4271 * grub-core/partmap/plan.c: Likewise.
4272 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
4273 define.
4274 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
4275 * include/grub/mm.h (grub_extend_alloc): New inline function.
4276
c30be3b6
VS
42772011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4278
4279 Make Reed-Solomon faster by using power of generator representation of
4280 GF(256)*.
4281
4282 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
4283 (gf_double_t): Likewise.
4284 (gf_invert): Removed.
4285 (gf_powx): New array.
4286 (gf_powx_inv): Likewise.
4287 (scratch): Move higher.
4288 (gf_reduce): Removed.
4289 (gf_mul): Use powx.
4290 (gf_invert): Likewise.
4291 (init_inverts): Replaced with ...
4292 (init_powx): ...this. All users updated.
4293 (pol_evaluate): Replace multiplications with additions.
4294 (rs_encode): Likewise.
4295 (gauss_eliminate): Call gf_invert.
4296 (grub_reed_solomon_add_redundancy): Call init_powx.
4297 (grub_reed_solomon_recover): Call init_powx unconditionally.
4298
fa5aeffc
VS
42992011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4300
4301 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
4302
a346b81c
VS
43032011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4304
4305 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
4306 disk->partiton for safety.
4307
d89ee414
VS
43082011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4309
4310 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
4311 Fix a memory leak.
4312 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
4313
91ee7b6d
VS
43142011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4315
4316 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
4317
91e5a33d
VS
43182011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4319
4320 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
4321
9edd7be2
VS
43222011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4323
4324 Fix spaces handling in proc/self/mountinfo.
4325
4326 * util/getroot.c (unescape): New function.
4327 (grub_find_root_device_from_mountinfo): Use unescape.
4328
ba102053
VS
43292011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4330
4331 Support ZFS embedding.
4332
4333 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
4334 (grub_zfs_fs): Register grub_zfs_embed.
4335
aa94b870
VS
43362011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4337
4338 Fix MIPS compilation.
4339
4340 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
4341 * include/grub/offsets.h: Rename decompressor fields from
4342 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
4343 * util/grub-mkimage.c (image_targets): Use new names.
4344
5fbdac14
VS
43452011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4346
4347 Defer multiboot device parsing until we're in compressed part.
4348
4349 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
4350 bsd_part. setdevice has fallen into disuse.
4351 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
4352 (bsd_part): Likewise.
4353 (boot_dev): New variable.
4354 (multiboot_trampoline): Don't parse multiboot device.
4355 Pass multiboot device in %edx.
4356 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
4357 grub_boot_device.
4358 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
4359 Likewise.
4360 * grub-core/kern/i386/pc/startup.S: Save edx.
4361 (grub_boot_drive): Removed.
4362 (grub_install_dos_part): Likewise.
4363 (grub_install_bsd_part): Likewise.
4364 (grub_boot_device): New variable.
4365 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
4366 (grub_install_bsd_part): Likewise.
4367 (grub_boot_drive): Likewise.
4368 (grub_boot_device): New variable.
4369 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
4370 Removed.
4371 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
4372 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
4373 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
4374 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
4375 * util/grub-install.in: Remove redundant condition.
4376
691cbb58
VS
43772011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4378
4379 Fix bug introduced by previous commit.
4380
4381 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
4382
60240b8b
VS
43832011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4384
4385 Use decompressors framework on i386-pc. It increases core size
4386 by 46 bytes but improves compatibility and maintainability.
4387
4388 * grub-core/Makefile.core.def (lzma_decompress): New image.
4389 (kernel): Add i386_pc_ldflags.
4390 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
4391 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
4392 to real_to_prot, prot_to_real and device info.
4393 * include/grub/offsets.h: Renamed decompressor offsets.
4394 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
4395 (image_target_desc): Remove raw_size and rename decompressor fields.
4396 (compress_kernel): Handle lzma.
4397 (generate_image): Handle decompressors on i386-pc.
4398
e9d3421c
VS
43992011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4400
4401 * configure.ac: Add -fno-asynchronous-unwind-tables.
4402
2b23074a
VS
44032011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4404
4405 Move assembly code to C by using intwrap. It increases core size
4406 by 88 bytes but improves compatibility and maintainability.
4407
4408 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
4409 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
4410 ... here. Translated to C.
4411 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
4412 * grub-core/term/i386/pc/console.c (grub_console_getkey):
4413 ... here. Translated to C.
4414 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
4415 * grub-core/term/i386/pc/console.c (grub_console_getxy):
4416 ... here. Translated to C.
4417 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
4418 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
4419 ... here. Translated to C.
4420 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
4421 * grub-core/term/i386/pc/console.c (grub_console_cls):
4422 ... here. Translated to C.
4423 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
4424 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
4425 ... here. Translated to C.
4426 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
4427 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
4428 Translated to C.
4429 * grub-core/term/i386/pc/console.c (int10_9): New function.
4430 (grub_console_putchar): Likewise.
4431 * include/grub/i386/pc/console.h: Removed the not anymore shared
4432 functions.
4433
678f4b67
VS
44342011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4435
4436 Move grub_chainloader_real_boot out of the kernel.
4437
4438 * grub-core/Makefile.am: Remove machine/loader.h.
4439 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
4440 Removed.
4441 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
4442 variable.
4443 (grub_relocator16_keep_a20_enabled): Likewise.
4444 (grub_relocator16_boot): Fill new variables.
4445 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
4446 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
4447 relocator.
4448 (grub_chainloader_unload): Likewise.
4449 (grub_chainloader_cmd): Likewise.
4450 * include/grub/i386/pc/loader.h: Removed.
4451 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
4452 and esi. All initialisers updated.
4453
4626edf6
VS
44542011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
44552011-11-12 Colin Watson <cjwatson@ubuntu.com>
4456
4457 * Makefile.util.def (grub-mount): New util.
4458 * .bzrignore: Add grub-mount.
4459 * configure.ac: Check for fuse and enable grub-mount if available.
4460 * docs/man/grub-mount.h2m: New file.
4461 * util/grub-mount.c: Likewise.
4462
10f0117b
VS
44632011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4464
4465 * grub-core/commands/efi/fixvideo.c: Gettextize.
4466 * grub-core/commands/hashsum.c: Likewise.
4467 * grub-core/commands/i386/cmostest.c: Likewise.
4468 * grub-core/commands/i386/pc/drivemap.c: Likewise.
4469 * grub-core/commands/i386/pc/lsapm.c: Likewise.
4470 * grub-core/commands/i386/pc/sendkey.c: Likewise.
4471 * grub-core/commands/lsmmap.c: Likewise.
4472 * grub-core/commands/menuentry.c: Likewise.
4473 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
4474 * grub-core/commands/setpci.c: Likewise.
4475 * grub-core/loader/i386/bsd.c: Likewise.
4476 * grub-core/loader/i386/linux.c: Likewise.
4477 * util/getroot.c: Likewise.
4478 * util/grub-editenv.c: Likewise.
4479 * util/grub-fstest.c: Likewise.
4480 * util/grub-mkfont.c: Likewise.
4481 * util/grub-mkimage.c: Likewise.
4482 * util/grub-mkpasswd-pbkdf2.c: Likewise.
4483 * util/grub-pe2elf.c: Likewise.
4484 * util/grub-probe.c: Likewise.
4485 * util/grub-setup.c: Likewise.
4486 * util/ieee1275/ofpath.c: Likewise.
4487 * util/misc.c: Likewise.
4488 * util/raid.c: Likewise.
4489
566f779b
RM
44902011-11-11 Robert Millan <rmh@gnu.org>
4491
4492 * util/getroot.c (grub_util_get_geom_abstraction): Remove
4493 __attribute__((unused)) from `os_dev', which *is* being used.
4494
b50787de
VS
44952011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4496
4497 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
4498 forgotten define.
4499 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
4500 GRUB_IA64_DL_GOT_ALIGN.
4501 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
4502 GRUB_IA64_DL_TRAMP_ALIGN.
4503
119d11c8
VS
45042011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4505
4506 Replace grub_fatal with normal errors in i386 linux loader.
4507
4508 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
4509 (allocate_pages): Check find_efi_mmap_size return value.
4510 (grub_e820_add_region): Return error.
4511 (grub_linux_boot): Check mmap return value.
4512
6e0632e2
VS
45132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4514
4515 * grub-core/commands/acpihalt.c: Gettextized.
4516 * grub-core/commands/cacheinfo.c: Likewise.
4517 * grub-core/commands/cmp.c: Likewise.
4518 * grub-core/commands/efi/loadbios.c: Likewise.
4519 * grub-core/commands/gptsync.c: Likewise.
4520 * grub-core/commands/ieee1275/suspend.c: Likewise.
4521 * grub-core/commands/legacycfg.c: Likewise.
4522 * grub-core/commands/memrw.c: Likewise.
4523 * grub-core/commands/minicmd.c: Likewise.
4524 * grub-core/commands/parttool.c: Likewise.
4525 * grub-core/commands/time.c: Likewise.
4526 * grub-core/commands/videoinfo.c: Likewise.
4527 * grub-core/disk/geli.c: Likewise.
4528 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
4529 * grub-core/disk/luks.c: Likewise.
4530 * grub-core/disk/lvm.c: Likewise.
4531 * grub-core/font/font_cmd.c: Likewise.
4532 * grub-core/fs/zfs/zfscrypt.c: Likewise.
4533 * grub-core/fs/zfs/zfsinfo.c: Likewise.
4534 * grub-core/gfxmenu/view.c: Likewise.
4535 * grub-core/kern/emu/hostdisk.c: Likewise.
4536 * grub-core/kern/emu/main.c: Likewise.
4537 * grub-core/kern/emu/misc.c: Likewise.
4538 * grub-core/kern/emu/mm.c: Likewise.
4539 * grub-core/kern/mips/arc/init.c: Likewise.
4540 * grub-core/kern/mips/loongson/init.c: Likewise.
4541 * grub-core/kern/partition.c: Likewise.
4542 * grub-core/lib/i386/halt.c: Likewise.
4543 * grub-core/lib/mips/arc/reboot.c: Likewise.
4544 * grub-core/lib/mips/loongson/reboot.c: Likewise.
4545 * grub-core/loader/i386/pc/chainloader.c: Likewise.
4546 * grub-core/loader/i386/xnu.c: Likewise.
4547 * grub-core/loader/multiboot.c: Likewise.
4548 * grub-core/net/bootp.c: Likewise.
4549 * grub-core/net/net.c: Likewise.
4550 * grub-core/normal/term.c: Likewise.
4551 * grub-core/partmap/bsdlabel.c: Likewise.
4552 * grub-core/parttool/msdospart.c: Likewise.
4553 * grub-core/term/gfxterm.c: Likewise.
4554 * grub-core/term/terminfo.c: Likewise.
4555 * grub-core/video/i386/pc/vbe.c: Likewise.
4556 * util/grub-menulst2cfg.c: Likewise.
4557 * util/grub-mkdevicemap.c: Likewise.
4558 * util/grub-mklayout.c: Likewise.
4559 * util/grub-mkrelpath.c: Likewise.
4560 * util/grub-script-check.c: Likewise.
4561 * util/ieee1275/grub-ofpathname.c: Likewise.
4562 * util/resolve.c: Likewise.
4563
073aa7a9
VS
45642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4565
4566 Support %1$d syntax.
4567
4568 * tests/printf_unit_test.c: New file.
4569 * Makefile.util.def (printf_test): New test.
4570 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
4571
c76b5417
VS
45722011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4573
4574 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
4575 fix.
4576
df067ad1
VS
45772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4578
4579 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
4580 dprintf.
4581 * grub-core/font/font.c (grub_font_load): Likewise.
4582
5b289bc5
VS
45832011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4584
4585 * util/grub-macho2img.c: Add comment concerning gettext.
4586 * grub-core/lib/legacy_parse.c: Likewise.
4587
c1860f87
VS
45882011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4589
4590 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
4591 (grub_xvasprintf): Likewise.
4592
d35d0d37
VS
45932011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4594
4595 Add const keyword to grub_env_get and gettextize week days.
4596
4597 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
4598 (grub_read_hook_datetime): Return const char *.
4599 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
4600 updated.
4601 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
4602 Mark for gettext.
4603 (grub_get_weekday_name): Return const char *. Call gettext.
4604 * grub-core/script/argv.c (grub_script_argv_append): Receive const
4605 char * and len as the argument. All users updated.
4606 (grub_script_argv_split_append): Receive const char *.
4607 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
4608 * include/grub/env.h (grub_env_get): Likewise.
4609 (grub_env_read_hook_t): Return const char *.
4610 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
4611 (grub_script_argv_split_append): Likewise.
4612
9aed8a71
VS
46132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4614
4615 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
4616
067fdf00
VS
46172011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4618
4619 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
4620 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
4621
a8bd9d39
VS
46222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4623
4624 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
4625 Fix prototype.
4626
f7ce5baf
VS
46272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4628
4629 Fix mips compilation.
4630
4631 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
4632 normal decoder.
4633 (hashes): Use in embed decoder as well (for sizes).
4634 (dec_stream_header): Fix embed decompressor logic.
4635 (dec_stream_footer): Likewise.
4636
9bb182f3
VS
46372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4638
4639 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
4640 an error and not a fatal on unrecognised relocation types.
4641
63a9e6f6
VS
46422011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4643
4644 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
4645 Issue error rather than printf on unknown arguments.
4646
4c458569
VS
46472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4648
4649 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
4650 Make buf a const.
4651
e2d22baf
VS
46522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4653
4654 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
4655 Fix module name.
4656
53dc8590
VS
46572011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4658
4659 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
4660 leftover debug printf.
4661
6c189294
VS
46622011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4663
4664 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
4665
f7688369
VS
46662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4667
4668 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
4669 A stylistic fix.
4670
11a775a3
VS
46712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4672
4673 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
4674
33f784e8
SL
46752011-11-10 Shea Levy <slevy@tieronedesign.com>
4676
4677 Allow all modules to perform serial IO
4678
4679 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
4680 * include/grub/serial.h (grub_serial_port_configure): New inline
4681 function.
4682 (grub_serial_port_fetch): Likewise.
4683 (grub_serial_port_put): Likewise.
4684 (grub_serial_port_fini): Likewise.
4685 (grub_serial_find): New proto.
4686
f6276525
VS
46872011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4688
4689 Put symlink at the end of the node and fix a potential
4690 memory corruption.
4691
4692 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
4693 Make symlink into an array.
4694 (set_rockridge): Set have_symlink and alloc_dirents.
4695 (grub_iso9660_read_symlink): Use new layout.
4696 (grub_iso9660_iterate_dir): Fix memory corruption.
4697 Use new layout.
4698 (grub_iso9660_dir): Set have_symlink.
4699 (grub_iso9660_open): Likewise.
4700
c3591189
VS
47012011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 Remove local keyword.
4704
4705 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
4706 (version_test_gt): Likewise.
4707 (version_find_latest): Likewise.
4708 (gettext_printf): Likewise.
4709 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
4710
cb544caa
VS
47112011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4712
4713 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
4714
45bd824d
VS
47152011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4716
4717 Fix ZFS memory and resource leaks.
4718
4719 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
4720 All users updated.
4721 Free type on exit.
4722 (fill_vdev_info): New parameter inserted. All users updated.
4723 (check_pool_label): Likewise.
4724 (scan_disk): Likewise.
4725 (scan_devices): Close non-inserted disks.
4726 (fzap_iterate): Free l.
4727 (unmount_device): Free children descripto memory.
4728
ad9a2f44
VS
47292011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4730
4731 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
4732 argument (access out of bounds).
4733
6b68db81
VS
47342011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4735
4736 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
4737 >= 6 drives.
4738
28840fda
VS
47392011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4740
4741 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
4742 Fix declaration.
4743
8a5a3a5b
VS
47442011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4745
4746 Fix several memory leaks.
4747
4748 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
4749 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
4750 (grub_cpio_dir): Likewise.
4751 * grub-core/fs/fat.c (grub_fat_label): Likewise.
4752 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
4753 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
4754 (grub_romfs_label): Likewise.
4755 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
4756 (squash_unmount): New function.
4757 (grub_squash_dir): Fix memory leak.
4758 (grub_squash_open): Likewise.
4759 (grub_squash_read): Likewise.
4760 (grub_squash_mtime): Likewise.
4761 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
4762 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
4763 * util/grub-fstest.c (fstest): Likewise.
4764
57b01250
VS
47652011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4766
4767 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
4768 avoid accessing beyond the array.
4769
19e81ba7
VS
47702011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4771
4772 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
4773
52b656c0
VS
47742011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4775
4776 Several AFFS fixes.
4777
4778 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
4779 (GRUB_AFFS_FLAG_FFS): Removed.
4780 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
4781 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
4782 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
4783 (grub_fshelp_node): Make block 32-bit.
4784 Add block_cache and last_block_cache.
4785 (grub_affs_read_block): Fill and use block cache.
4786 (grub_affs_read_file): Removed.
4787 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
4788 boot block.
4789 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
4790 safety.
4791 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
4792 space.
4793 (grub_affs_close): Free block cache.
4794 (grub_affs_read): Use grub_fshelp_read_file directly.
4795
438a746a
VS
47962011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4797
4798 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
4799 with no error set.
4800
49a45021
VS
48012011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4802
4803 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
4804 used variable.
4805 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
4806 Likewise.
4807
3ae17eb8
VS
48082011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4809
4810 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
4811
4812 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
4813 byteswap when needed.
4814
27610c38
VS
48152011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 Fix FreeBSD compilation.
4818
4819 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
4820 to avoid circular dependency.
4821 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
4822 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
4823 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
4824
4a19b601
VS
48252011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4826
4827 Fix ZFS crypto error types.
4828
4829 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
4830 (grub_gcm_decrypt): Likewise.
4831 (grub_zfs_load_key_real): Fix error code type. Handle possible error
4832 from PBKDF2.
4833
958ee221
VS
48342011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4835
4836 Illumos support.
4837
4838 * Makefile.util.def (10_illumos): New script.
4839 * configure.ac: Set COND_HOST_ILLUMOS.
4840 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
4841 Support Illumos calls.
4842 (find_partition_start) [__sun__]: Likewise.
4843 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
4844 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
4845 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
4846 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
4847 device.
4848 * util/grub-probe.c (probe) [__sun__]: Do character check.
4849 * util/grub.d/10_illumos.in: New file.
4850
cac14fb6
VS
48512011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4852
4853 Support escaped commas in hostdisk.
4854
4855 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
4856 (find_grub_drive): Use unescape_cmp.
4857 (make_device_name): Escape commas.
4858
78e08dc3
VS
48592011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4860
4861 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
4862
9f421dd1
VS
48632011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4864
4865 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
4866 variable.
4867
ed64e9e2
VS
48682011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4869
4870 Support trampoline jumps on powerpc.
4871
4872 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
4873 __ia64__ path.
4874 (grub_dl_load_segments): Set mod->sz.
4875 (grub_dl_flush_cache): Flush whole space occupied by module, not just
4876 segments.
4877 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
4878 (jump): Likewise.
4879 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
4880 function.
4881 (trampoline): New struct.
4882 (trampoline_template): New const.
4883 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
4884 * include/grub/dl.h (grub_dl): Add sz element.
4885 [__powerpc__]: Follow __ia64__.
4886 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
4887 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
4888 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
4889 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
4890
3084ede4
VS
48912011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4892
4893 ZFS crypto support.
4894
4895 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
4896 * grub-core/Makefile.core.def (zfscrypt): New module.
4897 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
4898 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
4899 it. All users updated.
4900 (grub_zfs_decrypt): New var.
4901 (grub_zfs_load_key): Likewise.
4902 (zio_checksum_functions): Add SHA256+MAC.
4903 (zio_checksum_verify): Handle incomplete comparison due to MAC.
4904 (zio_read): Handle encrypted blocks.
4905 (zap_verify): Remove incorrect check.
4906 (fzap_iterate): Handle non-standard fzap.
4907 (zap_iterate): Likewise.
4908 (zap_iterate_u64): New function.
4909 (dnode_get_fullpath): Load keys.
4910 * grub-core/fs/zfs/zfscrypt.c: New file.
4911 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
4912 (grub_crypto_ecb_encrypt): Make input const.
4913 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
4914 (grub_crypto_ecb_encrypt): Make input const.
4915 (GRUB_CIPHER_AES): New macro.
4916 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
4917 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
4918 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
4919 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
4920 prefix. All users updated.
4921 (grub_zfs_add_key): New proto.
4922 (grub_zfs_decrypt): Likewise.
4923 (grub_zfs_load_key): Likewise.
4924 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
4925 * util/grub-fstest.c (options): Add -K option.
4926 (argp_parser): Likewise.
4927
b632b404
VS
49282011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
4929
4930 Support zle compression on ZFS.
4931
4932 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
4933 (decomp_table): Add zle.
4934 * include/grub/zfs/zio.h (zio_compress): Add zle.
4935
c7ba4f69
VS
49362011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
4937
4938 Support BtrFS embedding.
4939
4940 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
4941 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
4942 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
4943 * util/grub-setup.c (setup): Use fs embedding if available.
4944 Add additional sanity check.
4945
455377d9
VS
49462011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
4947
4948 * util/grub-install.in: Fix condition for config_opt.
4949
c2fd16ca
VS
49502011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4951
4952 Support third redundancy strip on raidz3.
4953
4954 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
4955 Return error on singularity. All users updated.
4956 (read_device): Don't stop on 3rd failure on raidz3.
4957
8622923b
VS
49582011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4959
4960 Support case-insensitive ZFS subvolumes.
4961
4962 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
4963 All users updated.
4964 (zap_hash): Likewise.
4965 (name_cmp): New function.
4966 (zap_leaf_array_equal): New parameter case_insensitive.
4967 All users updated.
4968 (zap_leaf_lookup): Likewise.
4969 (fzap_lookup): Likewise.
4970 (zap_lookup): Likewise.
4971 (dnode_get_path): New parameter case_insensitive. Retrieve case
4972 sensitiviness of a volume. All users updated.
4973 (dnode_get_fullpath): New parameter case_insensitive.
4974 All users updated.
4975 (grub_zfs_dir): Set info.case_insensitiveness.
4976
95f2e860
VS
49772011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4978
4979 Support second redundancy strip on raidz(2,3).
4980
4981 * grub-core/fs/zfs/zfs.c (powx): New array.
4982 (powx_inv): Likewise.
4983 (poly): New const.
4984 (xor_out): New function.
4985 (gf_mul): Likewise.
4986 (recovery): Likewise.
4987 (read_device): Use second redundancy strip.
4988
11ee4389
VS
49892011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4990
4991 Use a power of generator representation of GF(256) multiplication group
4992 to save space time and complexity.
4993
4994 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
4995 (raid6_table2): Likewise.
4996 (powx): New array.
4997 (powx_inv): Likewise.
4998 (poly): New const.
4999 (grub_raid_block_mul): Replace with ...
5000 (grub_raid_block_mulx): ...this.
5001 (grub_raid6_init_table): Rewritten.
5002 (grub_raid6_recover): Use power of generator representation.
5003
09e2763f
VS
50042011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5005
5006 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
5007 for the right device.
5008
8bec9a28
VS
50092011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5010
5011 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
5012 expected by grub-mkimage and it's more clear since there is no implicit
5013 padding.
5014
dbd3a32e
VS
50152011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5016
5017 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
5018 disk.
5019 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
5020
182c872a
PMH
50212011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
5022
5023 * util/grub-mkrescue.in: Fix handling xorriso option.
5024
1e51cabd
VS
50252011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5026
5027 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
5028 NULL.
5029
9cc3581d 50302011-11-03 crocket <crockabiscuit@gmail.com>
5031
5032 * util/grub.d/10_linux.in: Add Slackware initrd naming.
5033
158dc1ea
VS
50342011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5035
5036 XZ CRC64 and SHA256 support.
5037
5038 * Makefile.util.def (libgrubmods): Add crc64.c.
5039 * grub-core/Makefile.core.def (crc64): New module.
5040 * grub-core/lib/crc64.c: New file.
5041 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
5042 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
5043 Fix the type.
5044 (MAX_HASH_SIZE): New define.
5045 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
5046 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
5047 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
5048 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
5049 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
5050 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
5051 Handle non-crc32 hashes.
5052 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
5053 (dec_stream_header): Handle non-crc32 hashes.
5054 (dec_stream_footer): Likewise.
5055 (dec_block_header): Likewise.
5056 (dec_main): Likewise.
5057 (xz_dec_init): Likewise.
5058 (xz_dec_reset): Likewise.
5059 (xz_dec_end): Likewise.
5060 * util/import_gcry.py: Add CRC64 line.
5061
9d9b3d2f
VS
50622011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5063
5064 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
5065 as well.
5066
7d0ac931
VS
50672011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5068
5069 Make reiserfs label retrieval similar to other *_label functions.
5070
5071 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
5072 (REISERFS_MAX_LABEL_LENGTH): Removed.
5073 (REISERFS_LABEL_OFFSET): Likewise.
5074 (grub_reiserfs_label): Rewritten.
5075
50762011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5077
5078 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
5079 field.
5080
cf5ba824
VS
50812011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5082
5083 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
5084
17744004
VS
50852011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
5086
5087 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
5088 drive failure on both raidz and raidz2.
5089
aca5aefc
VS
50902011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
5091
5092 Fix RAIDZ(2) for >= 5 devices.
5093
5094 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
5095 asize argument. All users updated.
5096
ce8ca56e
VS
50972011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5098
5099 Fix RAIDZ(2).
5100
5101 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
5102 (fill_vdev_info_real): Set ashift.
5103 (read_device): Rewrite RAIDZ part based on reverse engineering.
5104
7c01e783
VS
51052011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5106
5107 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
5108 don't report potentially unavialiable fields in debug output.
5109 (find_path): Fix double-free and memory leak.
5110
ce109e84
VS
51112011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5112
5113 Read label on UFS1.
5114
5115 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
5116 (grub_ufs_fs): Always set .label.
5117
87661123
VS
51182011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5119
5120 Use shifts in UFS.
5121
5122 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
5123 (grub_ufs_data): New field log2_blksz.
5124 (grub_ufs_read_file): Use shifts.
5125 (grub_ufs_mount): Check block size and logarithm it.
5126
46bc1dc2
VS
51272011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5128
5129 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
5130 long symlinks.
5131
19ee2987
VS
51322011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5133
5134 Handle symlinks and long names on tar and cpio.
5135
5136 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
5137 (ATTR_FILE): Likewise.
5138 (ATTR_DIR): Likewise.
5139 (ATTR_LNK): Likewise.
5140 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
5141 (grub_cpio_find_file): Fill mode, handle linkname field as well as
5142 L and K entries.
5143 (grub_cpio_mount): Zero-fill data.
5144 (handle_symlink): New function.
46bc1dc2
VS
5145 (grub_cpio_dir): Handle symlinks.
5146 (grub_cpio_open): Likewise.
5147 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 5148
c83a08d8
VS
51492011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5150
5151 Fix iso9660 filename limitations and fix memory leaks.
5152
5153 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
5154 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
5155
45cdd3ea
VS
51562011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5157
5158 Fix JFS file name length limitations.
5159
5160 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
5161 (grub_jfs_diropen): Fix maximum filename length.
5162 (grub_jfs_getent): Fix filename length.
5163 (grub_jfs_lookup_symlink): Fix size checks.
5164
94ef05c2
VS
51652011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5166
5167 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
5168 string.
5169
785ab8c7
VS
51702011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5171
eb0b6b45
VS
5172 Leverage BFS implementation to read AFS.
5173
5174 * Makefile.util.def (libgrubmods): Add afs.c.
5175 * grub-core/Makefile.core.def (afs): New module
5176 * grub-core/fs/afs.c: New file.
5177 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
5178
51792011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5180
5181 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 5182
c4a1628f
VS
51832011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5184
5185 * grub-core/fs/bfs.c: Run indent.
5186
5825b379
VS
51872011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5188
5189 BFS implementation based on the specification.
5190
5191 * grub-core/fs/bfs.c: New file.
5192 * Makefile.util.def (libgrubmods): Add bfs.c.
5193 * grub-core/Makefile.core.def (bfs): New module.
5194
42b2a706
VS
51952011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5196
5197 * util/grub-fstest.c (cmd_cp): Clarify error message.
5198 (cmd_cmp): Likewise.
5199
61b99bfc
YB
52002011-10-30 Yves Blusseau <blusseau@zetam.org>
5201
5202 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
5203 and befs_be.
5204
faba3d16
VS
52052011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 Remove afs and befs because of copyright problem.
5208
5209 * grub-core/fs/afs.c: Removed.
5210 * grub-core/fs/afs_be.c: Removed.
5211 * grub-core/fs/befs.c: Removed.
5212 * grub-core/fs/befs_be.c: Removed.
5213 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
5214 * grub-core/Makefile.core.def (afs): Removed.
5215 (afs_be): Likewise.
5216 (befs): Likewise.
5217 (befs_be): Likewise.
5218
c39224b0
VS
52192011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5220
5221 Prefer rockridge over Joliet.
5222
5223 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
5224 to ...
5225 (set_rockridge): ... here.
5226 (grub_iso9660_mount): Check rockridge on the primary label when
5227 discovering. Ignore Joliet if Rockridge is present.
5228
e551115a
VS
52292011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5230
5231 Use shifts in nilfs2.
5232
5233 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
5234 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
5235 (grub_nilfs2_palloc_entries_per_group): Replace with ...
5236 (grub_nilfs2_log_palloc_entries_per_group): ... this.
5237 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
5238 (grub_nilfs2_entries_per_block): Replaced with ...
5239 (grub_nilfs2_log_entries_per_block_log): ... this.
5240 (grub_nilfs2_blocks_per_group): Replaced with ...
5241 (grub_nilfs2_blocks_per_group_log): ... this.
5242 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
5243 (grub_nilfs2_blocks_per_desc_block_log): ... this.
5244 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
5245 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
5246 (grub_nilfs2_palloc_entry_offset): Replaced ...
5247 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
5248 (grub_nilfs2_dat_translate): Use shifts.
5249 (grub_nilfs2_read_inode): Likewise.
5250 (GRUB_MOD_INIT): Ensure that logs are correct.
5251
564dd58c
VS
52522011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5253
5254 Use shifts in minix filesystem.
5255
5256 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
5257 (GRUB_MINIX_ZONE2SECT): Likewise.
5258 (grub_minix_data): Replace block_size with log_block_size.
5259 (grub_minix_read_file): Use shifts.
5260 (grub_minix_mount): Check block size and take a logarithm.
5261
ed9ba06d
VS
52622011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5263
5264 Use shifts in squash4.
5265
5266 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
5267 (squash_mount): Check block size and take logarithm.
5268 (direct_read): Use shifts.
5269
ad03fe76
VS
52702011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5271
5272 Correct befs block counting logic.
5273
5274 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
5275 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
5276 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
5277 (grub_afs_read_inode): Use block_shift.
5278 (RANGE_SHIFT): New definition.
5279 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
5280 unexpected conditions, use shifts and appropriate types.
5281 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
5282
6563f63d
VS
52832011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5284
5285 * grub-core/disk/raid.c (scan_devices): Check partition.
5286 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
5287
5b1ae25f
VS
52882011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
5289
5290 Support BFS (befs) UUID.
5291
5292 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
5293 (grub_afs_small_data_element_header): New struct.
5294 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
5295 (grub_afs_read_attribute) [MODE_BFS]: New function.
5296 (grub_afs_iterate_dir): Allocate for complete inode.
5297 (grub_afs_mount): Likewise.
5298 (grub_afs_uuid) [MODE_BFS]: New function.
5299 (grub_afs_fs) [MODE_BFS]: Add .uuid.
5300
f8d82408
VS
53012011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
5302
5303 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
5304 (zfs_unmount): Fix memory leak.
5305
5773fb64
VS
53062011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5307
5308 Support NTFS reparse points.
5309
5310 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
5311 (symlink_descriptor): New struct.
5312 (grub_ntfs_read_symlink): New function.
5313 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
5314 (grub_ntfs_open): Likewise.
5315
91c3fdde
VS
53162011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5317
5318 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
5319
3be82e10
VS
53202011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5321
5322 fstest xnu_uuid subcommand.
5323
5324 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
5325 grub-core/commands/xnu_uuid.c.
5326 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
5327 (fstest): Handle xnu_uuid.
5328 (options): Document xnu_uuid.
5329 (argp_parser): Parse xnu_uuid.
5330
8e32442e
VS
53312011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5332
5333 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
5334 -l argument. Add newline at the end if printing.
5335 (GRUB_MOD_INIT): Document -l.
5336
52a05075
VS
53372011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5338
5339 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
5340
1869edb5
VS
53412011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5342
5343 ZFS multi-device and version 33 support.
5344
5345 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
5346 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
5347 (grub_zfs_data): Add multidev-ice-related fields.
5348 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
5349 (dva_get_offset): Make dva const.
5350 (zfs_fetch_nvlist): New function.
5351 (fill_vdev_info_real): Likewise.
5352 (fill_vdev_info): Likewise.
5353 (check_pool_label): Likewise.
5354 (scan_disk): Likewise.
5355 (scan_devices): Likewise.
5356 (read_device): Likewise.
5357 (read_dva): Likewise.
5358 (zio_read_gang): Use read_dva.
5359 (zio_read_data): Likewise.
5360 (zap_leaf_lookup): Add missing endian conversion.
5361 (zap_verify): Add missing endian conversion. All users updated.
5362 (fzap_lookup): Likewise.
5363 (fzap_iterate): Likewise.
5364 (dnode_get_path): Handle SA bonus.
5365 (nvlist_find_value): Make input const. All users updated.
5366 (unmount_device): New function.
5367 (zfs_unmount): Use unmount_device.
5368 (zfs_mount): Use scan_disk.
5369 (zfs_mtime): New function.
5370 (grub_zfs_open): Handle system attributes.
5371 (fill_fs_info): Likewise.
5372 (grub_zfs_dir): Likewise.
5373 (grub_zfs_fs): Add mtime.
5374 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
5375 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
5376 (SA_MTIME_OFFSET): Likewise.
5377 (SA_SYMLINK_OFFSET): Likewise.
5378 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
5379 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
5380 (fstest): Support zfsinfo.
5381 (argp_parser): Likewise.
5382
186b4028
VS
53832011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5384
5385 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
5386 error.
5387
53882011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
5389
5390 ZFS fixes.
5391
5392 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
5393 sharing the same block. Iterate over correct number of indices.
5394 (dnode_get_path): Handle symlinks correctly.
5395
c0584900
VS
53962011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5397
5398 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
5399
67e2bd71
VS
54002011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5401
5402 Read label on HFS+.
5403
5404 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
5405 (grub_hfsplus_btree_search): Fix types.
5406 (grub_hfsplus_label): Implement.
5407
e9cc6b7b
VS
54082011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5409
5410 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
5411
19832ddb
VS
54122011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5413
5414 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
5415
66b40850
VS
54162011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5417
5418 Fix symlink handling on iso9660.
5419
5420 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
5421 All users updated.
5422 (grub_iso9660_susp_iterate): Accept zero-size iterate.
5423 (grub_iso9660_read_symlink): Moved most of code ...
5424 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
5425
db821363
VS
54262011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5427
5428 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
5429 Use union to avoid breaking strict-aliasing rules.
5430
e1211949
VS
54312011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5432
5433 Support multi-extent iso files.
5434
5435 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
5436 Add node.
5437 (grub_fshelp_node): Revamp. All users updated.
5438 (FLAG_*): New enum.
5439 (read_node): New function.
5440 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
5441 All users updated.
5442 (grub_iso9660_mount): Don't attempt to read sua when there is none.
5443 (get_node_size): New function.
5444 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
5445 entries.
5446 Fix memory leak on . and ..
5447 (grub_iso9660_read): Use read_node.
5448 (grub_iso9660_close): Free node.
5449
d4888031
VS
54502011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5451
5452 Fix tar 4G limit and handle paths containing dot.
5453
5454 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
5455 (canonicalize): New function.
5456 (grub_cpio_find_file): Use canonicalize. Store offs in
5457 grub_disk_addr_t.
5458 (grub_cpio_dir): Use grub_disk_addr_t.
5459 (grub_cpio_open): Likewise.
5460
9f12e664
VS
54612011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5462
5463 Fix handling of uncompressed blocks on squashfs and break 4G limit.
5464
5465 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
5466 unused flags.
5467 (grub_squash_inode): Add long_file and block_size.
5468 (grub_squash_cache_inode): New struct.
5469 (grub_squash_dirent): Make types into enum.
5470 (SQUASH_TYPE_LONG_REGULAR): New type.
5471 (grub_squash_frag_desc): Add field size.
5472 (SQUASH_BLOCK_FLAGS): New enum.
5473 (grub_squash_data): Use grub_squash_cache_inode.
5474 (grub_fshelp_node): Make ino_chunk 64-bit.
5475 (read_chunk): Minor argument change. All users updated.
5476 (squash_mount): Use correct le_to_cpu.
5477 (grub_squash_open): Handle LONG_REGULAR.
5478 (direct_read): New function.
5479 (grub_squash_read_data): Handle blocks correctly.
5480
9f326fba
VS
54812011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5482
5483 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
5484
f4d9b64b
VS
54852011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5486
5487 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
5488
5bbd28b8
VS
54892011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
5490
5491 Fix 2G limit on ZFS.
5492
5493 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
5494 types.
5495 (uberblock_verify): Likewise.
5496 (dmu_read): Likewise.
5497 (grub_zfs_read): Likewise. Remove invalid cast.
5498
68c72069
VS
54992011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
5500
5501 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
5502 (grub_jfs_blkno): Fix incorrect shift.
5503 (grub_jfs_read_file): Use more appropriate types.
5504
6e536dc8
VS
55052011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
5506
5507 Support triple indirect on minix2 and minix3.
5508
5509 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
5510 Declare triple_indir_zone.
5511 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
5512 indirect.
5513
e0864e7a
VS
55142011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
5515
5516 Minix FS fixes.
5517
5518 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
5519 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
5520 Rename ctime to mtime. All users updated.
5521 (grub_minix_get_file_block): Fix types and double indirect computations.
5522
89481cab
VS
55232011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5524
5525 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
5526 if no label is found.
5527 (grub_fat_iterate_dir): Fix file size type.
5528 (grub_fat_iterate_dir): Likewise.
5529
f646e143
VS
55302011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5531
5532 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
5533 save some space.
5534 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
5535 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
5536
534d769e
VS
55372011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5538
5539 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
5540
e084ba18
VS
55412011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5542
5543 * util/import_gcry.py: Accept space between # and include.
5544
3471ecdf
VS
55452011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5546
5547 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
5548
124df5f6
VS
55492011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5550
5551 Fine grainely disable warnings on lexer. Remove Wno-error on it.
5552
5553 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
5554 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
5555 yylex_strncpy.
5556 * grub-core/script/yylex.l: Add fine-grained #pragma.
5557
4defb8d5
VS
55582011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5559
5560 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
5561 New inline function.
5562 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
5563 Likewise.
5564 (memset) [GRUB_UTIL]: Likewise.
5565 (memcmp) [GRUB_UTIL]: Likewise.
5566
4e94ae65
VS
55672011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5568
5569 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
5570 inline function rather than a define.
5571
18c575e5
VS
55722011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 * util/grub-setup.c: Add missing include.
5575
f8bc22a8
VS
55762011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5577
5578 * util/ieee1275/grub-ofpathname.c: Add missing include.
5579
3ce69fc9
VS
55802011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5581
5582 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
5583 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
5584 Likewise.
5585
d1e293bb
VS
55862011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5587
5588 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
5589 grub_memcmp usage.
5590
7a5c54a4
VS
55912011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5592
5593 * util/grub-install.in: Add datarootdir as per automake manual
5594 suggestion.
5595 * util/grub-mknetdir.in: Likewise.
5596
55972011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
5598
5599 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
5600 suggestion.
5601 * util/grub.d/10_kfreebsd.in: Likewise.
5602 * util/grub.d/10_linux.in: Likewise.
5603 * util/grub.d/10_netbsd.in: Likewise.
5604 * util/grub.d/10_windows.in: Likewise.
5605 * util/grub.d/20_linux_xen.in: Likewise.
5606
766f7d08
VS
56072011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
5608
5609 Remove redundant grub_kernel_image_size.
5610
5611 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
5612 _edata and _start.
5613 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
5614 the small code. It moves it only by few bytes but simplifies the code.
5615 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
5616 _start.
5617 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
5618 (grub_kernel_image_size): Removed.
5619 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
5620 (grub_kernel_image_size): Removed.
5621 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
5622 compiled with Apple toolchain.
5623 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
5624 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
5625 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
5626 (grub_total_module_size): Likewise.
5627 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
5628 Removed.
5629 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
5630 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
5631 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
5632 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
5633 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
5634 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
5635 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
5636 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
5637 Removed.
5638 (grub_total_module_size): Removed.
5639 * util/grub-mkimage.c (image_target_desc): Remove image_size.
5640 (image_targets): Likewise.
5641 Set .compressed_size to no field on sparc.
5642 (generate_image): Remove kernel_image_size handling.
5643
fcf1d672
SJ
56442011-10-19 Szymon Janc <szymon@janc.net.pl>
5645
5646 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
5647 NULL pointer dereference.
5648
de9c615e
VS
56492011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5650
5651 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
5652 done with a dedicated section.
5653
5654 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
5655 Ensure the correct position of boot_path.
5656 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
5657 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
5658 other fields.
5659 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
5660 * include/grub/boot.h: Removed. All references removed.
5661 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
5662 Removed.
5663 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
5664
e55599dc
VS
56652011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5666
5667 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
5668 name.
5669
36dd20ad
VS
56702011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5671
5672 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
5673
f8f72eb8
VS
56742011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5675
5676 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
5677 Don't add the bogus brackets.
5678
a374751b
VS
56792011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5680
5681 ExFAT support.
5682
5683 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
5684 * grub-core/Makefile.core.def (exfat): New module.
5685 * grub-core/fs/exfat.c: New file.
5686 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
5687 (GRUB_FAT_ATTR_*): Make into an enum.
5688 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
5689 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
5690 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
5691 (GRUB_FAT_MAXFILE): Removed.
5692 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
5693 (grub_current_fat_bpb_t): New type.
5694 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
5695 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
5696 (grub_fat_dir_node_t): New type.
5697 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
5698 (fat_log2) [MODE_EXFAT]: Removed.
5699 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
5700 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
5701 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
5702 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
5703 (grub_fat_label) [MODE_EXFAT]: New function.
5704 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
5705 reserved_first_sector to 0.
5706
544c2487
VS
57072011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5708
5709 Move grub_reboot out of the kernel.
5710
5711 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
5712 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
5713 * grub-core/lib/efi/reboot.c: ... here.
5714 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
5715 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
5716 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
5717 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
5718 * grub-core/lib/i386/reboot_trampoline.S: ... here.
5719 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
5720 * grub-core/lib/ieee1275/reboot.c: ... here.
5721 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
5722 * grub-core/lib/mips/arc/reboot.c: ... here.
5723 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
5724 * grub-core/lib/mips/loongson/reboot.c: ...here.
5725 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
5726 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
5727 * include/grub/emu/misc.h (grub_reboot): New function declaration.
5728 * include/grub/i386/reboot.h: New file.
5729 * include/grub/mips/loongson/ec.h: Fix includes.
5730 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
5731 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
5732 * grub-core/lib/i386/reboot.c: New file.
5733
a97501d2
VS
57342011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
5735
5736 Make grub_prefix into module to fix the arbitrary limit and save
5737 some space.
5738
5739 * grub-core/kern/emu/main.c (grub_prefix): Removed.
5740 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
5741 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
5742 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
5743 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
5744 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
5745 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
5746 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
5747 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
5748 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
5749 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
5750 * include/grub/ia64/efi/kernel.h: Removed.
5751 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
5752 (grub_prefix): Removed.
5753 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
5754 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
5755 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
5756 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
5757 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
5758 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
5759 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
5760 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
5761 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
5762 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
5763 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
5764 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
5765 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
5766 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
5767 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
5768 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
5769 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
5770 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
5771 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
5772 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
5773 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
5774 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
5775 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
5776 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
5777 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
5778 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
5779 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
5780 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
5781 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
5782 from module.
5783 * util/grub-mkimage.c (image_target_desc): Removed prefix and
5784 prefix_end.
5785 (image_targets): Likewise.
5786 (generate_image): Put prefix as a module.
5787
39705fad
VS
57882011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5789
5790 Replace grub_module_iterate with FOR_MODULES.
5791
5792 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
5793 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
5794 (grub_efi_modules_addr): ...this.
5795 * grub-core/kern/efi/init.c (grub_modbase): New variable.
5796 (grub_efi_init): Set grub_modbase.
5797 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
5798 (grub_modbase): New variable.
5799 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
5800 (grub_modbase): New variable.
5801 (grub_machine_init): Set grub_modbase.
5802 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
5803 (grub_modbase): New variable.
5804 (grub_machine_init): Set grub_modbase.
5805 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
5806 (grub_modbase): New variable.
5807 (grub_machine_init): Set grub_modbase.
5808 * grub-core/kern/main.c (grub_module_iterate): Remove.
5809 (grub_modules_get_end): Use grub_modbase.
5810 (grub_load_modules): Use FOR_MODULES.
5811 (grub_load_config): Likewise.
5812 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
5813 (grub_modbase): New variable.
5814 (grub_machine_init): Set grub_modbase.
5815 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
5816 (grub_modbase): New variable.
5817 (grub_machine_init): Set grub_modbase.
5818 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
5819 Removed.
5820 (grub_modbase): New variable.
5821 (grub_machine_init): Set grub_modbase.
5822 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
5823 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
5824 (grub_module_iterate): Likewise.
5825 (grub_modbase): New variable declaration.
5826 (FOR_MODULES): New macro.
5827
2afb7f6c
VS
58282011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5829
5830 * configure.ac: Check for __ctzdi2 and __ctzsi2.
5831 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
5832
366e34fa
VS
58332011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5834
5835 Fix few obvious type discrepancies.
5836
5837 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
5838 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
5839 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
5840 variable.
5841 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
5842 and connected types.
5843 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
5844 offset.
5845 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
5846 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
5847 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
5848 and connected types.
5849
177b960e
VS
58502011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5851
5852 Fix python 3.x incompatibilities.
5853
5854 * gentpl.py: Put brackets around print strings.
5855 * util/import_gcry.py: Open explicitly as utf-8.
5856 Use in instead of has_key.
5857
3b619ae1
VS
58582011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5859
5860 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
5861 (GRUB_XFS_INO_AGBITS): Make into inline function.
5862 (GRUB_XFS_INO_INOINAG): Likewise.
5863 (GRUB_XFS_INO_AG): Likewise.
5864 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
5865 (GRUB_XFS_EXTENT_OFFSET): Likewise.
5866 (GRUB_XFS_EXTENT_BLOCK): Likewise.
5867 (GRUB_XFS_EXTENT_SIZE): Likewise.
5868 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
5869 (GRUB_XFS_NEXT_DIRENT): Likewise.
5870 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
5871 (grub_xfs_read_file): Fix offset type.
5872
8bcebcb8
RM
58732011-10-15 Robert Millan <rmh@gnu.org>
5874
5875 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
5876
0017e5ef
RM
58772011-10-15 Robert Millan <rmh@gnu.org>
5878
5879 Fix build problem on FreeBSD and GNU/kFreeBSD.
5880
5881 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
5882
d8919552
VS
58832011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5884
5885 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
5886
5887 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
5888 types.
5889 (grub_hfsplus_btree_recoffset): Likewise.
5890 (grub_hfsplus_btree_recptr): Likewise.
5891 (grub_hfsplus_find_block): Likewise.
5892 (grub_hfsplus_btree_search): Likewise.
5893 (grub_hfsplus_read_block): Likewise.
5894 (grub_hfsplus_read_file): Likewise.
5895 (grub_hfsplus_mount): Likewise.
5896 (grub_hfsplus_btree_iterate_node): Likewise.
5897 (grub_hfsplus_btree_search): Likewise.
5898 (grub_hfsplus_iterate_dir): Likewise.
5899 (grub_hfsplus_read): A small code simplification.
5900
c81296b6
VS
59012011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5902
5903 * grub-core/kern/emu/hostdisk.c
5904 (convert_system_partition_to_system_disk): Don't assume that children
5905 of mapper nodes are mapper nodes.
5906
0eb8ffb1
VS
59072011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5908
5909 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
5910 * include/grub/misc.h (grub_isxdigit): New function.
5911 * grub-core/video/colors.c (my_isxdigit): Removed. All users
5912 switched to grub_isxdigit.
5913 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
5914 number starting with a letter.
5915
a98f4a08
RM
59162011-10-09 Robert Millan <rmh@gnu.org>
5917
5918 LVM support for FreeBSD and GNU/kFreeBSD.
5919
5920 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
5921 GNU/kFreeBSD.
5922 (LVM_DEV_MAPPER_STRING): Move from here ...
5923 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
5924 * util/getroot.c: Include `<grub/util/lvm.h>'.
5925 (grub_util_get_dev_abstraction): Enable
5926 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
5927 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
5928 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
5929 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
5930 support it.
5931 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
5932 GNU/kFreeBSD.
5933 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
5934 when LVM abstraction is required for ${GRUB_DEVICE}.
5935
050e8e90
SJ
59362011-10-06 Szymon Janc <szymon@janc.net.pl>
5937
5938 Add support for LZO compression in GRUB:
5939 - import of minilzo library,
5940 - LZO decompression for btrfs,
5941 - lzop files decompression.
5942
5943 * grub-core/io/lzopio.c: New file.
5944 * grub-core/lib/adler32.c: Likewise.
5945 * grub-core/lib/minilzo/lzoconf.h: Likewise.
5946 * grub-core/lib/minilzo/lzodefs.h: Likewise.
5947 * grub-core/lib/minilzo/minilzo.c: Likewise.
5948 * grub-core/lib/minilzo/minilzo.h: Likewise.
5949 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
5950 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
5951 grub-core/lib/minilzo/minilzo.c to common.
5952 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
5953 cflags in cppflags.
5954 * grub-core/Makefile.core.def (btrfs): Likewise.
5955 * grub-core/Makefile.core.def (lzopio): New module.
5956 (adler32): Likewise.
5957 * grub-core/fs/btrfs.c: Include minilzo.h.
5958 (GRUB_BTRFS_COMPRESSION_LZO): New define.
5959 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
5960 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
5961 (grub_btrfs_lzo_decompress): New function.
5962 (grub_btrfs_extent_read): Add support for LZO compression type.
5963 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
5964 (GRUB_USHRT_MAX): Likewise.
5965 (GRUB_UINT_MAX): Likewise.
5966 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
5967 (UINT_MAX): Likewise.
5968 (CHAR_BIT): Likewise.
5969 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
5970 grub-core/lib/posix_wrap/limits.h
5971 (UCHAR_MAX): Likewise.
5972 * include/grub/file.h (grub_file_filter_id): New compression filter
5973 GRUB_FILE_FILTER_LZOPIO.
5974 * include/grub/file.h (grub_file_filter_id): Set
5975 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
5976 * include/grub/types.h (grub_get_unaligned16): New function.
5977 (grub_get_unaligned32): Likewise.
5978 (grub_get_unaligned64): Likewise.
5979 * util/import_gcry.py (cryptolist): Add adler32.
5980
0eb8ffb1
VS
59812011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
5982
5983 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
5984 in perspective decreases the complexity of build system and fixes
5985 compilation right now.
5986
ce79cc99 59872011-10-01 Ales Nesrsta <starous@volny.cz>
5988
5989 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
5990 (fixed problem related to using UHCI with coreboot).
5991
8667a314
BC
59922011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
5993
5994 * gentpl.py: Use Autogen macros so that the output template file
5995 (Makefile.tpl) size is reduced.
5996
fc5efcc0
MK
59972011-09-29 Mads Kiilerich <mads@kiilerich.com>
5998
5999 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
6000 extra_dist.
6001
d1ab689d
ML
60022011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6003
6004 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
6005 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
6006
c05de032
ML
60072011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6008
6009 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
6010 _fullpath.
6011
cca7ccd8
ML
60122011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6013
6014 Remove extra declaration of sleep for mingw32.
6015
6016 * util/misc.c (sleep) [__MINGW32__]: Removed.
6017 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
6018
e0b0dc83
GS
60192011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
6020
6021 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
6022 type and packname.
6023 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
6024 Resurrected.
6025 (NETBSD_BTINFO_BOOTWEDGE): New definition.
6026 (grub_netbsd_btinfo_bootwedge): New struct.
6027 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
6028 New function.
6029 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
6030
91a1a164
TH
60312011-09-28 Thomas Haller <thomas.haller@fen-net.de>
6032
6033 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
6034 loader.
6035
2ded951e
AB
60362011-09-28 Andreas Born <futur.andy@googlemail.com>
6037
6038 Fix incorrect identifiers in bash-completion.
6039
6040 * util/bash-completion.d/grub-completion.bash.in
6041 (_grub_mkpasswd-pbkdf2): Rename to ...
6042 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
6043 (_grub_script-check): Rename to ...
6044 (_grub_script_check): ... this. All users updated.
6045
69915030
VS
60462011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
6047
6048 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
6049 Return 0 if disk isn't biosdisk.
6050
20fd15f9
GS
60512011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
6052
6053 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
6054 on NetBSD.
6055 * Makefile.util.def (grub-fstest): Likewise.
6056
1a7d7db9
GS
60572011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
6058
6059 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
6060 Get sector size from disk label.
6061
2221ab6c
CW
60622011-09-05 Colin Watson <cjwatson@ubuntu.com>
6063
6064 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
6065 */README* as well as README*.
6066 Reported by: Axel Beckert.
6067
ca51c4a0
VS
60682011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6069
6070 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
6071 case of less than 256 MiB of RAM.
6072
ab80f326
VS
60732011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6074
6075 * grub-core/commands/wildcard.c (make_regex): Handle @.
6076
4155e697
VS
60772011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6078
6079 * util/grub-install.in: Move cryptodisk logic to appropriate place.
6080
ab178c08
SJ
60812011-08-21 Szymon Janc <szymon@janc.net.pl>
6082
6083 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
6084 AC_LANG_CONFTEST macros.
6085
7dc3c686
SJ
60862011-08-20 Szymon Janc <szymon@janc.net.pl>
6087
6088 Add grub-fstest option to uncompress data for commands.
6089
6090 * util/grub-fstest.c (uncompress): New var.
6091 (options): New option -u.
6092
fe8d4a7b
SJ
60932011-08-20 Szymon Janc <szymon@janc.net.pl>
6094
6095 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
6096 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
6097
a5219af1
SJ
60982011-08-20 Szymon Janc <szymon@janc.net.pl>
6099
6100 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
6101 file type was not recognized correctly (not gzip or corrupted).
6102
f87abff5
VS
61032011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6104
6105 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
6106 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
6107
d94497ea
VS
61082011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
6111 loongson.
6112 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
6113 video_radeon_fuloong2e.
6114 * grub-core/video/radeon_fuloong2e.c: New file.
6115 * include/grub/video.h (grub_video_id_t): Add new ID
6116 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
6117
0d1fd011
VS
61182011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6119
6120 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
6121 define.
6122 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
6123 that PRID matches the detected subplatform and reset the subplatform
6124 if it doesn't.
6125
84beb0ee
VS
61262011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6127
6128 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
6129
1227c133
VS
61302011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6131
6132 Fix PCI iterating on functions >= 4.
6133
6134 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
6135 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
6136 Removed.
6137 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
6138 (grub_pci_read): Fix bitmask.
6139 (grub_pci_read_word): Likewise.
6140 (grub_pci_read_byte): Likewise.
6141 (grub_pci_write): Likewise.
6142 (grub_pci_write_word): Likewise.
6143 (grub_pci_write_byte): Likewise.
6144
9594c689
VS
61452011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6146
6147 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
6148 can still be specified in TARGET_CFLAGS)
6149
14a2562c
VS
61502011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6151
6152 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
6153
6154 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
6155 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
6156 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
6157 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
6158 (FULOONG): Rename to ...
6159 (FULOONG2F): ... this. All users updated.
6160 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
6161 (machtype_fuloong2f_str): ... this.
6162 (machtype_fuloong2e_str): New string.
6163 Check for machtype_fuloong2e_str.
6164 * grub-core/loader/mips/linux.c (loongson_machtypes)
6165 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
6166 * grub-core/term/serial.c (loongson_defserial)
6167 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
6168 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
6169 loongson_defserial.
6170 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
6171 Rename to ...
6172 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
6173 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
6174 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
6175 to IMAGE_FULOONG2F_FLASH. All users updated.
6176 (image_targets): Rename images.
6177 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
6178
b526cbb6
SJ
61792011-08-19 Szymon Janc <szymon@janc.net.pl>
6180
6181 Make enable of disk cache statistics code configurable.
6182
6183 * configure.ac: --enable-cache-stats added.
6184 * config.h.in (DISK_CACHE_STATS): New define.
6185 * grub-core/Makefile.core.def (cacheinfo): New command.
6186 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
6187 * grub-core/commands/cacheinfo.c: New file.
6188 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
6189 moved to cacheinfo.c.
6190 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
6191 debug code.
6192 * include/grub/disk.h: Likewise.
6193
fb739ccd
SJ
61942011-08-19 Szymon Janc <szymon@janc.net.pl>
6195
6196 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
6197 * grub-core/Makefile.am: Likewise.
6198
2bba8cfd
VS
61992011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6200
6201 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
6202 non-zero pull.
6203
43526629
VS
62042011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6205
6206 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
6207 All users updated.
6208 (grub_jfs_lookup_symlink): Use correct starting inode.
6209
5c144cc8
VS
62102011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6211
6212 * util/grub-setup.c (main): Add missing gcry initialisation.
6213
b1257f65
VS
62142011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6215
6216 Don't accept text modes on EFI when booting Linux.
6217
6218 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
6219 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
6220
828bc390
ML
62212011-08-15 Mario Limonciello <mario_limonciello@dell.com>
62222011-08-15 Colin Watson <cjwatson@ubuntu.com>
6223
6224 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
6225 use of "/path/.." as in grub-install for EFI as well as handling
6226 symlinks correctly.
6227 Fixes Debian bug #637768.
6228
5f60ccac
CW
62292011-08-15 Colin Watson <cjwatson@ubuntu.com>
6230
6231 * util/grub-probe.c: Remove duplicate #include.
6232
6dc212f9
RM
62332011-08-10 Robert Millan <rmh@gnu.org>
6234
6235 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
6236
6237 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
6238 function.
6239 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
6240 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
6241
66816d85
RM
62422011-08-03 Robert Millan <rmh@gnu.org>
6243
6244 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
6245 la_array as packed.
6246 Reported by: Zachary Bedell
6247
20168fca
CW
62482011-07-26 Colin Watson <cjwatson@ubuntu.com>
6249
6250 * configure.ac: The Loongson port requires grub-mkfont due to its
6251 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
6252 be built.
6253
303b6246
CW
62542011-07-26 Colin Watson <cjwatson@ubuntu.com>
6255
6256 * util/grub-install.in: Don't source grub-mkconfig_lib until after
6257 processing arguments (otherwise help2man fails when GRUB has not yet
6258 been installed).
6259
6795300e
VS
62602011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6261
41aa28ea
VS
6262 New script grub-mkstandalone.
6263
6264 * Makefile.util.def (grub-mkstandalone): New script.
6265 * docs/man/grub-mkstandalone.h2m: New file.
6266 * util/grub-mkstandalone.in: Likewise.
6267
62682011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6269
6270 Support ATA disks with 4K sectors.
6795300e
VS
6271
6272 * include/grub/ata.h (grub_ata): New member log_sector_size.
6273 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
6274 (grub_ata_identify): Read sector size.
6275 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
6276
92227597
VS
62772011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6278
6279 * util/grub-install.in: Don't use uhci outside of x86.
6280
c77069f5
VS
62812011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6282
6283 * util/grub-mkrescue.in: Add missing quotes.
6284
62852011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
6286
6287 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
6288 dereference.
6289
583168a2
VS
62902011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6291
6292 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
6293
6be1c01f
VS
62942011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6295
6296 * include/grub/video.h: add missing EXPORT_FUND on
6297 grub_video_edid_checksum and grub_video_edid_preferred_mode.
6298
a1167439
VS
62992011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6300
6301 * include/grub/mips/kernel.h: Fix define conflict.
6302
bf66054f
VS
63032011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6304
6305 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
6306 all four ways.
6307
8fc4fa45
CW
63082011-07-21 Colin Watson <cjwatson@ubuntu.com>
6309
6310 Preferred resolution detection for VBE.
6311
6312 * grub-core/video/video.c (grub_video_edid_checksum): New function.
6313 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
6314 the Flat Panel extension, in line with the X.org VESA driver.
6315 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
6316 New function.
6317 (grub_vbe_bios_get_ddc_capabilities): Likewise.
6318 (grub_vbe_bios_read_edid): Likewise.
6319 (grub_vbe_get_preferred_mode): Likewise.
6320 (grub_video_vbe_setup): When the mode is "auto", try to get the
6321 preferred mode from VBE, and use the largest mode that is no larger
6322 than the preferred mode (some BIOSes expose a preferred mode that is
6323 not in their mode list!). If this fails, fall back to 640x480 as a
6324 safe conservative choice.
6325 (grub_video_vbe_get_edid): New function.
6326 (grub_video_vbe_adapter): Add get_edid.
6327 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
6328 (struct grub_video_adapter): Add get_edid.
6329 (grub_video_edid_checksum): Add prototype.
6330 (grub_video_edid_preferred_mode): Likewise.
6331 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
6332 structure.
6333
6334 * grub-core/commands/videoinfo.c (print_edid): New function.
6335 (grub_cmd_videoinfo): Print EDID if available.
6336
6337 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
6338 is more appropriate on a wider range of platforms than 640x480.
6339 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
6340 documentation.
6341
ca5572a9
VS
63422011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6343
6344 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
6345
e4bcf625
VS
63462011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6347
6348 * po/POTFILES.in: Regenerate.
6349
c4edd548
VS
63502011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6351
6352 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
6353 incorrect memory usage.
6354
16a2bab0
VS
63552011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6356
6357 * util/grub-install.in: Source grub-mkconfig_lib.
6358
2e418de6
VS
63592011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
6360
6361 Remove getroot.c from core on emu platform.
6362
6363 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
6364 kern/emu/raid.c.
6365 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
6366 useless.
6367 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
6368 * util/getroot.c (get_win32_path): ... here.
6369 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
6370 * util/getroot.c (fini_libzfs): ... here.
6371 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
6372 * util/getroot.c (grub_get_libzfs_handle): ... here.
6373 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
6374 Moved from here...
6375 * util/getroot.c (grub_find_zpool_from_dir): ... here.
6376 * grub-core/kern/emu/misc.c
6377 (grub_make_system_path_relative_to_its_root): Moved from here...
6378 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
6379 * grub-core/kern/emu/getroot.c: Moved from here ...
6380 * util/getroot.c: ... here. All users updated.
6381 * grub-core/kern/emu/raid.c: Moved from here ...
6382 * util/raid.c: ... here. All users updated.
6383
def9832a
VS
63842011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
6385
6386 * po/POTFILES.in: Regenerate.
6387
cd8fe79a
VS
63882011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6389
6390 Fix compilation on GNU/Linux.
6391
6392 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
6393 Disable geli.
6394 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
6395 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
6396 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
6397
a251b719
VS
63982011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
63992011-07-07 Michael Gorven <michael@gorven.za.net>
64002011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
6401
6402 LUKS and GELI support.
6403
6404 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
6405 grub-core/disk/luks.c, grub-core/disk/geli.c,
6406 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
6407 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
6408 grub-core/lib/arg.c.
6409 (libgrubmods.a): Remove gcrypts cflags and cppflags.
6410 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
6411 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
6412 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
6413 (grub-bin2h): Add libgcry.a.
6414 (grub-mkimage): Likewise.
6415 (grub-mkrelpath): Likewise.
6416 (grub-script-check): Likewise.
6417 (grub-editenv): Likewise.
6418 (grub-mkpasswd-pbkdf2): Likewise.
6419 (grub-pe2elf): Likewise.
6420 (grub-fstest): Likewise.
6421 (grub-mkfont): Likewise.
6422 (grub-mkdevicemap): Likewise.
6423 (grub-probe): Likewise.
6424 (grub-ofpath): Likewise.
6425 (grub-mklayout): Likewise.
6426 (example_unit_test): Likewise.
6427 (grub-menulst2cfg): Likewise.
6428 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
6429 * grub-core/Makefile.core.def (cryptodisk): New module.
6430 (luks): Likewise.
6431 (geli): Likewise.
6432 * grub-core/disk/AFSplitter.c: New file.
6433 * grub-core/disk/cryptodisk.c: Likewise.
6434 * grub-core/disk/geli.c: Likewise.
6435 * grub-core/disk/luks.c: Likewise.
6436 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
6437 grub_util_is_lvm.
6438 (grub_util_get_dm_abstraction): New function.
6439 (grub_util_follow_gpart_up): Likewise.
6440 (grub_util_get_geom_abstraction): Likewise.
6441 (grub_util_get_dev_abstraction): Use new functions.
6442 (grub_util_pull_device): Pull GELI and LUKS.
6443 (grub_util_get_grub_dev): Handle LUKS and GELI.
6444 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
6445 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
6446 (follow_geom_up): Removed.
6447 (grub_util_fd_seek): New function.
6448 (open_device): Use grub_util_fd_seek.
6449 (nread): Rename to ..
6450 (grub_util_fd_read): ... this. All users updated.
6451 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
6452 (grub_crypto_cbc_decrypt): Likewise.
6453 (grub_crypto_hmac_write): Likewise.
6454 (grub_crypto_hmac_buffer): Likewise.
6455 (grub_password_get): Extend to util.
6456 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
6457 New member modname.
6458 (gcry_md_spec) [GRUB_UTIL]: Likewise.
6459 * include/grub/cryptodisk.h: New file.
6460 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
6461 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
6462 LUKS and GELI.
6463 (grub_util_follow_gpart_up): New proto.
6464 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
6465 (grub_util_fd_read): Likewise.
6466 (grub_cryptodisk_cheat_mount): Likewise.
6467 (grub_util_cryptodisk_print_uuid): Likewise.
6468 (grub_util_get_fd_sectors): Likewise.
6469 * util/grub-fstest.c (mount_crypt): New var.
6470 (fstest): Mount crypto if requested.
6471 (options): New option -C.
6472 (argp_parser): Parse -C.
6473 (main): Init and fini gcry.
6474 * util/grub-install.in: Support cryptodisk install.
6475 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
6476 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
6477 cryptodisk.
6478 (prepare_grub_to_access_device): Likewise.
6479 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
6480 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
6481 (probe_cryptodisk_uuid): New function.
6482 (probe_abstraction): Likewise.
6483 (probe): Use new functions.
6484 * util/import_gcry.py: Create Makefile.utilgcry.def.
6485 Add modname member.
6486
9bfdcbbc
VS
64872011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6488
6489 Lazy device scanning.
6490
6491 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
6492 (grub-setup): Remove util/raid.c.
6493 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
6494 * grub-core/disk/lvm.c (scan_depth): New variable.
6495 (grub_lvm_iterate): Rescan if necessary.
6496 (find_lv): New function based on grub_lvm_open.
6497 (grub_lvm_open): Use find_lv. Rescan on error.
6498 (is_node_readable): New function.
6499 (is_lv_readable): Likewise.
6500 (grub_lvm_scan_device): Skip already found disks.
6501 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
6502 Stop if searched device is found and readable.
6503 * grub-core/disk/raid.c (inscnt): New variable.
6504 (scan_depth): Likewise.
6505 (scan_devices): New function based on grub_raid_register. Abort if
6506 looked for device is found.
6507 (grub_raid_iterate): Rescan if needed.
6508 (find_array): NEw function based on -grub_raid_open.
6509 (grub_raid_open): Use find_array and rescan.
6510 (insert_array): Set became_readable_at.
6511 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
6512 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
6513 New function.
6514 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
6515 (grub_util_pull_device): New function.
6516 (grub_util_get_grub_dev): Call grub_util_pull_device.
6517 * util/raid.c: Moved to ..
6518 * grub-core/kern/emu/raid.c: ... here.
6519 (grub_util_raid_getmembers): New parameter "bootable".
6520 All users updated. Support 1.x.
6521 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
6522 All users updated.
6523 * include/grub/disk.h (grub_disk_pull_t): New enum.
6524 (grub_disk_dev): Change iterate prototype.
6525 All users updated.
6526 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
6527 New proto.
6528 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
6529 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
6530 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
6531 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
6532 All users updated.
6533 * include/grub/util/raid.h: Removed.
6534
1c358e59
VS
65352011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
6536
6537 * po/POTFILES.in: Regenerate.
6538
abee94ed
VS
65392011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
6540
6541 Unify sparc init with other ieee1275.
6542
6543 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
6544 instead of kern/sparc64/ieee1275/init.c.
6545 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
6546 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
6547 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
6548 grub/machine/kernel.h.
6549 (grub_ieee1275_original_stack) [__sparc__]: New variable.
6550 (grub_claim_heap) [__sparc__]: Use sparc version.
6551 (grub_machine_init): Moved args parsing to
6552 (grub_parse_cmdline): ...this.
6553 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
6554 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
6555 New definition.
6556 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
6557
6558 Move BOOTP to separate file.
6559
6560 * grub-core/Makefile.core.def (net): Add net/bootp.c.
6561 * grub-core/net/net.c: Move all BOOTP functions to
6562 * grub-core/net/bootp.c: ... here.
6563
6564 Use frame interface on PXE.
6565
6566 * grub-core/Makefile.core.def (pxecmd): Removed.
6567 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
6568 * grub-core/commands/i386/pc/pxecmd.c: Removed.
6569 * grub-core/i386/pc/pxe.c: Moved from here ...
6570 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
6571 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
6572 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
6573
6574 EFI network support.
6575
6576 * grub-core/Makefile.core.def (efinet): New module.
6577 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
6578 here...
6579 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
6580 All users updated.
6581 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
6582 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
6583 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
6584 * grub-core/net/drivers/efi/efinet.c: New file.
6585 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
6586 (grub_efi_net_config): New extern var.
6587
6588 Various cleanups and bugfixes.
6589
6590 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
6591 error.
6592 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
6593 disk declared as partition.
6594 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
6595 leak on failure.
6596 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
6597 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
6598 (grub_debug_zalloc): Likewise.
6599 (grub_debug_realloc): Likewise.
6600 (grub_debug_memalign): Likewise.
6601 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
6602 Check that target is IPv4.
6603 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
6604 local-mac-address as fallback.
6605 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
6606 memory leak.
6607 * grub-core/net/ip.c (ipchksum): Rename to ...
6608 (grub_net_ip_chksum): ... this. All users updated.
6609 (grub_net_recv_ip_packets): Special handling for DHCP.
6610 * util/grub-mkimage.c (generate_image): Zero-out aout header.
6611
6612 Unify prefix handling
6613
6614 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
6615 (grub_machine_get_bootlocation): ... this.
6616 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
6617 (grub_machine_get_bootlocation): ... this.
6618 (grub_prefix): New variable.
6619 (prefix): Removed.
6620 (root_dev): New variable.
6621 (dir): Likewise.
6622 (main): Use new variables.
6623 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
6624 Revamped into ...
6625 (grub_machine_get_bootlocation): ... this.
6626 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
6627 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
6628 (grub_machine_get_bootlocation): ... this.
6629 (grub_machine_set_prefix): Removed.
6630 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
6631 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
6632 Revamped into ...
6633 (grub_machine_get_bootlocation): ... this.
6634 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
6635 (grub_set_prefix_and_root): ... this. All users updated.
6636 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
6637 Revamped into ...
6638 (grub_machine_get_bootlocation): ... this.
6639 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
6640 (grub_machine_get_bootlocation): New proto.
6641 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
6642
6643 Less intrusive and more reliable seek on network implementation.
6644
6645 * grub-core/kern/file.c (grub_file_net_seek): Removed.
6646 (grub_file_seek): Don't call grub_file_net_seek.
6647 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
6648 (grub_net_fs_read_real): .. this.
6649 (grub_net_seek_real): Use net->offset.
6650 (grub_net_fs_read): Seek if necessary.
6651
6652 Unify IEEE1275 netwotk config with the other platforms.
6653
6654 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
6655 New variable.
6656 (grub_machine_get_bootlocation): Support network.
6657 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
6658 Support type and device parsing.
6659 (grub_ieee1275_get_device_type): New function.
6660 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
6661 into ...
6662 (grub_ieee1275_net_config_real): ... this.
6663 (grub_ofnet_probecards): Removed.
6664 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
6665 * include/grub/ieee1275/ofnet.h: Removed.
6666 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
6667 extern var.
6668 (grub_ieee1275_get_device_type): New function.
6669
6670 Unify network device closing across platforms and make more robust.
6671
6672 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
6673 grub_grubnet_fini.
6674 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
6675 already.
6676 * grub-core/net/net.c (grub_net_network_level_interface_register):
6677 Update num_ifaces.
6678 (grub_net_card_unregister): Close all interfaces.
6679 (receive_packets): Don't poll if no iterfaces are registered.
6680 Open if necessary.
6681 (grub_net_fini_hw): New function.
6682 (grub_net_restore_hw): Likewise.
6683 (fini_hnd): New variable.
6684 (GRUB_MOD_INIT): Register preboot hook.
6685 (GRUB_MOD_FINI): Run and unregister preboot hook.
6686
6687 Poll network cards when idle.
6688
6689 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
6690 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
6691 * grub-core/net/net.c (receive_packets): Save last poll time.
6692 (grub_net_poll_cards_idle_real): New function.
6693 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
6694 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
6695 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
6696
6697 Rename ofnet interfaces.
6698
6699 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
6700 (grub_ofnet_findcards): Use ofnet_%s names.
6701
6702 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
6703
6704 Cleanup socket opening.
6705
6706 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
6707 (grub_net_fs_close): Likewise.
6708 (grub_net_fs_read_real): Use eof member.
6709 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
6710 (+grub_net_udp_close): New inline function.
6711
6712 * include/grub/net/tftp.h: Moved to the top of ...
6713 * grub-core/net/tftp.c: ... here.
6714 * include/grub/net/ip.h: Moved mostly to the top of ...
6715 * grub-core/net/ip.c: ... here.
6716 * include/grub/net/ethernet.h: Moved mostly to the top of ...
6717 * grub-core/net/ethernet.c: ... here.
6718
6719 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
6720
6721 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
6722 FS name.
6723
6724 * include/grub/net/ip.h (ipv4_ini): Removed.
6725 (ipv4_fini): Likewise.
6726
6727 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
6728 (grub_net_send_ip_packets): Likewise.
6729
cf1337aa
VS
67302011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6731
6732 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
6733 grub_read_cmos prototype.
6734
93c06ff9
VS
67352011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6736
6737 VGA text support in qemu-mips
6738
6739 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
6740 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
6741 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
6742 text.
6743 * grub-core/kern/i386/qemu/init.c: Renamed to ...
6744 * grub-core/kern/vga_init.c: ... this.
6745 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
6746 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
6747 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
6748 Adjust.
6749 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
6750 GRUB_MACHINE_PCI_IO_BASE.
6751
748ccabe
VS
67522011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6753
6754 MIPS qemu flash support.
6755
6756 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
6757 magic.
6758 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
6759 (grub_machine_init): Probe memory if its size isn't known.
6760 * util/grub-mkimage.c (image_targets): Add flash targets.
6761 (generate_image): Handle flash targets.
6762
d7345994
VS
67632011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6764
6765 MIPS qemu at_keyboard support.
6766
6767 * gentpl.py (videoinkernel): Add qemu-mips.
6768 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
6769 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
6770 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
6771 modules.
6772 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
6773 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
6774 * grub-core/term/serial.c (grub_serial_register)
6775 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
6776
a07a81b3
VS
67772011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6778
6779 CMOS support on sparc.
6780
6781 * gentpl.py (cmos): Add powerpc and sparc.
6782 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
6783 powerpc and sparc.
6784 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
6785 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
6786 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
6787 grub_set_datetime_cmos.
6788 * grub-core/lib/ieee1275/cmos.c: New file.
6789 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
6790 (find_rtc): Set no_ieee1275_rtc on error.
6791 (grub_get_datetime): Call grub_get_datetime_cmos on error.
6792 (grub_set_datetime): Call grub_set_datetime_cmos on error.
6793 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
6794 fail. Move value to argument. All users updated
6795 (grub_cmos_write): Likewise.
6796 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
6797 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
6798 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
6799 grub_get_datetime_cmos and grub_set_datetime_cmos.
6800
77546584
GS
68012011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
6802
6803 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
6804 sourcing grub-mkconfig_lib.
6805 * util/update-grub_lib.in: Likewise.
6806 * util/grub.d/00_header.in: Likewise.
6807 * util/grub.d/10_hurd.in: Likewise.
6808 * util/grub.d/10_kfreebsd.in: Likewise.
6809 * util/grub.d/10_linux.in: Likewise.
6810 * util/grub.d/10_netbsd.in: Likewise.
6811 * util/grub.d/10_windows.in: Likewise.
6812 * util/grub.d/20_linux_xen.in: Likewise.
6813 * util/grub.d/30_os-prober.in: Likewise.
6814
54894791
CW
68152011-06-28 Colin Watson <cjwatson@ubuntu.com>
6816
6817 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
6818 default_bg_color rather than black.
6819 (grub_gfxterm_fullscreen): Likewise.
6820 (grub_gfxterm_background_color_cmd): Save new background color in
6821 default_bg_color.
6822
8d5d8444
VS
68232011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6824
6825 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
6826
5afeb5bd
VS
68272011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6828
6829 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
6830 mismerge.
6831
ba7df45e
VS
68322011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6833
6834 Chainloading on coreboot support.
6835
6836 * grub-core/Makefile.core.def (chain): Add coreboot.
6837 * grub-core/loader/i386/coreboot/chainloader.c: New file.
6838
d0b526b2
VS
68392011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6840
6841 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
6842 if it happens.
6843
5ff1d945
VS
68442011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6845
6846 Implement time command.
6847
6848 * grub-core/Makefile.core.def (time): New module.
6849 * grub-core/commands/time.c: New file.
6850 * grub-core/script/parser.y: Remove "time" keyword.
6851 * grub-core/script/yylex.l: Likewise.
6852
5ebaad7e
VS
68532011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6854
6855 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
6856
bdea3798
VS
68572011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6858
6859 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
6860 when handling leftovers.
6861
b28c5655
VS
68622011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6863
6864 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
6865 so that help2man doesn't fail.
6866
b6f945dc
VS
68672011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6868
6869 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
6870 type in pointers on sparc64.
6871 (get_card_packet): Likewise.
6872
f9b75e8a
CW
68732011-06-27 Colin Watson <cjwatson@ubuntu.com>
6874
6875 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
6876 with `*'.
6877 (grub_cmd_videoinfo): Fetch current video mode.
6878
1e3d9b86
VS
68792011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6880
6881 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
6882 because of underlying system restrictions.
6883
efff4b1c
VS
68842011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6885
6886 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
6887 necessary.
6888
9fc9ce37
VS
68892011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6890
6891 Coreboot video support.
6892
6893 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
6894 (vbe): Likewise.
6895 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
6896 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
6897 here ...
6898 * grub-core/kern/i386/int.S: ... here.
6899 * grub-core/video/i386/pc/vbe.c: Updated includes.
6900 * grub-core/video/i386/pc/vga.c: Likewise.
6901 * include/grub/i386/coreboot/memory.h
6902 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
6903 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
6904 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
6905 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
6906 Disable interrupts.
6907 * include/grub/i386/pc/vga.h: Removed. All users updated.
6908
41bec7fe
VS
69092011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6910
6911 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
6912 definitions for dprintf.
6913 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
6914
ca80309d
VS
69152011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6916
6917 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
6918 prototype.
6919 (get_card_packet): Likewise.
6920
9e322ce8
YB
69212011-06-26 Yves Blusseau <blusseau@zetam.org>
6922
6923 Display the path of the file when file is not found
6924
6925 * grub-core/fs/fat.c: Display the filename when file is not found.
6926 * grub-core/fs/fshelp.c: Likewise.
6927 * grub-core/fs/hfs.c: Likewise.
6928 * grub-core/fs/jfs.c: Likewise.
6929 * grub-core/fs/minix.c: Likewise.
6930 * grub-core/fs/ufs.c: Likewise.
6931 * grub-core/fs/btrfs.c: Likewise.
6932 * grub-core/commands/i386/pc/play.c: Likewise.
6933
cbf597af
SJ
69342011-06-26 Szymon Janc <szymon@janc.net.pl>
6935
6936 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
6937 pointer checks before calling grub_free().
6938 * grub-core/commands/wildcard.c (match_devices): Likewise.
6939 * grub-core/commands/wildcard.c (match_files): Likewise.
6940 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
6941 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
6942 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
6943 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
6944 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
6945 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
6946 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
6947 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
6948 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
6949
6295b32f
P
69502011-06-25 Patrick <p55@mailinator.com>
6951
6952 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
6953
77c0840b
VS
69542011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6955
6956 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
6957 (grub_pxe_send): Likewise.
6958 (GRUB_MOD_INIT): Fix types.
6959
40ea05de
SJ
69602011-06-24 Szymon Janc <szymon@janc.net.pl>
6961
6962 * grub-core/io/xzio.c: Fix code style issues
6963
90162423
MRA
69642011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
69652011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
6966
6967 Network infrastructure.
6968 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
6969
6970 * include/grub/net/arp.h: New file.
90162423
MRA
6971 * include/grub/net/device.h: Likewise.
6972 * include/grub/net/ethernet.h: Likewise.
6973 * include/grub/net/ip.h: Likewise.
6974 * include/grub/net/netbuff.h: Likewise.
6975 * include/grub/net/tftp.h: Likewise.
6976 * include/grub/net/udp.h: Likewise.
6977 * include/grub/ieee1275/ofnet.h: Likewise.
6978 * include/grub/emu/export.h: Likewise.
6979 * include/grub/net.h: Likewise.
6980 * grub-core/net/arp.c: Likewise.
6981 * grub-core/net/ethernet.c: Likewise.
6982 * grub-core/net/ip.c: Likewise.
6983 * grub-core/net/udp.c: Likewise.
6984 * grub-core/net/tftp.c: Likewise.
6985 * grub-core/net/netbuff.c: Likewise.
6986 * grub-core/net/net.c: Likewise.
6987 * grub-core/net/drivers/emu/emunet.c: Likewise.
6988 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
6989 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
6990 export.h.
6991 * grub-core/Makefile.core.def (net): New module.
6992 (tftp): Likewise.
6993 (ofnet): Likewise.
6994 (emunet): Likewise.
6995 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
6996 network protocols.
6997 * grub-core/kern/device.c (grub_net_open) : New variable.
6998 (grub_device_open): Handle network device.
6999 (grub_device_close): Likewise.
7000 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
7001 (grub_grubnet_fini): Likewise.
7002 (grub_file_seek): Seek in network device.
7003 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
7004 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
7005 network root.
7006 (grub_machine_fini): Call grub_grubnet_fini.
7007 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
7008 network.
7009 (grub_ieee1275_get_aliasdevname): New function.
7010 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
7011 Add unofficial Solaris network info.
7012 (grub_multiboot_make_mbi): Likewise.
7013 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
7014 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
7015 * include/grub/device.h (grub_fs): Removed.
7016 * include/grub/err.h (grub_err_t): Add network-related values.
7017 * include/grub/i386/pc/pxe.h: Removed bootp parts.
7018 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
7019 (grub_ieee1275_get_aliasdevname): New proto.
7020 * include/grub/net.h: Rewritten.
423a1849 7021
031f22a0
VS
70222011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7023
7024 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
7025 names.
7026
4388ca72
VS
70272011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7028
7029 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
7030 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
7031 it truncates the output.
7032 Reported by: Ximin Luo.
7033
98e2f506
VS
70342011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7035
7036 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
7037
2a5e94d8
VS
70382011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7039
7040 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
7041 partmap before abstraction.
7042
535c1910
AK
70432011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
7044
7045 * util/grub-mkconfig_lib.in: Add missing quotes.
7046
bc09e1a2
VS
70472011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7048
7049 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
7050 old method if mountinfo would return /dev/root and /dev/root doesn't
7051 exist.
7052
290766fb
VS
70532011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7054
7055 ZFS zlib support
7056
7057 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
7058 (decomp_table): Add zlib entries.
7059 (zio_read): USe 8 bits for compression function rather than 3.
7060 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
7061
70622011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7063
7064 * grub-core/disk/ahci.c: Add missing license statements.
7065 * grub-core/fs/romfs.c: Likewise.
7066 * grub-core/lib/ia64/setjmp.S: Likewise.
7067 * grub-core/loader/i386/pc/freedos.c: Likewise.
7068 * grub-core/loader/ia64/efi/linux.c: Likewise.
7069 * grub-core/video/colors.c: Likewise.
7070 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
7071
5ab3f48a
VS
70722011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7073
7074 AHCI support.
7075
7076 * grub-core/Makefile.core.def (ata_pthru): Removed.
7077 (ahci): New module.
7078 (pata): Likewise.
7079 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
7080 on unload.
7081 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
7082 readwrite.
7083 (grub_hdparm_do_check_powermode_cmd): Likewise.
7084 (grub_hdparm_do_smart_cmd): Likewise.
7085 (grub_hdparm_set_val_cmd): Likewise.
7086 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
7087 * grub-core/disk/ahci.c: New file.
7088 * grub-core/disk/ata.c: Factor out the low-level part into ...
7089 * grub-core/disk/pata.c: ... here.
7090 * grub-core/disk/ata_pthru.c: Contents moved to ...
7091 * grub-core/disk/pata.c: ... here.
7092 * grub-core/disk/scsi.c (grub_scsi_names): New array.
7093 (grub_scsi_iterate): Use grub_scsi_names.
7094 (grub_scsi_open): Likewise.
7095 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
7096 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
7097 (grub_ata_regs_t): New struct.
7098 (grub_disk_ata_pass_through_parms): Likewise.
7099 (grub_ata_device): Renamed to ...
7100 (grub_ata): ... this.
7101 (grub_ata_dev): New struct.
7102 Removed all low-level inline functions.
7103 * include/grub/scsi.h: Add PATA and AHCI subsystems.
7104 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
7105 iterate hooks and open. All users updated.
7106 * util/grub-install.in: Handle AHCI disk module.
7107
c31dc5f5
SJ
71082011-06-23 Szymon Janc <szymon@janc.net.pl>
7109
7110 Add support for DRI and RSTn markers in JPEG files.
7111
7112 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
7113 (JPEG_MARKER_RST0): Likewise.
7114 (JPEG_MARKER_RST1): Likewise.
7115 (JPEG_MARKER_RST2): Likewise.
7116 (JPEG_MARKER_RST3): Likewise.
7117 (JPEG_MARKER_RST4): Likewise.
7118 (JPEG_MARKER_RST5): Likewise.
7119 (JPEG_MARKER_RST6): Likewise.
7120 (JPEG_MARKER_RST7): Likewise.
7121 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
7122 (grub_jpeg_decode_dri): New function.
7123 (grub_jpeg_decode_sos): Move image data related part into
7124 grub_jpeg_decode_data function.
7125 (grub_jpeg_decode_data): New function.
7126 (grub_jpeg_reset): New function.
7127 (grub_jpeg_decode_jpeg): Handle new markers.
7128
fe12fd5b
VS
71292011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7130
7131 * util/ieee1275/ofpath.c (check_sas): Close fd.
7132 (main): Free of_path.
7133 Reported by: David Volgyes <dvolgyes>.
7134
03147f46
VS
71352011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7136
7137 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
7138 Reported by: David Volgyes <dvolgyes>.
7139
cad3237f
VS
71402011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7141
7142 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
7143 file after stat.
7144 Reported by: David Volgyes <dvolgyes>.
7145
13548d26
VS
71462011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7147
7148 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
7149
7150 Reported by: David Volgyes <dvolgyes>.
7151
e061a1b5
VS
71522011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7153
7154 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
7155 Prevent memory leak.
7156
1abe47dc
VS
71572011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7158
7159 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
7160 (main): Close file.
e061a1b5 7161 Reported by: David Volgyes <dvolgyes>.
1abe47dc 7162
fbc62666
VS
71632011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7164
7165 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
7166 to continue if allocation is failed.
7167
7168 Reported by: David Volgyes <dvolgyes>.
7169
e98c83e9
DV
71702011-06-23 David Volgyes <dvolgyes>
7171
7172 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
7173 dereference.
7174
a199a8cd
VS
71752011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7176
7177 Fix spurious warning.
7178
7179 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
7180 (acorn_partition_map_find): Use .bin member.
7181
e2d1dba0
VS
71822011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7183
7184 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
7185 /dev/root as a valid device.
7186
8a5d6919
JM
71872011-06-23 Jim Meyering <meyering@redhat.com>
7188
e2d1dba0
VS
7189 Avoid NULL deref in grub_device_open.
7190
8a5d6919
JM
7191 * grub-core/kern/device.c (grub_device_open): Don't dereference
7192 a NULL pointer upon failed grub_env_get.
7193
f7db6f4a
VS
71942011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7195
7196 Support non-512B sectors and agglomerate reads.
7197
7198 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
7199 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
7200 (disk_io_guid): Removed.
7201 (make_devices): Locate solely by BlockIO.
7202 (grub_efidisk_open): Fill log_sector_size and total_sectors.
7203 (grub_efidisk_read): Use read_blocks.
7204 (grub_efidisk_write): Use write_blocks.
7205 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
7206 log_sector_size.
7207 (get_safe_sectors): Handle non-512B sectors.
7208 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
7209 sectors.
7210 (grub_biosdisk_write): Handle non-512B sectors.
7211 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
7212 (grub_scsi_read): Remove special non-512B block handling (now handled
7213 one level up).
7214 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
7215 and do sanity checks.
7216 (grub_disk_adjust_range): Handle non-512B sectors.
7217 (transform_sector): New function.
7218 (grub_disk_read_small): Likewise.
7219 (grub_disk_read): Rewritten.
7220 (grub_disk_write): Handle non-512B sectors.
7221 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
7222 log_sector_size.
7223 (open_device): Use log_sector_size.
7224 (grub_util_biosdisk_read): Likewise.
7225 (grub_util_biosdisk_write): Likewise.
7226 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
7227 non-512B sectors.
7228 (pc_partition_map_embed): Likewise.
7229 * include/grub/disk.h (grub_disk): New field log_sector_size.
7230 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
7231 (GRUB_DISK_CACHE_BITS): Increased to 6.
7232 * util/grub-fstest.c (fstest): New command testload.
7233 (argp_parser): Likewise.
7234
881ac815
RM
72352011-06-16 Robert Millan <rmh@gnu.org>
7236
7237 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
7238 `ata' driver on kernel of FreeBSD 9.
7239
7240 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
7241 (get_ataraid_disk_name): New functions.
7242 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
7243 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
7244 get_ataraid_disk_name() and get_ada_disk_name().
7245
1e9aef7d
CW
72462011-06-13 Colin Watson <cjwatson@ubuntu.com>
7247
7248 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
7249 input format.
7250
351c7c8a
CW
72512011-05-29 Colin Watson <cjwatson@ubuntu.com>
7252
7253 * docs/grub.texi (Obtaining and Building GRUB): Substitute
7254 `ftp.gnu.org' for `alpha.gnu.org'.
7255
6b4e6430
CW
72562011-05-27 Colin Watson <cjwatson@ubuntu.com>
7257
7258 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
7259 partitions under /dev/disk/by-id/.
7260
c64db050
CW
72612011-05-27 Colin Watson <cjwatson@ubuntu.com>
7262
7263 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
7264 after ten consecutive open failures. Scanning all the way up to
7265 10000 is excessive and can cause serious performance problems in
7266 some configurations.
7267 Fixes Ubuntu bug #787461.
7268
245f4aba
VS
72692011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7270
7271 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
7272 opening new one.
7273
f767c929
VS
72742011-05-21 Colin Watson <cjwatson@ubuntu.com>
72752011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7276
7277 Don't stat devices unless we have to.
7278
7279 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
7280 dir == /dev/mapper.
7281 (grub_guess_root_device): Use already known os_dev if possible.
7282 * grub-core/kern/emu/hostdisk.c
7283 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
7284 if device is known to be a dm one.
7285
f35fa3a6
CW
72862011-05-20 Colin Watson <cjwatson@ubuntu.com>
7287
7288 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
7289 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
7290 Reported by: Pawel Tecza.
7291
9a79fcf2
VS
72922011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
7293
7294 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
7295 (lsefisystab): Likewise.
7296 (lssal): Likewise.
7297 (lsefimmap): Likewise.
7298 (hdparm): Enable on qemu-mips.
7299 (setjmp): Add ia64 nodist.
7300 (serial): Simplify tags.
7301
63e3eea9
CW
73022011-05-18 Colin Watson <cjwatson@ubuntu.com>
7303
7304 * Makefile.util.def (grub-ofpathname): Install manual page.
7305
09728256
CW
73062011-05-18 Colin Watson <cjwatson@ubuntu.com>
7307
7308 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
7309
8b63a142
CW
73102011-05-18 Colin Watson <cjwatson@ubuntu.com>
7311
7312 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
7313
e775d8ed
VS
73142011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7315
7316 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
7317 into dprintf.
7318
bf947d36
VS
73192011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7320
7321 Use full 64-bit division.
7322
7323 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
7324 (grub_divmod64): ... this.
7325 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
7326 version.
7327
b84f26c5
CW
73282011-05-18 Colin Watson <cjwatson@ubuntu.com>
7329
7330 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
7331 `source'.
7332
5626056f
CW
73332011-05-18 Colin Watson <cjwatson@ubuntu.com>
7334
7335 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
7336 to avoid accidents when debugging with 'sh -x'.
7337 * grub-core/gensyminfo.sh.in: Likewise.
7338 * tests/example_scripted_test.in: Likewise.
7339 * tests/grub_cmd_regexp.in: Likewise.
7340 * tests/grub_script_blanklines.in: Likewise.
7341 * tests/grub_script_dollar.in: Likewise.
7342 * tests/grub_script_expansion.in: Likewise.
7343 * tests/grub_script_final_semicolon.in: Likewise.
7344 * tests/partmap_test.in: Likewise.
7345 * tests/util/grub-shell-tester.in: Likewise.
7346 * tests/util/grub-shell.in: Likewise.
7347
e2965f4a
CW
73482011-05-18 Colin Watson <cjwatson@ubuntu.com>
7349
7350 Move gfxmenu color handling to video, so that gfxterm can use it
7351 too.
7352
7353 * grub-core/gfxmenu/named_colors.c: Move to ...
7354 * grub-core/video/colors.c: ... here. Rename
7355 grub_gui_get_named_color to grub_video_get_named_color.
7356 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
7357 * grub-core/video/colors.c (my_isxdigit): ... here.
7358 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
7359 Move to ...
7360 * grub-core/video/colors.c (parse_hex_color_component): ... here.
7361 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
7362 to ...
7363 * grub-core/video/colors.c (grub_video_parse_color): ... here.
7364
7365 * include/grub/gui.h (grub_gui_color_t): Move to ...
7366 * include/grub/video.h (grub_video_rgba_color_t): ... here.
7367 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
7368 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
7369 * include/grub/gui.h (grub_gui_map_color): Move to ...
7370 * include/grub/video.h (grub_video_map_rgba_color): ... here.
7371 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
7372 to ...
7373 * include/grub/video.h (grub_video_get_named_color): ... here.
7374 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
7375 * include/grub/video.h (grub_video_parse_color): ... here.
7376
7377 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
7378 video/colors.c.
7379 (gfxmenu): Remove gfxmenu/named_colors.c.
7380 (video) [videomodules]: Add video/colors.c.
7381
7382 Add a background_color command.
7383
7384 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
7385 function.
7386 (GRUB_MOD_INIT): Register background_color command.
7387 (GRUB_MOD_FINI): Unregister background_color command.
7388 (redraw_screen_rect): Allow blend/replace of text layer to be
7389 controlled independently from whether there is a background bitmap.
7390 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
7391 changing bitmap.
7392
1e4b4390
VS
73932011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7394
26618ff0
VS
7395 Patch BPB in ntldr and chainloader --bpb.
7396
1e4b4390
VS
7397 * grub-core/fs/fat.c: Include grub/fat.h.
7398 (grub_fat_bpb): Moved to ...
7399 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
7400 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
7401 grub/ntfs.h.
7402 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
7403 Moved from here...
7404 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
7405 here.
7406 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
7407 New function.
7408 (grub_chainloader_cmd): Patch BPB if --bpb is given.
7409 (GRUB_MOD_INIT): Show --bpb.
7410 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
7411 * grub-core/normal/main.c (features): New variable.
7412 (GRUB_MOD_INIT): Set feature_* variables.
7413 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
7414 proto.
7415 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
7416
cf02731e
VS
74172011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7418
7419 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
7420 for cleanness.
7421
e3a1073f
VS
74222011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7423
7424 FreeDOS direct loading support.
7425
7426 * docs/grub.texi (Supported OS): Add FreeDOS.
7427 * grub-core/Makefile.core.def (freedos): New module.
7428 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
7429 variable.
7430 (grub_relocator16_boot): Handle %ebx.
7431 * grub-core/lib/i386/relocator16.S: Likewise.
7432 * grub-core/loader/i386/pc/freedos.c: New file.
7433
05caa461
VS
74342011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7435
7436 Long Linux command line support.
7437
7438 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
7439 (maximal_cmdline_size): New variable.
7440 (allocate_pages): Use maximal_cmdline_size.
7441 (grub_cmd_linux): Set and use maximal_cmdline_size.
7442 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
7443 (allocate_pages): Use maximal_cmdline_size.
7444 (grub_cmd_linux): Set and use maximal_cmdline_size.
7445 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
7446 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
7447 and cmdline_size.
7448
a2491e23
VS
74492011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
74502011-05-18 Colin Watson <cjwatson@ubuntu.com>
7451
7452 Improve devmapper support
7453
7454 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
7455 (grub_util_is_lvm): New function.
7456 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
7457 than lvm if not dmraid.
7458 Handle mapped md nodes.
7459 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
7460 (grub_util_device_is_mapped): ... this. Make always available. All users
7461 updated.
7462 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
7463 (convert_system_partition_to_system_disk): Handle lvm, mpath and
7464 dmraid nodes.
7465 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
7466
6ad6223e
VS
74672011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7468
7469 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
7470
7471 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
7472 * grub-core/modinfo.sh.in: New file.
7473 * grub-core/Makefile.core.def (modinfo.sh): New script.
7474 * util/grub-mknetdir.in: Use modinfo.sh.
7475 * util/grub-mkrescue.in: Likewise.
7476
543a8f6e
VS
74772011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7478
7479 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
7480 Fix potential usage of Elf32 instead of Elf64 when compiling on
7481 32-bit architecture. Add endianness macros while on it.
7482
4959e111
VS
74832011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7484
7485 Use mipsel- rather than mips- in directories involving mipsel ports to
7486 allow both endiannesses coexist.
7487
7488 * configure.ac: proparate target_cpu=mipsel rather than resetting to
7489 mips. All conditions adjusted.
7490 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
7491 variable.
7492 * util/grub-install.in: Adjust conditions to take renaming into account.
7493 * util/grub-mkimage.c (image_targets): Likewise. New target
7494 mips-qemu_mips-elf for bigendian mips.
7495
35341bbc
VS
74962011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7497
7498 Avoid unnecessary copying on MIPS.
7499
7500 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
7501 early if src == dest.
7502 * util/grub-mkimage.c (generate_image): Arange for src == dest if
7503 compression is none.
7504
b772baed
VS
75052011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7506
7507 Reduce memory footprint on SGI by putting modules before the kernel
7508 as opposed to after.
7509
7510 * grub-core/Makefile.core.def (kernel): Increase linking address.
7511 (none_decompress): Likewise.
7512 (xz_decompress): Likewise.
7513 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
7514 address.
7515 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
7516 layout change.
7517 (grub_arch_modules_addr): New function.
7518 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
7519 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
7520 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
7521 here.
7522 * grub-core/kern/mips/startup.S (total_size): Rename to ...
7523 (grub_total_modules_size): ... this. Make global.
7524 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
7525 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
7526 New definition.
7527 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
7528 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
7529 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
7530 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
7531 * util/grub-mkimage.c (image_target_desc): New flag
7532 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
7533 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
7534 (generate_image): Handle images with modules before kernel.
7535
566a1917
VS
75362011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7537
7538 Prevent potential loss of memory map by overwrite on qemu-mips.
7539
7540 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
7541 Save ram size in $s4.
7542 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
7543 All users changed to grub_arch_memsize.
7544 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
7545 Loongson.
7546 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
7547 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
7548 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
7549 external variable.
7550
5d420cd9
CW
75512011-05-17 Colin Watson <cjwatson@ubuntu.com>
7552
7553 * .bzrignore: Remove grub-dumpbios.
7554
d064b830
CW
75552011-05-17 Colin Watson <cjwatson@ubuntu.com>
7556
7557 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
7558 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
7559 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
7560 existing options which append).
7561 * docs/grub.texi (Simple configuration): Document new options.
7562 Reported by: Ian Jackson. Fixes Debian bug #617538.
7563
3ca2b466
CW
75642011-05-17 Colin Watson <cjwatson@ubuntu.com>
7565
7566 * util/grub-fstest.c (cmd_cat): New function.
7567 (fstest): Handle CMD_CAT.
7568 (options): Add cat.
7569 (argp_parser): Handle cat.
7570
24c9143a
CW
75712011-05-17 Colin Watson <cjwatson@ubuntu.com>
7572
7573 * Makefile.util.def (grub-bin2h): Don't install.
7574 * docs/man/grub-bin2h.h2m: Remove.
7575
90f7ac19
VS
75762011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7577
7578 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
7579 place.
7580
8d4a5178
VS
75812011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7582
7583 Reenable qemu-mips port.
7584
7585 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
7586 Fix small arc bug while on it.
7587 * gentpl.py: Handle qemu_mips.
7588 * grub-core/Makefile.am: Likewise.
7589 * grub-core/Makefile.core.def: Likewise.
7590 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
7591 inappropriate includes.
7592 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
7593 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
7594 * grub-core/kern/main.c (grub_modules_get_end)
7595 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
7596 * grub-core/kern/mips/qemu-mips: Moved to ..
7597 * grub-core/kern/mips/qemu_mips: ... this.
7598 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
7599 (grub_machine_init): Call terminfo_init and serial_init.
7600 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
7601 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
7602 New variable.
7603 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
7604 parameter passing.
7605 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
7606 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
7607 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
7608 * include/grub/mips/qemu_mips/cmos.h: New file.
7609 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
7610 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
7611 Removed.
7612 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
7613 Use correct mips-style address.
7614 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
7615 (GRUB_TICKS_PER_SECOND): Removed.
7616 (grub_get_rtc): Likewise.
7617 (grub_cpu_idle): Likewise.
7618 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
7619 New definition.
7620 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
7621 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
7622 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
7623 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
7624 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
7625 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
7626 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
7627 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
7628
400b9371
VS
76292011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7630
7631 SGI ARCS port.
7632
7633 * Makefile.util.def (libgrubmods.a): Add dvh.c.
7634 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
7635 platforms.
7636 * configure.ac: New target mips-arc.
7637 * gentpl.py: Likewise.
7638 * grub-core/Makefile.am: Likewise.
7639 * grub-core/Makefile.core.def: Likewise.
7640 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
7641 (none_decompress): Likewise.
7642 (lsdev): New module.
7643 (datetime): Use lib/arc/datetime.c on ARC.
7644 (part_dvh): New module.
7645 * grub-core/commands/arc/lsdev.c: New file.
7646 * grub-core/disk/arc/arcdisk.c: Likewise.
7647 * grub-core/kern/mips/arc/init.c: Likewise.
7648 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
7649 aligned addresses.
7650 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
7651 support.
7652 (grub_arch_dl_relocate_symbols): Likewise.
7653 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
7654 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
7655 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
7656 platforms.
7657 * grub-core/lib/arc/datetime.c: New file.
7658 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
7659 pci.h on non-loongson.
7660 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
7661 (grub_linux_boot): Set unused registers to 0.
7662 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
7663 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
7664 * grub-core/mmap/mips/uppermem.c: ...here.
7665 * grub-core/partmap/dvh.c: New file.
7666 * grub-core/term/arc/console.c: Likewise.
7667 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
7668 (grub_terminfo_set_current): Add terminal "arc".
7669 (grub_terminfo_readkey): Support ARC sequences.
7670 * include/grub/arc/arc.h: New file.
7671 * include/grub/arc/console.h: Likewise.
7672 * include/grub/disk.h (grub_disk_dev_id): Add
7673 GRUB_DISK_DEVICE_ARCDISK_ID.
7674 * include/grub/mips/arc/kernel.h: New file.
7675 * include/grub/mips/arc/memory.h: Likewise.
7676 * include/grub/mips/arc/time.h: Likewise.
7677 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
7678 * include/grub/mips/kernel.h (grub_halt): ... here.
7679 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
7680 here...
7681 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
7682 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
7683 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
7684 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
7685 proto.
7686 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
7687 from here ...
7688 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
7689 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
7690 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
7691 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
7692 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
7693 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
7694 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
7695 (grub_phys_addr_t): Moved from here ...
7696 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
7697 (grub_vtop): Moved from here ...
7698 * include/grub/mips/memory.h (grub_vtop): ... here.
7699 (grub_map_memory): Moved from here ...
7700 * include/grub/mips/memory.h (grub_map_memory): ... here.
7701 (grub_unmap_memory): Moved from here ...
7702 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
7703 (grub_machine_mmap_iterate): Moved from here ...
7704 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
7705 (grub_mmap_get_lower): Moved from here ...
7706 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
7707 (grub_mmap_get_upper): Moved from here ...
7708 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
7709 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
7710 here ...
7711 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
7712 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
7713 here ...
7714 * include/grub/mips/time.h (grub_get_rtc): ... here.
7715 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
7716 here ...
7717 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
7718 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
7719 here ...
7720 * include/grub/mips/time.h (grub_cpu_idle): ... here.
7721 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
7722 definition.
7723 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
7724 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
7725 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
7726 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
7727 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
7728 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
7729 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
7730 (GRUB_MACHINE_LINK_ADDR): Likewise.
7731 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
7732 to 6.
7733 * util/grub-install.in: Run dvhtool on ARC.
7734 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 7735 (generate_image): Handle ECOFF output for mips-arc.
400b9371 7736
c8ecc840
VS
77372011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
7738
7739 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
7740 blocks.
7741
153a4b55
VS
77422011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
7743
7744 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
7745 after enabling port.
7746
ff44d107
VS
77472011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
7748
7749 Skip incorrect USB devices.
7750
7751 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
7752 configcnt == 0.
7753 * include/grub/usb.h (grub_usb_err_t): New enum value
7754 GRUB_USB_ERR_BADDEVICE.
7755
638dbe4f
VS
77562011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
7757
7758 Fuloong video init support.
7759
7760 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
7761 well.
7762 (grub_vga_read_arx): New function.
7763 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
7764 definition.
7765 (framebuffer): New members io, mmioptr and mmiobase.
7766 (read_sis_cmd): New function.
7767 (write_sis_cmd): Likewise.
7768 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
7769 rather than 640x400.
7770 * grub-core/video/sis315_init.c: New file.
7771
c3fc520c
VS
77722011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7773
7774 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
7775 non-loongson.
7776 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
7777 to grub_dl_register_symbol.
7778
67b1e5c9
VS
77792011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7780
7781 Fix compilation errors.
7782
7783 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
7784 potentially unused.
7785 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
7786 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
7787 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
7788 to loongson machines.
7789
b756f75f
VS
77902011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7791
7792 Several FS mtime support.
7793
7794 * grub-core/fs/affs.c (grub_affs_time): New struct.
7795 (grub_affs_file): New field mtime.
7796 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
7797 type. Removed 'size'. New field 'di'. All users updated.
7798 (grub_affs_mount): Simplify checsum checking.
7799 (grub_affs_iterate_dir): New helper grub_affs_create_node.
7800 (grub_affs_dir): Handle mtime.
7801 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
7802 (grub_cpio_dir): Likewise.
7803 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
7804 (grub_hfs_filerec): New field mtime.
7805 (grub_hfs_dir): Handle mtime.
7806 (grub_hfs_mtime): New function.
7807 (grub_hfs_fs): Register grub_hfs_mtime.
7808 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
7809 (grub_iso9660_dir): New field mtime.
7810 (grub_fshelp_node): New field dirent.
7811 (iso9660_to_unixtime): New function.
7812 (iso9660_to_unixtime2): Likewise.
7813 (grub_iso9660_read_symlink): Use node->dirent.
7814 (grub_iso9660_iterate_dir): Likewise.
7815 (grub_iso9660_dir): Set mtime.
7816 (grub_iso9660_mtime): New function.
7817 (grub_iso9660_fs): Register grub_iso9660_mtime.
7818 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
7819 (grub_jfs_inode): New fields atime, ctime and mtime.
7820 (grub_jfs_dir): Set mtime.
7821 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
7822 * grub-core/fs/ntfs.c (list_file): Set mtime.
7823 (grub_ntfs_dir): Likewise.
7824 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
7825 (grub_reiserfs_iterate_dir): Set mtime.
7826 (grub_reiserfs_dir): Likewise.
7827 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
7828 (grub_fshelp_node): Likewise.
7829 (grub_sfs_iterate_dir): Set mtime.
7830 (grub_sfs_dir): Likewise.
7831 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
7832 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
7833 (grub_xfs_inode): New fields atime, mtime, ctime.
7834 (grub_xfs_dir): Set mtime.
7835 * include/grub/datetime.h (grub_datetime2unixtime): New function.
7836 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
7837 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
7838
7839 Support UDF symlinks.
7840
7841 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
7842 (grub_ufs_read_symlink): New function. All users updated.
7843
7844 Check amiga partmap checksum.
7845
7846 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
7847 (grub_amiga_partition): Likewise.
7848 (amiga_partition_map_checksum): New function.
7849 (amiga_partition_map_iterate): Check checksum.
7850
5470225d
VS
78512011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7852
7853 ROMFS support.
7854
7855 * Makefile.util.def (libgrubmods.a): Add romfs.
7856 * grub-core/Makefile.core.def (romfs): New module.
7857 * grub-core/fs/romfs.c: New file.
7858
d4680a35
VS
78592011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7860
7861 Squashfs v4 support.
7862
7863 * Makefile.util.def (libgrubmods.a): Add squash4.
7864 * grub-core/Makefile.core.def (squash4): New module.
7865 * grub-core/fs/squash4.c: New file.
7866 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
7867 disk_input_start, disk_input.
7868 (get_byte): Handle disk_input.
7869 (grub_zlib_disk_read): New function.
7870 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
7871
bcb18e74
FZ
78722011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
78732011-05-15 Feiran Zheng <famcool@gmail.com>
7874
7875 * Makefile.util.def (libgrubmods.a): Add minix3.
7876 * grub-core/Makefile.core.def (minix3): New module.
7877 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
7878 (GRUB_MINIX_BSIZE): Removed.
7879 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
7880 (grub_minix_ino_t): New type.
7881 (grub_minix_le_to_cpu_ino): New macro.
7882 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
7883 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
7884 (grub_minix_data): New field block_size.
7885 (grub_minix_read_file): Handle 64-bit correctly.
7886 * grub-core/fs/minix3.c: New file.
7887
32297d5f
TG
78882011-05-15 Tristan Gingold <gingold@free.fr>
78892011-05-15 Robert Millan <rmh.grub@aybabtu.com>
78902011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7891
7892 IA64 support.
7893
7894 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
7895 * configure.ac: Add ia64-efi target.
7896 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
7897 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
7898 * gentpl.py: Add ia64_efi platform.
7899 Rename x86_efi to efi and Add ia64-efi. All users updated.
7900 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
7901 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
7902 Remove kern/generic/rtc_get_time_ms.c on EFI.
7903 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
7904 kern/ia64/dl_helper.c on ia64-efi.
7905 Add kern/emu/cache.c on emu.
7906 (linux): Use on loader/ia64/efi/linux.c on ia64.
7907 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
7908 whether symbol is a function.
7909 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
7910 (grub_symbol): New field 'isfunc'.
7911 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
7912 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
7913 (grub_dl_load_segments): Place all sections into the same region.
7914 [__ia64__]: Create trampolines and got.
7915 [GRUB_MACHINE_EMU]: Call mprotect.
7916 (grub_dl_resolve_symbols): Resolve symbol type as well.
7917 [__ia64__]: Create function descriptors.
7918 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
7919 (grub_rtc_get_time_ms): ... this. Expressions simplified.
7920 (grub_get_rtc): New function.
7921 * grub-core/kern/emu/cache.c [__ia64__]: New file.
7922 * grub-core/kern/emu/cache.S: Renamed to ...
7923 * grub-core/kern/emu/cache_s.S: ... this.
7924 [__ia64__]: Add a nop.
7925 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
7926 [__ia64__]: New function.
7927 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
7928 * grub-core/kern/ia64/dl.c: New file.
7929 * grub-core/kern/ia64/dl_helper.c: Likewise.
7930 * grub-core/kern/ia64/efi/init.c: New file.
7931 * grub-core/kern/ia64/efi/startup.S: Likewise.
7932 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
7933 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
7934 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
7935 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
7936 * grub-core/loader/ia64/efi/linux.c: New file.
7937 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
7938 (GRUB_MOD_DEP): Likewise.
7939 (grub_dl) [__ia64__]: New fields got and tramp.
7940 (grub_dl): New field 'base'.
7941 (grub_dl_register_symbol): New argument isfunc. All users updated.
7942 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
7943 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
7944 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
7945 (grub_ia64_dl_get_tramp_got_size): New proto.
7946 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
7947 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
7948 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
7949 * include/grub/efi/api.h: Skip call wrappers on ia64.
7950 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
7951 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
7952 * include/grub/elf.h (ELF_ST_INFO): New definition.
7953 * include/grub/ia64/efi/kernel.h: New file.
7954 * include/grub/ia64/efi/memory.h: Likewise.
7955 * include/grub/ia64/efi/time.h: Likewise.
7956 * include/grub/ia64/kernel.h: Likewise.
7957 * include/grub/ia64/setjmp.h: Likewise (from glibc).
7958 * include/grub/ia64/time.h: New file.
7959 * include/grub/ia64/types.h: Likewise.
7960 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
7961 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
7962 New protos.
7963 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
7964 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
7965 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
7966 * util/grub-mkimage.c (image_target_desc): New field pe_target.
7967 All users updated.
7968 (EFI64_HEADER_SIZE): New definition. All users updated.
7969 (image_targets): Add ia64-efi.
7970 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
7971 jumpers_addr. All users updated.
7972 Create function descriptors.
7973 (count_funcs): New function.
7974 (unaligned_uint32): New struct.
7975 (MASK20): New definition.
7976 (MASK19): Likewise.
7977 (MASKF21): Likewise.
7978 (add_value_to_slot_20b): New function.
7979 (add_value_to_slot_21_real): Likewise.
7980 (add_value_to_slot_21): Likewise.
7981 (ia64_kernel_trampoline): New struct.
7982 (nopm): New variable.
7983 (jump): Likewise.
7984 (make_trampoline): New function.
7985 (relocate_addresses): Handle ia64.
7986 (make_reloc_section): Likewise.
7987 (load_image): Likewise.
7988
983b414d
VS
79892011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7990
7991 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
7992 warning. Move variables before code while on it.
7993
5d063cdc
VS
79942011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7995
7996 Fuloong support.
7997
7998 * configure.ac: Rename yeeloong platform to loongson. All users updated.
7999 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
8000 * grub-core/boot/mips/loongson/fuloong.S: New file.
8001 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
8002 Explicitly init CS5536.
8003 [FULOONG]: Don't use serial until CS5536 is available.
8004 Set GPIO based on dumps.
8005 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
8006 [FULOONG]: Handle GPIO and memory controller differences.
8007 Parse machine type in $a2.
8008 * grub-core/boot/mips/startup_raw.S: Determine and save the
8009 architecture.
8010 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
8011 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
8012 init on architecture type.
8013 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
8014 SIS315E. Don't init at_keyboard on fuloong.
8015 (grub_halt): Support Fuloong.
8016 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
8017 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
8018 (loongson_machtypes): New array.
8019 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
8020 type.
8021 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
8022 config. All users updated. Handle CS5536 serial.
8023 * grub-core/term/serial.c (grub_serial_register): Conditionalise
8024 default port on machine type. Register serial as inactive.
8025 * grub-core/video/sis315pro.c: New file.
8026 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
8027 definition.
8028 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
8029 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
8030 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
8031 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
8032 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
8033 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
8034 to ...
8035 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
8036 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
8037 definition.
8038 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
8039 (grub_arch_machine): New extern var.
8040 * include/grub/mips/loongson/serial.h
8041 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
8042 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
8043 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
8044 (GRUB_MACHINE_SERIAL_PORT0): ... this.
8045 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
8046 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
8047 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
8048 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
8049 * include/grub/term.h (grub_term_register_input_inactive): New inline
8050 function.
8051 (grub_term_register_output_inactive): Likewise.
8052 * include/grub/video.h (grub_video_driver_id): New value
8053 GRUB_VIDEO_DRIVER_SIS315PRO.
8054 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
8055 New field "names". All users updated.
8056 New field value IMAGE_FULOONG_FLASH.
8057 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
8058
6ada82d1
JU
80592011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
8060
8061 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
8062 and add some clarification.
8063
90c571a4
VS
80642011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8065
8066 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
8067 platforms if kernel is compressed.
8068
de04eecf
VS
80692011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8070
8071 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
8072 unused modules since currently referrence counter isn't reliable and
8073 there isn't much memory to recover there anyway.
8074
57688121
VS
80752011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8076
8077 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
8078 rather than resetting it to allow modules to reference themselves
8079 in init.
8080
3d2c7e35
VS
80812011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8082
8083 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
8084 counter on dependencies since grub_dl_unref already handles this.
8085
b25db218
VS
80862011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8087
8088 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
8089 on error if not already done.
8090
25a45338
VS
80912011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8092
8093 Fix few potential memory misusage.
8094
8095 * grub-core/font/font.c (load_font_index): Don't free char_index to
8096 avoid double free.
b25db218
VS
8097 (grub_font_load): Zero-fill font at alloc for safety.
8098 Close file on error.
8099 (free_font): Free bmp_idx.
25a45338 8100
0cac83df
VS
81012011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8102
8103 * docs/grub.texi (Installation): Fix several outdated claims.
8104
2217a143
VS
81052011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8106
8107 Handle module_license on windows.
8108
8109 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
8110 sections shifted.
8111 (insert_string): Make argument const char * instead of char *.
8112 (write_section_data): Handle long section names.
8113 Handle module_license.
8114
d4de6b01
VS
81152011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8116
8117 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
8118 handle class-free menuentries.
8119 (grub_normal_add_menu_entry): Add a check to be sure.
8120
4c2a3b43
VS
81212011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8122
8123 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
8124 PgUp and PgDown.
8125
85c6210f
VS
81262011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8127
8128 * configure.ac: Bump version to 1.99.
8129
36084912
VS
81302011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8131
8132 Give ATA device a bit more time on first try in order to allow disks
8133 to spin up.
8134
8135 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
8136 if dev->present is 1. Reset dev->present on failure.
8137 (grub_ata_device_initialize): Set dev->present to 1.
8138 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
8139 (grub_ata_device): New member 'present'.
8140
bda0e219
VS
81412011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8142
8143 * util/grub-mkimage.c (generate_image): Update hash.
8144
19e1c41b
VS
81452011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8146
8147 Flush caches on DMA memory.
8148
8149 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
8150 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
8151 (grub_dma_free): Likewise.
8152 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
8153
91bbcc0c
VS
81542011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8155
8156 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
8157 to avoid asm treating ld and sd as macros.
8158
60ddfad3
VS
81592011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8160
8161 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
8162 decompressor.
8163
a298aa04
VS
81642011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8165
8166 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
8167 grub_decompress_core since later would fail if grub_decompress_core
8168 is too far.
8169
9b44feca
VS
81702011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8171
8172 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
8173 R_MIPS_JALR since it's used by newer compiler.
8174
56dbe7b4
VS
81752011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8176
8177 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
8178
52856af2
VS
81792011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8180
8181 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
8182 file_path to 0 for surety.
8183 (grub_chainloader_boot): Set exit_data to NULL.
8184 Unset the loader once done.
8185 (grub_cmd_chainloader): Fix confusing error message if file is empty.
8186
9c9bfc6d
VS
81872011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8188
8189 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
8190 unknown key into a dprintf.
8191
dd94a3df
VS
81922011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8193
8194 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
8195 on first non-existant partition.
8196
fa68d99c
VS
81972011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8198
8199 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
8200 openning fails.
8201 Reported by: Mark Korenberg.
8202
157effb7
VS
82032011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8204
8205 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
8206 overflow.
8207
ea75312f
VS
82082011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8209
8210 * util/grub-mkimage.c (main): Explicitely flush and sync the output
8211 before closing to ensure that it will be readable by grub-setup.
8212
072b5d31
VS
82132011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8214
8215 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
8216 (devpath_1): Use MAKE_PIWG_PATH.
8217 (devpath_2): Likewise.
8218 (devpath_3): Likewise.
8219 (devpath_4): Likewise.
8220 (devpath_5): Likewise.
8221 (devpath_6): Likewise.
8222
8223 The appleldr.mod was checked that to be binary identical to previous
8224 version.
8225
7fae0051
Z
82262011-05-05 Zach <mikezackles>
8227
8228 Support 2010 Macbooks.
8229
8230 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
8231 (devs): Add devpath_6.
8232
7c515bee
VS
82332011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8234
8235 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
8236 /dev/random. /dev/urandom is good enough for our purposes (salting).
8237
ed660bd8
VS
82382011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8239
8240 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
8241
ee5614b7
VS
82422011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8243
8244 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
8245 hexadecimal.
8246
664889a6
VS
82472011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8248
8249 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
8250 and not 0 on failure.
8251
bd405bbc
CW
82522011-05-03 Colin Watson <cjwatson@ubuntu.com>
8253
8254 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
8255 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
8256 disk; otherwise grub_fs_probe will not fall back to the next
8257 filesystem.
8258 (grub_pxefs_open): Likewise, for consistency.
8259 Reported and tested by: Ezekiel Grave.
8260
4ebff753
CW
82612011-05-03 Colin Watson <cjwatson@ubuntu.com>
8262
8263 * tests/partmap_test.in: Don't hardcode path to parted.
8264 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
8265
8f942553
CW
82662011-05-01 Colin Watson <cjwatson@ubuntu.com>
8267
8268 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
8269 of `ls' to find out which devices are available.
8270
3c62402d
VS
82712011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8272
8273 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
8274 than source address for efi mmap buffer.
8275
723f63f2
VS
82762011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8277
8278 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
8279 wrong action on non-detecting the magic.
8280
68797f92
VS
82812011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8282
8283 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
8284 already supplied by another part of the module (fixes compilation on
8285 FreeBSD).
8286
6be8715d
VS
82872011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8288
8289 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
8290 match the one used by mdadm.
8291
e91dba5b
CW
82922011-04-21 Colin Watson <cjwatson@ubuntu.com>
8293
8294 * po/README: Add instructions for creating po/LINGUAS.
8295
c85140b3
CW
82962011-04-21 Colin Watson <cjwatson@ubuntu.com>
8297
8298 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
8299 #551428.
8300
8301 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
8302 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
8303 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
8304 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
8305 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
8306 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
8307 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
8308 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
8309 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
8310 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
8311 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
8312 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
8313 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
8314 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
8315 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
8316 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
8317 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
8318 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
8319 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
8320 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
8321 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
8322 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
8323
92051871
CW
83242011-04-21 Colin Watson <cjwatson@ubuntu.com>
8325
8326 * grub-core/kern/emu/getroot.c
8327 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
8328 test that was incorrectly reintroduced in r3214.
8329 Reported by: Ian Dall. Fixes Savannah bug #33133.
8330
b13f79a4
CW
83312011-04-21 Colin Watson <cjwatson@ubuntu.com>
8332
8333 Fix stack pointer handling in 16-bit relocator.
8334
8335 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
8336 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
8337 Fixes Ubuntu bug #683904.
8338
9b710a88
VS
83392011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
8340
8341 * configure.ac: Bump version to 1.99~rc2.
8342
d97e7b59
VS
83432011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
8344
8345 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
8346 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
8347 * grub-core/lib/x86_64/setjmp.S: Likewise.
8348 * grub-core/lib/mips/setjmp.S: Likewise.
8349 * grub-core/lib/powerpc/setjmp.S: Likewise.
8350 * grub-core/lib/sparc64/setjmp.S: Likewise.
8351
0624551c
VS
83522011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
8353
8354 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
8355 * grub-core/lib/efi/datetime.c: Likewise.
8356
e8f28d4c
VS
83572011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8358
8359 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
8360 New function.
8361 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
8362 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
8363 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
8364
bba79a15
VS
83652011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8366
8367 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
8368 bitmap.
8369 (grub_gfxterm_term_init): Likewise.
8370
abc474ef
VS
83712011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8372
8373 Take into account the decorations the computing menu entry width.
8374
8375 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
8376 (grub_gfxmenu_create_box): Register get_border_width.
8377 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
8378 if available.
8379 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
8380 get_border_width.
8381
e74b3947
EP
83822011-04-18 Endres Puschner <code@e7p.de>
8383
8384 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
8385 Don't skip first class.
8386
34faa595
VS
83872011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8388
8389 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
8390 chunks.
8391 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
8392
93a777e3
VS
83932011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8394
8395 Complete 64-bit division support.
8396
8397 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
8398 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
8399 * include/grub/misc.h (grub_divmod64): Rename to ...
8400 (grub_divmod64_full): ... this.
8401 (grub_divmod64): New inline function.
8402
a5102d94
VS
84032011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8404
8405 * util/grub-mkimage.c (generate_image): Add forgotten comma.
8406
f3fb7b36
VS
84072011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8408
8409 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
8410 performing the necessary test.
8411
9ac718b0
VS
84122011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8413
8414 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
8415 (kfreebsd.elf): Likewise.
8416 (pc-chainloader.elf): Likewise.
8417 (ntldr.elf): Likewise.
8418
50d2cc5a
VS
84192011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8420
8421 Identify RAID by its UUID rather than (guessed) name.
8422
8423 * grub-core/disk/raid.c (ascii2hex): New function.
8424 (grub_raid_open): Accept mduuid/%s specification.
8425 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
8426 (get_mdadm_uuid): ... this.
8427 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
8428
e03f7bea
VS
84292011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
8430
8431 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
8432 to negative size.
8433
e74c3112
CW
84342011-04-13 Colin Watson <cjwatson@ubuntu.com>
8435
8436 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
8437 btrfs subvolume.
8438 * util/grub.d/20_linux_xen.in: Likewise.
8439
78fa584f
CW
84402011-04-13 Colin Watson <cjwatson@ubuntu.com>
8441
8442 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
8443 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
8444
8445 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
8446 Build a list of relevant visible mounts using the mnt_id and
8447 parent_mnt_id fields, and then scan that list at the end.
8448
9d5f8162
CW
84492011-04-12 Colin Watson <cjwatson@ubuntu.com>
8450
8451 * docs/grub.texi (normal): New section.
8452 (normal_exit): New section.
8453 (Embedded configuration): Add reference to normal.
8454 (GRUB only offers a rescue shell): Likewise.
8455 * docs/grub-dev.texi (Error Handling): Fix typo.
8456
09a9d66f
CW
84572011-04-12 Colin Watson <cjwatson@ubuntu.com>
8458
8459 * NEWS: Drop obsolete entry about probe-only btrfs support.
8460
0c676933
CW
84612011-04-12 Colin Watson <cjwatson@ubuntu.com>
8462
8463 * util/import_gcry.py: Fix typo.
8464
ec9f5e0d
VS
84652011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8466
8467 * NEWS: Add btrfs support.
8468
fe6b2cba
VS
84692011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
84702011-04-11 Colin Watson <cjwatson@ubuntu.com>
8471
8472 BtrFS support. Written by me (Vladimir) with important bugfixes and
8473 even more important testing by Colin.
8474
8475 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
8476 * grub-core/Makefile.core.def (btrfs): Add crc.c.
8477 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
8478 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
8479 mem_input_off and mem_input. All users updated to accept in-RAM input.
8480 (gzio_seek): New function.
8481 (test_zlib_header): Likewise.
8482 (grub_gzio_read): Likewise.
8483 (grub_zlib_decompress): Likewise.
8484 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
8485 Accept partial and non-virtual mounts.
8486 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
8487 avoid receiving /dev/dm-X as device.
8488 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
8489 Handle bind and partial mounts.
8490 * grub-core/lib/crc.c: New file.
8491 * include/grub/deflate.h: Likewise.
8492 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
8493 proto.
8494 * include/grub/lib/crc.h: New file.
8495
e745cf0c
VS
84962011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8497
8498 Implement automatic module license checking according to new GNU
8499 guidelines.
8500
8501 * grub-core/kern/dl.c (grub_dl_check_license): New function.
8502 (grub_dl_load_core): Use grub_dl_check_license.
8503 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
8504 (GRUB_MOD_LICENSE): Likewise.
8505 (GRUB_MOD_DUAL_LICENSE): Likewise.
8506 All modules updated.
8507
2a9bc016
CW
85082011-04-11 Colin Watson <cjwatson@ubuntu.com>
8509
8510 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
8511 reserved_first_sector to 1. btrfs reserves plenty of space for boot
8512 loaders.
8513 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
8514
8a3bc88e
VS
85152011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8516
8517 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
8518
af869a4a
VS
85192011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8520
8521 * util/grub-fstest.c (read_file): Report GRUB error if file opening
8522 failed.
8523
9ee8d94f
VS
85242011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8525
8526 * grub-core/kern/file.c (grub_file_open): Don't take into account the
8527 parenthesis in the middle of the filename.
8528
b01abe3e
VS
85292011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8530
8531 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
8532 rather than trying to put initrd way too high.
8533 Reported by: Ryan Lortie <desrt@desrt.ca>
8534
335bda1e
VS
85352011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8536
8537 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
8538 improperly removed string.
8539
5ca1a64d
VS
85402011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8541
8542 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
8543 is_disk.
8544 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
8545 (open_device) Likewise.
8546 (grub_util_biosdisk_close): Likewise.
d8ce9995 8547 Reported by: Mark Korenberg.
5ca1a64d 8548
cbac5b1e
AK
85492011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
8550
8551 * util/grub-mkconfig_lib.in: Add missing quotes.
8552
088cdb65
CW
85532011-04-10 Colin Watson <cjwatson@ubuntu.com>
8554
8555 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
8556 is NULL.
8557
8b8a81fa
VS
85582011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8559
8560 Dynamically count the number of lines for the lower banner.
8561
8562 * grub-core/normal/menu_entry.c (per_term_screen): New member
8563 num_entries.
8564 (print_down): Use num_entries.
8565 (update_screen): Likewise.
8566 (grub_menu_entry_run): Set num_entries.
8567 * grub-core/normal/menu_text.c (menu_viewer_data): New member
8568 num_entries.
8569 (grub_print_message_indented): Move real part to ...
8570 (grub_print_message_indented_real): ... here. Additional argument
8571 dry_run.
8572 (draw_border): Additional argument num_entries.
8573 (print_message): Additional argument dry_run.
8574 (print_entries): Receive menu viewer data.
8575 (grub_menu_init_page): New argment num_entries.
8576 (menu_text_set_chosen_entry): Use num_entries.
8577 (grub_menu_try_text): Likewise.
8578 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
8579 All users updated.
8580 (grub_ucs4_count_lines): New function.
8581 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
8582 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
8583 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
8584 (grub_term_border_height): Likewise.
8585 (grub_term_num_entries): Likewise.
8586
277f955b
VS
85872011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8588
8589 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
8590 Remove now unused string.
8591
536ce85a
CW
85922011-04-09 Colin Watson <cjwatson@ubuntu.com>
8593
8594 * docs/grub-dev.texi (Finding your way around): Update for 1.99
8595 build system.
8596 (Getting started): GRUB is developed in Bazaar now, not Subversion.
8597
8598 (Comment): Fix typo.
8599 (Getting started): General copy-editing.
8600 (Typical Development Experience): Likewise.
8601 (Error Handling): Likewise.
8602 (Video API): Likewise.
8603
2cf09e32
CW
86042011-04-09 Colin Watson <cjwatson@ubuntu.com>
8605
8606 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
8607 throughout.
8608
1ec652f4
VS
86092011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8610
8611 * util/grub-mkimage.c (main): Handle special naming of yeeloong
8612 directory.
8613
2c583728
CW
86142011-04-08 Colin Watson <cjwatson@ubuntu.com>
8615
8616 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
8617 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
8618 "development".
8619
d7a565e9
VS
86202011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8621
8622 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
8623 grub_strcpy since the lines aren't necessarily 0-terminated.
8624
7c2e4909
VS
86252011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8626
8627 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
8628 root on legacy.
8629
34c09785
VS
86302011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8631
8632 * grub-core/commands/probe.c (options): Argument to set isn't optional.
8633 (GRUB_MOD_INIT): DEVICE isn't optional.
8634
6a6f8058
VS
86352011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8636
8637 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
8638 word on new line if it's too long anyway. Fixes a hang.
8639
2e335e90
VS
86402011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8641
8642 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
8643 const.
8644 * util/grub-setup.c (main): Reuse md device name if available.
8645 * util/raid.c (grub_util_raid_getmembers): Receive device name and
8646 not GRUB name as argument.
8647 Based on patch by: Florian Wagner <fwagner>.
8648
10a7a867
VS
86492011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8650
8651 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
8652 Place mbi on low memory for better compatibility.
8653
7a3d6cd9
VS
86542011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8655
8656 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
8657
18dd6b47
VS
86582011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
86592011-04-08 Colin Watson <cjwatson@ubuntu.com>
8660
8661 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 8662 * conf/Makefile.common: Likewise.
18dd6b47 8663
3c0e3f14
VS
86642011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8665
f7148863
VS
8666 * grub-core/normal/menu.c: Add missing include.
8667
86682011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8669
8670 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 8671
6d1fa41f
MZ
86722011-04-08 Martin Zuther <mzuther@mzuther.de>
8673
8674 * util/grub-mkconfig.in: Ignore emacsen backup.
8675
478182a8
VS
86762011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8677
8678 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
8679 on open.
8680 (grub_util_biosdisk_close): Likewise.
8681
72a89a54
VS
86822011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8683
8684 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
8685 const attribute and use grub_isdigit.
8686
b5ebecfa
A
86872011-04-06 Andrey <dev_null@ukr.net>
8688
8689 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
8690 gcc warning.
8691
7755f66e
VS
86922011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8693
8694 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
8695 useful grub_dprintf's.
8696
461121ff
VS
86972011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8698
8699 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
8700
2a961775
VS
87012011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8702
8703 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
8704
adf594cc
VS
87052011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8706
8707 Output errors if theme loading failed.
8708
8709 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
8710 grub_gfxterm_fullscreen on error paths to ...
8711 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
8712 theme loading error.
8713
665900a3
VS
87142011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8715
8716 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
8717 space for older compilers.
8718 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
8719
a562b479
VS
87202011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8721
8722 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
8723 and report them as not RAID members since they are useless for GRUB.
8724 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8725
850e9373
VS
87262011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8727
8728 Increase LVM implementation robustness in order not to crash on
8729 configurations like pvmove. Previously code assumed that in some places
8730 only lvs or only pvs are used whereas it seems that they are used
8731 interchangeably.
8732
8733 * grub-core/disk/lvm.c (read_node): New function.
8734 (read_lv): Use read_node.
8735 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
8736 Match volumes only at the end when all lvs are found. Take both
8737 pvs (first) and lvs (second) into account.
8738 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
8739 mirror_* into node_*. All users updated.
8740 (grub_lvm_stripe): Merge this ...
8741 (grub_lvm_mirror): ... and this ...
8742 (grub_lvm_node): ... into this. All users updated.
8743
6f332153
VS
87442011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8745
8746 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
8747 of function to allow further scanning for LVMs.
8748
829ea451
VS
87492011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8750
8751 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
8752 on failed seek as it breaks open fd reusage.
8753
09ceb9a5
VS
87542011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8755
8756 * util/grub-install.in: Add a recommendation to use --recheck before
8757 reporting bugs.
8758
67e11623
VS
87592011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8760
8761 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
8762 are obtained.
8763
caee5efd
VS
87642011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8765
8766 GRUB developper manual based on existing Internals section and
8767 contributions by the various authors with active copyright assignment.
8768
8769 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
8770 * docs/font_char_metrics.png: New file.
8771 * docs/font_char_metrics.txt: Likewise.
8772 * docs/grub-dev.texi: Likewise.
8773 * docs/grub.texi (Internals): Move from here ...
8774 * docs/grub-dev.texi: ... here.
8775
2cccc747
CW
87762011-04-01 Colin Watson <cjwatson@ubuntu.com>
8777
8778 Store the loopback device as data on loopback grub_disk structures,
8779 rather than the file it points to. This fixes use of freed memory
8780 if an existing loopback device is replaced.
8781
8782 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
8783 disk->data, not dev->file.
8784 (grub_loopback_read): Adjust file assignment to match.
8785 Fixes Ubuntu bug #742967.
8786
186ae367
CW
87872011-04-01 Colin Watson <cjwatson@ubuntu.com>
8788
8789 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
8790 when replacing an existing device.
8791
cfed2ad0
VS
87922011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8793
8794 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
8795 memory corruptions.
8796
8797 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
8798 unsigned.
8799 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
8800 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
8801 (grub_jfs_read_inode): Likewise.
8802 (grub_jfs_opendir): Likewise. Remove now useless casts.
8803 (grub_jfs_getent): Likewise.
8804 Make ino a grub_uint32_t rather than int.
8805 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
8806 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
8807 division and module with bit operations.
8808 (grub_jfs_find_file): Make ino a grub_uint32_t.
8809 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
8810
05d2ed32
CW
88112011-04-01 Colin Watson <cjwatson@ubuntu.com>
8812
8813 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
8814 warning. (This was in fact always initialised before use, but GCC
8815 wasn't smart enough to prove that.)
8816 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
8817
91dc6073
VS
88182011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8819
8820 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
8821 stack alignment.
8822 (efi_wrap_1): Likewise.
8823 (efi_wrap_2): Likewise.
8824 (efi_wrap_3): Likewise.
8825 (efi_wrap_4): Likewise.
8826 (efi_wrap_5): Likewise.
8827 (efi_wrap_6): Likewise.
8828 (efi_wrap_10): Likewise.
8829 Based on information by: Red Hat/Peter Jones.
8830
a8afc1d1
CW
88312011-03-31 Colin Watson <cjwatson@ubuntu.com>
8832
8833 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
8834 set-but-not-used variable.
8835
a826cc7d
CW
88362011-03-31 Colin Watson <cjwatson@ubuntu.com>
8837
8838 * docs/grub.texi (Simple configuration): Be more explicit about
8839 GRUB_DEFAULT, and add an example.
8840 Reported by: Leslie Rhorer.
8841
875b67ba
CW
88422011-03-30 Colin Watson <cjwatson@ubuntu.com>
8843
8844 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
8845 shell".
8846
fd7cd914
AS
88472011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
8848
8849 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
8850 * util/grub.d/20_linux_xen.in: Likewise.
8851
090b1b6a
VS
88522011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8853
8854 * util/grub.d/10_linux.in: Try alternative config filenames where
8855 we parse config file.
8856 * util/grub.d/20_linux_xen.in: Likewise.
8857
baad885c
AS
88582011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
8859
8860 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
8861 * util/grub.d/20_linux_xen.in: Likewise.
8862
241e41f5
VS
88632011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8864
8865 * grub-core/disk/raid.c (insert_array): Add few potentially
8866 useful grub_util_info.
8867 (grub_raid_register): Likewise.
8868
56445fb2
VS
88692011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8870
8871 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
8872 Preserve partition number in mdadm code path.
8873
c871b1c6
VS
88742011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8875
8876 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
8877 few potentially useful grub_util_info.
8878
5e631b4f
CW
88792011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8880
8881 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
8882
2d5d0333
CW
88832011-03-30 Colin Watson <cjwatson@ubuntu.com>
8884
8885 * docs/grub.texi (default): Use @example rather than nested
8886 itemized lists to avoid breaking gendocs.
8887
3d7ed04e
CW
88882011-03-30 Colin Watson <cjwatson@ubuntu.com>
8889
8890 * docs/grub.texi (Future): Update.
8891
abf04200 88922011-03-30 Colin Watson <cjwatson@ubuntu.com>
8893
8894 * docs/grub.texi (Environment): New chapter.
8895 (Changes from GRUB Legacy): Link to "Environment block" section for
8896 details of limitations.
8897 (Simple configuration): Likewise. Link to documentation of gfxmode
8898 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
8899 respectively.
8900 (Shell-like scripting): Note that normal variables are stored in the
8901 environment.
8902 (gettext): Link to documentation of lang and locale_dir.
8903 (list_env): New section.
8904 (load_env): New section.
8905 (save_env): New section.
8906
8907 (Reporting bugs): Fix typo.
8908
e1ad0edd
VS
89092011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8910
8911 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
8912 the example.
8913
5d803174
VS
89142011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8915
8916 * grub-core/term/at_keyboard.c (set_scancodes)
8917 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
8918
2a2da1d0
CW
89192011-03-30 Colin Watson <cjwatson@ubuntu.com>
8920
8921 * docs/grub.texi (Menu-specific commands): Remove some semantics
8922 that were true in GRUB Legacy but not in GRUB 2.
8923 (submenu): New section.
8924 (false): New section.
8925 (read): New section.
8926 (true): New section.
8927
a7527639
CW
89282011-03-30 Colin Watson <cjwatson@ubuntu.com>
8929
8930 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
8931
89322011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
8933
8934 * docs/grub.texi (Simple configuration): Explain some of the
8935 current limitations of grub-mkconfig.
8a748df2 8936 Reported by: Leslie Rhorer.
e30af029 8937
fc858482
VS
89382011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8939
8940 Old macs search for boot.efi rather than for bootia32.efi.
8941
8942 * util/grub-install.in: Copy bootia32.efi to boot.efi.
8943 * util/grub-mkrescue.in: Likewise.
8944 Suggested by: Peter Jones.
8945
e1eb511d
VS
89462011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8947
8948 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
8949
70e75364
VS
89502011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8951
8952 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
8953 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
8954 (grub_lvm_mirror): New struct.
8955 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
8956 (grub_lvm_iterate): Iterate only visible volumes.
8957 (grub_lvm_read): Factor out to ..
8958 (read_lv): ... this. Support mirrors.
8959 (grub_lvm_read): New wrapper function.
8960 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
8961 stripped or mirrored.
8962
fc18f6a3
VS
89632011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8964
8965 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
8966
5c650f4c
CW
89672011-03-29 Colin Watson <cjwatson@ubuntu.com>
8968
8969 * docs/grub.texi (loopback): New section.
8970
61d7156b
CW
89712011-03-29 Colin Watson <cjwatson@ubuntu.com>
8972
8973 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
8974 removed -p option.
8975
994b8264
CW
89762011-03-29 Colin Watson <cjwatson@ubuntu.com>
8977
8978 * docs/grub.texi (BIOS installation): New section, partly based on
8979 previous text in other sections.
8980 (Installing GRUB using grub-install): Replace BIOS discussion with a
8981 cross-reference.
8982 (Images): Likewise.
8983
9e4d19e0
VS
89842011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8985
8986 * grub-core/kern/emu/hostdisk.c (find_partition_start)
8987 [HAVE_DIOCGDINFO]: Add safety checks.
8988
a307c0b2
VS
89892011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8990
8991 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
8992 per default compiled in kernel and prior to 8.0 isn't shipped at all.
8993
b4db4f39
CW
89942011-03-29 Colin Watson <cjwatson@ubuntu.com>
8995
8996 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
8997 real_sb->size is zero (e.g. RAID-0), get the disk size from
8998 real_sb->data_size instead.
8999 Fixes Ubuntu bug #743136.
9000
35e5f84c
VS
90012011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9002
9003 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
9004 printf clauses for printing size and start.
9005
d2e29d81
VS
90062011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9007
9008 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
9009 Reported and tested by: Timothy Nikkel.
9010
ed5587af
VS
90112011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9012
9013 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
9014 (dirty_region_add_real): ... this.
9015 (dirty_region_add): Don't discard margin refresh when performing
9016 scheduled repaint.
9017
a1dc717c
VS
90182011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9019
9020 * grub-core/lib/relocator.c (allocate_regstart)
9021 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
9022 terminals are capabple of malloc-free operation.
9023 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
9024 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
9025
9f3677d3
VS
90262011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
9027
9028 * util/grub-setup.c: Copy the partition table zone if floppy support
9029 is disabled, even if no partition table is found.
9030
9031 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
9032 during POST if an invalid partition table is contained in the PBR
9033 of the active partition when GRUB is installed to a partition.
9034
24148725
CW
90352011-03-28 Colin Watson <cjwatson@debian.org>
9036
9037 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
9038 comment.
9039
f329eda7
CW
90402011-03-28 Colin Watson <cjwatson@debian.org>
9041
9042 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
9043 to be specific about what kind of RAID device we're scanning for.
9044
c482ad98
SG
90452011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
9046
9047 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
9048 return freed string.
9049
5ee04984
VS
90502011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9051
9052 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
9053
f4727da9
VS
90542011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9055
9056 Use libgeom on FreeBSD to detect partitions.
9057
9058 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
9059 (grub-mkrelpath): Likewise.
9060 (grub-script-check): Likewise.
9061 (grub-editenv): Likewise.
9062 (grub-mkpasswd-pbkdf2): Likewise.
9063 (grub-fstest): Likewise.
9064 (grub-mkfont): Likewise.
9065 (grub-mkdevicemap): Likewise.
9066 (grub-probe): Likewise.
9067 (grub-setup): Likewise.
9068 (grub-ofpathname): Likewise.
9069 (grub-mklayout): Likewise.
9070 (example_unit_test): Likewise.
9071 (grub-menulst2cfg): Likewise.
9072 * grub-core/Makefile.core.def (grub-emu): Likewise.
9073 (grub-emu-lite): Likewise.
9074 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
9075 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
9076 define HAVE_DIOCGDINFO.
9077 (follow_geom_up) [FreeBSD]: New function.
9078 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
9079 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
9080 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
9081 unconditionally of HAVE_DIOCGDINFO.
9082
82fe6c75
VS
90832011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9084
9085 Fix FreeBSD compilation problem.
9086
9087 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
9088 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
9089
4c6c9431
CW
90902011-03-24 Colin Watson <cjwatson@ubuntu.com>
9091
9092 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
9093 Switch back to page zero before loading a kernel, since some kernel
9094 drivers expect that.
9095 Thanks to: Felix Kuehling.
9096
c7064d94
VS
90972011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9098
9099 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
9100 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
9101 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
9102
3f71cded
VS
91032011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9104
9105 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
9106 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
9107
ef6de21a
VS
91082011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9109
9110 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
9111 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
9112 malloc is disabled.
9113
8bc66a2c
VS
91142011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9115
9116 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
9117 for modules headers when counting the needed allocation size.
9118
5657722c
VS
91192011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9120
9121 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
9122 if no ASCII character is found to prevent crash.
9123
41a85f55
AK
91242011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
9125
9126 * grub-core/video/bitmap.c (match_extension): Ignore case.
9127
59e1e5f1
VS
91282011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9129
9130 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
9131
bd4d051a
VS
91322011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9133
9134 * grub-core/script/parser.y: Declare "time" as valid argument.
9135
bae7fcc1
PJ
91362011-03-23 Peter Jones <pjones@redhat.com>
9137
9138 Fix incorrect assert failure reporting.
9139
9140 * grub-core/tests/example_functional_test.c (example_test): Add
9141 a failure comment.
9142 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
9143 (failure_start): ...this. Check that malloc succeeded.
9144 Don't call xvasprintf. Return failure struct.
9145 (failure_append_vtext): New function.
9146 (failure_append_text): Likewise.
9147 (add_failure): Likewise.
9148 (grub_test_assert_helper): Likewise.
9149 * include/grub/test.h (grub_test_assert_helper): New declaration.
9150 (grub_test_assert): Macro rewritten.
9151
537dc9be
VS
91522011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9153
9154 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
9155
fa3e01bf
VS
91562011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9157
9158 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
9159
b1d28404
VS
91602011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9161
9162 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
9163 into GRUB-style one.
9164
2e3e2e09
VS
91652011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9166
9167 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
9168 error and not grub_errno.
9169 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
9170
ed57e557
VS
91712011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9172
9173 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
9174 GRUB_USB_SPEED_NONE in case of failure and not the error code.
9175
d1611f01
VS
91762011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9177
9178 * grub-core/efiemu/i386/pc/cfgtables.c
9179 (grub_machine_efiemu_init_tables): Make declaration a prototype.
9180 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
9181 (grub_xnu_unlock): Likewise.
9182 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
9183
7d4e39d6
VS
91842011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9185
9186 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
9187 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
9188 * grub-core/commands/hashsum.c (aliases): Likewise.
9189 * grub-core/commands/setpci.c (pci_registers): Likewise.
9190 * grub-core/disk/usbms.c (attach_hook): Likewise.
9191 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
9192 (zio_checksum_table): Likewise.
9193 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
9194 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
9195 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
9196 * grub-core/lib/relocator.c (leftovers): Likewise.
9197 (extra_blocks): Likewise.
9198 * grub-core/loader/i386/bsd.c (relocator): Likewise.
9199 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
9200 (modules_last): Likewise.
9201 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
9202 (devices): Likewise.
9203 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
9204 (modules_last): Likewise.
9205 * grub-core/normal/auth.c (users): Likewise.
9206 * grub-core/normal/context.c (initial_menu): Likewise.
9207 (current_menu): Likewise.
9208 * grub-core/normal/crypto.c (crypto_specs): Likewise.
9209 * grub-core/term/serial.c (grub_serial_ports): Likewise.
9210 (grub_serial_terminfo_input_template): Likewise.
9211 (grub_serial_terminfo_output_template): Likewise.
9212 (grub_serial_terminfo_input): Likewise.
9213 (grub_serial_terminfo_output): Likewise.
9214 (registered): Likewise.
9215 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
9216
40fc4659
VS
92172011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9218
9219 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
9220 grub_video_mode_type_t.
9221 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
9222 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
9223 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
9224
2da48d28
VS
92252011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9226
9227 * util/grub-install.in: Correct the x86-64 name as x86_64.
9228
9b43bf39
CW
92292011-03-11 Colin Watson <cjwatson@ubuntu.com>
9230
9231 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
9232 initial chunk read from the kernel always includes GRUB's multiboot
9233 header, which is now outside the first sector.
9234
be1a7ce0
CW
92352011-03-09 Colin Watson <cjwatson@ubuntu.com>
9236
9237 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
9238 cached mmap_size, so that this works correctly when called multiple
9239 times.
9240 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
9241
83a3c48d
CW
92422011-03-09 Colin Watson <cjwatson@ubuntu.com>
9243
9244 * docs/grub.texi (Simple configuration): Tidy up formatting.
9245
57d75699
SJ
92462011-03-07 Szymon Janc <szymon@janc.net.pl>
9247
9248 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
9249 Set-but-not-used variable removed.
9250
028501a0
VS
92512011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9252
9253 Workaround yet another IEEE1275 bug.
9254
9255 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
9256 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
9257 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
9258 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
9259 is set.
9260 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9261 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
9262
d998657d
VS
92632011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9264
9265 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
9266 error.
9267
fee7cdd4
CW
92682011-02-11 Colin Watson <cjwatson@ubuntu.com>
9269
9270 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
9271 empty, since in that case we can only generate either nothing or a
9272 syntactically invalid configuration file.
9273 Reported by: Michal Suchanek. Fixes Debian bug #612898.
9274
97286eb5
CW
92752011-02-09 Colin Watson <cjwatson@ubuntu.com>
9276
9277 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
9278 (Making a GRUB bootable CD-ROM): Likewise.
9279 (Invoking grub-mkrescue): New section.
9280 Reported by: Yann Dirson. Fixes Debian bug #612585.
9281
22b28eb3
CW
92822011-02-09 Colin Watson <cjwatson@ubuntu.com>
9283
9284 * util/grub-install.in: Remove unnecessary brackets from tr
9285 arguments.
9286 * util/grub.d/10_hurd.in: Likewise.
9287 * util/grub.d/10_kfreebsd.in: Likewise.
9288 * util/grub.d/10_linux.in: Likewise.
9289 * util/grub.d/20_linux_xen.in: Likewise.
9290 Reported by: Jamie Heilman. Fixes Debian bug #612564.
9291
7e735e43
CW
92922011-02-08 Colin Watson <cjwatson@ubuntu.com>
9293
9294 * include/grub/file.h (not_easly_seekable): Rename to ...
9295 (not_easily_seekable): ... this. Update all users.
9296
800f1881
CW
92972011-01-28 Colin Watson <cjwatson@ubuntu.com>
9298
9299 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
9300 grub-mkrescue.
9301
3281d3d6
VS
93022011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9303
9304 * util/grub-mkimage.c (generate_image): Refuse to create the images
9305 bigger than the actual flash (512K) in Loongson machines. 512K is also
9306 the biggest chip supported by them.
9307
3533413c
VS
93082011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9309
9310 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
9311
73ae4f4f
VS
93122011-01-22 Anthony DeRobertis <anthony@derobert.net>
9313
9314 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
9315 super_offset field.
9316
37f4f608
VS
93172011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9318
9319 * util/grub-install.in: Ignore install device on platforms
9320 where it doesn't make sense. Always use UUIDs except on pc, efi and
9321 sparc64.
9322 Reported by: Daniel Kahn Gillmor.
9323
03a4ccb5
VS
93242011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9325
9326 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
9327
ffc8f4d8
VS
93282011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9329
9330 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
9331 (iterate_real): Don't rely on partition being non-NULL.
9332
80f23be7
VS
93332011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9334
9335 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
9336 supported platforms. Put a compile time assert for this rather than
9337 generate a warning with 32-bit shift.
9338
5d4f4dd5
VS
93392011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9340
9341 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
9342 logical expression more readable.
9343
e489601a
VS
93442011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9345
9346 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
9347 even if some elements have a name.
9348 Reported by: Alexander GQ Gerasiov.
9349
96e0a6ea
CW
93502011-01-22 Colin Watson <cjwatson@ubuntu.com>
9351
9352 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
9353 path unreadable if `grub-probe -t abstraction' fails, for example if
9354 memberlist fails on an LVM volume group.
9355 Reported by: Darius Jahandarie.
9356
81431e2b
CW
93572011-01-22 Colin Watson <cjwatson@ubuntu.com>
9358
9359 * docs/grub.texi (Simple configuration): Document
9360 GRUB_PRELOAD_MODULES.
9361
5e79d66a
CW
93622011-01-17 Colin Watson <cjwatson@ubuntu.com>
9363
9364 * .bzrignore: Remove nonexistent grub-pbkdf2.
9365
646ada34
VS
93662011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
9367
9368 * configure.ac: Bump version to 1.99~rc1.
9369
04360337
VS
93702011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9371
9372 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
9373 for safety.
9374
46c9db88
VS
93752011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9376
9377 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
9378 module.
9379
93802011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
9381
9382 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
9383
4fbf1852
VS
93842011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9385
9386 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
9387 diskdevid.
9388
f1632d4d
VS
93892011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9390
9391 Fix compilation on cygwin.
9392
9393 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
9394 -R .drectve on cygwin.
9395 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
9396 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
9397 (COND_CYGWIN): New condition.
9398 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
9399 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
9400 not @TARGET_OBJ2ELF@.
9401 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
9402 type to determine whether aux is to be used.
9403
0b5e127b
VS
94042011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9405
9406 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
9407 realpath'ed device string.
9408 Handle floppy (somewhat).
9409 Issue error in unknown case rather than garbage.
9410 Reported by: Axel Beckert.
9411
173b71e9
VS
94122011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9413
9414 * util/grub.d/00_header.in (load_video): Handle the case when no video
9415 drivers available.
9416 Thanks to: Axel Beckert.
9417
f8f479db
VS
94182011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9419
9420 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
9421 variable. Fixes problem on big endian platforms.
9422
8fc0a245
VS
94232011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9424
9425 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
9426 It doesn't work well there.
9427
b8494fbe
VS
94282011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9429
9430 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
9431 warning.
9432 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
9433 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
9434 counter.
9435
b44a558c
VS
94362011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9437
9438 Use alias->path rather than buggy "canon".
9439
9440 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
9441 (ofdisk_hash_add): New argument curcan. All users updated.
9442
51fa856c
CW
94432011-01-11 Colin Watson <cjwatson@ubuntu.com>
9444
9445 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
9446
9da068a5
VS
94472011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9448
9449 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
9450 loadmask before doing any calculations. Use correct type for offset.
9451 (grub_linux_load64): Likewise.
9452
86205c94
CW
94532011-01-11 Colin Watson <cjwatson@ubuntu.com>
9454
9455 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
9456 with NULL.
9457 (console_grub_equivalences_unshift): Likewise.
9458 Reported by: Daniel Dehennin.
9459
4531a206
VS
94602011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9461
9462 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
9463 (set_env_limn_ro): Likewise.
9464 (GRUB_MOD_INIT): Likewise.
9465 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
9466 ARRAY_SIZE while on it.
9467 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
9468 * grub-core/normal/context.c (grub_env_export): Move from here ...
9469 * grub-core/kern/env.c (grub_env_export): ... here.
9470 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
9471 prefix.
9472 * grub-core/kern/main.c (grub_main): Export root and prefix.
9473 * include/grub/env.h (grub_env_export): Export.
9474 Reported by: Seth Goldberg.
9475
45146057
VS
94762011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9477
9478 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
9479 Take into account space used by ELF sections and multiboot palette.
9480 Reported by: Grégoire Sutre.
9481
f093110b
VS
94822011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9483
9484 * BUGS: New file.
9485
3395fe52
VS
94862011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9487
9488 Pass more appropriate video id to Linux.
9489
9490 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
9491 grub_video_get_driver_id and variable gfxpayloadforcelfb to
9492 fill have_vga.
9493 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
9494 shift params->lfb_size.
9495 * include/grub/i386/linux.h: Make an enume out of have_vga values.
9496
c2fa6cbb
VS
94972011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9498
9499 * util/grub-menulst2cfg.c: Add missing include of misc.h.
9500
b3ff6ff0
VS
95012011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9502
9503 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
9504 separator and pass bootpath/devid even if only one of them is available.
9505 Reported by: Seth Goldberg.
9506
ae67942e
VS
95072011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9508
9509 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
9510 implementations bug on them.
9511
9512 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
9513 memory.
9514 (filter_memory_map): Likewise.
9515
d570097a
VS
95162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9517
9518 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
9519 Reported by: nebuchadnezzar.
9520
a508e776
VS
95212011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9522
9523 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
9524 Reported by: nebuchadnezzar.
9525
dcb883b1
VS
95262011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9527
9528 Submenu default support.
9529
9530 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
9531 auto_boot. All users updated.
9532 Declared static.
9533 Handle chosen and default with submenus.
9534 (grub_menu_execute_with_fallback): Declared static.
9535 Don't notify failure if autobooted. Upper level does it.
9536 (menuentry_eq): New function.
9537 (get_entry_number): Use menuentry_eq.
9538 (show_menu): New parameter "autobooted". All users updated.
9539 (grub_show_menu): Likewise.
9540 * include/grub/normal.h (grub_show_menu): Likewise.
9541 * include/grub/menu.h (grub_menu_execute_entry): Removed.
9542 (grub_menu_execute_with_fallback): Likewise.
9543
6fef99b4
VS
95442011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9545
9546 * util/grub-mklayout.c (usage): Update help text.
9547
47a77af5
VS
95482011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9549
9550 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
9551
ce6bb3ee
VS
95522011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9553
9554 * util/grub-menulst2cfg.c (main): Trim the line.
9555
db87be2a
VS
95562011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9557
9558 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
9559 (grub_machine_init): Don't check amount of low memory as reportedly
9560 INT 12h can be broken and if low memory is too low we wouldn't have
9561 gotten into grub_machine_init anyway.
9562
c49849cc
VS
95632011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9564
9565 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
9566 (grub_machine_mmap_iterate): Take low memory into account
9567
b1969b30
VS
95682011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9569
9570 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
9571 badfs.
9572 Reported by: TiCPU.
9573
cf0eaf13
VS
95742011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9575
9576 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
9577 members errors.
9578
1f060f39
GS
95792011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
9580
9581 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
9582 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
9583
a21e5672
GS
95842011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
9585
9586 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
9587 openbsd and netbsd types being in part_bsd module.
9588
c88172fa
VS
95892011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9590
9591 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
9592 (_FILE_OFFSET_BITS): Likewise.
9593 Reported by: Seth Goldberg.
9594
53798c4b
GS
95952011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
9596
9597 * configure.ac: Check for libdevmapper header.
9598
e7121b69
VS
95992011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9600
9601 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
9602 avoid aliasing.
9603 (fzap_lookup): Likewise.
9604 (dnode_get): Likewise.
9605 (make_mdn): Likewise.
9606 (zfs_mount): Likewise.
9607 (fzap_iterate): Use temporary pointer to avoid aliasing.
9608 (grub_zfs_read): Likewise.
9609 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
9610 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
9611 pointers to avoid aliasing.
9612 (grub_cmd_xnu_kernel64): Likewise.
9613 (grub_xnu_load_driver): Likewise.
9614
fc836af9
VS
96152011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9616
9617 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
9618 aliasing warning.
9619 (grub_cmd_terminal_output): Likewise.
9620 Reported and tested by: Grégoire Sutre.
9621
f9f37648
VS
96222011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9623
9624 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
9625 warning.
9626 Reported and tested by: Grégoire Sutre.
9627
ec1dfd63
VS
96282011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9629
9630 * configure.ac: Do CPU substitution even if it's specified explicitly.
9631 Reported and tested by: Alain Greppin.
9632
9462775a
VS
96332011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9634
9635 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
9636 Reported and tested by: Alain Greppin.
9637
0fd48e35
VS
96382011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9639
9640 Satisfy some bison versions need for inttypes.h.
9641
9642 * grub-core/lib/posix_wrap/inttypes.h: New file.
9643 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
9644 (int16_t): Likewise.
9645 (int32_t): Likewise.
9646 (int64_t): Likewise.
9647 Reported and tested by: Alain Greppin.
9648
43f1bc83
VS
96492011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9650
9651 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
9652 Silence spurious warning.
9653 Reported and tested by: Alain Greppin.
9654
64d1f041
SJ
96552011-01-07 Szymon Janc <szymon@janc.net.pl>
9656
9657 * docs/grub.texi (Support automatic decompression): Update with xz
9658 decompression support.
9659
25953e10
SJ
96602011-01-07 Szymon Janc <szymon@janc.net.pl>
9661
9662 Improve loaders' kernel command line handling.
9663
9664 * grub-core/lib/cmdline.c: New file.
9665 * include/grub/lib/cmdline.h: Likewise.
9666 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
9667 grub_create_loader_cmdline to create kernel command line.
9668 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9669 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
9670 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
9671 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
9672 (linux): Add lib/cmdline.c on common.
9673
e72d259f
VS
96742011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9675
9676 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
9677 inopos might be unaligned.
9678
c0cf26da
VS
96792011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9680
9681 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
9682 endian transformations.
9683 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9684 Based on report by: Doug Nazar.
9685
0ca09e6c
DN
96862011-01-07 Doug Nazar <nazard.michi@gmail.com>
9687
9688 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
9689 array->members[i].start_sector.
9690 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
9691
014b6806
VS
96922011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9693
9694 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
9695 Reported and tested by: Grégoire Sutre.
9696
415502c2
CW
96972011-01-06 Colin Watson <cjwatson@ubuntu.com>
9698
9699 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
9700 avoid causing test failures by clearing the screen.
9701
71b6a2b7
CW
97022011-01-06 Colin Watson <cjwatson@ubuntu.com>
9703
9704 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
9705 Fix prefix check to handle the case where dir ends with a slash
9706 (most significantly, "/" itself).
9707 Reported by: Michael Vogt.
9708
b3f8d28a
VS
97092011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
9710
9711 Run terminfo_cls on initing terminfo output to clear the screen and
9712 move the cursor to (0,0).
9713
9714 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
9715 Call grub_terminfo_output_init.
9716 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
9717 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
9718 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
9719
4c3e4f37
VS
97202011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
9721
9722 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
9723 only when needed.
9724
488f71f1
VS
97252011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
9726
9727 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
9728 CTRL.
9729
18a38098
VS
97302011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
9731
9732 The E820 type 5 is BADRAM, not EXEC_CODE.
9733
9734 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
9735 (GRUB_E820_BADRAM): New define.
9736 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
9737 into reserved. Propagate BADRAM.
9738 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
9739 (GRUB_E820_BADRAM): New define.
9740
9eae2084
VS
97412011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9742
9743 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
9744 Ignore the memory post-4G.
9745 (grub_relocator_firmware_alloc_region): Additional debug statement.
9746
ebc71d28
VS
97472011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9748
9749 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
9750 names.
9751 Reported by: David Pravec.
9752
446fa400
VS
97532011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9754
9755 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
9756 BIOSes.
9757
a0159f37
VS
97582011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9759
9760 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
9761 Prevent overflow.
9762 (grub_reed_solomon_recover): Likewise.
9763
e5146ca1
VS
97642011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9765
9766 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
9767
97682011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
9769
9770 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
9771 variable.
9772
5b1bdf12
CW
97732011-01-04 Colin Watson <cjwatson@ubuntu.com>
9774
9775 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
9776 descriptions of extract_legacy_entries_source and
9777 extract_legacy_entries_configfile.
9778 Reported by: Seung Soo, Ha.
9779
99d925aa
CW
97802011-01-03 Colin Watson <cjwatson@ubuntu.com>
9781
9782 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
9783 on devices that do not implement function 0.
9784
4af0504b
DV
97852011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
9786
9787 * grub-core/fs/hfsplus.c: Make parent unsigned.
9788 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
9789 overflows.
9790 (grub_hfsplus_cmp_extkey): Likewise
9791
469ee10a
VS
97922011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
9793
9794 * util/grub-install.in: Correctly use bootloader_id and not
9795 GRUB_DISTRIBUTOR on efibootmgr line.
9796
323a8e9c
VS
97972011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
9798
9799 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
9800
1b394975
IC
98012010-12-31 Ian Campbell <ijc@hellion.org.uk>
9802
9803 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
9804 Xen and reorder menu item wording to make it clearer that this entry
9805 will launch Xen. Print separate messages when loading Xen and
9806 Linux.
9807
275bff5f
VS
98082010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
9809
9810 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
9811 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
9812 loop in case of incorrect amiga partmap.
9813
307806cb
VS
98142010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
9815
9816 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
9817 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
9818 Reported by:EHeM.
9819
b12b923e
VS
98202010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
9821
9822 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
9823 spurious warning.
9824 Reported by: crocket
9825
14b48a19
VS
98262010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9827
9828 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
9829 Preload EFIemu.
9830 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
9831
693db2df
VS
98322010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9833
9834 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
9835 is loaded
9836 (grub_cmd_xnu_kextdir): Likewise.
9837 (grub_cmd_xnu_splash): Likewise.
9838
c7638645
VS
98392010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9840
9841 Avoid using Reed-Solomon with 0 redundancy.
9842
9843 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
9844 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
9845 or 0 redundancy.
9846 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
9847 (grub_reed_solomon_recover): Likewise.
9848
25dd4780
VS
98492010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9850
9851 Don't use disk subsystem in freebsd_boot.
9852
9853 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
9854 (freebsd_biosdev): Likewise.
9855 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
9856 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
9857
0b2db943
VS
98582010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9859
9860 Handling of files of unknown size is currently limited. They can't be
9861 used e.g. for initrd or modules. Moreover gzip handling of not
9862 easily seekable files is buggy. Disable unknown file size for now. May
9863 be inefficient but works.
9864
9865 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
9866 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
9867
5c408d0f
MP
98682010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
9869
9870 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
9871 floppy probe.
9872
190a011a
JD
98732010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
9874
9875 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
9876
022d01b8
SL
98772010-12-25 Shea Levy <shlevy>
9878
9879 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
9880
c4855fdc
VS
98812010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9882
9883 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
9884 Windows Server 2008.
9885 Reported by: Devin Giddings.
9886
0354b867
VS
98872010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9888
9889 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
9890 writing an error message because of async power management.
9891 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
9892 (grub_reboot): Likewise.
9893
ab66c69f
JU
98942010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
9895
9896 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
9897 keep unit tests from failing when they shouldn't.
9898
1426ef35
CW
98992010-12-21 Colin Watson <cjwatson@ubuntu.com>
9900
9901 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
9902 previous patch increased the size of the RS code by 20 bytes (at
9903 least with gcc-4.4), so increase this by 20 bytes to match.
9904 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9905
20641b6b
CW
99062010-12-21 Colin Watson <cjwatson@ubuntu.com>
9907
9908 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
9909 scratch area. Make sure to initialise chosen in standalone mode as
9910 well as non-standalone.
9911 Reported by: Robert Hooker and Andy Whitcroft.
9912 Tested by: Andy Whitcroft.
9913
d060ad60
CW
99142010-12-21 Colin Watson <cjwatson@ubuntu.com>
9915
9916 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
9917 constructing a new unescaped string and passing it to grub_xputs in
9918 one go, rather than passing characters to grub_printf one at a time.
9919
b889cfad
CW
99202010-12-21 Colin Watson <cjwatson@ubuntu.com>
9921
9922 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
9923 initialising utf16.
9924
4e01b6c8
CW
99252010-12-21 Colin Watson <cjwatson@ubuntu.com>
9926
9927 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
9928 comment. Add an extra layer of quotation, requiring the output of
9929 this function to be used in a printf format string.
9930 (gettext_printf): New function.
9931 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
9932 Extract translatable strings from here-documents and use a temporary
9933 variable instead, so that xgettext can find them.
9934 * util/grub.d/10_kfreebsd.in: Likewise.
9935 * util/grub.d/10_linux.in: Likewise.
9936 * util/grub.d/20_linux_xen.in: Likewise.
9937
9938 * po/grub.d.sed: New file.
9939 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
9940 arguments. Set c-format flags on all strings extracted from
9941 util/grub.d/ (xgettext refuses to include these itself for strings
9942 it extracted from a shell file, but these really are c-format).
9943
5318fe98
VS
99442010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
9945
9946 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
9947 Avoid next pointing to nowhere.
9948
6c85b743
VS
99492010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9950
9951 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
9952 rather than assuming than rootblock is exactly in the middle.
9953 (grub_affs_label): Likewise.
9954
a2a08a35
VS
99552010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9956
9957 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
9958 reserved_first_sector to 0.
9959 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
9960 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
9961 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
9962
7059d1ec
VS
99632010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9964
9965 Fix handling of UTF-16 UDF labels.
9966
9967 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
9968 (read_string): .. here.
9969 (grub_udf_label): Use read_string.
9970
30aff4cb
BC
99712010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
9972
9973 * grub-core/normal/menu_entry.c (run): Execute commands from menu
9974 editor under argument scope.
9975 Reported by: Jordan Uggla
9976
5cf86f4b
VS
99772010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9978
9979 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
9980
32570200
CW
99812010-12-18 Colin Watson <cjwatson@ubuntu.com>
9982
9983 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
9984 line, and other keys scroll an entire page (previous handling was
9985 for \r and \n to scroll a page and other keys to scroll two lines).
9986
e1dffcf2
VS
99872010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9988
9989 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
9990 Set ptrdest to correct get_physical_target_address rather than
9991 incorrect get_virtual_current_address.
9992
b04298cf 99932010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
9994
9995 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
9996 correct cat to grub_uint8_t * rather than grub_uint32_t *.
9997
5367ecd3
CW
99982010-12-10 Colin Watson <cjwatson@ubuntu.com>
9999
10000 * .bzrignore: Ignore grub-core/rs_decoder.S.
10001
1fb430f8
CW
100022010-12-10 Colin Watson <cjwatson@ubuntu.com>
10003
10004 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
10005 .mo/.mo.gz opening sequence to ...
10006 (grub_mofile_open_lang): ... here.
10007 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
10008 * util/grub.d/00_header.in (grub_lang): Include country part of
10009 locale.
10010 Reported by: Mario Limonciello.
10011
a94a6671
RM
100122010-12-09 Robert Millan <rmh@gnu.org>
10013
10014 * NEWS: Document addition of ZFS support.
10015
24b7938b
CW
100162010-12-04 Colin Watson <cjwatson@ubuntu.com>
10017
10018 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
10019 rather than `/ 2', as the latter requires -Wa,--divide which would
10020 require bumping our minimum binutils version.
10021
bddc3ef6
BC
100222010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
10023
10024 * util/grub-script-check.c (main): Print script line number on
10025 error.
10026
bf78d5b2
RM
100272010-12-01 Robert Millan <rmh@gnu.org>
10028
10029 * grub-core/fs/zfs/zfs.c: New file.
10030 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
10031 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
10032 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
10033 * grub-core/fs/zfs/zfsinfo.c: Likewise.
10034
10035 * include/grub/zfs/dmu.h: Likewise.
10036 * include/grub/zfs/dmu_objset.h: Likewise.
10037 * include/grub/zfs/dnode.h: Likewise.
10038 * include/grub/zfs/dsl_dataset.h: Likewise.
10039 * include/grub/zfs/dsl_dir.h: Likewise.
10040 * include/grub/zfs/sa_impl.h: Likewise.
10041 * include/grub/zfs/spa.h: Likewise.
10042 * include/grub/zfs/uberblock_impl.h: Likewise.
10043 * include/grub/zfs/vdev_impl.h: Likewise.
10044 * include/grub/zfs/zap_impl.h: Likewise.
10045 * include/grub/zfs/zap_leaf.h: Likewise.
10046 * include/grub/zfs/zfs.h: Likewise.
10047 * include/grub/zfs/zfs_acl.h: Likewise.
10048 * include/grub/zfs/zfs_znode.h: Likewise.
10049 * include/grub/zfs/zil.h: Likewise.
10050 * include/grub/zfs/zio.h: Likewise.
10051 * include/grub/zfs/zio_checksum.h: Likewise.
10052
10053 * Makefile.util.def: Build ZFS into libgrubmods.
10054 * grub-core/Makefile.core.def: Build zfs.mod.
10055
3f0f3831
SJ
100562010-11-30 Szymon Janc <szymon@janc.net.pl>
10057
10058 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
10059 variable.
10060 * grub-core/commands/wildcard.c (match_files): Likewise.
10061
3a4253b2
RM
100622010-11-30 Robert Millan <rmh@gnu.org>
10063
10064 * grub-core/loader/i386/bsd.c
10065 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
10066 whether kernel is loaded using grub_loader_is_loaded(), rather
10067 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
10068 certain error conditions.
10069
8c317b27
RM
100702010-11-30 Robert Millan <rmh@gnu.org>
10071
c5c9cd3e
RM
10072 * grub-core/commands/echo.c: Include `<grub/term.h>'.
10073 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 10074
49d3ab46
VS
100752010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
10076
10077 Avoid using tricks for initialising endian variables.
10078
10079 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
10080 Make const.
10081 (GRUB_MOD_INIT): Don't byte-swap.
10082 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
10083 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
10084 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
10085 (grub_swap_bytes32_compile_time): Likewise.
10086 (grub_cpu_to_le32_compile_time): Likewise.
10087 (grub_cpu_to_le16_compile_time): Likewise.
10088
f420a804
VS
100892010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
10090
10091 * util/grub-setup.c (setup): Stop recommending --force. People who
10092 understand the dangers of blocklists are able to find this option
10093 anyway and the ones who don't shouldn't use it anyway.
10094
4e7db17b
RM
100952010-11-26 Robert Millan <rmh@gnu.org>
10096
10097 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
10098 Update all users.
10099
9be57a0d
CW
101002010-11-26 Colin Watson <cjwatson@ubuntu.com>
10101
10102 Fix LVM-on-RAID probing.
10103
10104 * util/grub-probe.c (probe): Remember which disk was detected as
10105 RAID (perhaps an LVM physical volume). Use that disk's raidname
10106 rather than that of the top-level disk.
10107
2c7859b3 101082010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 10109
d7647bb6
BC
10110 Fix cmdline argument quotes for setparams command of menuentry
10111 definitions.
7e623b0d
BC
10112
10113 * grub-core/commands/menuentry.c (setparams_prefix): Use single
10114 quotes for arguments.
f866fe80 10115 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 10116 grub_strchrsub function instead.
f866fe80 10117
7955bea0 10118 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 10119
74f72a64
CW
101202010-11-24 Colin Watson <cjwatson@ubuntu.com>
10121
10122 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
10123 effort by skipping "." and ".." entries up-front.
10124 Suggested by: Michael Lazarev.
10125
5a407278
CW
101262010-11-24 Colin Watson <cjwatson@ubuntu.com>
10127
10128 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
10129 ldflags to ldadd, to fix link line ordering.
10130 (none_decompress): Likewise.
10131
3030d8ec
CW
101322010-11-24 Colin Watson <cjwatson@ubuntu.com>
10133
10134 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
10135 platforms.
10136 (grub-emu-lite): Remove kern/emu/cache.S.
10137
b7fbac12
CW
101382010-11-23 Colin Watson <cjwatson@ubuntu.com>
10139
10140 * util/deviceiter.c (compare_devices): If the by-id link for a
10141 device couldn't be resolved, fall back to sorting by the by-id link
10142 rather than segfaulting.
10143 Reported and tested by: Daniel Mierswa.
10144
5225f328
CW
101452010-11-23 Colin Watson <cjwatson@ubuntu.com>
10146
10147 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
10148 ldflags, to fix link line ordering.
10149
038b3ce8
CW
101502010-11-23 Colin Watson <cjwatson@ubuntu.com>
10151
10152 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
10153 linkers are picky about this.
10154
bf16e98e
CW
101552010-11-23 Colin Watson <cjwatson@ubuntu.com>
10156
10157 * grub-core/Makefile.am (command.lst): Adjust sed expression
10158 ordering so that extended and priority commands aren't treated as
10159 ordinary commands.
10160
7242bab6
CW
101612010-11-23 Colin Watson <cjwatson@ubuntu.com>
10162
10163 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
10164 Remove byte-swapping function calls, which are not valid in
10165 structure initialisers.
10166 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
10167 non-const.
10168 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
10169 grub_gpt_partition_type_bios_boot.
10170
14e8b279
CW
101712010-11-22 Colin Watson <cjwatson@ubuntu.com>
10172
10173 Fix test program build on GNU/kFreeBSD.
10174
10175 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
10176 $(LIBNVPAIR)' library dependencies.
10177
e6f63338 101782010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
10179
10180 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
10181
cf8ffc38
CW
101822010-11-22 Colin Watson <cjwatson@ubuntu.com>
10183
10184 * util/grub-install.in: Remove excessive quoting that broke
10185 installations to RAID devices.
10186
7f8b0fd7
VS
101872010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
10188
10189 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
10190 bootloader version instead of 0.
10191
dfd240b1
VS
101922010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
10193
10194 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
10195 warning.
10196
7b61e609
VS
101972010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
10198
10199 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
10200 retrieve the metadat sector if size isn't known.
10201 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10202
9dfe92d0
RM
102032010-11-18 Robert Millan <rmh@gnu.org>
10204
10205 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
10206 with grub_memcmp().
10207
41cc919e
VS
102082010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
10209
10210 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
10211 arrow.
10212 Reported by: Jordan Uggla.
10213
1afcc914
VS
102142010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10215
10216 Make better UTF compliant.
10217
10218 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
10219 sequences as incorrect.
10220 (grub_is_valid_utf8): Likewise.
10221 (grub_utf8_to_ucs4): Likewise.
10222 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
10223 (grub_ucs4_to_utf8_alloc): Likewise.
10224 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
10225
f1808884
VS
102262010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10227
10228 Make legacy_source behave like source.
10229
10230 * grub-core/commands/legacycfg.c (legacy_file): Don't call
10231 grub_show_menu.
10232 (grub_cmd_legacy_source): Call grub_show_menu if needed.
10233
24ec575b
CW
102342010-11-16 Colin Watson <cjwatson@debian.org>
10235
10236 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
10237 (-Wunused implies -Wunused-parameter, but not vice versa).
10238
72b7c7aa
CW
102392010-11-16 Colin Watson <cjwatson@ubuntu.com>
10240
10241 * configure.ac: Make error messages less confusing by testing for
10242 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
10243 accepted, but produces a diagnostic if something else is wrong).
10244
e98937aa
VS
102452010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
10246
10247 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
10248 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
10249 (now unused).
10250 (grub_keyboard_controller_init)
10251 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
10252 read the initial state since controller isn't inited yet.
10253
f6bbabc3
VS
102542010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
10255
10256 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
10257 allocate_regbeg may need to create new chunk header.
10258
22e7dbb2
VS
102592010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10260
10261 Fix quoting in legacy parser.
10262
10263 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
10264 single quotes.
10265 (grub_legacy_parse): Likewise.
10266 Reported by: Jordan Uggla.
10267 Tested by: Jordan Uggla.
10268
03f80960
VS
102692010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10270
10271 Don't add -lgcc on i386 and x86_64.
10272
10273 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
10274 * conf/Makefile.common (LDADD_KERNEL): Likewise.
10275 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
10276
779dc15b
VS
102772010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10278
10279 * configure.ac: Add -Wno-trampolines when supported.
10280
d20a3b37
MV
102812010-11-14 Modestas Vainius <modax@debian.org>
10282
10283 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
10284 fakeraid.
10285
e5360933
GC
102862010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
10287
10288 Add generic logical block size support for UDF.
10289
10290 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
10291 (GRUB_UDF_BLKSZ): Removed.
10292 (struct grub_udf_data): New field "lbshift" to hold the logical block
10293 size of the file system in log2 format. All users updated.
10294 (sblocklist): Change type to unsigned.
10295 (grub_udf_mount): Change type of "sblklist" to unsigned.
10296 Move AVDP search before VRS recognition, because the latter requires
10297 knowledge of the logical block size, which is detected during the
10298 former.
10299 Detect and validate logical block size during AVDP search, adding
10300 support for block sizes 512, 1024 and 4096.
10301 Make VRS recognition independent of block size.
10302
cb0229c5
GC
103032010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
10304
10305 Properly handle deleted files on UDF.
10306
10307 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
10308 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
10309 set.
10310
406858a8
GC
103112010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
10312
10313 Support reading files larger than 2 GiB.
10314
10315 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
10316 "offset" to grub_off_t.
10317 (grub_udf_read_file): Likewise for parameter "pos".
10318
130da6a7
VS
103192010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10320
10321 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
10322 unavailable.
10323 (Simple configuration): Refer to Changes from GRUB Legacy about
10324 save_env availability.
10325
65e93f6b
VS
103262010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10327
10328 * util/grub-install.in: Ignore empty partition table detection
10329 instead of trying to include part_ module.
10330
1fd08bf1
VS
103312010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10332
10333 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
10334 LVM on RAID support.
10335
de1a024f
VS
103362010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10337
10338 Properly define WORDS_BIGENDIAN in wrapped environments.
10339
10340 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
10341 definition.
10342 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
10343
10344 Reported by: Manoel Rebelo Abranches.
10345 Tested by: Manoel Rebelo Abranches.
10346
bc5dd0b9
VS
103472010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10348
10349 * util/grub-mkconfig.in: Fix quoting.
10350
58c184be
VS
103512010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10352
10353 Support big ext2 files.
10354
10355 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
10356 (grub_ext2_read_block): Support triple indirect blocks.
10357 (grub_ext2_read_file): Use 64-bit types and read size_high.
10358 (grub_ext2_open): Read size_high.
10359 Reported by: Ximin Luo.
10360 Tested by: Manoel Rebelo Abranches.
10361
5f0c02b3
VS
103622010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10363
10364 * util/grub-install.in: Handle filenames containing spaces.
10365 Reported by: Jordan Uggla.
10366 Tested by: Jordan Uggla.
10367
4417aae6
VS
103682010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10369
10370 * util/grub-mkconfig.in (grub_script_check): New variable.
10371 Use grub_script_check instead of grub-script-check.
10372 Reported by: Barry Jackson.
10373
7625a68e
VS
103742010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10375
10376 * docs/grub.texi (menu): Correct the order.
10377 Reported by: D. Hugh Redelmeier.
10378
10001ac5
VS
103792010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10380
10381 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
10382 jump.
10383
9c4cf53b
MRA
103842010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
10385
10001ac5
VS
10386 * include/grub/elfload.h (grub_elf32_size): New parameter.
10387 All users updated.
9c4cf53b
MRA
10388 Return maximum segments alignment.
10389 (grub_elf64_size): Likewise.
10390 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
10391 Return maximum segments alignment.
10392 (grub_elf64_size): Likewise.
10393 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
10394 (grub_linux_claimmap_iterate): New function. Uses the
10395 "available" property in the "memory" node for memory allocation
10396 for kernel in the PowerPC loader.
9c4cf53b
MRA
10397 (grub_linux_load32): Correctly find linux entry point offset.
10398 (grub_linux_load64): Likewise.
10399
d2bf06bf
RM
104002010-11-07 Robert Millan <rmh@gnu.org>
10401
10402 On mips-yeeloong, build with -march=loongson2f when this flag is
10403 available (GCC >= 4.4).
10404 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
10405 `-march=mips3'.
10406 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
10407 or otherwise add -march=mips3.
10408
898c99a2
BC
104092010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
10410
87220a68
BC
10411 Suppress shell expansion on echo '*' and echo "*" like cases.
10412 Reported by: Jordan Uggla.
898c99a2
BC
10413
10414 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
10415 string arguments before shell expansion.
10416 * tests/grub_cmd_echo.in: New testcases.
10417
4f9b406a
RM
104182010-11-07 Robert Millan <rmh@gnu.org>
10419
10420 * conf/mips-qemu-mips.rmk: Remove stale file from previous
10421 transition.
10422
80c6d25e
VS
104232010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
10424
10425 * grub-core/kern/emu/hostdisk.c
10426 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
10427
4a1a0153
VS
104282010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10429
10430 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
10431 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
10432 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
10433
34706ddc
VS
104342010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10435
10436 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
10437
6972dea9
VS
104382010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10439
10440 * util/grub-install.in: Replace useless recomendation to pass
10441 --modules with a recomendation to report a bug.
10442
9c693bd6
VS
104432010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10444
10445 Properly register serial terminfo.
10446 Reported by: Jordan Uggla
10447
10448 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
10449 const.
10450 (grub_serial_terminfo_output_template): Likewise.
10451 (grub_cmd_serial): Register "serial" with terminfo.
10452 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
10453 grub_serial_terminfo_output.
10454
6c9e4c0c
RM
104552010-11-05 Robert Millan <rmh@gnu.org>
10456
10457 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
10458 needed).
10459
b9b3839f
RM
104602010-11-05 Robert Millan <rmh@gnu.org>
10461
10462 On Yeeloong, pass machine type information to Linux.
10463
10464 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
10465 (LOONGSON_MACHTYPE): New macro, set to
10466 "machtype=lemote-yeeloong-2f-8.9inches".
10467 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
10468 additional argument to Linux.
10469
1a3aaff4
RM
104702010-11-04 Robert Millan <rmh@gnu.org>
10471
10472 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
10473 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
10474 (its SATA disks are detected as slaveless IDE master drives on
10475 kFreeBSD).
10476 Reported by Carsten Aulbert.
10477
a75f4f62
CW
104782010-11-02 Colin Watson <cjwatson@ubuntu.com>
10479
10480 * util/bin2h.c (main): Fix spelling error in generated output.
10481
33b4b0c6
GS
104822010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
10483
10484 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
10485
2b36fbf4
VS
104862010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10487
10488 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
10489 vga= option is supplied.
10490
74aaf558
VS
104912010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10492
10493 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
10494 * util/grub.d/10_kfreebsd.in: Likewise.
10495 * util/grub.d/10_linux.in: Likewise.
10496 * util/grub.d/20_linux_xen.in: Likewise.
10497
6428dec3
VS
104982010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10499
10500 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
10501 argument as an argument to no-argument option.
10502
f8729d98
VS
105032010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10504
10505 * util/grub.d/10_linux.in: Add missing load_video with explicit
10506 GRUB_GFXPAYLOAD_LINUX.
10507
89d68fa6
VS
105082010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10509
10510 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
10511
3a1197cd
VS
105122010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10513
10514 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
10515 elements with invlid index.
10516 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10517 * grub-core/disk/raid.c (insert_array): Automatically reallocate
10518 members.
10519 * include/grub/raid.h (grub_raid_member): New struct.
10520 (grub_raid_array): Transform devices and start_sector into usage of
10521 grub_raid_member. All users updated
10522 (allocated_devs): New member.
10523
71574288
VS
105242010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10525
10526 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
10527 is modified
10528
8d40ec65
BC
105292010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
10530
10531 NetBSD build fix for getline function conflict from gnulib.
10532
10533 * Makefile.util.def (libgrubkern.a): New library for grub kernel
10534 components that depend on gnulib headers.
10535 (libgrubmods.a): Renamed from earlier libgrub.a.
10536 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
10537
95b9257e
VS
105382010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10539
10540 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
10541 install rather than creating a broken install.
10542
26c53dc6
VS
105432010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10544
10545 * util/grub-setup.c (argp): Remove misleading example of installing to
10546 a partition.
10547
4171b3c5
VS
105482010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10549
10550 * util/grub-setup.c (setup): Clarify the error message.
10551
18568d18
VS
105522010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10553
10554 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
10555
4f6a2e21
VS
105562010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10557
10558 * grub-core/kern/emu/misc.c
10559 (grub_make_system_path_relative_to_its_root)
10560 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
10561
105622010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
10563
10564 * grub-core/kern/emu/misc.c
10565 (grub_make_system_path_relative_to_its_root): Revert r2882.
10566
e138c458
VS
105672010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
10568
10569 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
10570 useless field head. All users updated.
10571 (free_subchunk): Correct handling of IN_REGION subchunk.
10572
0cbcdf0e
CW
105732010-10-22 Colin Watson <cjwatson@ubuntu.com>
10574
10575 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
10576 (Supported kernels): Likewise.
10577
b65ea155
GS
105782010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
10579
10580 Make mktemp invocations portable.
10581
10582 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
10583 exit if mktemp fails.
10584 * tests/grub_script_blockarg.in: Likewise.
10585 * tests/partmap_test.in: Likewise.
10586 * tests/util/grub-shell-tester.in: Likewise.
10587 * tests/util/grub-shell.in: Likewise.
10588 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10589 * Makefile.am: Likewise, and chain shell commands with `&&'
10590 instead of ';'.
10591 * util/grub-mkrescue.in: Use the same explicit template as above, and
10592 exit if mktemp fails.
10593
05f43cdd
BC
105942010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
10595
10596 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
10597 Linux kernel, reported by Dennis Schridde.
10598
800e6a9b
SJ
105992010-10-17 Szymon Janc <szymon@janc.net.pl>
10600
10601 * grub-core/normal/auth.c (grub_auth_check_authentication):
10602 Set-but-not-used variable removed.
10603
d82df574
VS
106042010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10605
10606 * docs/grub.texi (GNU/Linux): Document APM unavailability with
10607 32-bit linux protocol.
10608
7bced458
VS
106092010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10610
10611 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
10612 cursor shape for sanity.
10613
5b027690
VS
106142010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10615
10616 * docs/grub.texi (Installation): Document buggy BIOS install.
10617
ba5f65cf
VS
106182010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10619
10620 * docs/grub.texi (Installation): Indent.
10621
fdf2ec9c
VS
106222010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10623
10624 * util/grub-setup.c (setup): New parameter allow_floppy.
10625 (arguments): New member allow_floppy.
10626 (argp_parser): Handle --allow-floppy.
10627 (main): Pass allow_floppy.
10628 * util/grub-install.in: New option --allow-floppy passed though to
10629 grub-setup.
10630
861dfd4c
VS
106312010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10632
10633 * util/grub-install.in: Handle partitionless disks.
10634
f77a8c24
VS
106352010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10636
10637 * util/grub-setup.c (setup): Don't clean blocklists before readability
10638 verfification.
10639
27d9ee32
VS
106402010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10641
10642 * docs/grub.texi (Installation): Document embedding zone. Remove
10643 obsolete grub-install example.
10644
6bdda8f8
SJ
106452010-10-16 Szymon Janc <szymon@janc.net.pl>
10646
10647 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
10648 Set-but-not-used variable ifdef'ed.
10649 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
10650 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
10651 variable removed.
10652 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
10653 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
10654 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
10655 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
10656 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
10657 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
10658 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
10659 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
10660 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
10661 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
10662 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
10663 Likewise.
10664
e19b016b
VS
106652010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10666
10667 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
10668 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
10669 enum value.
10670
6c8d3002
VS
106712010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10672
10673 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
10674 synonym to _S5_. Needed for some DSDTs.
10675
c32b51c9
VS
106762010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10677
10678 Userspace ACPI parser debugging.
10679
10680 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
10681 headers and add relevant defines. Don't include standard headers.
10682 (main) [GRUB_DSDT_TEST]: New function.
10683 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
10684 Don't declare functions.
10685
fbfbeb39
VS
106862010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10687
10688 Remove dead grub_efi_mm_fini.
10689
10690 * grub-core/kern/efi/mm.c (allocated_page): Removed.
10691 (ALLOCATED_PAGES_SIZE): Likewise.
10692 (MAX_ALLOCATED_PAGES): Likewise.
10693 (allocated_pages): Likewise.
10694 (grub_efi_allocate_pages): Don't record allocated pages.
10695 (grub_efi_free_pages): Likewise.
10696 (grub_efi_mm_init): Likewise.
10697 (grub_efi_mm_fini): Removed.
10698
65f7ed7c
VS
106992010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10700
10701 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
10702 (grub_efi_mm_init): Take into account the memory map size increase.
10703
24977b44
VS
107042010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10705
10706 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
10707 (serial_hw_put): Wait based on real time rather than port reads. Don't
10708 roken ports.
10709 * include/grub/serial.h (grub_serial_port): New field broken.
10710
1eb01cd2
RM
107112010-10-16 Robert Millan <rmh@gnu.org>
10712
10713 * grub-core/kern/emu/misc.c
10714 (grub_make_system_path_relative_to_its_root): Fix premature return
10715 when processing non-root ZFS filesystems.
5f8b440b 10716 Reported by Sergio Talens-Oliag.
1eb01cd2 10717
2d5fed60
RM
107182010-10-15 Robert Millan <rmh@gnu.org>
10719
10720 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
10721 guarantee compressed ones are processed first.
10722
d0f4c1ea
VS
107232010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
10724
10725 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
10726 grub_efiemu_autocore.
10727
d87c681f
VS
107282010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
10729
10730 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
10731 rather than 0x1b.
10732 (grub_console_getkey): Use correct jae opcode rather than ja.
10733
219b3564
RM
107342010-10-12 Robert Millan <rmh@gnu.org>
10735
10736 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
10737 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
10738 variable. All references updated.
10739
10740 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
10741
20c6bb7e
VS
107422010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
10743
10744 Correctly distinguish mdraid flavours.
10745
10746 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
10747 (insert_array): New argument raid.
10748 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
10749 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
10750 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
10751
74baff84
VS
107522010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
10753
10754 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
10755 handling of special keys.
10756
3ef068df 107572010-10-02 Aleš Nesrsta <starous@volny.cz>
10758
c7980ad9
VS
10759 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
10760 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 10761
a9455194 107622010-10-02 Aleš Nesrsta <starous@volny.cz>
10763
c7980ad9
VS
10764 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
10765 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
10766 users updated.
a9455194 10767 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 10768 Use right endpoint when querying descriptor.
a9455194 10769
441cfe65
VS
107702010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
10771
10772 Clear out 0x80 color bit on EFI.
10773 Tested by: decoder
10774 Reported by: decoder and meta tech.
10775
10776 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
10777 (grub_console_setcolorstate): Clear out 0x80 bit.
10778 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
10779 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
10780 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
10781
bf26bcc4
VS
107822010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
10783
10784 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
10785 Set to "auto".
10786
6e3c515d
VS
107872010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10788
10789 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
10790 mo_file after freeing.
10791
e6d983ba
VS
107922010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10793
10794 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
10795
74ccb5b5
VS
107962010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10797
10798 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
10799 flags.
10800
17821956
VS
108012010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10802
10803 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
10804 usage.
10805
ee74fa48
VS
108062010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10807
10808 Put terminfo into core on ieee1275 and yeeloong (needed for console).
10809
10810 * gentpl.py: New groups terminfoinkernel and terminfomodule.
10811 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
10812 and terminfo.h when needed.
10813 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
10814 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
10815 (terminfo): Enable only on terminfokernel.
10816 (extcmd): Likewise.
10817 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
10818 * include/grub/lib/arg.h: Likewise.
10819 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
10820 incorrect usage of ->.
10821
aa438e68
VS
108222010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10823
10824 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
10825 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
10826
57994012
VS
108272010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10828
10829 Fix coreboot compilation.
10830
10831 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10832 Take VBE info into account even if only text is supported.
10833 (fill_vbe_info): Take into account the case when only VGA text
10834 is supported.
10835 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
10836 on coreboot, multiboot and qemu.
10837
2a406611
VS
108382010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10839
10840 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
10841 debug messages.
10842 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
10843
d33613fc
VS
108442010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10845
10846 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
10847 parameters.
10848
44a1b432
VS
108492010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10850
10851 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
10852 if they were BSD-style.
10853
edde54e6
VS
108542010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10855
10856 * grub-core/boot/i386/pc/lnxboot.S: Replace
10857 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
10858 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
10859
b65830fa
VS
108602010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10861
10862 Write embedding zone using Reed-Solomon.
10863
10864 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
10865 * grub-core/Makefile.am (rs_decoder.S): New target.
10866 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
10867 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
10868 (multiboot): Move to RS part.
10869 (post_reed_solomon): New label.
10870 (grub_boot_drive): Move to non-RS part since it's modified in memory
10871 on boot.
10872 Include rs_decoder.S.
10873 * grub-core/lib/reed_solomon.c: New file.
10874 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
10875 New definition.
10876 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
10877 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
10878 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
10879 * include/grub/partition.h (grub_partition_map): Change prototype of
10880 embed to allow returning additional sectors.
10881 * include/grub/reed_solomon.h: New file.
10882 * util/grub-setup.c (setup): Handle Reed-Solomon.
10883
0b4b227f
CW
108842010-09-28 Colin Watson <cjwatson@ubuntu.com>
10885
10886 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
10887 i386 and x86-64 definedness tests.
10888
f772623b
YB
108892010-09-27 Yves Blusseau <blusseau@zetam.org>
10890
10891 Fix generation of kernel_syms.lst
10892
10893 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
10894 ASM_PREFIX
10895
8e57a6ca
RM
108962010-09-26 Robert Millan <rmh@gnu.org>
10897
10898 Support degraded ZFS arrays in "grub-probe -t device" resolution.
10899
10900 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
10901 the pool is an array of devices, iterate through it and return the
10902 first device that passes a stat() test (instead of blindly returning
10903 the first one).
10904
f9130836
RM
109052010-09-26 Robert Millan <rmh@gnu.org>
10906
10907 Build fixes for GNU/kFreeBSD.
10908
10909 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
10910 to programs that require ZFS conversion.
10911 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
10912 kernels that don't have FLOPPY_MAJOR.
10913
96510faf
BC
109142010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
10915
10916 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
10917
449333eb
BC
109182010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
10919
10920 Fix grub-emu build.
10921
10922 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
10923 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
10924 mdraid09 and mdraid1x.
10925
e1fd1939
CW
109262010-09-24 Colin Watson <cjwatson@ubuntu.com>
10927
10928 Re-enable grub-extras.
10929
10930 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
10931 avoid confusing Automake. Run autogen only twice, once for the top
10932 level and once for grub-core. Add Makefile.util.def and
10933 Makefile.core.def from extra modules to the appropriate autogen
10934 invocations. If Makefile.common exists in an extra module, include
10935 it in both Makefile.util.am and grub-core/Makefile.core.am;
10936 similarly, include any Makefile.util.common file in Makefile.util.am
10937 and any Makefile.core.common file in grub-core/Makefile.core.am.
10938 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
10939 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
10940 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
10941 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
10942
10943 * gentpl.py (gvar_add): Turn GVARS into a set.
10944 (global_variable_initializers): Sort global variables on output.
10945 (vars_init): New function.
10946 (first_time): Likewise.
10947 (library): Ensure that non-global variable initialisations are
10948 emitted before the first time we emit code for a library block.
10949 Append to variables rather than setting them. Only emit
10950 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
10951 each conditional path.
10952 (program): installdir() emits an Autogen macro, so must be passed to
10953 var_add rather than gvar_add.
10954 (data): Likewise.
10955 (script): Likewise.
10956 (rules): New function, centralising handling for different target
10957 types. Set up Guile association lists for first_time and vars_init,
10958 and send most output to a diversion so that variable initialisations
10959 can be emitted first.
10960 (module_rules): Use new rules function.
10961 (kernel_rules): Likewise.
10962 (image_rules): Likewise.
10963 (library_rules): Likewise.
10964 (program_rules): Likewise.
10965 (script_rules): Likewise.
10966 (data_rules): Likewise.
10967
10968 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
10969
10970 * .bzrignore: Add contrib and grub-core/contrib. Remove
10971 grub-core/Makefile.gcry.am.
10972
1d12cf29
YB
109732010-09-24 Yves Blusseau <blusseau@zetam.org>
10974
10975 * grub-core/lib/LzFind.c: Add missing include.
10976 * grub-core/lib/LzmaEnc.c: Likewise.
10977 * grub-core/script/lexer.c: Likewise.
10978 * grub-core/script/yylex.l: Likewise.
10979 * util/grub-macho2img.c: Likewise.
10980 * util/grub-menulst2cfg.c: Likewise.
10981 * util/grub-mklayout.c: Likewise.
10982 * util/grub-mkpasswd-pbkdf2.c
10983 * util/grub-mkrelpath.c: Likewise.
10984 * util/resolve.c: Likewise.
10985
dd363028
BC
109862010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
10987
10988 * Makefile.util.def (example_unit_test): Add
10989 grub-core/gnulib/libgnu.a.
10990
f5a109e2
GS
109912010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
10992
10993 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
10994
6d0fa83c
VS
109952010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
10996
10997 Support xz compression on yeeloong.
10998
10999 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
11000 * configure.ac: Check for LZMA.
11001 * grub-core/Makefile.core.def (xz_decompress): New target.
11002 (none_decompress): Likewise.
11003 * grub-core/boot/decompressor/minilib.c: New file.
11004 * grub-core/boot/decompressor/none.c: Likewise.
11005 * grub-core/boot/decompressor/xz.c: Likewise.
11006 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
11007 * grub-core/kern/mips/cache_flush.S: Likewise.
11008 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
11009 * grub-core/kern/mips/startup.S: Move first stage to ...
11010 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
11011 nomacro.
11012 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
11013 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
11014 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
11015 Allocate statically.
11016 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
11017 Allocate statically or use scratch. Don't check CRC32.
11018 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
11019 Allocate statically. Don't check CRC32.
11020 * include/grub/decompressor.h: New file.
11021 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
11022 Removed.
11023 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
11024 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
11025 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
11026 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
11027 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
11028 * util/grub-mkimage.c (grub_compression_t): New type.
11029 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
11030 (image_target_desc): New field default_compression.
11031 (image_targets): Adjust yeeloong targets.
11032 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
11033 (compress_kernel): New parameter comp.
11034 (generate_image): Likewise. Handle new compression case.
11035 (options): New option --compression
11036 (help): Likewise.
11037 (main): Handle new option.
11038
1b655af6
GS
110392010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
11040
11041 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
11042
8f03f0b5
CW
110432010-09-22 Colin Watson <cjwatson@ubuntu.com>
11044
11045 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
11046 typo in __i386__ conditional.
11047
7835dfd3
VS
110482010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
11049
11050 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
11051 include.
11052
e255597e
VS
110532010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
11054
6d0fa83c 11055 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
11056
11057 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
11058 new tags as supported.
11059 (acpiv2_size): New function.
11060 (grub_multiboot_get_mbi_size): Take new tags into account.
11061 (grub_multiboot_make_mbi): Add new tags.
11062 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 11063
6cc14051 110642010-09-21 Aleš Nesrsta <starous@volny.cz>
11065
11066 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
11067 Added missing configuration of USB device.
11068
df7769d8
CW
110692010-09-21 Colin Watson <cjwatson@ubuntu.com>
11070
11071 * grub-core/normal/menu_entry.c (run): Make sure we always return
11072 a value.
11073
b031012d
CW
110742010-09-21 Colin Watson <cjwatson@ubuntu.com>
11075
11076 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
11077 NumberOfPages is UINT64 according to the UEFI specification, not
11078 UINTN. Fix printf format.
11079
174de8f3
CW
110802010-09-21 Colin Watson <cjwatson@ubuntu.com>
11081
11082 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
11083 `err' to grub_usb_err_t.
11084 Reported and tested by: KESHAV P.R.
11085
d7dbe923
CW
110862010-09-21 Colin Watson <cjwatson@ubuntu.com>
11087
11088 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
11089 tpart non-const, so that we can assign to it. (Since this is a
11090 typedef, the constness refers to the pointer rather than what it
11091 points to.)
11092
8d5e2af3
CW
110932010-09-21 Colin Watson <cjwatson@ubuntu.com>
11094
11095 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
11096 $(top_srcdir)/grub-core/gnulib as well as
11097 $(top_builddir)/grub-core/gnulib.
11098 Reported by: KESHAV P.R.
11099
5c527783
CW
111002010-09-21 Colin Watson <cjwatson@ubuntu.com>
11101
11102 * util/grub-install.in: Fix the bootloader ID option to be
11103 consistently --bootloader-id, not --bootloader_id.
11104 Reported by: KESHAV P.R.
11105
d309a16e
CW
111062010-09-21 Colin Watson <cjwatson@ubuntu.com>
11107
11108 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
11109 check hash checksum." consistently translatable.
11110
b830cd16
YB
111112010-09-21 Yves Blusseau <blusseau@zetam.org>
11112
11113 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
11114 $(top_builddir).
11115
c4fe27a8
CW
111162010-09-21 Colin Watson <cjwatson@ubuntu.com>
11117
11118 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
11119 (GRUB_MOD_INIT): Register sha1sum command.
11120 (GRUB_MOD_FINI): Unregister sha1sum command.
11121
a4c1d277
YB
111222010-09-21 Yves Blusseau <blusseau@zetam.org>
11123
11124 Keep boot and grub directory names in sync with utils scripts
11125
11126 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
11127 * config.h.in: Add previous macros.
11128 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
11129 * util/grub-install.in: Use $bootdir and $grubdir variables.
11130
4eff79d2
CW
111312010-09-21 Colin Watson <cjwatson@ubuntu.com>
11132
11133 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
11134 convert partition names to disk names if the new `convert' parameter
11135 is set.
11136 (grub_util_biosdisk_get_grub_dev): If opening the disk device
11137 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
11138 disk in its own right. This can happen with Xen disk images.
11139
934d7e44
YB
111402010-09-21 Yves Blusseau <blusseau@zetam.org>
11141
11142 * util/grub-editenv.c: Update strings to avoid warnings when generating
11143 grub.pot file.
11144 * util/grub-setup.c: Likewise.
934d7e44 11145
df3367cc
VS
111462010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
11147
11148 * configure.ac: Change version to 1.99~beta0.
11149
77a94e98
VS
111502010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
11151
11152 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
11153 Add BADRAM.
11154 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
11155 Likewise.
11156 * include/multiboot.h: Resynced with specification.
11157 * include/multiboot2.h: Likewise.
11158
269004c1
CW
111592010-09-21 Colin Watson <cjwatson@ubuntu.com>
11160
11161 Fix po directory handling.
11162
11163 * configure.ac: Create po/Makefile.in rather than po/Makefile.
11164 * grub-core/gnulib/Makefile.am: Import gettext module.
11165 * m4/gnulib-cache.m4: Likewise.
11166 * m4/gnulib-comp.m4: Likewise.
11167 * m4/gettext.m4: New file, from gnulib.
11168 * m4/glibc2.m4: Likewise.
11169 * m4/iconv.m4: Likewise.
11170 * m4/intdiv0.m4: Likewise.
11171 * m4/intl.m4: Likewise.
11172 * m4/intldir.m4: Likewise.
11173 * m4/intlmacosx.m4: Likewise.
11174 * m4/intmax.m4: Likewise.
11175 * m4/inttypes-pri.m4: Likewise.
11176 * m4/lcmessage.m4: Likewise.
11177 * m4/lib-ld.m4: Likewise.
11178 * m4/lib-link.m4: Likewise.
11179 * m4/lib-prefix.m4: Likewise.
11180 * m4/lock.m4: Likewise.
11181 * m4/nls.m4: Likewise.
11182 * m4/po.m4: Likewise.
11183 * m4/printf-posix.m4: Likewise.
11184 * m4/progtest.m4: Likewise.
11185 * m4/threadlib.m4: Likewise.
11186 * m4/uintmax_t.m4: Likewise.
11187 * m4/visibility.m4: Likewise.
11188 * po/Makefile.am: Remove.
11189 * po/Makefile.in.in: New file, from gettext.
11190 ($(DOMAIN).pot-update): Support POTFILES-shell.
11191 * po/Makevars: New file.
11192 * po/POTFILES-shell: Rename to ...
11193 * po/POTFILES-shell.in: ... this. Update.
11194 * po/POTFILES: Rename to ...
11195 * po/POTFILES.in: ... this. Update.
11196 * po/Rules-quot: New file, from gettext.
11197 * po/boldquot.sed: Likewise.
11198 * po/en@boldquot.header: Likewise.
11199 * po/en@quot.header: Likewise.
11200 * po/insert-header.sin: Likewise.
11201 * po/quot.sed: Likewise.
11202 * po/remove-potcdate.sin: Likewise.
11203
3e0fa5d0
VS
112042010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11205
11206 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
11207
ade9bd66
VS
112082010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11209
11210 * util/grub.d/20_linux_xen.in: Use submenus.
11211
fc55cc4c
VS
112122010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11213
11214 Support submenus.
11215
11216 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
11217 parameter submenu. All users updated.
11218 * grub-core/normal/main.c (free_menu): Rename to ...
11219 (grub_normal_free_menu): ... this. Made global.
11220 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
11221 if requested.
11222 * grub-core/normal/menu_entry.c (screen): New field submenu.
11223 (make_screen): Set submenu.
11224 (run): Open new context if requested.
11225 * include/grub/menu.h (grub_menu_entry): New field submenu.
11226 * include/grub/normal.h (grub_normal_free_menu): New proto.
11227
600cedf7
VS
112282010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11229
11230 Menu entries extractor.
11231
11232 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
11233 variants.
11234 (GRUB_MOD_INIT): Register new variants.
11235 (GRUB_MOD_FINI): Unregister new variants.
11236 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
11237 into grub_cmd_legacy_source.
11238 (grub_cmd_legacy_source): Implement extractor variants.
11239 (GRUB_MOD_INIT): Register new variants.
11240 (GRUB_MOD_FINI): Unregister new variants.
11241 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
11242 as an extractor.
11243 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
11244 search as an extractor.
11245 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
11246 test as an extractor.
11247 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
11248 as an extractor.
11249 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
11250 (grub_env_new_context): New function.
11251 (grub_env_context_open): Likewise.
11252 (grub_env_extractor_open): Likewise.
11253 (grub_env_extractor_close): Likewise.
11254 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
11255 grub_extractor_level.
11256 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
11257 * include/grub/env.h (grub_env_extractor_open): New proto.
11258 (grub_env_extractor_close): Likewise.
11259 * include/grub/normal.h (grub_extractor_level): New external variable.
11260
7bda3a87
VS
112612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11262
11263 Make cutmem accept a region specification.
11264 Suggested by: Samuel Thibault
11265
11266 * grub-core/mmap/mmap.c (parsemem): New function.
11267 (grub_cmd_cutmem): Handle new arguments.
11268
2ea57f88
VS
112692010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11270
11271 New command cutmem.
11272
11273 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
11274 (GRUB_MOD_INIT): Register new command.
11275 (GRUB_MOD_FINI): Unregister new command.
11276
74342e31
VS
112772010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11278
11279 Support some annoying BSD and Minix subpartitions.
11280
11281 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
11282 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
11283 Properly handle concatenation.
11284 * grub-core/kern/device.c (grub_device_iterate): Likewise.
11285 * grub-core/normal/completion.c (iterate_partition): Likewise.
11286 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
11287 contain partition. All users updated.
11288 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
11289 struct.
11290 (grub_openbsdlabel_partition_map): Likewise.
11291 (bsdlabel_partition_map_iterate): Rename to ..
11292 (iterate_real): ... this. New arguments sector, freebsd and pmap.
11293 (bsdlabel_partition_map_iterate): New function.
11294 (netopenbsdlabel_partition_map_iterate): Likewise.
11295 (netbsdlabel_partition_map_iterate): Likewise.
11296 (openbsdlabel_partition_map_iterate): Likewise.
11297 (GRUB_MOD_INIT): Register new partmaps.
11298 (GRUB_MOD_FINI): Unregister new partmaps.
11299 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
11300 (grub_partition_msdos_iterate): ... this. All users updated.
11301 Don't support embedding other than in a minix partition.
11302 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
11303 proto.
11304 * include/grub/partition.h (grub_partition): New field msdostype.
11305 * util/grub-install.in: Handle openbsd and netbsd types being in
11306 part_bsd module.
11307
1e8d555b
VS
113082010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11309
11310 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
11311
11312 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
11313 * grub-core/Makefile.core.def (mdraid): Renamed to ...
11314 (mdraid09): ... this.
11315 (mdraid1x): New module.
11316 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
11317 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
11318
899d8af4
VS
113192010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11320
11321 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
11322 vsprintf.
11323
40901acd
CW
113242010-09-20 Colin Watson <cjwatson@ubuntu.com>
11325
11326 * grub-core/commands/efi/lsefimmap.c: Correct header.
11327 * NEWS: Update.
11328
dfe3b247
CW
113292010-09-20 Colin Watson <cjwatson@ubuntu.com>
11330
11331 * util/grub-editenv.c (argp_parser): Don't pass translated strings
11332 as printf format strings; the translations might contain '%' which
11333 could cause a crash.
11334 (main): Likewise.
11335 * util/grub-fstest.c (argp_parser): Likewise.
11336 * util/grub-setup.c (argp_parser): Likewise.
11337 (main): Likewise.
11338
3286a4b4
VS
113392010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11340
11341 Use argp in grub-fstest.
11342
11343 * util/grub-fstest.c: Don't include getopt.h.
11344 Include argp.h.
11345 (root): New variable.
11346 (args_count): Likewise.
11347 (nparm): Likewise.
11348 (num_disks): Likewise.
11349 (images): Likewise.
11350 (cmd): Likewise.
11351 (debug_str): Likewise.
11352 (args): Likewise.
11353 (options): Transformed to argp.
11354 (usage): Removed.
11355 (main): Split argument parsing into ...
11356 (argp_parser): ... this. Changed to argp format.
11357 (argp): New variable.
11358 (main): Use argp_parse.
11359
3dccbe4b
TG
113602010-09-20 Tristan Gingold <gingold@free.fr>
113612010-09-20 Robert Millan <rmh.grub@aybabtu.com>
113622010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11363
11364 * grub-core/commands/efi/lsefimmap.c: New file.
11365 * grub-core/Makefile.core.def (lsefimmap): New module.
11366 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
11367
38c259a7
VS
113682010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11369
11370 Pause the execution (10s max) if any errors are displayed so the user
11371 has a chance to see them.
11372
11373 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
11374 (grub_print_error): Increment grub_err_printed_errors.
11375 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
11376 execution if any errors were displayed.
11377 (show_menu): Remove old code for pause.
11378 * grub-core/normal/menu_entry.c (run): Likewise.
11379 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
11380 users updated.
11381 (grub_normal_get_char_counter): Likewise.
11382 * include/grub/err.h (grub_err_printed_errors): New external variable.
11383 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
11384
f218b09c
VS
113852010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11386
11387 Support multiboot VBE info.
11388
11389 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
11390 Take VBE info into account.
11391 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
11392 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
11393 Call fill_vbe_info when appropriate.
11394 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
11395 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
11396 as supported.
11397 (grub_multiboot_get_mbi_size): Take new tags into account.
11398 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
11399 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
11400 Call fill_vbe_tag when appropriate.
11401 (grub_multiboot_make_mbi): Properly align tags.
11402 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
11403 function.
11404 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
11405 proto.
11406 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
11407
a9cc5438
VS
114082010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11409
11410 Suport manual terminal geometry specification.
11411
11412 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
11413 Save state in grub_ofconsole_terminfo_output.
11414 (grub_ofconsole_term): Use grub_terminfo_getwh.
11415 (grub_ofconsole_getwh): Removed.
11416 * grub-core/term/serial.c (grub_serial_getwh): Removed.
11417 (grub_serial_term): Use grub_terminfo_getwh.
11418 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
11419 (options): New struct.
11420 (OPTION_*): New enum.
11421 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
11422 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
11423 width and height.
11424 (grub_terminfo_getwh): New proto.
11425 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
11426
1a8fed20
VS
114272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11428
11429 Handle legacy "terminal" command.
11430
11431 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
11432 and FLAG_TERMINAL.
11433 (legacy_commands): Add terminal and title.
11434 (grub_legacy_parse): Handle terminal. Simplify title handling.
11435
41e9c57d
VS
114362010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11437
11438 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
11439 parameters overflow.
11440
61c874c5
CW
114412010-09-20 Colin Watson <cjwatson@ubuntu.com>
11442
11443 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
11444 widthspec.h.
11445
11446 * docs/grub.texi (Shell-like scripting): Document `!'.
11447 (Network): Simplify using new i386-pc-pxe format. Mention
11448 grub-mknetdir.
11449
11450 * NEWS: Update.
11451
943682b4
CW
114522010-09-20 Colin Watson <cjwatson@ubuntu.com>
11453
11454 * Makefile.am (SUBDIRS): Restore "."; it's important to force
11455 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
11456 when needed.
11457
6d3d698d
CW
114582010-09-20 Colin Watson <cjwatson@ubuntu.com>
11459
11460 * grub-core/commands/efi/lsefisystab.c: Correct header.
11461 * grub-core/commands/efi/lssal.c: Likewise.
11462 * grub-core/commands/testload.c: Likewise.
11463
c982589f
CW
114642010-09-20 Colin Watson <cjwatson@ubuntu.com>
11465
11466 * util/grub-mkrescue.in: Add explicit root argument to --set to
11467 prevent the UUID being interpreted as an argument to --set (matches
11468 previous change to prepare_grub_to_access_device).
11469
a63c31b6
CW
114702010-09-20 Colin Watson <cjwatson@ubuntu.com>
11471
11472 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
11473 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
11474 the verbosity of later #ifs.
11475 (find_partition_start): Define this function on FreeBSD too.
11476 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
11477 function.
11478 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
11479 on FreeBSD.
11480
6439b8ee
YB
114812010-09-20 Yves Blusseau <blusseau@zetam.org>
11482
11483 * util/grub-editenv.c: Use argp instead of getopt.
11484
c5930ec8
YB
114852010-09-20 Yves Blusseau <blusseau@zetam.org>
11486
11487 * util/grub-setup.c: Use argp instead of getopt.
11488
15c69261
YB
114892010-09-20 Yves Blusseau <blusseau@zetam.org>
11490
11491 Use gnulib-tool to create gnulib source files.
11492
11493 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
11494 grub-core/gnulib directories
11495 * .bzignore: Add **/.deps and autogenerated gnulib files
11496 * configure.ac: Assign auxiliary directory to build-aux, add invocation
11497 of gnulib macros, add grub-core/gnulib/Makefile
11498 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
11499 include m4 directory to aclocal.
11500 * Makefile.util.def: Remove direct compilation of gnulib source files
11501 and use the new grub-core/gnulib/libgnu.a.
11502 * build-aux/config.rpath: move config.rpath from top directory to
11503 build-aux
11504 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
11505 in gnulib headers
11506 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
11507 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
11508 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
11509 header.
11510 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
11511 string.
11512
e511c9f5
YB
115132010-09-20 Yves Blusseau <blusseau@zetam.org>
11514
11515 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
11516 grub-core/genmod.sh and grub-core/gensyminfo.sh
11517
c2dede05
BC
115182010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
11519
11520 Add a test for echo command options.
11521
11522 * tests/grub_cmd_echo.in: New test.
11523 * Makefile.util.def: Rules for new test.
11524
c55f5018
SJ
115252010-09-20 Szymon Janc <szymon@janc.net.pl>
11526
11527 Remove crc.mod and move crc command to hashsum.mod.
11528 Remove lib/crc.c - users updated to use gcrypt implementation.
11529
11530 * grub-core/commands/crc.c: Removed.
11531 * grub-core/Makefile.core.def (crc): Module removed.
11532 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
11533 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
11534 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
11535 * grub-core/lib/crc.c: Removed.
11536 * include/grub/lib/crc.h: Removed.
11537 * Makefile.util.def (crc): Remove lib/crc.c
11538 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
11539 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
11540 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
11541 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
11542 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
11543 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
11544
e0337366
VS
115452010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11546
11547 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
11548
742f9232
VS
115492010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11550
11551 Split config.h for util and core.
11552
11553 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
11554 (ADDR32): Likewise.
11555 (DATA32): Likewise.
11556 (BSS_START_SYMBOL): Likewise.
11557 (END_SYMBOL): Likewise.
11558 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
11559 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
11560 * config.h.in: New file.
11561 * configure.ac: Use config-util.h as config define file.
11562 Rename MACHINE into GRUB_MACHINE. All users updated.
11563 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
11564 updated.
11565 (NESTED_FUNC_ATTR): Likewise.
11566 Substitue new variables.
11567 (COND_HAVE_ASM_USCORE): New conditional.
11568 * grub-core/Makefile.am (ASM_PREFIX): New variable.
11569 (kernel_syms.lst): Use ASM_PREFIX.
11570 * grub-core/kern/emu/console.c: Include config-util.h.
11571 * grub-core/kern/emu/misc.c: Likewise.
11572 * grub-core/kern/emu/mm.c: Likewise.
11573 * include/grub/emu/misc.h: Likewise.
11574 * include/grub/libgcc.h: Likewise.
11575
39feb0e8
VS
115762010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11577
11578 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
11579 constants usage.
11580 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
11581 Fix GRUB_TERM_KEY_* constants usage.
11582 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
11583
9af6dac3
VS
115842010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11585
11586 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
11587 print pointer.
11588 * grub-core/bus/usb/uhci.c: Remove empty define.
11589 (grub_uhci_check_transfer): Add missing cast.
11590 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
11591 print pointer.
11592 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
11593 PRIuGRUB_SIZE.
11594 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
11595
d6d94820
VS
115962010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11597
11598 * grub-core/Makefile.core.def (legacycfg): Add
11599 lib/i386/pc/vesa_modes_table.c on emu.
11600
3572f2b6
BC
116012010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
11602
11603 Reduce number of temporary files generated by build system.
11604
11605 * grub-core/gencmdlist.sh: Removed.
11606 * grub-core/genfslist.sh: Removed.
11607 * grub-core/genhandlerlist.sh: Removed.
11608 * grub-core/genmodsrc.sh: Removed.
11609 * grub-core/genpartmaplist.sh: Removed.
11610 * grub-core/genparttoollist.sh: Removed.
11611 * grub-core/gentermiinallist.sh: Removed.
11612 * grub-core/genvideolist.sh: Removed.
11613
11614 * grub-core/genmod.sh.in: New file.
11615 * grub-core/gensyminfo.sh.in: New file.
11616
11617 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
11618 * conf/Makefile.extra-dist: Update with new files.
11619 * gentpl.py: Remove rules related to unnecessary temporary files.
11620 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
11621 and und-* files.
11622 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
11623 genmod.sh scripts.
11624 * grub-core/bus/usb/uhci.c: Remove empty #define.
11625 * grub-core/genmoddep.awk: Updated with new syminfo format.
11626 * util/bash-completion.d/Makefile.am: Add config.log to
11627 CLEANFILES.
11628
c836b030
YB
116292010-09-19 Yves Blusseau <blusseau@zetam.org>
11630
11631 * Makefile.util.def: Add forgotten $(LIBINTL) library.
11632
2f4e8053
BC
116332010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
11634
11635 * util/grub-mkconfig.in: Check the config script for syntax errors
11636 before saving.
11637
75831c34
CW
116382010-09-19 Colin Watson <cjwatson@ubuntu.com>
116392010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11640
11641 * Makefile.util.def (grub-install): Use util/grub-install.in on all
11642 platforms.
11643 * util/grub-install.in: Add EFI and IEEE1275 support.
11644 * util/i386/efi/grub-install.in: Removed.
11645 * util/ieee1275/grub-install.in: Likewise.
11646
eaf41b25
VS
116472010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11648
11649 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
11650 (grub_cmd_cmosclean): Likewise.
11651 (GRUB_MOD_INIT): Register command cmosclean.
11652 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
11653 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
11654
1a9130dd
CPE
116552010-09-18 Carles Pina i Estany <carles@pina.cat>
116562010-09-18 Aleš Nesrsta <starous@volny.cz>
116572010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
11658
11659 Add keyboard layouts support.
11660
11661 * Makefile.util.def (grub-mklayout): New file.
11662 (grub-kbdcomp): New script.
11663 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
11664 Add keyboard_layouts.h.
11665 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
11666 commands/boot.c on yeeloong.
11667 (keylayouts): New module.
11668 * grub-core/bus/usb/ohci.c
11669 * grub-core/bus/usb/uhci.c
11670 * grub-core/bus/usb/usbhub.c (rescan): New variable.
11671 (grub_usb_add_hub): Poll interrupt pipe for device handling.
11672 (attach_root_port): Likewise.
11673 (poll_nonroot_hub): Likewise.
11674 (grub_usb_poll_devices): Likewise.
11675 (detach_device): Close transfer.
11676 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
11677 function.
11678 (grub_usb_bulk_setup_readwrite): Likewise.
11679 (grub_usb_bulk_finish_readwrite): Likewise.
11680 * grub-core/commands/keylayouts.c: New file.
11681 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
11682 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
11683 aliases.
11684 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
11685 support scancode 2.
11686 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
11687 * include/grub/keyboard_layouts.h: New file.
11688 * util/grub-mklayout.c: New file.
11689 * util/grub-kbdcomp.in: Likewise.
11690
a1d84a5e
VS
116912010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
11692
11693 Unify memory types.
11694
11695 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
11696 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
11697 types.
11698 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
11699 (grub_upper_mem): Likewise.
11700 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
11701 * include/grub/memory.h (grub_memory_type_t): New enum.
11702 All users updated.
11703
9696382e
VS
117042010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
11705
11706 * grub-core/Makefile.core.def (lsapm): New module.
11707 * grub-core/commands/i386/pc/lsapm.c: New file.
11708 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
11709 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
11710 Likewise.
11711 * include/grub/i386/pc/apm.h: New file.
11712 * include/multiboot.h (multiboot_apm_info): New struct.
11713
117142010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
11715
11716 GRUB-legacy configuration file support.
11717
11718 * Makefile.util.def (grub-menulst2cfg): New util.
11719 * docs/man/grub-menulst2cfg.h2m: New file.
11720 * grub-core/Makefile.core.def (legacycfg): New module.
11721 * grub-core/commands/legacycfg.c: New file.
11722 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
11723 (grub_normal_add_menu_entry): ... this.
11724 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
11725 (grub_normal_set_password): ...this.
11726 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
11727 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
11728 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
11729 * grub-core/lib/legacy_parse.c: New file.
11730 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
11731 * include/grub/i386/pc/vesa_modes_table.h: New file.
11732 * include/grub/legacy_parse.h: Likewise.
11733 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
11734 * util/grub-menulst2cfg.c: New file.
11735
bf8d1338
CW
117362010-09-17 Colin Watson <cjwatson@ubuntu.com>
11737
11738 * grub-core/kern/emu/hostdisk.c
11739 (convert_system_partition_to_system_disk): Initialise node.
11740
9c0bad2e
CW
117412010-09-17 Colin Watson <cjwatson@ubuntu.com>
11742
11743 * grub-core/kern/emu/hostdisk.c
11744 (convert_system_partition_to_system_disk): Fix devmapper memory pool
11745 leak.
11746 Reported and based on patch by: Modestas Vainius.
11747
a939d135
CW
117482010-09-17 Colin Watson <cjwatson@ubuntu.com>
11749
11750 Fix DM-RAID probing with recent versions of device-mapper udev
11751 rules.
11752
11753 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
11754 canonicalise device paths under /dev/mapper/.
11755 (convert_system_partition_to_system_disk): Compare the
11756 uncanonicalised path to /dev/mapper/ rather than the canonicalised
11757 path, since device nodes under /dev/mapper/ are often symlinks.
11758
0f7ee3c9
YB
117592010-09-17 Yves Blusseau <blusseau@zetam.org>
11760
11761 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
11762
10854d0d
YB
117632010-09-16 Yves Blusseau <blusseau@zetam.org>
11764
11765 * configure.ac: Avoid some annoying error messages if freetype-config
11766 program is not found.
11767
108538d8
CW
117682010-09-16 Colin Watson <cjwatson@ubuntu.com>
11769
11770 Support RAID on virtio devices, and others.
11771
11772 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
11773 Rename to ...
11774 [__MINGW32__] (grub_find_device): ... this.
11775 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
11776 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
11777 reasonable default if dir is NULL.
11778 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
11779 ...
11780 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
11781 (grub_guess_root_device): Update callers.
11782 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
11783
11784 * util/raid.c (grub_util_getdiskname): Remove.
11785 (grub_util_raid_getmembers): Use grub_find_device rather than
11786 grub_util_getdiskname.
11787
e5bfc130
CW
117882010-09-16 Colin Watson <cjwatson@ubuntu.com>
11789
11790 * docs/grub.texi (serial): Remove obsolete comment about GRUB
11791 needing to be compiled with serial support.
11792 (ls): Indicate that multiple files are accepted.
11793 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
11794 indicate that multiple files are accepted.
11795
be458ae2
CW
117962010-09-16 Colin Watson <cjwatson@ubuntu.com>
11797
11798 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
11799 libgrub_a_init.c, and util/bash-completion.d/grub.
11800
cb731b5e
VS
118012010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11802
11803 * util/grub-setup.c (setup): Fix incorrect container semantics.
11804
35139e8a
VS
118052010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11806
11807 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
11808 misusage.
11809 Reported by: J. Nick Terry
11810
e50fca4a
VS
118112010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11812
11813 Move embedding routines to partmap sources files.
11814
11815 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
11816 [GRUB_UTIL]: New variable.
11817 (gpt_partition_map_iterate): Set part.parent.
11818 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
11819 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
11820 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
11821 New function.
11822 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
11823 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
11824 (grub_partition_map) [GRUB_UTIL]: New field embed.
11825 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
11826 (setup): Use ->embed.
11827
f00478b7
VS
118282010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11829
11830 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
11831 function.
11832 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
11833 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
11834
2b94e3ff
YB
118352010-09-15 Yves Blusseau <blusseau@zetam.org>
11836
11837 Add function to get completions from usage.
11838
11839 * util/bash-completion.d/grub-completion.bash.in: Add function to get
11840 completions from usage. Use LC_ALL=C to get options properly.
11841
2e04a006
VS
118422010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11843
11844 * grub-core/gnulib/basename-lgpl.c: Imported.
11845 * grub-core/gnulib/basename.c: Likewise.
11846 * grub-core/gnulib/dirname-lgpl.c: Likewise.
11847 * grub-core/gnulib/dirname.c: Likewise.
11848 * grub-core/gnulib/dirname.h: Likewise.
11849 * grub-core/gnulib/stripslash.c: Likewise.
11850
5dcdf93a
VS
118512010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11852
11853 * grub-core/gnulib/error.c: Resynced.
11854 * grub-core/gnulib/getopt.c: Likewise.
11855 * grub-core/gnulib/getopt_int.h: Likewise.
11856 * grub-core/gnulib/regex.h: Likewise.
11857 * grub-core/gnulib/regex_internal.c: Likewise.
11858 * grub-core/gnulib/regex_internal.h: Likewise.
11859
014f47b7
SJ
118602010-09-15 Szymon Janc <szymon@janc.net.pl>
11861
11862 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
11863 CRC calculations and validity checks.
11864 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
11865 calculations.
11866
dd521a4a
SJ
118672010-09-15 Szymon Janc <szymon@janc.net.pl>
11868
11869 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
11870
79c4eeb9
VS
118712010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11872
11873 Fix incorrect echo options handling.
11874 Reported by: Yves Blusseau.
11875
11876 * include/grub/command.h (grub_command_flags_t): New flags
11877 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
11878 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
11879 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
11880
ed80f7d5
VS
118812010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11882
11883 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
11884 users updated.
11885 (GRUB_COMMAND_FLAG_MENU): Likewise.
11886 (GRUB_COMMAND_FLAG_BOTH): Likewise.
11887 (GRUB_COMMAND_FLAG_TITLE): Removed.
11888 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
11889 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
11890 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
11891 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
11892 (grub_command_flags_t): New enum. All users updated.
11893
5fe7620a
SG
118942010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
11895
11896 Fix solaris compilation.
11897
11898 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
11899 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
11900 (grub-emu-list): Likewise.
11901
545b752f
VS
119022010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11903
11904 Remove deprecated root command.
11905
11906 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
11907 updated.
11908
6c1a338c
VS
119092010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11910
11911 * util/i386/pc/grub-setup.c: Merge this ...
11912 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
11913 * util/grub-setup.c: ... into this.
11914 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
11915 New struct.
11916
119172010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11918
11919 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
11920 possible.
11921
d2ea4551
VS
119222010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11923
11924 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
11925 allocate p.
11926
3c3b5040
VS
119272010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11928
11929 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
11930 explicit root argument to set to prevent UUID to be interpreted as
11931 argument to set.
11932
b71c3fae
VS
119332010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11934
11935 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
11936
275433e6
VS
119372010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11938
11939 Don't export grub_gate_a20.
11940
11941 * grub-core/kern/i386/pc/init.c: Remove leftovers.
11942 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
11943 to ...
11944 (grub_gate_a20): ... this. All users updated.
11945 * include/grub/i386/pc/init.h: Removed. All users updated.
11946
a5dbb1f1
VS
119472010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11948
11949 Create euro.pf2 which supports most European languages.
11950
11951 * Makefile.am (grubdata_DATA): Add euro.pf2.
11952 (euro.pf2): New target.
11953 (CLEANFILES): Add euro.pf2.
11954
62a747cb
VS
119552010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11956
11957 * configure.ac: Disable emu-usb by default to prevent inadvertent
11958 device takeover.
11959
608e43b1
VS
119602010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11961
11962 Disable usbserial on grub-emu since our libusb code isn't good enough
11963 yet.
11964
11965 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
11966 (usbserial_pl2303): Likewise.
11967 (usbserial_ftdi): Likewise.
11968
94564f81
VS
119692010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11970
11971 * include/grub/disk.h (grub_disk): Remove has_partitions.
11972 All users updated.
11973 * disk/loopback.c (grub_loopback): Remove has_partitions.
11974 All users updated.
11975 (options): Remove partitions. All users updated.
11976 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
11977 * util/i386/pc/grub-setup.c (setup): copy partition table only when
11978 actual partition table is found.
11979
3352800b
VS
119802010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11981
11982 Remove readability checks (too many false negatives).
11983
11984 * util/grub-install.in: Remove readability checks.
11985 * util/grub-mkconfig.in: Likewise.
11986 * util/grub.d/10_hurd.in: Likewise.
11987 * util/grub.d/10_kfreebsd.in: Likewise.
11988 * util/grub.d/10_linux.in: Likewise.
11989 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
11990 way.
11991
2419f17a
VS
119922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11993
11994 Enable acpi shutdown on all ACPI platforms.
11995
11996 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
11997 on coreboo, multiboot and EFI.
11998 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
11999 (grub_acpi_halt): Likewise.
12000 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
12001 (grub_cmd_halt): Don't call grub_acpi_halt directly.
12002 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
12003 * grub-core/lib/i386/halt.c (grub_halt)
12004 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
12005
0575c7c3
VS
120062010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12007
12008 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
12009 context.
12010
54ac3cd1
VS
120112010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12012
12013 * grub-core/video/efi_gop.c: Fix over-80-chars line.
12014 * grub-core/video/efi_uga.c: Likewise.
12015
b2a30ac5
VS
120162010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12017
12018 Filter devaliases and never open same device twice.
12019
12020 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
12021 (last_ihandle): Likewise.
12022 (ofdisk_hash_ent): New member shortest.
12023 (ofdisk_hash_add): Add canonical path too.
12024 (scan): New function.
12025 (grub_ofdisk_iterate): Iterate over hashed entries.
12026 (compute_dev_path): Don't add :0.
12027 (grub_ofdisk_open): Don't really open the disk.
12028 (grub_ofdisk_close): Avoid closing unrelated disk.
12029 (grub_ofdisk_read): Implement reopen logic.
12030 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
12031 New function.
12032 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
12033 New proto.
12034
fb53b340
VS
120352010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12036
12037 Fix sparc64.
12038
12039 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
12040 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
12041 right address. Add sparc64_ieee1275_ldflags.
12042 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
12043 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
12044 to grub_host_to_target_addr
12045 (load_image): Likewise.
12046
f452b040
VS
120472010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12048
12049 * grub-core/normal/completion.c (complete_file): Handle device
12050 containing slash.
12051 Fix based on patch by Doug Nazar.
12052
9b5b2541
VS
120532010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12054
12055 grub-mknetdir script.
12056
12057 * Makefile.util.def (grub-mknetdir): New module.
12058 * tests/util/grub-shell.in: Support boot=net
12059 * util/grub-mknetdir.in: New file.
12060
9d2be652
VS
120612010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12062
12063 videoinfo on non-vbe.
12064
12065 * grub-core/Makefile.core.def (vbeinfo): Removed.
12066 (vbetest): Removed.
12067 (videoinfo): New module.
12068 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
12069 * grub-core/commands/i386/pc/vbetest.c: Removed.
12070 * grub-core/commands/videoinfo.c: New file.
12071 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
12072 specification.
12073 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
12074 as vbetest.
12075 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
12076 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
12077 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
12078 mode_number. New parameter mode. All users updated.
12079 (grub_video_gop_iterate): New function.
12080 (grub_video_efi_gop): New member iterate.
12081 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
12082 (grub_vbe_set_video_mode): Remove setting useless fields.
12083 (vbe2videoinfo): New function.
12084 (grub_video_vbe_iterate): Likewise.
12085 (grub_video_vbe_setup): Use vbe2videoinfo.
12086 (grub_video_vbe_print_adapter_specific_info): New function.
12087 (grub_video_vbe_adapter): New fields iterate and
12088 print_adapter_specific_info.
12089 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
12090 All users updated.
12091 (grub_video_mode_info): New field mode_number.
12092 (grub_video_adapter): New fields iterate and
12093 print_adapter_specific_info.
12094
179503f5
TG
120952010-09-13 Tristan Gingold <gingold@free.fr>
120962010-09-13 Robert Millan <rmh.grub@aybabtu.com>
120972010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12098
12099 * grub-core/commands/efi/lsefisystab.c: New file.
12100 * grub-core/commands/efi/lssal.c: Likewise.
12101 * grub-core/Makefile.core.def (lsacpi): New module.
12102 (lsefisystab): Likewise.
12103 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
12104 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
12105 (grub_efi_sal_system_table): New struct.
12106 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
12107 (grub_efi_sal_system_table_memory_descriptor): Likewise.
12108 (grub_efi_sal_system_table_platform_features): Likewise.
12109 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
12110 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
12111 (grub_efi_sal_system_table_ap_wakeup): Likewise.
12112 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
12113
cf9827de
VS
121142010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12115
12116 Support explicit user claim that a device is BIOS-visible.
12117
12118 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
12119 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
12120 * grub-core/kern/emu/hostdisk.c
12121 (convert_system_partition_to_system_disk): Support mdX.
12122 (find_system_device): New parameter add. All users updated.
12123 (grub_util_biosdisk_is_present): New function.
12124 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
12125 proto.
12126
53f0eb1f
VS
121272010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12128
12129 Search hints support.
12130
12131 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
12132 All users updated.
12133
b23ffd70
YB
121342010-09-13 Yves Blusseau <blusseau@zetam.org>
12135
12136 Bash completion script for util commands
12137
12138 * Makefile.am: Add util/bash-completion.d directory
12139 * configure.ac: Likewise.
12140 * util/bash-completion.d/Makefile.am: New file.
12141 * util/bash-completion.d/grub-completion.bash.in: Likewise.
12142
d547dc28
VS
121432010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12144
12145 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
12146 (print_backlog): set backlog_ucs4 and backlog_glyphs.
12147 Reported by: Yves Blusseau.
12148
2fc8ccb9
VS
121492010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12150
12151 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
12152 partition size and offset.
12153
d8a84076
VS
121542010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12155
12156 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
12157
84fb3b3d
VS
121582010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12159
12160 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
12161
768ec2e2
VS
121622010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12163
12164 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
12165 (grub_xvasprintf): Likewise.
12166
4870900f
VS
121672010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12168
12169 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
12170
faca6bec
VS
121712010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12172
12173 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
12174 args ending with NULL.
12175
121762010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
12177
12178 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
12179 pointer.
12180
3c70f225
SJ
121812010-09-11 Szymon Janc <szymon@janc.net.pl>
12182
12183 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
12184
4df7996d
VS
121852010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12186
12187 Shutdown using ACPI.
12188
12189 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
12190 * grub-core/commands/acpihalt.c: New file.
12191 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
12192 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
12193 (grub_acpi_halt): New proto.
12194 (GRUB_ACPI_SLP_EN): New const.
12195 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
12196 (GRUB_ACPI_OPCODE_*): New enum.
12197 (GRUB_ACPI_EXTOPCODE_*): Likewise.
12198
126b4c32
TG
121992010-09-11 Tristan Gingold <gingold@free.fr>
122002010-09-11 Robert Millan <rmh.grub@aybabtu.com>
122012010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12202
12203 * commands/lsacpi.c: New file.
12204 * grub-core/Makefile.core.def (lsacpi): New module.
12205 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
12206 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
12207 (grub_acpi_madt_entry_header): New struct.
12208 (grub_acpi_madt): Likewise.
12209 (grub_acpi_madt_entry_interrupt_override): Likewise.
12210 (grub_acpi_madt_entry_sapic): Likewise.
12211 (grub_acpi_madt_entry_lsapic): Likewise.
12212 (grub_acpi_madt_entry_platform_int_source): Likewise.
12213 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
12214 (PRIuGRUB_UINT32_T): Likewise.
12215 (PRIxGRUB_UINT64_T): Likewise.
12216
1aa4fe88
VS
122172010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12218
12219 Implement loading palette on ieee1275_fb.
12220
12221 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
12222 (have_setcolors): Likewise.
12223 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
12224 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
12225 (grub_video_ieee1275_set_palette): Implement.
12226
25761e13
VS
122272010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
122282010-09-11 Colin Watson <cjwatson@ubuntu.com>
12229
12230 * util/grub-install.in (grub_partition): New variable.
12231 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
12232 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
12233 Fixes a bug reported by Yves Blusseau.
12234
050abaea
VS
122352010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12236
12237 Fix emu on mipsel.
12238
12239 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
12240 =grub_cpu_flush_cache on all mips and not only yeeloong.
12241 * configure.ac (COND_mips): New conditional.
12242 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
12243 platforms.
12244 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
12245 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
12246 [GRUB_LINKER_HAVE_INIT]: New function.
12247 (grub_emu_post_init): Likewise.
12248 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
12249 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
12250 * include/grub/cache.h (_mips): Include mips/cache.h.
12251 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
12252 LVM and RAID prototypes.
12253 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
12254 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
12255 function.
12256
5ed7d816
CW
122572010-09-10 Colin Watson <cjwatson@ubuntu.com>
12258
12259 * util/grub-install.in: Don't try to verify core.img until after
12260 running grub-mkimage to create it.
12261
90367e04
RM
122622010-09-10 Robert Millan <rmh@gnu.org>
12263
12264 * util/grub.d/10_hurd.in: Add misc readability checks.
12265 * util/grub.d/10_kfreebsd.in: Likewise.
12266 * util/grub.d/10_linux.in: Likewise.
12267
c452fa66
CW
122682010-09-10 Colin Watson <cjwatson@ubuntu.com>
12269
12270 * util/grub-install.in: ${imgext} won't be defined here until the
12271 install branch is merged. For the meantime, only verify core.img on
12272 i386-pc and sparc64-ieee1275 platforms.
12273
c38fe9f4
RM
122742010-09-10 Robert Millan <rmh@gnu.org>
12275
12276 Solaris support in grub_find_zpool_from_dir(). Thanks
12277 Seth Goldberg for referring to getextmntent() facility.
12278
12279 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
12280 `sys/mkdev.h'.
12281 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
12282 `<sys/mnttab.h>'.
12283 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
12284 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
12285 method for finding zpool name.
12286
905f7773
CW
122872010-09-10 Colin Watson <cjwatson@ubuntu.com>
12288
12289 grub-fstest needs the host and hostfs modules while other utilities
12290 actively require those modules to be absent, so grub-fstest needs
12291 its own initialisation and finalisation code.
12292
12293 * Makefile.am (grub_fstest.pp): New target.
12294 (grub_fstest_init.lst): Likewise.
12295 (grub_fstest_init.c): Likewise.
12296 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
12297
fb90b546
RM
122982010-09-10 Robert Millan <rmh@gnu.org>
12299
12300 * configure.ac: Check for `struct statfs.f_fstypename' and
12301 `struct statfs.f_mntfromname'.
12302
12303 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
12304 kFreeBSD-specific code.
12305
66d4bea5
RM
123062010-09-10 Robert Millan <rmh@gnu.org>
12307
12308 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
12309 on ZFS. Now non-main filesystems are supported as / too.
12310
b6a690ee
CW
123112010-09-09 Colin Watson <cjwatson@ubuntu.com>
12312
12313 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
12314 and grub-core/disk/host.c to ...
12315 (grub-fstest): ... here. Having the host disk implementation
12316 present confuses grub-probe and other utility programs.
12317
12318 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
12319 when writing to a file, not when writing to stdout.
12320
8901b00c 123212010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
12322
12323 * tests/partmap_test.in: New test for partitions.
12324 * Makefile.util.def: Rules for new test.
12325
7bf45fdd
RM
123262010-09-09 Robert Millan <rmh@gnu.org>
12327
12328 * util/grub-probe.c (probe): Fix a pair of unhandled error
12329 conditions.
12330
4dfbc574
RM
123312010-09-09 Robert Millan <rmh@gnu.org>
12332
12333 Basic Btrfs support (detection and UUID).
12334
12335 * grub-core/fs/btrfs.c: New file.
12336 * Makefile.util.def (library): Register btrfs.c.
12337 * grub-core/Makefile.core.def: Likewise.
12338
6b8e78ae
RM
123392010-09-08 Robert Millan <rmh@gnu.org>
12340
12341 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
12342 with (optional) parameters to specify device and relative path.
12343 * util/grub-install.in: Use is_path_readable_by_grub() to
12344 verify readability of a few critical files.
12345 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
12346 verify readability of grub.cfg.new.
12347
27f21a8b
VS
123482010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
12349
12350 Split minix.mod into minix.mod and minix2.mod.
12351
12352 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
12353 * grub-core/Makefile.core.def (minix2): New module.
12354 * grub-core/fs/minix.c: Use definitions instead of runtime version
12355 checking.
12356 * grub-core/fs/minix2.c: New file.
12357
c0e53ea5
YB
123582010-09-08 Yves Blusseau <blusseau@zetam.org>
12359
12360 Add new --boot-directory option to replace --root-directory
12361
12362 * util/grub-install.in: Add new --boot-directory option
12363 * util/grub-reboot.in: Likewise.
12364 * util/grub-set-default.in: Likewise.
12365
b9fe6ea2
YB
123662010-09-08 Yves Blusseau <blusseau@zetam.org>
12367
12368 * util/grub-mkconfig.in: Use new variable.
12369
d87aedff
YB
123702010-09-08 Yves Blusseau <blusseau@zetam.org>
12371
12372 * configure.ac: Define some useful variables.
12373
e55e8495
VS
123742010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
12375
12376 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12377 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
12378 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
12379 Use terminfo and don't use cursor-on/cursor-off unless it's known
12380 to work.
12381 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
12382 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
12383
6fa6d675
CW
123842010-09-08 Colin Watson <cjwatson@ubuntu.com>
12385
12386 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
12387 starts with "(,", fill the drive containing the loaded image in
12388 between those two characters, but expect that a full partition
12389 specification including partition map names will follow.
12390
92f2aef0
RM
123912010-09-08 Robert Millan <rmh@gnu.org>
12392
12393 * configure.ac: Remove `--enable-grub-fstest' option.
12394 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
12395
12396 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
12397 `grub-fstest' instead of `grub-probe' for readability verification.
12398 * util/grub-probe.c (probe): Remove readability verification kludge.
12399
99fd620d
RM
124002010-09-08 Robert Millan <rmh@gnu.org>
12401
12402 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
12403 initializing `GRUB_FS'.
12404
058e30ac 124052010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
12406
12407 Not command (!) support to GRUB script.
12408
12409 * tests/grub_script_not.in: New test.
12410 * Makefile.util.def: Rules for new test.
12411
12412 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
12413 ! command as a special case.
12414 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
12415
b61d05ed 124162010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
12417
058e30ac 12418 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
12419 grub_free.
b61d05ed 12420
4d69c786 124212010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
12422
12423 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
12424
aa3119c4 124252010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
12426
12427 * docs/grub.texi (Shell-like scripting): Documentation for break,
12428 continue, shift and return commands.
12429
db0f7e3d
VS
124302010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
12431
12432 Rename CD-ROM to cd on BIOS.
12433
12434 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
12435 "cd".
12436 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
12437
88b87c93
VS
124382010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12439
12440 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
12441 * util/grub-probe.c (main): Likewise.
12442 * util/i386/pc/grub-setup.c (main): Likewise.
12443 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
12444 Reported and debugged by: alexxy
12445
294f324d
VS
124462010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12447
12448 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
12449 diagnostic info.
12450
d7ee3441
JS
124512010-09-05 Jo Shields <directhex@apebox.org>
12452
12453 * util/grub.d/30_os-prober.in: Add missing classes.
12454
d7e06c1f
VS
124552010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12456
12457 * docs/grub.texi (Theme file format): Document new position format.
12458
fc157e53
VS
124592010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12460
12461 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
12462 a table. Use @code instead of @verbatim.
12463
506e9a1c
CB
124642010-09-05 Colin D Bennett <colin@gibibit.com>
12465
12466 Gfxmenu documentation.
12467
12468 * docs/grub.texi (Theme file format): New chapter.
12469
f0aff67c
SJ
124702010-09-05 Szymon Janc <szymon@janc.net.pl>
12471
12472 * grub-core/Makefile.core.def (xzio): New module.
12473 * grub-core/io/xzio.c: New file.
12474 * grub-core/lib/xzembed/xz.h: New file (from xembed).
12475 * grub-core/lib/xzembed/xz_config.h: Likewise.
12476 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
12477 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
12478 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
12479 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
12480 * grub-core/lib/xzembed/xz_private.h: Likewise.
12481 * grub-core/lib/xzembed/xz_stream.h: Likewise.
12482 * include/grub/file.h (grub_file_filter_id): New compression filter
12483 GRUB_FILE_FILTER_XZIO.
12484
82a85062
VS
124852010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12486
12487 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
12488 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
12489 size.
12490
3579415d
VS
124912010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12492
12493 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
12494 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
12495
5124ae6d
VS
124962010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12497
12498 Uncompressed checksum support.
12499
12500 * grub-core/commands/hashsum.c (options): Add option --uncompress.
12501 (check_list): New parameter uncompress.
12502 (grub_cmd_hashsum): Handle --uncompress.
12503
9aadb3d1
VS
125042010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12505
12506 Reintroduce testload.
12507
12508 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
12509 from here ...
12510 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
12511 (GRUB_MOD_INIT): New function.
12512 (GRUB_MOD_FINI): Likewise.
12513 * grub-core/Makefile.core.def (testload): New module.
12514
a17792c3
SJ
125152010-09-05 Szymon Janc <szymon@janc.net.pl>
12516
12517 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
12518 (uint8_t): New type.
12519 (uint16_t): Likewise.
12520 (uint32_t): Likewise.
12521 (uint64_t): Likewise.
12522
b81e40a3
SJ
125232010-09-05 Szymon Janc <szymon@janc.net.pl>
12524
12525 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
12526
fc2ef117
VS
125272010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12528
12529 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
12530 Made static.
12531 (grub_gzfile_open): Removed. All users updated.
12532 (GRUB_MOD_INIT): New function.
12533 (GRUB_MOD_FINI): Likewise.
12534 * grub-core/kern/file.c (grub_file_filters_all): New variable.
12535 (grub_file_filters_enabled): Likewise.
12536 (grub_file_open): Handle filters.
12537 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
12538 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
12539 * include/grub/file.h (grub_file_filter_id_t): New type.
12540 (grub_file_filter_t): Likewise.
12541 (grub_file_filters_all): New extern variable.
12542 (grub_file_filters_enabled): Likewise.
12543 (grub_file_filter_register): New inline function.
12544 (grub_file_filter_unregister): Likewise.
12545 (grub_file_filter_disable): Likewise.
12546 (grub_file_filter_disable_compression): Likewise.
12547 * include/grub/gzio.h: Removed.
12548
35ee15e0
BC
125492010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12550
12551 Filename expansion support for wildcards in GRUB script.
12552
12553 * tests/grub_script_expansion.in: New test.
12554 * Makefile.util.def: Rule for new test.
12555
12556 * grub-core/commands/wildcard.c: New file, implements filename
12557 expansion support for GRUB script.
12558 * grub-core/Makefile.core.def: Rule update for regexp.mod.
12559 * grub-core/script/argv.c: Cosmetic changes.
12560 * grub-core/script/execute.c (grub_script_arglist_to_argv):
12561 Refactored to perform wildcard expansion on arguments.
12562 * include/grub/script_sh.h (grub_script_wildcard_translator): New
12563 struct.
12564
12565 * tests/util/grub-shell.in: Fix quoting for read input.
12566
5f0c4aca
BC
125672010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12568
12569 Support for updating environment variables with matched substrings
12570 of regexp.
12571
12572 * tests/grub_cmd_regexp.in: New test.
12573 * Makefile.util.def: Rule for new test.
12574
12575 * grub-core/commands/regexp.c: New option -s to update environment
12576 variables with regexp matches.
12577
3759a35f
SJ
125782010-09-04 Szymon Janc <szymon@janc.net.pl>
12579
12580 * include/grub/file.h (grub_file): New member not_easly_seekable.
12581 (grub_file_seekable): New inline function.
12582 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
12583 easily seekable.
12584 (grub_gzio_open): Set not_easly_seekable.
12585 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
12586 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
12587
ed8c6dec
BC
125882010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12589
12590 Support for options to appear multiple times on cmdline.
12591
12592 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
12593 * grub-core/commands/extcmd.c: Support for repeatable option.
12594 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
12595 repeatable option support.
12596
12597 Refactor menuentry into a regular command.
12598
12599 * grub-core/commands/menuentry.c: New file, menuentry command
12600 implementation.
12601 * grub-core/Makefile.core.def: Rule update for normal.mod.
12602 * grub-core/normal/main.c: Moved menuentry creation to
12603 grub-core/commands/menuentry.c.
12604 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
12605 (grub_menu_execute_entry_real): Removed.
12606 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
12607 function.
12608 (grub_script_execute_menuentry): Removed.
12609 * grub-core/script/parser.y (menuentry): Removed.
12610 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
12611 * grub-core/script/yylex.l (menuentry): Removed.
12612 * include/grub/menu.h (grub_menu_init): New prototype.
12613 (grub_menu_fini): New prototype.
12614 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
12615 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
12616 (grub_script_execute_sourcecode): New prototype.
12617
dacd0cf0
BC
126182010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12619
12620 "return" command for GRUB script functions.
12621
12622 * tests/grub_script_return.in: New test.
12623 * Makefile.util.def: Rules for new test.
12624
12625 * grub-core/script/execute.c (grub_script_return): New function.
12626 * grub-core/script/main.c: Register/unregister return commaond.
12627 * include/grub/script_sh.h (grub_script_return): New prototype.
12628
52e72f9d
BC
126292010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12630
12631 "setparams" command to update positional parameters.
12632
12633 * tests/grub_script_setparams.in: New test.
12634 * Makefile.util.def: Rules for new test.
12635
12636 * grub-core/script/argv.c (grub_script_argv_make): New function.
12637 * grub-core/script/execute.c (replace_scope): New function.
12638 (grub_script_setparams): New function.
12639 * grub-core/script/lexer.c: Remove unused variables.
12640 * grub-core/script/main.c: Register/unregister setparams command.
12641 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
12642 (grub_script_setparams): New prototype.
12643
25b60c91
BC
126442010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12645
12646 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
12647 grub_free order.
12648
37e7bf68
BC
126492010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12650
12651 Support for passing block of commands as an argument to extcmds.
12652
12653 * Makefile.util.def: Rules for new test.
12654 * tests/grub_script_blockarg.in: New test.
12655 * grub-core/tests/test_blockarg.c: New file, block argument
12656 command used in the test.
12657
12658 * include/grub/extcmd.h (grub_extcmd_context): New struct.
12659 (grub_register_extcmd_prio): New function prototype.
12660 (grub_extcmd_dispatcher): New function prototype.
12661 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
12662 type.
12663 * include/grub/script_sh.h (struct grub_script): New members
12664 `children', `next_siblings' and `refcnt' for block arguments and
12665 reference counting.
12666 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
12667 (grub_script_arg): New member `script' for block argument.
12668 (grub_script_argv): New member `script' for block argument.
12669 (grub_parser_param): New member `scripts' for block argument.
12670 (grub_script_mem_free): New extern function prototype.
12671 (grub_script_ref): New function prototype.
12672 (grub_script_unref): New function prototype.
12673
12674 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
12675 extcmd form to support block arguments.
12676 * grub-core/script/argv.c: Block arguments support.
12677 * grub-core/script/execute.c: Likewise.
12678 * grub-core/script/lexer.c: Likewise.
12679 * grub-core/script/main.c: Likewise.
12680 * grub-core/script/script.c: Likewise.
12681 * grub-core/script/parser.y: Likewise. New `block' and `block0'
12682 non-terminals.
12683
12684 * grub-core/commands/acpi.c: Update extcmd implementations with
12685 grub_extcmd_context_t.
12686 * grub-core/commands/cat.c: Likewise.
12687 * grub-core/commands/echo.c: Likewise.
12688 * grub-core/commands/extcmd.c: Likewise.
12689 * grub-core/commands/hashsum.c: Likewise.
12690 * grub-core/commands/hdparm.c: Likewise.
12691 * grub-core/commands/help.c: Likewise.
12692 * grub-core/commands/hexdump.c: Likewise.
12693 * grub-core/commands/i386/cpuid.c: Likewise.
12694 * grub-core/commands/i386/pc/drivemap.c: Likewise.
12695 * grub-core/commands/i386/pc/halt.c: Likewise.
12696 * grub-core/commands/i386/pc/sendkey.c: Likewise.
12697 * grub-core/commands/iorw.c: Likewise.
12698 * grub-core/commands/keystatus.c: Likewise.
12699 * grub-core/commands/loadenv.c: Likewise.
12700 * grub-core/commands/ls.c: Likewise.
12701 * grub-core/commands/lspci.c: Likewise.
12702 * grub-core/commands/memrw.c: Likewise.
12703 * grub-core/commands/probe.c: Likewise.
12704 * grub-core/commands/search_wrap.c: Likewise.
12705 * grub-core/commands/setpci.c: Likewise.
12706 * grub-core/commands/sleep.c: Likewise.
12707 * grub-core/disk/loopback.c: Likewise.
12708 * grub-core/hello/hello.c: Likewise.
12709 * grub-core/loader/i386/bsd.c: Likewise.
12710 * grub-core/loader/xnu.c: Likewise.
12711 * grub-core/term/gfxterm.c: Likewise.
12712 * grub-core/term/serial.c: Likewise.
12713 * grub-core/tests/lib/functional_test.c: Likewise.
12714
888d1500
BC
127152010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12716
12717 Multi-line quoted strings support.
12718
12719 * grub-core/script/lexer.c (append_newline): Removed.
12720 (grub_script_lexer_yywrap): Refactored.
12721 (grub_script_lexer_init): Refactored.
12722 * grub-core/script/yylex.l (yywrap): New function.
12723 (grub_lexer_resplit): New function.
12724 (grub_lexer_unput): New function.
12725 * include/grub/script_sh.h (grub_lexer_param): New members, unput
12726 and resplit.
12727 * tests/grub_script_echo1.in: Added few more testcases.
12728
dda060dd
VS
127292010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
12730
12731 * grub-core/kern/misc.c: Don't add abort alias in utils.
12732 Reported by: echoline.
12733
6556eba9
BC
127342010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
12735
12736 Add missing files into "make dist" tarball for other platforms.
12737
12738 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
12739 * conf/Makefile.common (dist_noinst_DATA): New variable.
12740 * conf/Makefile.extra-dist: Added missing make dist files.
12741 * grub-core/Makefile.core.def: Likewise.
12742
c8e7bf5f
VS
127432010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
12744
12745 Compress grub_prefix.
12746
12747 * grub-core/boot/i386/pc/lnxboot.S: Use
12748 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
12749 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
12750 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
12751 GRUB_MACHINE_PREFIX_END. All users updated.
12752 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
12753 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
12754 + 0x40.
12755 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
12756 * util/grub-mkimage.c (image_target_desc): Change data_end to
12757 prefix_end. All users updated.
12758
a7c00cdb
VS
127592010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
12760
12761 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
12762 value.
12763 (grub_openbsd_boot): Likewise.
12764 (grub_netbsd_boot): Likewise.
12765 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
12766 (grub_xnu_boot): Likewise.
12767
9f915872
VS
127682010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12769
12770 * configure.ac: Clean LIBS variable after tests.
12771
efa1bee7
CW
127722010-09-02 Colin Watson <cjwatson@ubuntu.com>
12773
12774 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
12775
61d720e5
VS
127762010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12777
12778 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
12779 echo if libdevmapper will be used.
12780
ef8e0ec8
IT
127812010-09-02 Ian Turner <Ian.Turner@deshaw.com>
12782
12783 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
12784 constant for the same file.
12785
03e261d8
VS
127862010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12787
12788 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
12789
c2a4eba6
CW
127902010-09-02 Colin Watson <cjwatson@ubuntu.com>
12791
12792 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
12793 grub-core/*.pp.
12794
9056cbf3
CW
127952010-09-02 Colin Watson <cjwatson@ubuntu.com>
12796
12797 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
12798 required by the boot protocol.
12799
12800 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
12801 ebp and edi members.
12802 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
12803 state.ebp and state.edi.
12804 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
12805 %ebp and %edi according to grub_relocator32_ebp and
12806 grub_relocator32_edi respectively.
12807 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
12808 and state.edi.
12809
529cc99a
VS
128102010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12811
12812 Add i386-pc-pxe image target.
12813
12814 * util/grub-mkimage.c (image_target_desc): New enum value
12815 IMAGE_I386_PC_PXE.
12816 (image_targets): New target i386-pc-pxe.
12817 (generate_image): Handle i386-pc-pxe image.
12818
9a093920
VS
128192010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12820
12821 Fix grub_pxe_scan.
12822
12823 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
12824 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
12825 All users updated.
12826 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
12827 (grub_pxe_pxenv): Correct type.
12828
f9cefc4e
CW
128292010-09-01 Colin Watson <cjwatson@ubuntu.com>
12830
12831 * NEWS: Document most of the important changes since 1.98.
12832
4066f57f
CW
128332010-09-01 Colin Watson <cjwatson@ubuntu.com>
12834
12835 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
12836 generated manual page) a little.
12837
da2891f9
CW
128382010-09-01 Colin Watson <cjwatson@ubuntu.com>
12839
12840 * docs/grub.texi: Add myself as an author.
12841
ad717fae
VS
128422010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
12843
12844 * Makefile.util.def (libgrub.a): Add missing sunpc.
12845 Reported by: Seth Goldberg.
12846
eefe8abd
VS
128472010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12848
12849 Interrupt wrapping and code simplifications.
12850
9494ef9a
VS
12851 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
12852 x86_noieee1275 which are functionaly equivalent in this case.
12853 (grub-install): Make source on each platform explicit. Enable on
12854 all noemu.
12855 * gentpl.py (x86_efi_pc): Removed group.
12856 (x86_noefi): Likewise.
12857 (i386_noefi): Likewise.
12858 (x86_noieee1275): Likewise.
12859 (i386_noieee1275): Likewise.
12860 (i386_noefi_noieee1275): Likewise.
12861 (i386_pc_qemu_coreboot): Likewise.
12862 (i386_coreboot_multiboot): Likewise.
12863 (i386_pc_coreboot_multiboot_qemu): Likewise.
12864 (x86_noefi_mips): Likewise.
12865 (noieee1275): Likewise.
12866 (ieee1275_mips): Likewise.
12867 (noemu_noieee1275): Likewise.
12868 (cmos): New group.
12869 (usb): Likewise.
12870 (videoinkernel): Likewise.
12871 (videomodules): Likewise.
eefe8abd 12872 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
12873 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
12874 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
12875 include/grub/loader.h, include/grub/msdos_partition.h,
12876 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
12877 include/grub/machine/console.h, include/grub/machine/vga.h,
12878 include/grub/machine/vbe.h, include/grub/machine/init.h,
12879 include/grub/machine/kernel.h, include/grub/cpu/time.h,
12880 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 12881 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
12882 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
12883 * grub-core/Makefile.core.def (kernel): Explicit the source for
12884 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
12885 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
12886 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
12887 Use videoinkernel tag.
12888 (usb): Enable on all usb.
12889 (usbserial_common): Likewise.
12890 (usbserial_pl2303): Likewise.
12891 (usbserial_ftdi): Likewise.
12892 (uhci): Enable on all x86.
12893 (ohci): Enable on all pci.
12894 (cmostest): Enable on all CMOS.
12895 (acpi): Include commands/acpi.c on all platforms.
12896 (halt): Add relevant lib/*/halt.c.
12897 (hdparm): Enable on all pci.
12898 (lspci): Likewise.
12899 (usbtest): Enable on all usb.
12900 (ata): Enable on all pci.
12901 (ata_pthru): Likewise.
12902 (usbms): Enable on all usb.
12903 (usb_keyboard): Likewise.
12904 (font): Use tag videomodules.
12905 (bufio): Likewise.
12906 (datetime): Use tag cmos. Enable on all noemu.
12907 (mmap): Use tags common and x86.
12908 (gfxterm): Use tag videomodules.
12909 (bitmap): Likewise.
12910 (bitmap_scale): Likewise.
12911 (video_fb): Likewise.
12912 (video): Likewise.
12913 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
12914 adjust padding accordingly. All users updated.
12915 (grub_ohci_transaction): Fix bad format specification.
12916 (GRUB_MOD_INIT): Add asserts for struct size.
12917 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
12918 (grub_alloc_td): Likewise.
12919 (grub_free_queue): Likewise.
12920 (grub_uhci_transfer): Likewise.
12921 (grub_uhci_transaction): Fix bad format specification.
12922 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
12923 (grub_usb_bulk_readwrite): Likewise.
12924 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
12925 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
12926 Made static.
12927 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
12928 Made static.
12929 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
12930 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
12931 Transformed into C.
12932 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
12933 Moved from here ...
12934 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
12935 ... here. Transformed into C. Made static.
12936 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
12937 Moved from here ...
12938 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
12939 ... here. Transformed into C. Made static.
12940 * grub-core/kern/i386/pc/startup.S
12941 (grub_biosdisk_check_int13_extensions): Moved from here ...
12942 * grub-core/disk/i386/pc/biosdisk.c
12943 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
12944 Made static.
12945 * grub-core/kern/i386/pc/startup.S
12946 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
12947 * grub-core/disk/i386/pc/biosdisk.c
12948 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
12949 Transformed into C. Made static.
12950 * grub-core/kern/i386/pc/startup.S
12951 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
12952 * grub-core/disk/i386/pc/biosdisk.c
12953 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
12954 Transformed into C. Made static.
12955 * grub-core/kern/i386/pc/startup.S
12956 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
12957 * grub-core/disk/i386/pc/biosdisk.c
12958 (grub_biosdisk_get_diskinfo_standard): ... here.
12959 Transformed into C. Made static.
12960 * grub-core/kern/i386/pc/startup.S
12961 (grub_biosdisk_get_num_floppies): Moved from here ...
12962 * grub-core/disk/i386/pc/biosdisk.c
12963 (grub_biosdisk_get_num_floppies): ... here.
12964 Transformed into C. Made static.
12965 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
12966 New function.
12967 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
12968 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
12969 Transformed into C. Made static.
12970 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
12971 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
12972 Transformed into C. Made static.
12973 * grub-core/kern/i386/ieee1275/init.c: Removed.
12974 * grub-core/kern/i386/misc.S: Likewise.
12975 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
12976 Splitted from here ...
12977 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
12978 Transformed into C. Made static. All users updated.
12979 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
12980 Transformed into C. Made static. All users updated.
12981 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
12982 Moved from here...
12983 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
12984 Transformed into C. Made static. All users updated.
12985 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
12986 Moved from here...
12987 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
12988 Transformed into C. Made static. All users updated.
12989 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
12990 Removed (replaced by C version).
12991 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
12992 Moved from here...
12993 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
12994 Transformed into C. Made static.
12995 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
12996 Moved from here...
12997 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
12998 ... here. Transformed into C.
12999 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
13000 Moved from here...
13001 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
13002 ... here. Transformed into C.
13003 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
13004 Moved from here...
13005 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
13006 ... here. Transformed into C. Made static.
13007 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
13008 Moved from here...
13009 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
13010 ... here. Transformed into C.
21ed554b
VS
13011 * grub-core/kern/i386/pc/startup.S
13012 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
13013 * grub-core/video/i386/pc/vbe.c
13014 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
13015 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
13016 Moved from here...
13017 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
13018 ... here. Transformed into C.
13019 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
13020 Moved from here...
13021 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
13022 ... here. Transformed into C.
13023 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
13024 Moved from here...
13025 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
13026 ... here. Transformed into C.
13027 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
13028 Moved from here...
13029 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
13030 ... here. Transformed into C.
13031 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
13032 Moved from here...
13033 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
13034 ... here. Transformed into C. Made static.
13035 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
13036 Moved from here...
13037 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
13038 ... here. Transformed into C. Made static.
13039 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
13040 Moved from here...
13041 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
13042 ... here. Transformed into C. Made static.
13043 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
13044 pxe_rm_entry as third argument.
13045 (grub_bios_interrupt): New function.
13046 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
13047 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
13048 of calling grub_stop.
13049 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
13050 * grub-core/lib/efi/halt.c (grub_halt): ...here.
13051 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
13052 * grub-core/lib/emu/halt.c (grub_halt): ... here.
13053 * grub-core/lib/i386/halt.c: Moved from here ...
13054 * grub-core/lib/i386/halt.c: ... here.
13055 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
13056 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
13057 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
13058 grub_stop_floppy.
13059 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
13060 * include/grub/i386/coreboot/init.h: Removed.
13061 * include/grub/i386/multiboot/init.h: Likewise.
13062 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
13063 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
13064 * include/grub/i386/pc/int.h: New file.
13065 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
13066 (grub_pxe_scan): Removed.
13067 (grub_pxe_call): Update prototype.
13068 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
13069 prototypes.
13070 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
13071 * include/grub/i386/qemu/init.h: Removed.
13072 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
13073 noreturn.
13074 (grub_halt): Likewise.
13075 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
13076 (grub_reboot): Likewise.
13077 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
13078 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
13079 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
13080
215dd471
RM
130812010-08-30 Robert Millan <rmh@gnu.org>
13082
13083 * NEWS: Document addition of ZFS support in `grub-install' and
13084 `grub-mkconfig'.
13085
ebd65b82
BC
130862010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
13087
13088 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
13089 dprintf output.
13090
11721d19
VS
130912010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13092
13093 Remove leftover embedding of font objects.
13094
13095 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
13096 * util/grub-install.in (font): Removed.
13097 * util/grub-mkimage.c (generate_image): Remove font support. All users
13098 updated.
13099
37837d4e
VS
131002010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13101
13102 Remove leftover embedding of font objects.
13103
13104 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
13105 * util/grub-install.in (font): Removed.
13106 * util/grub-mkimage.c (generate_image): Remove font support. All users
13107 updated.
13108
b4c1aae0
VS
131092010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13110
13111 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 13112 Reported by: Ian Turner
b4c1aae0 13113
8920a08d
VS
131142010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13115
13116 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
13117 timeout to avoid indefinite boot stalling.
13118
f21db033
VS
131192010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13120
13121 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
13122 (grub_env_write_color_highlight): Likewise.
13123
9a9de209
VS
131242010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13125
13126 * grub-core/normal/term.c (print_more): Return to normal and not
13127 to standard state after printing "---MORE---".
13128
3dca01d7
VS
131292010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13130
13131 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
13132 Mask out the bit 0x80 since it has other meaning that specifiing color.
13133
0b986c40
VS
131342010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13135
13136 New relocator. Allows for more kernel support and more straightforward
13137 loader writing.
13138
13139 * Makefile.am (BOOTTARGET): New variable.
13140 (QEMU32): Likewise.
13141 (linux.init.x86_64): New target.
13142 (linux.init.i386): Likewise.
13143 (multiboot.elf): Likewise.
13144 (kfreebsd.elf): Likewise.
13145 (kfreebsd.aout): Likewise.
13146 (pc-chainloader.elf): Likewise.
13147 (pc-chainloader.bin): Likewise.
13148 (ntldr.elf): Likewise.
13149 (ntldr.bin): Likewise.
13150 (multiboot2.elf): Likewise.
13151 (kfreebsd.init.x86_64): Likewise.
13152 (kfreebsd.init.i386): Likewise.
13153 (knetbsd.init.i386): Likewise.
13154 (kopenbsd.init.i386): Likewise.
13155 (knetbsd.init.x86_64): Likewise.
13156 (kopenbsd.init.x86_64): Likewise.
13157 (linux-initramfs.i386): Likewise.
13158 (linux-initramfs.x86_64): Likewise.
13159 (kfreebsd-mfsroot.i386.img): Likewise.
13160 (knetbsd.image.i386): Likewise.
13161 (kopenbsd.image.i386): Likewise.
13162 (kopenbsd.image.x86_64): Likewise.
13163 (knetbsd.miniroot-image.i386.img): Likewise.
13164 (kfreebsd-mfsroot.x86_64.img): Likewise.
13165 (knetbsd.image.x86_64): Likewise.
13166 (knetbsd.miniroot-image.x86_64.img): Likewise.
13167 (kfreebsd-mfsroot.i386.gz): Likewise.
13168 (bootcheck-kfreebsd-i386): Likewise.
13169 (kfreebsd-mfsroot.x86_64.gz): Likewise.
13170 (bootcheck-kfreebsd-x86_64): Likewise.
13171 (knetbsd.miniroot-image.i386.gz): Likewise.
13172 (bootcheck-knetbsd-i386): Likewise.
13173 (bootcheck-kopenbsd-i386): Likewise.
13174 (bootcheck-kopenbsd-x86_64): Likewise.
13175 (knetbsd.miniroot-image.x86_64.gz): Likewise.
13176 (bootcheck-knetbsd-x86_64): Likewise.
13177 (bootcheck-linux-i386): Likewise.
13178 (bootcheck-linux-x86_64): Likewise.
13179 (bootcheck-linux16-i386): Likewise.
13180 (bootcheck-linux16-x86_64): Likewise.
13181 (bootcheck-multiboot): Likewise.
13182 (bootcheck-multiboot2): Likewise.
13183 (bootcheck-kfreebsd-aout): Likewise.
13184 (bootcheck-pc-chainloader): Likewise.
13185 (bootcheck-ntldr): Likewise.
13186 (CLEANFILES): Add new targets.
13187 (BOOTCHECKS): New variable.
13188 (.PHONY): Add bootchecks.
13189 (SUCCESSFUL_BOOT_STRING): New variable.
13190 (BOOTCHECK_TIMEOUT): Likewise.
13191 (bootcheck): New target
13192 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
13193 * configure.ac: Correct efiemu excuse.
13194 * docs/grub.texi (Supported kernels): New chapter.
13195 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
13196 include/grub/mm_private.h. Simplify inclusion of
13197 include/grub/boot.h, include/grub/loader.h
13198 and include/grub/msdos_partition.h
13199 (KERNEL_HEADER_FILES) [i386_coreboot]:
13200 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
13201 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
13202 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
13203 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
13204 include/grub/machine/loader.h.
13205 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
13206 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
13207 extra_dist.
13208 (pci.mod): Enable on i386-multiboot.
13209 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
13210 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
13211 i386-qemu.
13212 (relocator.mod): Rewritten.
13213 (aout.mod): Enable on all x86.
13214 (bsd.mod): Likewise.
13215 (ntldr.mod): New module.
13216 (linux.mod): Use loader/i386/linux.c on all x86.
13217 (xnu.mod): Enable on all x86.
13218 (vga_text.mod): disable on EFI and QEMU.
13219 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
13220 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
13221 * grub-core/efiemu/loadcore.c: Likewise.
13222 * grub-core/efiemu/main.c: Likewise.
13223 (grub_efiemu_exit_boot_services): Removed.
13224 (grub_efiemu_finish_boot_services): Likewise.
13225 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
13226 function.
13227 * grub-core/efiemu/i386/nocfgtables.c: New file.
13228 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
13229 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
13230 (grub_efi_finish_boot_services): Moved from here ...
13231 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
13232 Fille finish memory map and related data.
13233 (finish_mmap_buf): New variable.
13234 (grub_efi_uintn_t finish_mmap_size): Likewise.
13235 (grub_efi_uintn_t finish_key): Likewise.
13236 (grub_efi_uintn_t finish_desc_size): Likewise.
13237 (grub_efi_uint32_t finish_desc_version): Likewise.
13238 (grub_efi_is_finished): Likewise.
13239 (grub_efi_get_memory_map): Use saved memory map if EFI is already
13240 finished.
13241 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
13242 (grub_elf64_phdr_iterate): Likewise.
13243 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
13244 (grub_os_area_size): Likewise.
13245 (grub_machine_init): Don't reserve os area.
13246 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
13247 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
13248 * grub-core/kern/i386/loader.S: Removed.
13249 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
13250 (grub_os_area_size): Likewise.
13251 (grub_machine_init): Don't reserve os area.
13252 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
13253 Don't call grub_dl_unload_all.
13254 Don't include loader.S.
13255 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
13256 Declare the memory after _end as available.
13257 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 13258 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 13259 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
13260 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
13261 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
13262 * include/grub/mm_private.h (grub_mm_header): ... here.
13263 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
13264 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
13265 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
13266 (grub_mm_region): ..here. Removed addr. Added pre_size.
13267 All users updated.
13268 * grub-core/kern/mm.c (base): Renamed to ...
13269 (grub_mm_base): ... this. Made global.
13270 (grub_real_malloc): Alloc from end of region.
13271 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
13272 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
13273 * grub-core/kern/powerpc/cache_flush.S: ... here.
13274 * grub-core/lib/efi/relocator.c: New file.
13275 * grub-core/lib/i386/relocator.c: Rewritten.
13276 * grub-core/lib/i386/relocator16.S: New file.
13277 * grub-core/lib/i386/relocator32.S: Likewise.
13278 * grub-core/lib/i386/relocator64.S: Likewise.
13279 * grub-core/lib/i386/relocator_asm.S: Rewritten.
13280 * grub-core/lib/i386/relocator_common.S: New file.
13281 * grub-core/lib/ieee1275/relocator.c: Likewise.
13282 * grub-core/lib/mips/relocator.c: Rewritten.
13283 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
13284 stylistic adjustments.
13285 * grub-core/lib/powerpc/relocator.c: New file.
13286 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
13287 * grub-core/lib/relocator.c: Rewritten.
13288 * grub-core/lib/x86_64/relocator_asm.S: New file.
13289 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
13290 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
13291 (bsd_tag): New struct.
13292 (tags): New variable.
13293 (tags_last): Likewise.
13294 (netbsd_module): New struct.
13295 (netbsd_mods): New variable.
13296 (netbsd_mods_last): Likewise.
13297 (openbsd_opts): New parameter "serial".
13298 (OPENBSD_SERIAL_ARG): New definition.
13299 (netbsd_opts): New parameter "serial".
13300 (NETBSD_SERIAL_ARG): New definition.
13301 (grub_freebsd_add_meta): Reorganised into ...
13302 (grub_bsd_add_meta): ...this. All users updated.
13303 (grub_freebsd_add_mmap): Reorganised into ...
13304 (generate_e820_mmap): ...this...
13305 (grub_bsd_add_mmap): ...and this. All users updated.
13306 (grub_freebsd_list_modules): Use tags.
13307 (grub_netbsd_add_meta_module): New function.
13308 (grub_netbsd_list_modules): Likewise.
13309 (grub_freebsd_boot): Use relocator and finish EFI.
13310 (grub_openbsd_boot): Likewise.
13311 (grub_netbsd_setup_video): New function.
13312 (grub_netbsd_add_modules): Likewise.
13313 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
13314 and finish EFI.
13315 (grub_bsd_unload): Unload tags.
13316 (grub_bsd_load_aout): Use relocator.
13317 (grub_bsd_elf32_size_hook): New function.
13318 (grub_bsd_elf32_hook): Use relocator.
13319 (grub_bsd_elf64_size_hook): New function.
13320 (grub_bsd_elf64_hook): Use relocator.
13321 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
13322 (grub_bsd_load): Zero-out openbsd_ramdisk.
13323 (grub_bsd_load): Use relocator.
13324 (grub_cmd_openbsd): Support serial.
13325 (grub_cmd_netbsd): Support modules.
13326 (grub_cmd_freebsd_module): Use relocator.
13327 (grub_netbsd_module_load): New function.
13328 (grub_cmd_netbsd_module): Likewise.
13329 (grub_cmd_openbsd_ramdisk): Likewise.
13330 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
13331 kopenbsd_ramdisk.
13332 (GRUB_MOD_FINI): Unregister new commands.
13333 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
13334 (grub_freebsd_load_elfmodule_obj): Use relocator.
13335 (grub_freebsd_load_elfmodule): Likewise.
13336 (grub_freebsd_load_elf_meta): Likewise.
13337 (grub_netbsd_load_elf_meta): New function.
13338 (grub_openbsd_find_ramdisk): Likewise.
13339 * grub-core/loader/i386/bsd_helper.S: Removed.
13340 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
13341 * grub-core/loader/i386/bsd_trampoline.S: Removed.
13342 * grub-core/loader/i386/efi/linux.c: Likewise.
13343 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
13344 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
13345 (DEFAULT_VIDEO_MODE): Likewise.
13346 (real_mode_target): New variable.
13347 (prot_mode_target): Likewise.
13348 (initrd_mem_target): Likewise.
13349 (relocator): Likewise.
13350 (efi_mmap_buf): Likewise.
13351 (efi_mmap_size): Likewise.
13352 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
13353 (free_pages): Use relocator.
13354 (allocate_pages): Account for efi_mmap and use relocator. Return error.
13355 (grub_linux_setup_video): Return error.
13356 (grub_linux_trampoline_start): Removed.
13357 (grub_linux_trampoline_end): Likewise.
13358 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
13359 andd video parameters depending on firmware.
13360 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
13361 [GRUB_MACHINE_EFI]: Pass EFI parameters.
13362 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
13363 (grub_cmd_initrd): Use relocator.
13364 * grub-core/loader/i386/linux_trampoline.S: Removed.
13365 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
13366 (elf_sec_entsize): Likewise.
13367 (elf_sec_shstrndx): Likewise.
13368 (elf_sections): Likewise.
13369 (grub_multiboot_load): Use relocator.
13370 (grub_multiboot_get_mbi_size): Account for sections.
13371 (grub_multiboot_make_mbi): Use relocator and support sections.
13372 (grub_multiboot_add_elfsyms): New function.
13373 (grub_multiboot_free_mbi): Free sections.
13374 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
13375 (grub_linux_real_target): Likewise.
13376 (grub_linux_real_chunk): Likewise.
13377 (grub_linux16_prot_size): Likewise.
13378 (grub_linux16_boot): Use relocator.
13379 (grub_linux_unload): Unload relocator.
13380 (grub_cmd_linux): Use relocator.
13381 (grub_cmd_initrd): Likewise.
13382 * grub-core/loader/i386/pc/ntldr.c: New file.
13383 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
13384 Don't try to guess CPU frequency.
13385 (grub_xnu_set_video): Stretch bitmap.
13386 (grub_xnu_boot): Use relocator.
13387 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
13388 (grub_linux_unload): Free relocator.
13389 (grub_linux_load32): Use relocator.
13390 (grub_linux_load64): Likewise.
13391 (grub_cmd_initrd): Likewise.
13392 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
13393 (grub_multiboot_unload): Unload relocator.
13394 (grub_cmd_multiboot): Use relocator.
13395 (grub_cmd_module): Likewise.
13396 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
13397 Use relocator and support sections.
13398 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
13399 (elf_sec_entsize): Likewise.
13400 (elf_sec_shstrndx): Likewise.
13401 (elf_sections): Likewise.
13402 (grub_multiboot_load): Use relocator.
13403 (grub_multiboot_get_mbi_size): Account for sections.
13404 (grub_multiboot_make_mbi): Use relocator and support sections.
13405 (grub_multiboot_add_elfsyms): New function.
13406 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
13407 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
13408 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
13409 Prototype changed. All users updated.
13410 (grub_xnu_align_heap): Simplified.
13411 (grub_xnu_writetree_toheap): Likewise.
13412 (grub_xnu_unload): Unload relocator.
13413 (grub_cmd_xnu_kernel): Use relocator.
13414 (grub_cmd_xnu_kernel64): Likewise.
13415 (grub_xnu_register_memory): Simplified.
13416 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
13417 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
13418 EFI is finished.
13419 (grub_console_checkkey): Likewise.
13420 (grub_console_getkey): Likewise.
13421 (grub_console_getwh): Likewise.
13422 (grub_console_getxy): Likewise.
13423 (grub_console_gotoxy): Likewise.
13424 (grub_console_cls): Likewise.
13425 (grub_console_setcolorstate): Likewise.
13426 (grub_console_setcursor): Likewise.
13427 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
13428 * grub-core/tests/boot/kbsd.init-i386.S: New file.
13429 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
13430 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
13431 * grub-core/tests/boot/kernel-8086.S: Likewise.
13432 * grub-core/tests/boot/kernel-i386.S: Likewise.
13433 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
13434 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
13435 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
13436 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
13437 * grub-core/tests/boot/knetbsd.cfg: Likewise.
13438 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
13439 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
13440 * grub-core/tests/boot/linux.cfg: Likewise.
13441 * grub-core/tests/boot/linux.init-i386.S: Likewise.
13442 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
13443 * grub-core/tests/boot/linux16.cfg: Likewise.
13444 * grub-core/tests/boot/multiboot.cfg: Likewise.
13445 * grub-core/tests/boot/multiboot2.cfg: Likewise.
13446 * grub-core/tests/boot/ntldr.cfg: Likewise.
13447 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
13448 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
13449 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
13450 New definition.
13451 * include/grub/dl.h (grub_dl_unload_all): Removed.
13452 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
13453 (grub_efi_finish_boot_services): Change prototype.
13454 (grub_efi_is_finished): New variable.
13455 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
13456 Changed prototype.
13457 (grub_efiemu_finish_boot_services): Removed.
13458 (grub_machine_efiemu_init_tables): New prototype.
13459 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
13460 (grub_elf64_phdr_iterate): Likewise.
13461 * include/grub/i386/bsd.h: Include relocator.h.
13462 (freebsd_tag_header): New struct.
13463 (grub_openbsd_bios_mmap): Removed.
13464 (grub_unix_real_boot): Removed.
13465 (grub_freebsd_load_elfmodule32): Changed prototype.
13466 (grub_freebsd_load_elfmodule_obj64): Likewise.
13467 (grub_freebsd_load_elf_meta32): Likewise.
13468 (grub_freebsd_load_elf_meta64): Likewise.
13469 (grub_freebsd_add_meta): Removed.
13470 (grub_netbsd_load_elf_meta32): New prototype.
13471 (grub_netbsd_load_elf_meta64): Likewise.
13472 (grub_bsd_add_meta): Likewise.
13473 (grub_openbsd_ramdisk_descriptor): New struct.
13474 (grub_openbsd_find_ramdisk32): New prototype.
13475 (grub_openbsd_find_ramdisk64): Likewise.
13476 * include/grub/i386/coreboot/loader.h: Removed.
13477 * include/grub/i386/efi/loader.h: Likewise.
13478 * include/grub/i386/ieee1275/loader.h: Likewise.
13479 * include/grub/i386/linux.h (linux_kernel_header): Change void *
13480 to grub_uint32_t.
13481 * include/grub/i386/loader.h: Removed.
13482 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
13483 value.
13484 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
13485 (grub_phys_addr_t): New type.
13486 (grub_vtop): New inline function.
13487 (grub_map_memory): Likewise.
13488 (grub_unmap_memory): Likewise.
13489 * include/grub/i386/multiboot/loader.h: Removed.
13490 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
13491 (NETBSD_BTINFO_CONSOLE): New definition.
13492 (NETBSD_BTINFO_SYMTAB): Likewise.
13493 (NETBSD_BTINFO_MODULES): Likewise.
13494 (NETBSD_BTINFO_FRAMEBUF): Likewise.
13495 (grub_netbsd_bootinfo): New struct.
13496 (grub_netbsd_btinfo_common): Use explicit bitsize.
13497 (grub_netbsd_btinfo_mmap_entry): Removed.
13498 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
13499 (grub_netbsd_btinfo_bootdisk): New struct.
13500 (grub_netbsd_btinfo_symtab): Likewise.
13501 (grub_netbsd_btinfo_serial): Likewise.
13502 (grub_netbsd_btinfo_modules): Likewise.
13503 (grub_netbsd_btinfo_framebuf): Likewise.
13504 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
13505 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
13506 Likewise.
13507 (grub_openbsd_bootargs): Use explicit bitsize.
13508 (grub_openbsd_bootarg_console): New struct.
13509 (GRUB_OPENBSD_COM_MAJOR): New definition.
13510 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
13511 * include/grub/i386/pc/efiemu.h: Removed.
13512 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
13513 * include/grub/i386/qemu/loader.h: Removed.
13514 * include/grub/i386/relocator.h: Rewritten.
13515 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
13516 * include/grub/mips/memory.h: New file.
13517 * include/grub/mips/multiboot.h: Rewritten.
13518 * include/grub/mips/relocator.h: Rewritten.
13519 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
13520 (grub_vtop): New function.
13521 (grub_map_memory): Likewise.
13522 (grub_unmap_memory): Likewise.
13523 * include/grub/misc.h (ALIGN_DOWN): New definition.
13524 * include/grub/mm.h (grub_mm_check_real): New proto.
13525 (GRUB_MM_CHECK): New definition.
13526 * include/grub/mm_private.h: New file.
13527 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
13528 (grub_multiboot_get_mbi_size): Removed.
13529 (grub_multiboot_make_mbi): Change prottype.
13530 (grub_multiboot_set_accepts_video): New proto.
13531 (grub_multiboot_add_elfsyms): Likewise.
13532 (grub_multiboot_payload_eip): New variable.
13533 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
13534 New prototype.
13535 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
13536 New definition.
13537 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
13538 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
13539 * include/grub/powerpc/ieee1275/loader.h: Removed.
13540 * include/grub/powerpc/memory.h: New file.
13541 * include/grub/powerpc/relocator.h: Likewise.
13542 * include/grub/relocator.h: Likewise.
13543 * include/grub/relocator_private.h: Likewise.
13544 * include/grub/sparc64/ieee1275/loader.h: Removed.
13545 * include/grub/x86_64/memory.h: New file.
13546 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
13547 (grub_xnu_heap_malloc): Likewise.
13548 (grub_xnu_heap_real_start): Removed.
13549 (grub_xnu_heap_start): Likewise.
13550 (grub_xnu_relocator): New variable.
13551 (grub_xnu_heap_target_start): Likewise.
13552 * tests/util/grub-shell.in: Support non-pc.
13553 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 13554
5303b85d
VS
135552010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13556
13557 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
13558 on malloc error.
13559 (grub_bidi_logical_to_visual): Check that malloc succeded.
13560 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
13561 puts.
13562 (grub_xputs_normal): Likewise.
13563
d768d159
VS
135642010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13565
13566 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
13567 extra_dist.
13568
135692010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13570
13571 * grub-core/efiemu/runtime/efiemu.sh: Removed.
13572
5bf84df4
VS
135732010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13574
13575 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
13576
3626810e
VS
135772010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13578
13579 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
13580 dprintf.
13581
a7363f53
BC
135822010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
13583
13584 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
13585
902f75f6
VS
135862010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13587
13588 * grub-core/normal/term.c (print_more): Fix a memory leak.
13589 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
13590 (grub_xputs_normal): Likewise.
13591
3c707967
VS
135922010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13593
13594 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
13595 the begining of the string
13596
2053cc07
VS
135972010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13598
13599 * grub-core/script/script.c (grub_script_parse): Free parsed on
13600 failure.
13601
46422ebf
VS
136022010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13603
13604 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
13605 on failure.
13606
9e0fa3f6
VS
136072010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13608
13609 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
13610 return.
13611
3393cf16
VS
136122010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13613
13614 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
13615 (scroll_up): Fix a memory leak.
13616
b17540cb
VS
136172010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13618
13619 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
13620 errors.
13621
67140446
VS
136222010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
13623
13624 Handle USB pendrives exposed as floppies.
13625
13626 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
13627 floppy.
13628 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
13629 Check for partitions on all devices.
13630
e35e46fc
VS
136312010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13632
13633 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
13634 (readkey): Likewise.
13635
d24c6190
BC
136362010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
13637
13638 Multiple variable names support to "export" command.
13639
13640 * normal/context.c (grub_cmd_export): "export" command supports
13641 multiple variable names.
13642
04ddcc6a
ST
136432010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
13644
13645 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
13646 --target=drive output to Mach device name.
13647
0c8b61d8
BC
136482010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
13649
13650 New Automake based build system for GRUB.
13651
13652 * ABOUT-NLS: New file.
13653 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
13654 in Makefile.util.def file.
13655 * Makefile.util.def: New file. Autogen build definitions file for
13656 GRUB host utils.
13657 * conf/Makefile.common: New file. Common variables for GRUB host
13658 utils and target modules.
13659 * conf/Makefile.extra-dist: New file. Extra files for make dist.
13660 * docs/Makefile.am: New file. Automake file for docs.
13661 * gentpl.py: New file. Python script to generate Autogen
13662 template.
13663 * grub-core/Makefile.am: New file. GRUB target modules' rules
13664 that doesn't fit in Makefile.core.def file.
13665 * grub-core/Makefile.core.def: New file. Autogen build
13666 definitions file for GRUB target modules.
13667 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
13668 specific setjmp.S file.
13669 * po/Makefile.am: New file.
13670
13671 * .bzrignore: New ignores.
13672 * INSTALL: New requirements, without Ruby.
13673 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
13674 * autogen.sh: Updated to invoke autogen as necessary.
13675 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
13676 and defines for Automake conditionals.
13677 * geninit.sh: Refactoring.
13678
13679 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
13680 necessary.
13681 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
13682 New prototype.
13683
13684 * include/grub/test.h: Fix functional test modules' naming.
13685 * grub-core/tests/example_functional_test.c: Fix test module name.
13686
13687 * util/misc.c: Hosted versions' of grub functions for libgrub.a
13688 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
13689 * util/grub-editenv.c: Likewise.
13690 * util/grub-fstest.c: Likewise.
13691 * util/grub-mkdevicemap.c: Likewise.
13692 * util/grub-mkfont.c: Likewise.
13693 * util/grub-mkimage.c: Likewise.
13694 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13695 * util/grub-probe.c: Likewise.
13696 * util/grub-script-check.c: Likewise.
13697 * util/i386/pc/grub-setup.c: Likewise.
13698 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13699
13700 * tests/util/grub-shell.in: Fix override directory path.
13701 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
13702 * util/import_gcry.py: Create Makefile.gcry.def file instead.
13703
13704 * util/lvm.c: Update #includes.
13705 * util/raid.c: Likewise.
13706 * util/resolve.c: Likewise.
13707 * grub-core/bus/emu/pci.c: Likewise.
13708 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
13709 * grub-core/lib/posix_wrap/string.h: Likewise.
13710 * grub-core/kern/emu/main.c: Likewise.
13711
13712 * grub-core/gensymlist.sh: New file. Script for generating kernel
13713 symbols file.
13714 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
13715
13716 * grub-core/gentrigtables.c: Fix unused variable warnings.
13717
13718 * Makefile.in: Removed.
13719 * conf/any-emu.rmk: Removed.
13720 * conf/common.rmk: Removed.
13721 * conf/i386-coreboot.rmk: Removed.
13722 * conf/i386-efi.rmk: Removed.
13723 * conf/i386-ieee1275.rmk: Removed.
13724 * conf/i386-multiboot.rmk: Removed.
13725 * conf/i386-pc.rmk: Removed.
13726 * conf/i386-qemu.rmk: Removed.
13727 * conf/i386.rmk: Removed.
13728 * conf/mips-yeeloong.rmk: Removed.
13729 * conf/mips.rmk: Removed.
13730 * conf/powerpc-ieee1275.rmk: Removed.
13731 * conf/sparc64-ieee1275.rmk: Removed.
13732 * conf/tests.rmk: Removed.
13733 * conf/x86-efi.rmk: Removed.
13734 * conf/x86_64-efi.rmk: Removed.
13735 * gendistlist.sh: Removed.
13736 * geninitheader.sh: Removed.
13737 * genkernsyms.sh.in: Removed.
13738 * genmk.rb: Removed.
13739 * gensymlist.sh.in: Removed.
13740 * mkinstalldirs: Removed.
13741 * boot: Moved ...
13742 * grub-core/boot: ... to here.
13743 * bus: Moved ...
13744 * grub-core/bus: ... to here.
13745 * commands: Moved ...
13746 * grub-core/commands: ... to here.
13747 * disk: Moved ...
13748 * grub-core/disk: ... to here.
13749 * efiemu: Moved ...
13750 * grub-core/efiemu: ... to here.
13751 * font: Moved ...
13752 * grub-core/font: ... to here.
13753 * fs: Moved ...
13754 * grub-core/fs: ... to here.
13755 * gencmdlist.sh: Moved ...
13756 * grub-core/gencmdlist.sh: ... to here.
13757 * genemuinit.sh: Moved ...
13758 * grub-core/genemuinit.sh: ... to here.
13759 * genemuinitheader.sh: Moved ...
13760 * grub-core/genemuinitheader.sh: ... to here.
13761 * genfslist.sh: Moved ...
13762 * grub-core/genfslist.sh: ... to here.
13763 * genhandlerlist.sh: Moved ...
13764 * grub-core/genhandlerlist.sh: ... to here.
13765 * genmoddep.awk: Moved ...
13766 * grub-core/genmoddep.awk: ... to here.
13767 * genmodsrc.sh: Moved ...
13768 * grub-core/genmodsrc.sh: ... to here.
13769 * genpartmaplist.sh: Moved ...
13770 * grub-core/genpartmaplist.sh: ... to here.
13771 * genparttoollist.sh: Moved ...
13772 * grub-core/genparttoollist.sh: ... to here.
13773 * genterminallist.sh: Moved ...
13774 * grub-core/genterminallist.sh: ... to here.
13775 * gentrigtables.c: Moved ...
13776 * grub-core/gentrigtables.c: ... to here.
13777 * genvideolist.sh: Moved ...
13778 * grub-core/genvideolist.sh: ... to here.
13779 * gettext: Moved ...
13780 * grub-core/gettext: ... to here.
13781 * gfxmenu: Moved ...
13782 * grub-core/gfxmenu: ... to here.
13783 * gnulib: Moved ...
13784 * grub-core/gnulib: ... to here.
13785 * hello: Moved ...
13786 * grub-core/hello: ... to here.
13787 * hook: Moved ...
13788 * grub-core/hook: ... to here.
13789 * io: Moved ...
13790 * grub-core/io: ... to here.
13791 * kern: Moved ...
13792 * grub-core/kern: ... to here.
13793 * lib: Moved ...
13794 * grub-core/lib: ... to here.
13795 * loader: Moved ...
13796 * grub-core/loader: ... to here.
13797 * mmap: Moved ...
13798 * grub-core/mmap: ... to here.
13799 * normal: Moved ...
13800 * grub-core/normal: ... to here.
13801 * partmap: Moved ...
13802 * grub-core/partmap: ... to here.
13803 * parttool: Moved ...
13804 * grub-core/parttool: ... to here.
13805 * script: Moved ...
13806 * grub-core/script: ... to here.
13807 * term: Moved ...
13808 * grub-core/term: ... to here
13809 * tests/example_functional_test.c: Moved ...
13810 * grub-core/tests/example_functional_test.c: ... to here.
13811 * tests/lib/functional_test.c: Moved ...
13812 * grub-core/tests/lib/functional_test.c: ... to here.
13813 * tests/lib/test.c: Moved ...
13814 * grub-core/tests/lib/test.c: ... to here.
13815 * video: Moved ...
13816 * grub-core/video: ... to here.
13817
645586e6
BC
138182010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
13819
13820 Replace --enable-grub-emu-modules with grub-emu-lite.
13821
13822 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
13823 cache.S.
13824
13825 * include/grub/emu/misc.h (grub_emu_init): New prototype.
13826 * kern/emu/full.c: New file. For grub-emu specific initialization.
13827 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
13828 * kern/emu/main.c: Call initialization function grub_emu_init.
13829
13830 * Makefile.in: Include grub-emu-lite in install.
13831 * commands/parttool.c: Use grub_no_autoload to differentiate
13832 between grub-emu and grub-emu-lite.
13833 * include/grub/misc.h: New variable grub_no_autoload.
13834
13835 * conf/any-emu.rmk: New rules for grub-emu-lite.
13836 * configure.ac: Remove --enable-grub-emu-modules.
13837 * genmk.rb: Cleanup unnecessary rules.
13838 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
13839
13840 * normal/main.c: Don't load list files on grub-emu-lite.
13841 * util/misc.c (grub_arch_sync_caches): Removed.
13842
f86a4030
CW
138432010-08-23 Colin Watson <cjwatson@ubuntu.com>
13844
13845 * kern/mips/startup.S (grub_prefix): Update comment to refer to
13846 grub-mkimage rather than grub-mkelfimage.
13847 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
13848
06776944
VS
138492010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
13850
13851 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
13852 a key after CapsLock or NumLock. It's just a qemu bug.
13853
df262419
VS
138542010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
13855
13856 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
13857 needed by libusb wrapper.
13858
b40ea81b
ST
138592010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
13860
13861 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
13862
dee50575
VS
138632010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
13864
13865 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
13866 --nounzip is passed.
13867
fb1d7b79
VS
138682010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
13869
13870 USB hotunplugging and USB serial support.
13871
13872 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
13873 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
13874 (grub_uhci_transfer): Respect timeout and set *actual.
13875 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
13876 non-standard length.
13877 (grub_usb_device_attach): Autoload modules.
13878 (GRUB_MOD_INIT): Set grub_term_poll_usb.
13879 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
13880 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
13881 users updated.
13882 (grub_usb_add_hub): Fill nports and children.
13883 (attach_root_port): Receive hub instead of controller.
13884 All users updated. Fill hub->devices.
13885 (grub_usb_root_hub): Allocate hub->devices.
13886 (detach_device): New function.
13887 (poll_nonroot_hub): Fill children and detach devices.
13888 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
13889 actual arguments. All users updated.
13890 (grub_usb_bulk_read_extended): New function.
13891 * bus/usb/serial/common.c: New file.
13892 * bus/usb/serial/ftdi.c: Likewise.
13893 * bus/usb/serial/pl2303.c: Likewise.
13894 * commands/terminal.c (handle_command): Support wildcard.
13895 * commands/usbtest.c: Output "Unknown" instead of empty string.
13896 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
13897 (usbserial_common_mod_SOURCES): New variable.
13898 (usbserial_common_mod_CFLAGS): Likewise.
13899 (usbserial_common_mod_LDFLAGS): Likewise.
13900 (pkglib_MODULES): Add usbserial_pl2303.mod.
13901 (usbserial_pl2303_mod_SOURCES): New variable.
13902 (usbserial_pl2303_mod_CFLAGS): Likewise.
13903 (usbserial_pl2303_mod_LDFLAGS): Likewise.
13904 (pkglib_MODULES): Add usbserial_ftdi.mod.
13905 (usbserial_ftdi_mod_SOURCES): New variable.
13906 (usbserial_ftdi_mod_CFLAGS): Likewise.
13907 (usbserial_ftdi_mod_LDFLAGS): Likewise.
13908 (pkglib_MODULES): Add serial.mod.
13909 (serial_mod_SOURCES): New variable.
13910 (serial_mod_CFLAGS): Likewise.
13911 (serial_mod_LDFLAGS): Likewise.
13912 * conf/i386-pc.rmk: Likewise.
13913 * conf/mips-yeeloong.rmk: Likewise.
13914 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
13915 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
13916 * disk/usbms.c (first_available_slot): New variable.
13917 (grub_usbms_attach): Don't reuse free slots due to potential cache
13918 problems.
13919 * include/grub/serial.h: Moved to ..
13920 * include/grub/ns8250.h: ...this.
13921 * include/grub/serial.h: New file.
13922 * include/grub/term.h (grub_term_poll_usb): New variable.
13923 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
13924 readkey. All users updated.
13925 (grub_terminfo_output_state): Pass term to put.
13926 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
13927 (grub_usb_controller_dev): Add timeout and actual arguments to
13928 transfer. All users updated.
13929 (grub_usb_interface): New field detach_data.
13930 (grub_usb_device): New fields children and nports.
13931 (grub_usb_ep_type_t): New type.
13932 (grub_usb_get_ep_type): New function.
13933 (grub_usb_bulk_read_extended): Likewise.
13934 * include/grub/usbdesc.h (grub_usb_desc): New type.
13935 * include/grub/usbserial.h: New file.
13936 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
13937 * kern/term.c (grub_term_poll_usb): New variable.
13938 (grub_getkey): Call grub_term_poll_usb if set.
13939 (grub_checkkey): Likewise.
13940 (grub_getkeystatus): Likewise.
13941 * term/serial.c: Moved controller-specific parts to ...
13942 * term/ns8250.c: ... here.
13943 * term/serial.c: Mostly rewritten.
13944 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
13945 according to spec.
13946
21a313de
RM
139472010-08-20 Robert Millan <rmh@gnu.org>
13948
13949 Make kFreeBSD code more generic to support ext2fs as root, ufs as
13950 a separate module and maybe other interesting combinations.
13951
13952 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
13953 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
13954 (kfreebsd_entry): Add generic filesystem module load routine.
13955 Map GRUB `ext2' to kFreeBSD `ext2fs'.
13956
63c734a6
CW
139572010-08-20 Colin Watson <cjwatson@ubuntu.com>
13958
13959 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
13960 "numcenter" (I misunderstood the purpose of this entry).
13961 * docs/grub.texi (sendkey): Likewise.
13962
c4d16542
CW
139632010-08-20 Colin Watson <cjwatson@ubuntu.com>
13964
13965 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
13966 status flag options; simply omitting the option is equivalent and
13967 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
13968 (keysym_table): Rename "num5numlock" to "numlock".
13969 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
13970 can uniformly say that only the last of multiple `sendkey'
13971 invocations has any effect.
13972 * docs/grub.texi (sendkey): New section.
13973
93541d66
CW
139742010-08-19 Colin Watson <cjwatson@ubuntu.com>
13975
13976 * commands/i386/pc/sendkey.c (options): Fix three typos.
13977
b4ece5e1
VS
139782010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13979
13980 Implement sendkey support.
13981
13982 * commands/i386/pc/sendkey.c: New file.
13983 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
13984 (sendkey_mod_SOURCES): New variable.
13985 (sendkey_mod_CFLAGS): Likewise.
13986 (sendkey_mod_LDFLAGS): Likewise.
13987
51f1f5af
CW
139882010-08-18 Colin Watson <cjwatson@ubuntu.com>
13989
13990 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
13991 fix warnings from Autoconf.
13992
9da94e05
CW
139932010-08-18 Colin Watson <cjwatson@ubuntu.com>
13994
13995 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
13996 to avoid false positives with some assemblers that output things
13997 like "someprefix_func" as part of their output.
13998
729a0f2e
RM
139992010-08-15 Robert Millan <rmh@gnu.org>
14000
14001 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
14002 errors.
14003 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
14004 grub_get_libzfs_handle() errors.
14005
f3710e08
RM
140062010-08-14 Robert Millan <rmh@gnu.org>
14007
14008 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
14009 filesystem is not ZFS.
14010
7a3c13de
BC
140112010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14012
14013 Fix for misspelled color names defaulting to black/black (bug
14014 reported by Doug Nazar)
14015
14016 * include/grub/normal.h (grub_parse_color_name_pair): Add return
14017 status to prototype.
14018 * normal/color.c (grub_parse_color_name_pair): Return failure
14019 status.
14020 (grub_env_write_color_normal): Ignore bad color names.
14021 (grub_env_write_color_highlight): Likewise.
14022 * normal/main.c (GRUB_MOD_INIT): Set default color names.
14023
ab8ba50d
BC
140242010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14025
14026 "shift" command support to GRUB script.
14027
14028 * include/grub/script_sh.h (grub_script_shift): New prototype.
14029 * script/execute.c (grub_script_shift): New function.
14030 * script/main.c (grub_script_init): Register shift command.
14031 (grub_script_fini): Unregister shift command.
14032 * util/grub-script-check.c (grub_script_cmd_shift): New function.
14033
14034 * tests/grub_script_shift.in: New testcase.
14035 * conf/tests.rmk: Rules for new testcase.
14036
4d61999e
BC
140372010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14038
14039 "continue" command support to GRUB script.
14040
14041 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
14042 (grub_script_break): Continue support.
14043 * script/main.c (grub_script_init): Register continue command.
14044 (grub_script_fini): Unregister continue command.
14045
14046 * tests/grub_script_continue.in: New testcase.
14047 * conf/tests.rmk: Rules for new testcase.
14048
4df51e00
BC
140492010-08-12 BVK Chaitanya <bvk@dbook>
14050
14051 "break" command support to GRUB script.
14052
14053 * conf/common.rmk: Rule updates to grub-script-check.
14054 * include/grub/misc.h (grub_min): New function.
14055 * include/grub/script_sh.h (grub_script_init): New prototype.
14056 (grub_script_fini): New prototype.
14057 (grub_script_break): New prototype.
14058 * script/main.c (grub_script_init): New function.
14059 (grub_script_fini): New function.
14060 * script/execute.c (grub_script_break): New function.
14061 * normal/main.c: Calls to grub_script_{init,fini}.
14062 * util/grub-script-check.c (grub_script_break): New function.
14063
14064 * tests/grub_script_break.in: New testcase.
14065 * conf/tests.rmk: Rules for new test case.
14066
f12c8420
BC
140672010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14068
14069 Function parameters support to GRUB script.
14070
14071 * script/yylex.l (VARIABLE): Regular expression update.
14072 * script/function.c (grub_script_function_call): Moved ...
14073 * script/execute.c (grub_script_function_call): ... to here.
14074 (grub_script_execute_arglist_to_argv): Removed.
14075 (grub_script_arglist_to_argv): New function.
14076 * script/argv.c: New file.
14077 (grub_script_argv_free): New function.
14078 (grub_script_argv_next): Likewise.
14079 (grub_script_argv_append): Likewise.
14080 (grub_script_argv_split_append): Likewise.
14081 * include/grub/script_sh.h (grub_script_argv): New struct.
14082 (grub_script_argv_free): New function.
14083 (grub_script_argv_next): Likewise.
14084 (grub_script_argv_append): Likewise.
14085 (grub_script_argv_split_append): Likewise.
14086
14087 * conf/common.rmk (normal.mod): New source script/argv.c.
14088
14089 * tests/grub_script_echo1.in: More tests.
14090 * tests/grub_script_vars1.in: Likewise.
14091 * tests/grub_script_functions.in: New test case.
14092 * conf/tests.rmk: Rules for new testcase.
14093
8022b748
BC
140942010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14095
14096 Remove grub_script_cmdblock struct.
14097
14098 * include/grub/script_sh.h: Remove grub_script_cmdblock.
14099 * script/parser.y: Likewise.
14100 * script/execute.c: Rename cmdblock suffix to cmdlist.
14101 * script/script.c: Likewise.
14102 * util/grub-script-check.c: Likewise.
14103
79a6ba61
YB
141042010-08-11 Yves Blusseau <blusseau@zetam.org>
14105
14106 * .bzrignore: add grub-macho2img
14107
d04b9414
VS
141082010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
14109
14110 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
14111
f947ab49
VS
141122010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
14113
14114 Remove the dump of sm712 initialisation sequence.
14115
14116 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
14117 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
14118 (GRUB_VGA_IO_MISC_WRITE): Likewise.
14119 (GRUB_VGA_CR_*): Added many registers.
14120 (GRUB_VGA_SR_*): Likewise.
14121 (GRUB_VGA_GR_*): Likewise.
14122 (grub_vga_write_arx): New function.
14123 (grub_video_hw_config): New struct.
14124 (grub_vga_set_geometry): New function.
14125 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
14126 GRUB_PCI_CLASS_SUBCLASS_VGA.
14127 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
14128 * video/sm712.c (grub_sm712_write_reg): New function
14129 (grub_sm712_read_reg): Likewise.
14130 (grub_sm712_sr_write): Likewise.
14131 (grub_sm712_gr_write): Likewise.
14132 (grub_sm712_cr_write): Likewise.
14133 (grub_sm712_write_arx): Likewise.
14134 (grub_sm712_cr_shadow_write): Likewise.
14135 (grub_sm712_write_dda_lookup): Likewise.
14136 (grub_video_sm712_setup): Initialise the video rather then
14137 blindly replay the dump.
14138 (main) [TEST]: Add a routine to be able to compile as standalone for
14139 tests.
14140 * video/sm712_init.c (sm712_init): Removed.
14141 (sm712_sr_seq1): New array.
14142 (sm712_sr_seq2): Likewise.
14143
f0206638
VS
141442010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
14145
14146 * include/grub/vga.h: Add missing grub/pci.h include.
14147
2764da3b
YB
141482010-08-10 Yves Blusseau <blusseau@zetam.org>
14149
14150 * util/grub-macho2img.c (main): fix typo
14151
cf0c775e
VS
141522010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
14153
14154 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
14155 (grub_vga_gr_read): Likewise.
14156 (grub_vga_cr_write): Likewise.
14157 (grub_vga_cr_read): Likewise.
14158 (grub_vga_sr_write): Likewise.
14159 (grub_vga_sr_read): Likewise.
14160 (grub_vga_palette_read): Likewise.
14161 (grub_vga_palette_write): Likewise.
14162 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
14163 (grub_sm712_sr_read): New function.
14164 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
14165 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
14166
07f360e9
RM
141672010-08-09 Robert Millan <rmh@gnu.org>
14168
14169 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
14170 out unused variables on non-ZFS build.
14171
346c2072
RM
141722010-08-08 Robert Millan <rmh@gnu.org>
14173
14174 Fix path generation for sub-filesystems in ZFS.
14175
14176 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
14177 missing slash.
14178
71175420
RM
141792010-08-08 Robert Millan <rmh@gnu.org>
14180
14181 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
14182
0d8286f3
RM
141832010-08-08 Robert Millan <rmh@gnu.org>
14184
14185 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
14186 exist, issue a proper error message (rely on `ls' for translated
14187 strings).
14188
55dd2924
RM
141892010-08-08 Robert Millan <rmh@gnu.org>
14190
14191 Fix grub-probe invocation.
14192
14193 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
14194
d3dd9e80
RM
141952010-08-04 Robert Millan <rmh@gnu.org>
14196
14197 * configure.ac: Remove checks for getfsstat() and getmntany().
14198 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
14199 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
14200 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
14201 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
14202 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
14203 function.
14204 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
14205 via find_mount_point_from_dir() and getfsstat() / getmntany().
14206
0de22aa9
RM
142072010-08-04 Robert Millan <rmh@gnu.org>
14208
14209 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
14210 (grub_find_zpool_from_mount_point): Merge into ...
14211 (grub_find_zpool_from_dir): ... this.
14212 * kern/emu/misc.c: Likewise.
14213
14214 * kern/emu/misc.c
14215 (grub_make_system_path_relative_to_its_root): Replace
14216 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
14217 with grub_find_zpool_from_dir().
14218 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
14219
62858144
RM
142202010-08-04 Robert Millan <rmh@gnu.org>
14221
14222 Support OpenSolaris in ZFS device resolution.
14223
14224 * configure.ac: Check for getmntany().
14225 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
14226 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
14227 support.
14228
9dd6fd50
RM
142292010-08-03 Robert Millan <rmh@gnu.org>
14230
14231 Fix grub-emu build.
14232
14233 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
14234 * include/grub/emu/misc.h: ... here.
14235
14236 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
14237 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
14238
14239 * util/misc.c: Remove `<grub/util/libzfs.h>'.
14240 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
14241 (grub_get_libzfs_handle): Move to ...
14242 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
14243 (grub_get_libzfs_handle): ... here.
14244
c9f7ff97
BC
142452010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
14246
14247 * script/execute.c (grub_script_execute_cmdline): Check for NULL
14248 as command name case.
14249
a870a783
CW
142502010-08-02 Colin Watson <cjwatson@ubuntu.com>
14251
14252 * disk/raid.c (insert_array): Select unique numbers for named arrays
14253 as well, for use as keys in the disk cache.
14254
c7db243b
RM
142552010-08-01 Robert Millan <rmh@gnu.org>
14256
14257 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
14258 kFreeBSD device name, except on ZFS where the filesystem label is
14259 used.
14260 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
14261 `/boot/zfs/zpool.cache'.
14262 Set mountfrom kernel variable using ${kfreebsd_device}.
14263
f7abdefb
RM
142642010-08-01 Robert Millan <rmh@gnu.org>
14265
14266 Make it even harder to use uninitialized `libzfs_handle' (and
14267 make the interface a bit simpler).
14268
14269 * include/grub/util/misc.h (grub_util_init_libzfs)
14270 (libzfs_handle): Remove.
14271 (grub_get_libzfs_handle): New prototype.
14272
14273 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
14274 attribute.
14275 (grub_util_init_libzfs): Remove.
14276 (grub_get_libzfs_handle): New function.
14277
14278 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
14279 grub_get_libzfs_handle() to obtain a libzfs handle instead of
14280 accessing `libzfs_handle' directly.
14281
c882acc0
RM
142822010-08-01 Robert Millan <rmh@gnu.org>
14283
14284 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
14285 (grub_find_zpool_from_mount_point): New function prototypes.
14286
14287 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
14288 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
14289
14290 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
14291 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
14292 `static' attribute.
14293
14294 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
14295 finding zpool from mount point into ...
14296 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
14297
14298 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
14299 requested path is part of a ZFS pool, use
14300 grub_find_zpool_from_mount_point() to detect its filesystem name,
14301 and generate a path with `/fsname@path' syntax.
14302
8bfe31d8
CW
143032010-08-01 Colin Watson <cjwatson@ubuntu.com>
14304
14305 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
14306 (void) rather than () so that this is a proper prototype.
14307
553df63d
VS
143082010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
14309
14310 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
14311
8687cf07
VS
143122010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
14313
14314 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
14315 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
14316
ea9be8ea
CW
143172010-08-01 Colin Watson <cjwatson@ubuntu.com>
14318
14319 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
14320
6eea041a
CW
143212010-08-01 Colin Watson <cjwatson@ubuntu.com>
14322
14323 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
14324
2cfb45df
CW
143252010-08-01 Colin Watson <cjwatson@ubuntu.com>
14326
14327 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
14328 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
14329 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
14330 disable gfxpayload.
14331 (Shell-like scripting): Add real content.
14332 (Serial terminal): Suggest `terminal_input serial; terminal_output
14333 serial' rather than putting the two commands on separate lines,
14334 since console input will be inoperative after the first command.
14335 (menuentry): Document --class, --users, and --hotkey options.
14336 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
14337 Vladimir Serbinenko).
14338
7decd202
VS
143392010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
143402010-08-01 Colin Watson <cjwatson@ubuntu.com>
14341
14342 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
14343
c882acc0
RM
143442010-08-01 Robert Millan <rmh@gnu.org>
14345
14346 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
14347 (grub_find_zpool_from_mount_point): New function prototypes.
14348
14349 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
14350 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
14351
14352 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
14353 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
14354 `static' attribute.
14355
14356 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
14357 finding zpool from mount point into ...
14358 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
14359
14360 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
14361 requested path is part of a ZFS pool, use
14362 grub_find_zpool_from_mount_point() to detect its filesystem name,
14363 and generate a path with `/fsname@path' syntax.
14364
deb0caa3
RM
143652010-08-01 Robert Millan <rmh@gnu.org>
14366
14367 Prevent accidental use of uninitialized libzfs_handle.
14368
14369 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
14370 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
14371 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
14372
ce04ef47
CW
143732010-08-01 Colin Watson <cjwatson@ubuntu.com>
14374
14375 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
14376 util/grub.d/10_linux.in). Fixes Debian bug #591093.
14377
ebf53056
RM
143782010-08-01 Robert Millan <rmh@gnu.org>
14379
14380 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 14381
3710bb6b
RM
143822010-07-31 Robert Millan <rmh@gnu.org>
14383
14384 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
14385
8072efeb
RM
143862010-07-31 Robert Millan <rmh@gnu.org>
14387
14388 * kern/emu/misc.c: Add missing license header.
14389
3169f4c7
RM
143902010-07-31 Robert Millan <rmh@gnu.org>
14391
14392 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
14393
14394 * include/grub/util/libnvpair.h: Include `<config.h>'.
14395 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
14396 declaring libnvpair prototypes ourselves.
14397 * include/grub/util/libzfs.h: Include `<config.h>'.
14398 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
14399 declaring libzfs prototypes ourselves.
14400
14401 (libzfs_handle): Moved to ...
14402 * include/grub/util/misc.h (libzfs_handle): ... here.
14403 Include `<grub/util/libzfs.h>'.
14404
c9a00aee
RM
144052010-07-30 Robert Millan <rmh@gnu.org>
14406
14407 * include/grub/emu/misc.h: Add missing license header.
14408
a184f9c8
RM
144092010-07-30 Robert Millan <rmh@gnu.org>
14410
14411 Enable `grub-probe -t device' resolution on ZFS.
14412
14413 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
14414 * include/grub/util/libnvpair.h: New file.
14415 * include/grub/util/libzfs.h: New file.
14416
14417 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
14418 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
14419 `<grub/util/libnvpair.h>'.
14420 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
14421
14422 (find_mount_point_from_dir): New static function.
14423 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
14424 function.
14425 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
14426 find_root_device_from_libzfs() before ressorting to find_root_device().
14427
14428 * include/grub/util/misc.h (grub_util_init_libzfs): New function
14429 prototype.
14430 * util/misc.c: Include `<grub/util/libzfs.h>'.
14431 (grub_util_init_libzfs): New function.
14432 [HAVE_LIBZFS] (libzfs_handle): New global variable.
14433 [HAVE_LIBZFS] (fini_libzfs): New static function.
14434 (grub_util_init_libzfs): New function.
14435 * util/grub-probe.c (main): Call grub_util_init_libzfs().
14436
f7790cdd
RM
144372010-07-30 Robert Millan <rmh@gnu.org>
14438
14439 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
14440 (xmalloc, xrealloc, xstrdup, xasprintf): Add
14441 `warn_unused_result' attribute.
14442 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
14443 (grub_xasprintf, grub_xvasprintf): Likewise.
14444 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
14445
0806b63c
RM
144462010-07-29 Robert Millan <rmh@gnu.org>
14447
14448 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
14449 (probe): Handle `PRINT_FS_LABEL'.
14450 (main): Handle `-t fs_label'.
14451
9f841f5c
RM
144522010-07-29 Robert Millan <rmh@gnu.org>
14453
14454 * configure.ac: Remove grub-mkisofs checks.
14455
46371121
VS
144562010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
14457
14458 * util/ieee1275/grub-install.in: Don't use empty grub_device.
14459 Reported by: Lennart Sorensen.
14460
144612010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14462
14463 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
14464 prior to terminal_input/terminal_output separation. It's been over 1.5
14465 years and those versions weren't widely deployed.
14466
a9600892
CW
144672010-07-22 Colin Watson <cjwatson@ubuntu.com>
14468
14469 * disk/raid.c (insert_array): Don't count named arrays when looking
14470 for unused array numbers.
697e053c 14471 Reported and tested by: Michael Guntsche.
a9600892 14472
c03507df
CW
144732010-07-20 Colin Watson <cjwatson@ubuntu.com>
14474
14475 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
14476 implementation of this so that grub-emu links again, with a note
14477 that this should support hotplugging in the future.
14478
b26f1c11
CW
144792010-07-20 Colin Watson <cjwatson@ubuntu.com>
14480
14481 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
14482
efc9d7f1
CW
144832010-07-20 Colin Watson <cjwatson@ubuntu.com>
14484
14485 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
14486 handle on failure.
14487 (grub_loopback_close): Remove empty function.
14488 (grub_loopback_dev): Remove close method.
14489
dd8ff5c9
CW
144902010-07-20 Colin Watson <cjwatson@ubuntu.com>
14491
14492 Disable EFI cursor when the EFI console becomes inactive.
14493
14494 * term/efi/console.c (grub_efi_console_init): New function.
14495 (grub_efi_console_fini): New function.
14496 (grub_console_term_output): Register init and fini methods.
14497
5e3bec67
VS
144982010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14499
14500 * tests/util/grub-shell-tester.in: Remove bashism and declare as
14501 sh script.
14502
afaec079
VS
145032010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14504
14505 * disk/loopback.c (grub_loopback): Replace filename with file.
14506 (delete_loopback): Handle new semantics.
14507 (grub_cmd_loopback): Likewise.
14508 (grub_loopback_iterate): Likewise.
14509 (grub_loopback_close): Likewise.
14510
a6a11f3c
VS
145112010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14512
14513 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
14514 with -p "".
14515 Reported by: Tito Keitel.
14516
64a638b0
VS
145172010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14518
14519 * docs/grub.texi (Naming convention): Document new naming convention.
14520
ab8ba957
VS
145212010-07-20 Vadim Solomin <vadic052@gmail.com>
145222010-07-20 Colin Watson <cjwatson@ubuntu.com>
14523
14524 Generate device.map in something closer to the old ordering.
14525
14526 * util/deviceiter.c (struct device): New declaration.
14527 (compare_file_names): Rename to ...
14528 (compare_devices): ... this. Sort by kernel name in preference to
14529 the stable by-id name, but keep the latter as a fallback comparison.
14530 Update header comment.
14531 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
14532 of `struct device' rather than of plain file names.
14533
a29d6a4b
TF
145342010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
14535
14536 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
14537 on i386.
14538
39d824e8
VS
145392010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14540
14541 * commands/acpi.c (setup_common_tables): Use sizeof instead of
14542 hardcoding size.
14543 (setv1table): Likewise.
14544
f058276b
FZ
145452010-07-20 Colin Watson <cjwatson@ubuntu.com>
14546
14547 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
14548 removing the homehost if present.
14549 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
14550 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
14551 removing the homehost if present.
14552 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
14553 if possible.
14554 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
14555
14556 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
14557 parameter. Set its pointer target to 0.
14558 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
14559 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
14560 `data_offset' value from the superblock for 1.x metadata.
14561 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
14562 data on the device.
14563 (insert_array): Record the start sector of data on the device.
14564 (grub_raid_register): Pass start_sector parameters to
14565 grub_raid_list->detect and insert_array.
14566 * include/grub/raid.h (struct grub_raid_array): Add start_sector
14567 member.
14568 (struct grub_raid): Add start_sector parameter to `detect'.
14569
14570 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
14571 __attribute__ ((packed)), leaving a comment.
14572 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
14573 (grub_mdraid_detect_09): ... here and ...
14574 (grub_mdraid_detect_1x): ... here.
14575
145762010-07-20 Peter Henn <peter.henn@web.de>
14577
14578 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
14579 chunk size and disk size, which are already given as sector counts
14580 as distinct from the 0.90 units. Fetch the correct device number
14581 from the role table instead of using the table index.
14582
145832010-07-20 Felix Zielcke <fzielcke@z-51.de>
14584
14585 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
14586 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
14587 (WriteMostly1): New macro.
14588 Set array->name to NULL for metadata format 0.90. Add support for
14589 metadata 1.x. Fix some comments.
14590 * disk/raid.c (): Add support for name based RAID arrays. Fix a
14591 few comments.
14592 * util/getroot.c (grub_util_get_grub_dev): Add support for
14593 /dev/md/name style devices.
14594
4b761da9
CW
145952010-07-20 Colin Watson <cjwatson@ubuntu.com>
14596
14597 * .bzrignore: Ignore 20_linux_xen.
14598
5771289a
CW
145992010-07-17 Colin Watson <cjwatson@ubuntu.com>
14600
14601 * util/import_unicode.py: Remove unnecessary imports.
14602
5dab68df
AN
146032010-07-17 Aleš Nesrsta <starous@volny.cz>
14604
14605 Hotplugging and USB hub support.
14606
14607 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
14608 (grub_ohci): Likewise.
14609 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
14610 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
14611 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
14612 (GRUB_OHCI_CTRL_EDS): Likewise.
14613 (GRUB_OHCI_BULK_EDS): Likewise.
14614 (GRUB_OHCI_TDS): Likewise.
14615 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
14616 (grub_ohci_ed_phys2virt): New function.
14617 (grub_ohci_virt_to_phys): Likewise.
14618 (grub_ohci_td_phys2virt): Likewise.
14619 (grub_ohci_td_virt2phys): Likewise.
14620 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
14621 attachment.
14622 (grub_ohci_find_ed): New function.
14623 (grub_ohci_alloc_td): Likewise.
14624 (grub_ohci_free_td): Likewise.
14625 (grub_ohci_free_tds): Likewise.
14626 (grub_ohci_transfer): Use previously allocated memory.
14627 (grub_ohci_portstatus): Reset status changed bit.
14628 (grub_ohci_detect_dev): Supply status changed.
14629 (grub_ohci_fini_hw): Free memory.
14630 (grub_ohci_restore_hw): Reallocate memory.
14631 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
14632 Reset status change.
14633 (grub_uhci_detect_dev): Supply status_change.
14634 * bus/usb/usb.c (attach_hooks): New var.
14635 (grub_usb_device_attach): New function.
14636 (grub_usb_register_attach_hook_class): Likewise.
14637 (grub_usb_unregister_attach_hook_class): Likewise.
14638 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
14639 (grub_usb_add_hub): Reset connection changed bit.
14640 (attach_root_port): New function.
14641 (grub_usb_root_hub): Likewise.
14642 (poll_nonroot_hub): Likewise.
14643 (grub_usb_poll_devices): Likewise.
14644 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
14645 * disk/usbms.c (grub_usbms_open): Use device hooks.
14646 (grub_usbms_iterate) :Poll devices.
14647 (grub_usbms_finddevs): Split into ...
14648 (grub_usbms_attach): ... this ...
14649 (grub_usbms_attach): ... and this.
14650 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
14651 in detect_dev.
14652 (grub_usb_interface): New fields attached and detach_hook.
14653 (grub_usb_attach_hook_class): New type.
14654 (grub_usb_attach_desc): New struct.
14655 (grub_usb_register_attach_hook_class): New function.
14656 (grub_usb_unregister_attach_hook_class): Likewise.
14657 (grub_usb_poll_devices): Likewise.
14658 (grub_usb_device_attach): Likewise.
14659 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
14660 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
14661
3222efaf
VS
146622010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
14663
14664 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
14665 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
14666 delta determination style. Works with most NetBSD partitions too.
14667
139b714a
VS
146682010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
14669
14670 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
14671 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
14672
986aad56
VS
146732010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
14674
14675 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
14676
99be513c
AB
146772010-07-14 Anton Blanchard <anton@samba.org>
14678
14679 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
14680 ET_DYN files.
14681
18075f62
GS
146822010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
14683
14684 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
14685
8d9a5b15
GS
146862010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
14687
14688 * kern/partition.c (grub_partition_check_containment): New function to
14689 check that a partition is physically contained in a parent. Since
14690 offsets are relative (and non-negative), this reduces to checking that
14691 the partition ends before its parent.
14692 (grub_partition_map_probe): Discard out-of-range sub-partitions.
14693 (grub_partition_iterate): Likewise.
14694 * include/grub/partition.h (grub_partition_map): Slightly more detailed
14695 comments.
14696 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
14697 partitions that start before their parent, and add debug printfs.
14698
19563c25
CW
146992010-07-13 Colin Watson <cjwatson@ubuntu.com>
14700
14701 * Makefile.in (.SUFFIX): Spell correctly, as ...
14702 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
14703 bare module name without `.mod', e.g. `test') tried to invoke a
14704 Modula-2 compiler.
14705
1a1f1e67
CW
147062010-07-13 Colin Watson <cjwatson@ubuntu.com>
14707
14708 * README: Point to the Info manual.
14709
811b0dca
JS
147102010-07-13 Jiro SEKIBA <jir@unicus.jp>
14711
14712 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
14713 2nd superblock position from partition size.
14714
e4f4eafc
CW
147152010-07-10 Colin Watson <cjwatson@ubuntu.com>
14716
14717 * Makefile.in (MAINTAINER_CLEANFILES): Remove
14718 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
14719 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
14720 outputs.
14721
4274c30f
VS
147222010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14723
14724 Restructure SCSI .id handling.
14725 Reported and tested by: Aleš Nesrsta.
14726
14727 * disk/ata.c (grub_atapi_close): Removed. All users updated.
14728 (grub_atapi_dev): Changed .name to "ata". New field .id.
14729 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
14730 (grub_usbms_dev): New field .id.
14731 * disk/scsi.c (grub_scsi_iterate): Generate name.
14732 (grub_scsi_open): Parse name.
14733 * include/grub/scsi.h (grub_make_scsi_id): New function.
14734 (grub_scsi_dev): Change iterate and open to number instead of naming
14735 busses. All users updated.
14736 (grub_scsi): Remove name. Add .bus.
14737
5bc24388
VS
147382010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14739
14740 * commands/help.c (grub_cmd_help): Fix a typo.
14741
249975ba
VS
147422010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14743
14744 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
14745 Reported and tested by: Colin Watson.
14746
3eaac1a1
VS
147472010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14748
14749 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
14750 in this context.
14751
becce1b1
VS
147522010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14753
14754 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
14755
f7bf0918
CW
147562010-07-07 Colin Watson <cjwatson@ubuntu.com>
14757
14758 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
14759 indentation.
14760
0b0f9620
CW
147612010-07-06 Colin Watson <cjwatson@ubuntu.com>
14762
14763 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
14764 and disk/raid6_recover.c.
14765 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
14766 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
14767
1e545469
CW
147682010-07-06 Colin Watson <cjwatson@ubuntu.com>
14769
14770 * term/gfxterm.c (repaint_schedulded): Rename to ...
14771 (repaint_scheduled): ... this. Update all callers.
14772 (repaint_was_schedulded): Rename to ...
14773 (repaint_was_scheduled): ... this. Update all callers.
14774
5357687a
CW
147752010-07-06 Colin Watson <cjwatson@ubuntu.com>
14776
14777 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
14778 which we expect to be handled by upper layers.
14779
29d7e783
BC
147802010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
14781
14782 * bus/usb/usbhub.c: #include time.h header.
14783
37582066
CW
147842010-07-06 Colin Watson <cjwatson@ubuntu.com>
14785
14786 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
14787 entry_name also for entries without stat blocks (e.g. ".."); fixes
14788 corruption of the first entry in a directory.
14789
c8c06953
CW
147902010-07-06 Colin Watson <cjwatson@ubuntu.com>
14791
14792 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
14793 after setting gfxterm as the active terminal. GRUB_BACKGROUND
14794 doesn't work otherwise.
14795
e75056f1
CW
147962010-07-05 Colin Watson <cjwatson@ubuntu.com>
14797
14798 * docs/grub.texi (Features): Update list of supported file systems.
14799 (GNU/Linux): Update for GRUB 2.
14800 (Serial terminal): Remove mention of --disable-serial, which was a
14801 GRUB Legacy configure option. Update instructions to use
14802 `terminal_input' and `terminal_output' rather than `terminal'.
14803 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
14804 configuration' and `Installing GRUB using grub-install'.
14805 (Menu entry editor): Update for GRUB 2.
14806 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
14807 Document new -a, -u, and -v options.
14808 (initrd): New section.
14809 (initrd16): New section.
14810 (linux): New section.
14811 (linux16): New section.
14812 (search): The `var' argument to `--set' is optional.
14813 (GRUB only offers a rescue shell): Go into a little more detail on
14814 drive ordering.
14815
5cf69151
CW
148162010-07-05 Colin Watson <cjwatson@ubuntu.com>
14817
14818 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
14819
e3f90044
CW
148202010-07-05 Colin Watson <cjwatson@ubuntu.com>
14821
14822 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
14823 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
14824
38d8f4f3
CW
148252010-07-05 Colin Watson <cjwatson@ubuntu.com>
14826
14827 * util/i386/pc/grub-setup.c (setup): Rename prefix to
14828 install_prefix, in line with install_dos_part and install_bsd_part.
14829 Add new prefix variable, which is copied to install_prefix after
14830 comparing core.img in memory with the one read from disk in the
14831 no-embedding case, and use that rather than overwriting
14832 install_prefix immediately when installing to a partition.
14833 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
14834 Bicakci.
14835
57ebd41e
GS
148362010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
14837
14838 * configure.ac: Avoid == in test command, it's not portable.
14839 * util/grub.d/30_os-prober.in: Likewise.
14840
cb7f64b2
CW
148412010-07-04 Colin Watson <cjwatson@ubuntu.com>
14842
14843 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
14844
6b654bb0
GS
148452010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
14846
14847 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
14848 multiple (top-level) partmaps.
14849
72a2026d
VS
148502010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14851
14852 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 14853 Reported by: Tino Keitel.
72a2026d 14854
df3eb88f
VS
148552010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14856
14857 Bidi and diacritics support.
14858
14859 * Makefile.in (widthspec.bin): New target.
14860 (widthspec.h): Likewise.
14861 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
14862 * autogen.sh: Generate unidata.c.
14863 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
14864 * commands/ls.c (grub_ls_list_devices): Likewise.
14865 (grub_ls_list_files): Likewise.
14866 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
14867 (grub_mini_cmd_lsmod): Likewise.
14868 * commands/read.c: Likewise.
14869 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
14870 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
14871 * lib/arg.c (grub_arg_show_help): Likewise.
14872 * lib/crypto.c (grub_password_get): Likewise.
14873 * normal/auth.c (grub_username_get): Likewise.
14874 * normal/misc.c (grub_normal_print_device_info): Likewise.
14875 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
14876 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
14877 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
14878 (normal/charset.c_DEPENDENCIES): New variable.
14879 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
14880 (pkglib_MODULES): Remove charset.mod.
14881 (charset_mod_SOURCES): Removed.
14882 (charset_mod_CFLAGS): Likewise.
14883 (charset_mod_LDFLAGS): Likewise.
14884 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
14885 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
14886 and term/tparm.c.
14887 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14888 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14889 (kernel_img_HEADERS): Add terminfo.h.
14890 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
14891 Fill ->font. Reverse ascii bitmaps.
14892 (grub_font_get_xheight): New function.
14893 * font/font.c (grub_font_get_string_width): Moved from here ...
14894 * gfxmenu/font.c (grub_font_get_string_width): ... here.
14895 * font/font.c (grub_font_draw_string): Moved from here ...
14896 * gfxmenu/font.c (grub_font_draw_string): ... here.
14897 * font/font.c (grub_font_dup_glyph): New function.
14898 (grub_font_blit_glyph): Likewise.
14899 (grub_font_blit_glyph_mirror): Likewise.
14900 (blit_comb): Likewise.
14901 (grub_font_construct_dry_run): Likewise.
14902 (grub_font_get_constructed_device_width): Likewise.
14903 (grub_font_construct_glyph): Likewise.
14904 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
14905 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
14906 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
14907 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
14908 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
14909 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
14910 (grub_font_get_xheight): New proto.
14911 (grub_font_get_constructed_device_width): Likewise.
14912 (grub_font_construct_glyph): Likewise.
14913 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
14914 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
14915 * include/grub/font.h (grub_font_draw_string): Moved from here ...
14916 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
14917 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
14918 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
14919 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
14920 (grub_console_getcharwidth): Likewise.
14921 * include/grub/misc.h (grub_xputs): New proto.
14922 (grub_puts): Inlined.
14923 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
14924 (grub_normal_get_line_counter): Removed.
14925 (grub_install_newline_hook): Likewise.
14926 (grub_normal_get_char_counter): New proto.
14927 (grub_normal_reset_more): Likewise.
14928 (grub_xputs_normal): Likewise.
14929 * include/grub/powerpc/ieee1275/console.h: Removed.
14930 * include/grub/sparc64/ieee1275/console.h: Likewise.
14931 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
14932 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
14933 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
14934 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
14935 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
14936 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
14937 (grub_term_input): Pass reference to self. All users updated.
14938 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
14939 Pass reference to self. New fields normal_color, highlight_color and
14940 data. All users updated.
14941 (grub_putchar): Removed.
14942 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
14943 (grub_unicode_estimate_width): New function.
14944 (grub_term_getcharwidth): Add defaults.
14945 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
14946 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
14947 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
14948 (grub_cls): Remove EXPORT_FUNC.
14949 (grub_setcolorstate): Inline.
14950 (grub_newline_hook): Removed.
14951 * include/grub/terminfo.h: Rewritten. All users updated.
14952 * include/grub/unicode.h: New file.
14953 * include/grub/video.h (grub_video_signed_rect): New type.
14954 * kern/emu/console.c (grub_console_highlight_color): Removed.
14955 (grub_console_normal_color): Likewise.
14956 (grub_console_standard_color): Made static.
14957 (grub_ncurses_putchar): Remove mapping.
14958 (grub_ncurses_getcharwidth): Removed.
14959 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
14960 (grub_ncurses_setcolor): Removed.
14961 (grub_ncurses_getcolor): Likewise.
14962 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
14963 (grub_console_putchar): ... this.
14964 (grub_console_putchar): Handle argument difference.
14965 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
14966 console_init_early and console_init_lately.
14967 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
14968 * kern/misc.c (grub_puts): Removed.
14969 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
14970 (grub_vsnprintf_real): Remove str = NULL support.
14971 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
14972 * normal/charset.c (grub_utf8_to_ucs4): ... here.
14973 * kern/term.c (grub_putcode): Renamed to ...
14974 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
14975 (grub_putchar): Removed.
14976 (grub_xputs_dumb): New function.
14977 (grub_xputs): New variable.
14978 * lib/charset.c: Move from here ...
14979 * normal/charset.c: ... to here.
14980 (grub_ucs4_to_utf8): New function.
14981 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
14982 (join_types): New variable.
14983 (unpack_join): New function.
14984 (bidi_types): New variable.
14985 (unpack_bidi): New function.
14986 (get_bidi_type): Likewise.
14987 (get_join_type): Likewise.
14988 (is_mirrored): Likewise.
14989 (grub_unicode_get_comb_type): Likewise.
14990 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
14991 (is_type_after): Likewise.
14992 (grub_unicode_aglomerate_comb): Likewise.
14993 (bidi_line_wrap): Likewise.
14994 (grub_bidi_line_logical_to_visual): Likewise.
14995 (grub_bidi_logical_to_visual): Likewise.
14996 (grub_unicode_mirror_code): Likewise.
14997 (grub_unicode_shape_code): Likewise.
14998 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
14999 Don't use grub_putchar.
15000 * normal/main.c (grub_normal_init_page): Use grub_putcode.
15001 (grub_normal_reader_init): Likewise.
15002 (grub_xputs_saved): New variable.
15003 (GRUB_MOD_INIT): Set grub_xputs.
15004 (GRUB_MOD_FINI): Restore grub_xputs.
15005 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
15006 (menu_init): Avoid printing gfxmenu error.
15007 (show_menu): Use grub_normal_get_char_counter.
15008 * normal/menu_entry.c (update_screen): Fix out-of-array.
15009 (complete): Avoid NULL dereferencing.
15010 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
15011 * normal/menu_text.c (print_spaces): Removed.
15012 (grub_print_ucs4): Likewise.
15013 (grub_print_message_indented): Use grub_print_ucs4.
15014 (print_message): Use grub_putcode.
15015 (print_entry): Hanlde diacritics.
15016 * normal/term.c (term_state): New type.
15017 (grub_more_lines): Removed.
15018 (term_states): New variable.
15019 (grub_normal_line_counter): Renamed to ..
15020 (grub_normal_char_counter): ...this. All users updated.
15021 (grub_normal_get_line_counter): Renamed to ...
15022 (grub_normal_get_char_counter): ... this.
15023 (grub_normal_reset_more): New function.
15024 (process_newline): Removed.
15025 (print_more): New function.
15026 (grub_install_newline_hook): Removed.
15027 (map_code): New function.
15028 (grub_puts_terminal): Use grub_print_ucs4.
15029 (putglyph): New function.
15030 (putcode_real): Likewise.
15031 (grub_putcode): Use putcode_real.
15032 (get_maxwidth): New function.
15033 (get_startwidth): Likewise.
15034 (print_ucs4_terminal): Likewise.
15035 (find_term_state): Likewise.
15036 (put_glyphs_terminal): Likewise.
15037 (print_backlog): Likewise.
15038 (print_ucs4_real): Likewise.
15039 (grub_print_ucs4): Likewise.
15040 (grub_xputs_normal): Likewise.
15041 * term/efi/console.c (grub_console_putchar): Output diacritics.
15042 (grub_console_getcharwidth): Removed.
15043 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
15044 * term/gfxterm.c (clear_char): Free chars.
15045 (scroll_up): Avoid leaking memory.
15046 (grub_gfxterm_putchar): Support diacritics.
15047 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
15048 * term/i386/pc/console.c (grub_console_term_output): Declare as
15049 GRUB_TERM_CODE_TYPE_VGA.
15050 * term/i386/pc/vga.c (grub_vga_term): Declare as
15051 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
15052 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
15053 GRUB_TERM_CODE_TYPE_VGA.
15054 * term/i386/vga_common.c (map_char): Removed.
15055 (grub_console_putchar): Likewise.
15056 (grub_console_getcharwidth): Likewise.
15057 * term/ieee1275/ofconsole.c: Simplify using terminfo.
15058 (colors): Reordered to match terminfo.
15059 (grub_ofconsole_normal_color): Removed.
15060 (grub_ofconsole_writeesc): Likewise.
15061 (grub_ofconsole_highlight_color): Likewise.
15062 (grub_ofconsole_getcharwidth): Likewise.
15063 (grub_ofconsole_setcolorstate): Likewise.
15064 (grub_ofconsole_setcolor): Likewise.
15065 (grub_ofconsole_getcolor): Likewise.
15066 (grub_ofconsole_readkey): Renamed to ...
15067 (readkey): ... this. Remove escape sequence handling. Return -1 on no
15068 key.
15069 (grub_ofconsole_checkkey): Removed.
15070 (grub_ofconsole_getkey): Likewise.
15071 (grub_ofconsole_getxy): Likewise.
15072 (grub_ofconsole_gotoxy): Likewise.
15073 (grub_ofconsole_cls): Likewise.
15074 (grub_ofconsole_refresh): Likewise.
15075 (grub_ofconsole_terminfo_input): New struct.
15076 (grub_ofconsole_terminfo_output): Likewise.
15077 (grub_ofconsole_term_input): Use terminfo.
15078 (grub_ofconsole_term_output): Likewise.
15079 (grub_console_init): Split into ...
15080 (grub_console_init_early): ...this and ...
15081 (grub_console_init_lately): ...this. Use terminfo.
15082 (grub_ofconsole_putchar): Renamed to ...
15083 (put): ... this. Remove mapping.
15084 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
15085 * term/serial.c: Simplify using terminfo.
15086 (xpos): Removed.
15087 (ypos): Likewise.
15088 (keep_track): Likewise.
15089 (registered): Likewise.
15090 (input_buf): Likewise.
15091 (npending): Likewise.
15092 (serial_translate_key_sequence): Likewise.
15093 (fill_input_buf): Likewise.
15094 (grub_serial_checkkey): Likewise.
15095 (grub_serial_getkey): Likewise.
15096 (grub_serial_getxy): Likewise.
15097 (grub_serial_gotoxy): Likewise.
15098 (grub_serial_putchar): Likewise.
15099 (grub_serial_cls): Likewise.
15100 (grub_serial_setcolorstate): Likewise.
15101 (grub_serial_setcursor): Likewise.
15102 (serial_hw_init): Use serial_hw_fetch.
15103 (grub_serial_terminfo_input): New variable.
15104 (grub_serial_terminfo_output): Likewise.
15105 (grub_serial_term_input): Use terminfo.
15106 (grub_serial_term_output): Likewise.
15107 * term/terminfo.c (putstr): Use put.
15108 (grub_terminfo_all_free): New function
15109 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
15110 (grub_terminfo_output_register): New function.
15111 (grub_terminfo_output_unregister): Likewise.
15112 (grub_terminfo_getxy): Likewise.
15113 (grub_terminfo_readkey): Likewise.
15114 (grub_terminfo_checkkey): Likewise.
15115 (grub_terminfo_getkey): Likewise.
15116 (grub_terminfo_input_init): Likewise.
15117 (print_terminfo): Likewise.
15118 (grub_cmd_terminfo): Handle encoding.
15119 (grub_terminfo_gotoxy): Track position.
15120 (grub_terminfo_cls): Likewise.
15121 (grub_terminfo_putchar): Likewise.
15122 (grub_terminfo_setcolorstate): Handle colors
15123 (grub_terminfo_cursor_on): This ...
15124 (grub_terminfo_cursor_off): ... and this merged into ...
15125 (grub_terminfo_setcursor): ... this.
15126 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
15127 * unicode/ArabicShaping.txt: New file (imported from Unicode).
15128 * unicode/BidiMirroring.txt: Likewise.
15129 * unicode/UnicodeData.txt: Likewise.
15130 * unicode/COPYING: Likewise.
15131 * util/grub-editenv.c (grub_putchar): Removed.
15132 (grub_xputs_real): New function.
15133 (grub_xputs): New variable.
15134 * util/grub-fstest.c (grub_putchar): Removed.
15135 (grub_xputs_real): New function.
15136 (grub_xputs): New variable.
15137 * util/grub-mkdevicemap.c (grub_putchar): Removed.
15138 (grub_xputs_real): New function.
15139 (grub_xputs): New variable.
15140 * util/grub-probe.c (grub_putchar): Removed.
15141 (grub_xputs_real): New function.
15142 (grub_xputs): New variable.
15143 * util/grub-script-check.c (grub_putchar): Removed.
15144 (grub_xputs_real): New function.
15145 (grub_xputs): New variable.
15146 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
15147 (grub_xputs_real): New function.
15148 (grub_xputs): New variable.
15149 * util/import_unicode.py: New file.
15150 * util/grub-mkfont.c (ft_errmsgs): New array.
15151 (grub_glyph_info): Make bitmap a pointer.
15152 (file_formats): New type WIDTH_SPEC.
15153 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
15154 (options): Add width-spec.
15155 (help): Likewise.
15156 (add_char): Renamed to ...
15157 (add_glyph): ... this.
15158 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
15159 (glyph_replace): New type.
15160 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
15161 (add_char): New function.
15162 (add_subst): Likewise.
15163 (process_cursive): Likewise.
15164 (add_font): Handle GSUB.
15165 (write_font_width_spec): New function.
15166 (main): Sort glyphs.
15167 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
15168 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
15169 * kern/term.c (grub_cls): Moved from here...
15170 * normal/term.c (grub_cls): ... here.
15171
50f0bcda
CW
151722010-07-02 Colin Watson <cjwatson@ubuntu.com>
15173
15174 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
15175 suitable for using within the format argument of printf when
15176 converting grub_size_t.
15177 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
15178 "x" to convert grub_size_t arguments.
15179
40372103
VS
151802010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15181
15182 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
15183 too long captions.
15184 (list_get_minimal_size): Take selection box into account.
15185
942a10c7
VS
151862010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15187
15188 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
15189 NULL font.
15190
2bdb2892
CW
151912010-07-02 Colin Watson <cjwatson@ubuntu.com>
15192
15193 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
15194 devices when iterating over /dev/disk/by-id; they will be handled
15195 later if appropriate, which they aren't always (e.g. LVM).
15196
e03ed6c1
CW
151972010-07-02 Colin Watson <cjwatson@ubuntu.com>
15198
15199 * include/grub/misc.h (grub_reboot): Declare as noreturn.
15200 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
15201 fails.
15202 (grub_halt): Likewise.
15203 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
15204 reset-all fails.
15205 (grub_halt): Don't return, even if all of shut-down, power-off, and
15206 poweroff fail.
15207
47695765
CW
152082010-07-02 Colin Watson <cjwatson@ubuntu.com>
15209
15210 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
15211 arguments, not three.
15212
507736c8
CW
152132010-07-02 Colin Watson <cjwatson@ubuntu.com>
15214
15215 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
15216 * util/grub.d/10_linux.in: Use it to check for LVM, so that
15217 LVM-on-RAID is handled correctly.
15218
e3c8cd37
CW
152192010-07-02 Colin Watson <cjwatson@ubuntu.com>
15220
15221 * docs/grub.texi (Changes from GRUB Legacy): New section.
15222 (Future): Fix typo.
15223
8d4a2fec
CW
152242010-07-02 Colin Watson <cjwatson@ubuntu.com>
15225
15226 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
15227 grub.d/README accidentally ends up executable for one reason or
15228 another. Ignore it.
15229
1c4827be
VS
152302010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15231
15232 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
15233 (gpt_partition_map_iterate): Support non-512B sectors.
15234
d9a0c941
VS
152352010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15236
15237 * kern/efi/init.c (grub_efi_init): Disable watchdog.
15238 Tested by: Seth Goldberg.
15239
48f27e87
VS
152402010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15241
15242 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
15243 Properly align mbi.
15244 Reported by: Seth Goldberg.
15245
b0c4f956
VS
152462010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
15247
15248 * util/grub-mkrescue.in: Avoid module duplication.
15249
105a2e8c
SF
152502010-07-01 Sean Finney <seanius@seanius.net>
15251
15252 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
15253
5944958c
SF
152542010-07-01 Sean Finney <seanius@seanius.net>
15255
15256 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
15257
152582010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
15259
15260 * disk/lvm.c (grub_lvm_checkvalue): New function.
15261 (grub_lvm_check_flag): Likewise.
15262
b79889ba
RM
152632010-07-01 Robert Millan <rmh@gnu.org>
15264
15265 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
15266 Support 'p' as partition separator on kernel of FreeBSD (used
15267 with GPT labels).
15268 (grub_util_biosdisk_get_grub_dev): Likewise.
15269
ec1d04f1
VS
152702010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
15271
15272 Yeeloong firmware port.
15273
15274 * boot/mips/yeeloong/fwstart.S: New file.
15275 * bus/cs5536.c (gpiodump): New const.
15276 (set_io_space): New function.
15277 (set_iod): Likewise.
15278 (set_p2d): Likewise.
15279 (grub_cs5536_init_geode): Likewise.
15280 * commands/mips/yeeloong/lsspd.c: New file.
15281 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
15282 (serial_mod_SOURCES): New variable.
15283 (serial_mod_CFLAGS): Likewise.
15284 (serial_mod_LDFLAGS): Likewise.
15285 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
15286 term/terminfo.c and term/tparm.c.
15287 (pkglib_IMAGES): Add fwstart.img.
15288 (fwstart_img_SOURCES): New variable.
15289 (fwstart_img_CFLAGS): Likewise.
15290 (fwstart_img_ASFLAGS): Likewise.
15291 (fwstart_img_LDFLAGS): Likewise.
15292 (fwstart_img_FORMAT): Likewise.
15293 (pkglib_MODULES): Add lsspd.mod.
15294 (lsspd_mod_SOURCES): New variable.
15295 (lsspd_mod_CFLAGS): Likewise.
15296 (lsspd_mod_LDFLAGS): Likewise.
15297 (pkglib_MODULES): Add halt.mod.
15298 (halt_mod_SOURCES): New variable.
15299 (halt_mod_CFLAGS): Likewise.
15300 (halt_mod_LDFLAGS): Likewise.
15301 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
15302 (serial_mod_SOURCES): Removed.
15303 (serial_mod_CFLAGS): Likewise.
15304 (serial_mod_LDFLAGS): Likewise.
15305 * disk/ata.c (check_device): New function.
15306 (grub_ata_device_initialize): Use check_device.
15307 (grub_ata_iterate): Recheck devices.
15308 (grub_ata_open): Likewise.
15309 (grub_atapi_iterate): Likewise.
15310 (grub_atapi_open): Likewise.
15311 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
15312 (GRUB_ATA_CH1_PORT1): Likewise.
15313 (GRUB_ATA_CH0_PORT2): Likewise.
15314 (GRUB_ATA_CH1_PORT2): Likewise.
15315 * include/grub/mips/loongson.h: New file.
15316 * include/grub/mips/yeeloong/ec.h: Likewise.
15317 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
15318 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
15319 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
15320 * include/grub/misc.h (grub_halt): Declare as noreturn.
15321 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
15322 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
15323 (UART_ENABLE_FIFO_TRIGGER1): New definition.
15324 (UART_ENABLE_DTRRTS): Likewise.
15325 (UART_ENABLE_MODEM): Removed.
15326 (UART_ENABLE_OUT2): New const.
15327 * include/grub/term.h (grub_term_register_input_active): New function.
15328 (grub_term_register_output_active): Likewise.
15329 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
15330 argument.
15331 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
15332 (init_pci): New function.
15333 (grub_machine_init): Execute platform init when firmware. Init serial.
15334 (grub_halt): Implement.
15335 (grub_exit): Likewise.
15336 (grub_reboot): Likewise.
15337 * term/serial.c (serial_hw_init): Update macros.
15338 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
15339 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
15340 (image_targets): New target mipsel-yeeloong-flash.
15341 (generate_image): Support IMAGE_YEELOONG_FLASH.
15342 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
15343 (grub_video_sm712_setup): Init card.
15344 (grub_video_sm712_set_palette): Removed.
15345 * video/sm712_init.c: New file.
15346
ff4a70d2
CW
153472010-06-30 Colin Watson <cjwatson@ubuntu.com>
15348
15349 * Makefile.in (install-local): Temporarily prepend $(builddir) to
15350 PATH when running help2man and then run it on the unadorned
15351 executable names, rather than passing $(builddir)/* paths to
15352 help2man. This avoids the build directory ending up in generated
15353 manual pages.
15354
1246efeb
CW
153552010-06-29 Colin Watson <cjwatson@ubuntu.com>
15356
15357 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
15358 to avoid accidents when debugging with 'sh -x'.
15359 * util/grub-mkrescue.in: Likewise.
15360 * util/grub.d/00_header.in: Likewise.
15361 * util/grub.d/10_hurd.in: Likewise.
15362 * util/grub.d/10_kfreebsd.in: Likewise.
15363 * util/grub.d/10_linux.in: Likewise.
15364 * util/grub.d/10_netbsd.in: Likewise.
15365 * util/grub.d/10_windows.in: Likewise.
15366 * util/grub.d/20_linux_xen.in: Likewise.
15367 * util/grub.d/30_os-prober.in: Likewise.
15368 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
15369
1ba9b889
CW
153702010-06-29 Colin Watson <cjwatson@ubuntu.com>
15371
15372 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
15373 last character in the buffer.
15374 Reported by: Vladimir Serbinenko.
15375
dccaf99d
RM
153762010-06-29 Robert Millan <rmh@gnu.org>
15377
15378 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
15379 (Command-line and menu entry commands): Document `badram' command.
15380
d500ed12
RM
153812010-06-28 Robert Millan <rmh@gnu.org>
15382
15383 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
15384 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
15385 command using ${GRUB_BADRAM} as parameter.
15386
20bc84a6
CW
153872010-06-28 Colin Watson <cjwatson@ubuntu.com>
15388
15389 * docs/grub.texi (Device map): New section.
15390 (Themes): New section (stub).
15391 * Makefile.in (docs/grub.info): The info documentation now builds
15392 without errors. Make sure it stays that way.
15393
4045dee1
VS
153942010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
15395
15396 Use normal parser for menu entries.
15397 Reported by: Thomas Frauendorfer
15398
15399 * include/grub/parser.h (grub_parser_execute): Don't export.
15400 * normal/menu.c (grub_menu_execute_entry_real): New function.
15401 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
15402
bca58c7b
CW
154032010-06-28 Colin Watson <cjwatson@ubuntu.com>
15404
15405 * docs/grub.texi (Embedded configuration): New section (replacing
15406 old "Preset Menu" stub).
15407 (Images): New section.
15408 (configfile): Note that any menu entries defined in `file' are shown
15409 immediately.
15410
dec53e63
JT
154112010-06-28 Josh Triplett <josh@joshtriplett.org>
15412
15413 * mmap/i386/pc/mmap_helper.S: Set CF on return.
15414
c06e40f7
CW
154152010-06-28 Colin Watson <cjwatson@ubuntu.com>
15416
15417 * util/grub-install.in: Add --debug-image= option.
15418
cb88052b
CW
154192010-06-28 Colin Watson <cjwatson@ubuntu.com>
15420
15421 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
15422 possible on Linux.
15423
15424 * util/deviceiter.c (check_device): Rename to ...
15425 (check_device_readable_unique): ... this. Update all callers.
15426 Maintain and check a list of which devices (by canonicalized name)
15427 have already been seen.
15428 (clear_seen_devices): New function.
15429 (compare_file_names) [__linux__]: New function.
15430 (grub_util_iterate_devices): Clear the list of seen devices on exit
15431 and (just in case) on entry.
15432 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
15433 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
15434 seen-devices list, superseded by general code in check_device.
15435
bbe34652
CW
154362010-06-28 Colin Watson <cjwatson@ubuntu.com>
15437
15438 * commands/cat.c (options): New variable.
15439 (grub_cmd_cat): Parse options. If the --dos option is given, print
15440 DOS-style "\r\n" line endings as simple newlines (Debian bug
15441 #586358).
15442 (GRUB_MOD_INIT): Use extcmd.
15443 (GRUB_MOD_FINI): Likewise.
15444 * docs/grub.texi (cat): Document --dos.
15445
412e09f3
VS
154462010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
15447
15448 XEN with Linux grub-mkconfig support.
15449
15450 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
15451 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
15452 GRUB_CMDLINE_XEN_DEFAULT.
15453 * util/grub.d/20_linux_xen.in: New file.
15454
53f3ef38 154552010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
15456
15457 Initialise VGA video on qemu ourselves.
15458
15459 * boot/i386/qemu/boot.S: Don't call 0xc000.
15460 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
15461 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
15462 (kernel_img_HEADERS): Add pci.h.
15463 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
15464 * configure.ac: Force unifont on qemu and yeeloong.
15465 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
15466 (grub_vga_palette_write): Use correct register.
15467 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
15468 Call grub_qemu_init_cirrus.
15469 * kern/i386/qemu/init.c: New file.
15470 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
15471
15472 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
15473
c75be4fb
PR
154742010-06-26 Pavel Roskin <proski@gnu.org>
15475
15476 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
15477 13.
15478
d8034603
CW
154792010-06-26 Colin Watson <cjwatson@ubuntu.com>
15480
15481 * docs/grub.texi (Simple configuration): Explain that
15482 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
15483 set to `true' to disable their respective recovery entries, not
15484 merely set.
15485
3fa06487
CW
154862010-06-26 Colin Watson <cjwatson@ubuntu.com>
15487
15488 Make the `source' command slightly faster.
15489
15490 * normal/main.c (grub_normal_execute): Don't re-read list files when
15491 nested.
15492
e9b29642
CW
154932010-06-23 Colin Watson <cjwatson@ubuntu.com>
15494
15495 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
15496 field position and mask size to red fields from mode_info, not
15497 green.
15498 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
15499 Remove redundant tag->common.framebuffer_type assignment.
15500 Reported by: Seth Goldberg.
15501
e726542f
CW
155022010-06-23 Colin Watson <cjwatson@ubuntu.com>
15503
15504 Sync up other versions of the Linux loader with Robert Millan's
15505 change of 2010-01-09, "Make loader output a bit more user-friendly".
15506
15507 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
15508 grub_dprintf().
15509 (grub_cmd_linux): Likewise.
15510 (grub_cmd_initrd): Likewise.
15511 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
15512 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
15513
d6e98a17
CW
155142010-06-21 Colin Watson <cjwatson@ubuntu.com>
15515
15516 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
15517 larger than MEMORY_MAP_SIZE.
15518
14d3f08e
BC
155192010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
15520
15521 Fix parallel build.
15522
15523 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
15524 dependency.
15525 * script/parser.y: #include grub_script.tab.h header.
15526
4f9613a3
VS
155272010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
15528
15529 Support >3GiB and <16MiB RAM in i386-qemu.
15530
15531 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
15532 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
15533 (grub_lower_mem): Removed.
15534 (grub_upper_mem): Likewise.
15535 (mem_size): Made static.
15536 (above_4g): New variable.
15537 (grub_machine_mmap_init): Detect small mem_size and above_4g.
15538 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
15539 support.
15540
05e51879
VS
155412010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
15542
15543 Cirrus 5446 and Bochs video cards support.
15544
15545 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
15546 video_bochs.mod
15547 (video_cirrus_mod_SOURCES): New variable.
15548 (video_cirrus_mod_CFLAGS): Likewise.
15549 (video_cirrus_mod_LDFLAGS): Likewise.
15550 (video_bochs_mod_SOURCES): Likewise.
15551 (video_bochs_mod_CFLAGS): Likewise.
15552 (video_bochs_mod_LDFLAGS): Likewise.
15553 * include/grub/vga.h: New file.
15554 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
15555 (grub_video_fb_set_page_t): New type.
15556 (grub_video_fb_setup): New prototype.
15557 (grub_video_fb_swap_buffers): Likewise.
15558 (grub_video_fb_get_info_and_fini): Likewise.
15559 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
15560 (CRTC_DATA_PORT): Likewise.
15561 (CRTC_CURSOR): Likewise.
15562 (CRTC_CURSOR_ADDR_HIGH): Likewise.
15563 (CRTC_CURSOR_ADDR_LOW): Likewise.
15564 (CRTC_CURSOR_DISABLE): Likewise.
15565 (update_cursor): Use grub_vga_cr_write.
15566 (grub_vga_text_setcursor): Likewise.
15567 * video/bochs.c: New file.
15568 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
15569 (palette): Likewise.
15570 (palette_size): Likewise.
15571 (framebuffer): New variable.
15572 (grub_video_fb_init): Use 'framebuffer'.
15573 (grub_video_fb_fini): Likewise.
15574 (grub_video_fb_get_info): Likewise.
15575 (grub_video_fb_get_palette): Likewise.
15576 (grub_video_fb_set_palette): Likewise.
15577 (grub_video_fb_set_viewport): Likewise.
15578 (grub_video_fb_get_viewport): Likewise.
15579 (grub_video_fb_map_color): Likewise.
15580 (grub_video_fb_map_rgb): Likewise.
15581 (grub_video_fb_map_rgba): Likewise.
15582 (grub_video_fb_unmap_color): Likewise.
15583 (grub_video_fb_unmap_color_int): Likewise.
15584 (grub_video_fb_fill_rect): Likewise.
15585 (grub_video_fb_blit_bitmap): Likewise.
15586 (grub_video_fb_blit_render_target): Likewise.
15587 (grub_video_fb_scroll): Likewise.
15588 (grub_video_fb_create_render_target): Likewise.
15589 (grub_video_fb_doublebuf_blit_init): Likewise.
15590 (grub_video_fb_set_active_render_target): Handle doublebuffering.
15591 (doublebuf_pageflipping_update_screen): New function.
15592 (doublebuf_pageflipping_init): Likewise.
15593 (grub_video_fb_setup): Likewise.
15594 (grub_video_fb_swap_buffers): Likewise.
15595 (grub_video_fb_get_info_and_fini): Likewise.
15596 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
15597 All users updated.
15598 (doublebuf_pageflipping_commit): Restructured into ...
15599 (doublebuf_pageflipping_set_page): ... this.
15600 (doublebuf_pageflipping_update_screen): Removed.
15601 (doublebuf_pageflipping_init): Likewise.
15602 (double_buffering_init): Likewise.
15603 (grub_video_vbe_setup): Use grub_video_fb_setup.
15604 (grub_video_vbe_swap_buffers): Removed.
15605 (grub_video_vbe_set_active_render_target): Likewise.
15606 (grub_video_vbe_get_active_render_target): Likewise.
15607 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
15608 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
15609 grub_video_fb_set_active_render_target and
15610 grub_video_fb_get_active_render_target.
15611 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
15612 (SEQUENCER_DATA_PORT): Likewise.
15613 (MAP_MASK_REGISTER): Likewise.
15614 (CRTC_ADDR_PORT): Likewise.
15615 (CRTC_DATA_PORT): Likewise.
15616 (START_ADDR_HIGH_REGISTER): Likewise.
15617 (START_ADDR_LOW_REGISTER): Likewise.
15618 (GRAPHICS_ADDR_PORT): Likewise.
15619 (GRAPHICS_DATA_PORT): Likewise.
15620 (READ_MAP_REGISTER): Likewise.
15621 (INPUT_STATUS1_REGISTER): Likewise.
15622 (INPUT_STATUS1_VERTR_BIT): Likewise.
15623 (get_map_mask): Use grub_vga_sr_read.
15624 (set_map_mask): Use grub_vga_sr_write.
15625 (set_read_map): Use grub_vga_gr_write.
15626 (set_start_address): Use grub_vga_cr_write.
15627 * video/sm712.c (framebuffer): Remove leftover fields.
15628
4321c64a
CW
156292010-06-20 Colin Watson <cjwatson@ubuntu.com>
15630
15631 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
15632 setting GRUB_VIDEO_BACKEND. Make it available as a user override
15633 instead. Replace the gfxterm backend check with a check that
15634 ${GRUB_PREFIX}/video.lst is non-empty.
15635 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
15636 again.
15637 (load_video): New generated function. Call it before loading
15638 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
15639 * util/grub.d/10_linux.in (linux_entry): Call load_video.
15640 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
15641 * docs/grub.texi (Simple configuration): Document
15642 GRUB_VIDEO_BACKEND.
15643
156442010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
15645
15646 Use video functions in linux and xnu loaders.
15647
15648 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
15649 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
15650 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
15651 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
15652 loader/i386/pc/linux.c.
15653 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
15654 (find_line_len): Removed.
15655 (find_framebuf): Likewise.
15656 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
15657 * loader/i386/efi/xnu.c: Removed.
15658 * loader/i386/pc/xnu.c: Moved from here...
15659 * loader/i386/xnu.c: ...here.
15660
15661 Enable priorities in video drivers.
15662
15663 * include/grub/video.h (grub_video_adapter_prio_t): New type.
15664 (grub_video_adapter): New field prio.
15665 (grub_video_register): Respect prio when inserting.
15666 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
15667 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
15668 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
15669 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
15670 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
15671 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
15672 * video/sm712.c (grub_video_sm712_adapter): Likewise.
15673
15674 Fix SDL driver ID.
15675
15676 * include/grub/video.h (grub_video_driver_id_t): New value
15677 GRUB_VIDEO_DRIVER_SDL.
15678 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
15679
7d24e434
CW
156802010-06-17 Colin Watson <cjwatson@ubuntu.com>
15681
15682 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
15683 argument to printf.
15684 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
15685
c88a83f6
CW
156862010-06-17 Colin Watson <cjwatson@ubuntu.com>
15687
15688 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
15689 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
15690
094dfb69
CW
156912010-06-17 Colin Watson <cjwatson@ubuntu.com>
15692
15693 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
15694 directly, and recommend grub-install instead.
15695 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
15696
2164da6b
CW
156972010-06-17 Colin Watson <cjwatson@ubuntu.com>
15698
15699 Fix i386-pc prefix handling with nested partitions (Debian bug
15700 #585068). Note that the case where the core image is booted using
15701 multiboot and relocated from its original location still requires
15702 more work.
15703
15704 * kern/i386/pc/init.c (make_install_device): If the prefix starts
15705 with "(,", fill the boot drive in between those two characters, but
15706 expect that a full partition specification including partition map
15707 names will follow.
15708 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
15709 specified, write a prefix without the drive name but including a
15710 full partition specification.
15711
044e2e60
CW
157122010-06-16 Colin Watson <cjwatson@ubuntu.com>
15713
15714 * util/grub-mkconfig.in: Ignore non-option arguments, for
15715 compatibility with older versions (before 2010-06-12) which did the
15716 same. In particular, this makes it easier to ship an update-grub
15717 wrapper which is compatible with that used with GRUB Legacy (Debian
15718 bug #586056).
15719
5591324f
GS
157202010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15721
15722 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
15723 for manual page generation.
15724
662e24d5
GS
157252010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15726
15727 * po/POTFILES: Remove leftover commands/handler.c.
15728
8d70754e
CW
157292010-06-14 Colin Watson <cjwatson@ubuntu.com>
15730
15731 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
15732 left this script non-functional.
15733
41160e2e
CW
157342010-06-14 Colin Watson <cjwatson@ubuntu.com>
15735
15736 * docs/man/grub-emu.h2m: New file.
15737
b5309cc1
CW
157382010-06-13 Colin Watson <cjwatson@ubuntu.com>
15739
15740 * docs/grub.texi (Commands): Document reduced command set in rescue
15741 mode.
15742 (cpuid): New section.
15743
fcb2d090
GS
157442010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
15745
15746 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
15747 new partition naming style.
15748 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
15749
96e5c556
BC
157502010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
15751
15752 Add "-o grub.iso" like cmdline options support.
15753
15754 * util/grub-install.in: Improve cmdline option parsing.
15755 * util/grub-mkconfig.in: Likewise.
15756 * util/grub-mkrescue.in: Likewise.
15757 * util/grub-reboot.in: Likewise.
15758 * util/grub-set-default.in: Likewise.
15759 * util/i386/efi/grub-install.in: Likewise.
15760 * util/ieee1275/grub-install.in: Likewise.
15761 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
15762
c16be99b
CW
157632010-06-12 Colin Watson <cjwatson@ubuntu.com>
15764
15765 * .bzrignore: Ignore 41_custom.
15766
ce08a9fb
TS
157672010-06-12 Thomas Schmitt <scdbackup@gmx.net>
15768
15769 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
15770
7beac90c
CW
157712010-06-12 Colin Watson <cjwatson@ubuntu.com>
15772
15773 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
15774 prototype declarations.
15775
15776 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
15777 generating fs, partmap, and video lists.
15778 * include/grub/fs.h (grub_fs_register): Omit prototype if
15779 GRUB_LST_GENERATOR is defined.
15780 * include/grub/partition.h (grub_partition_map_register): Likewise.
15781 * include/grub/video.h (grub_video_register): Likewise.
15782
1c8f0f8d
JM
157832010-06-12 Javier Martín <lordhabbit@gmail.com>
15784
15785 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
15786
a6085973
TS
157872010-06-12 Thomas Schmitt <scdbackup@gmx.net>
15788
15789 * util/grub-mkrescue.in: Support --xorriso argument.
15790
25c56d29
VS
157912010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15792
15793 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
15794 Suggested by: Thomas Schmitt.
15795
e03e4b24
VS
157962010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15797
15798 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
15799 Suggested by: Thomas Schmitt.
15800
57711df6
VS
158012010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15802
15803 custom.cfg support.
15804
15805 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
15806 * util/grub.d/41_custom.in: New file.
15807
ee62c427
CW
158082010-06-12 Colin Watson <cjwatson@ubuntu.com>
15809
15810 * util/grub-mkrescue.in (make_image): Remove sh module, which has
15811 been merged back into normal.
15812
283af07a
CW
158132010-06-11 Colin Watson <cjwatson@ubuntu.com>
15814
15815 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
15816 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
15817
56a0d956
CW
158182010-06-11 Colin Watson <cjwatson@ubuntu.com>
15819
15820 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
15821 when generating manual pages.
15822 * docs/man/grub-bin2h.h2m: New file.
15823 * docs/man/grub-editenv.h2m: New file.
15824 * docs/man/grub-fstest.h2m: New file.
15825 * docs/man/grub-install.h2m: New file.
15826 * docs/man/grub-macho2img.h2m: New file.
15827 * docs/man/grub-mkconfig.h2m: New file.
15828 * docs/man/grub-mkdevicemap.h2m: New file.
15829 * docs/man/grub-mkfont.h2m: New file.
15830 * docs/man/grub-mkimage.h2m: New file.
15831 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
15832 * docs/man/grub-mkrelpath.h2m: New file.
15833 * docs/man/grub-mkrescue.h2m: New file.
15834 * docs/man/grub-ofpathname.h2m: New file.
15835 * docs/man/grub-pe2elf.h2m: New file.
15836 * docs/man/grub-probe.h2m: New file.
15837 * docs/man/grub-reboot.h2m: New file.
15838 * docs/man/grub-script-check.h2m: New file.
15839 * docs/man/grub-set-default.h2m: New file.
15840 * docs/man/grub-setup.h2m: New file.
15841
3a37e322
VS
158422010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
15843
15844 Use FOR_* macros instead of *_iterate whenever possible.
15845
15846 * commands/handler.c: Removed.
15847 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
15848 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
15849 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15850 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
15851 (grub_probe_SOURCES): Remove kern/parser.c.
15852 (util/grub-script-check.c_DEPENDENCIES): Removed.
15853 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
15854 and grub_script_check_init.c.
15855 (grub_script_check_init.lst): Removed.
15856 (grub_script_check_init.h): Likewise.
15857 (grub_script_check_init.c): Likewise.
15858 (pkglib_MODULES): Remove handler.mod and sh.mod.
15859 (handler_mod_SOURCES): Removed.
15860 (handler_mod_CFLAGS): Likewise.
15861 (handler_mod_LDFLAGS): Likewise.
15862 (normal_mod_SOURCES): Remove normal/handler.c.
15863 Add script/main.c, script/script.c, script/execute.c,
15864 script/function.c, script/lexer.c, grub_script.tab.c
15865 and grub_script.yy.c.
15866 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15867 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15868 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
15869 (grub_setup_SOURCES): Remove kern/parser.c.
15870 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15871 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
15872 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
15873 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15874 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15875 (grub_setup_SOURCES): Remove kern/parser.c.
15876 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15877 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
15878 * include/grub/command.h (grub_command_iterate): Removed.
15879 (FOR_COMMANDS): New macro.
15880 * include/grub/dl.h (grub_dl): New member next.
15881 (grub_dl_iterate): Removed.
15882 (grub_dl_head): New variable declaration.
15883 (FOR_DL_MODULES): New macro.
15884 * include/grub/fs.h: Include list.h.
15885 (grub_fs): Make next first element.
15886 (grub_fs_list): New variable declaration.
15887 (grub_fs_register): Make inline.
15888 (grub_fs_unregister): Likewise.
15889 (grub_fs_iterate): Removed.
15890 (FOR_FILESYSTEMS): New macro.
15891 * include/grub/handler.h: Removed.
15892 * include/grub/list.h (grub_list_hook_t): Removed.
15893 (grub_list_test_t): Likewise.
15894 (grub_list_pop): Likewise.
15895 (grub_list_iterate): Likewise.
15896 (grub_list_insert): Likewise.
15897 (FOR_LIST_ELEMENTS): New macro.
15898 * include/grub/parser.h (grub_parser_class): Removed.
15899 (grub_parser_register): Likewise.
15900 (grub_parser_unregister): Likewise.
15901 (grub_parser_get_current): Likewise.
15902 (grub_parser_set_current): Likewise.
15903 (grub_register_rescue_parser): Likewise.
15904 (grub_rescue_parse_line): New function.
15905 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
15906 * include/grub/script_sh.h (grub_script_function_list): New variable
15907 declaration.
15908 (FOR_SCRIPT_FUNCTIONS): New macro.
15909 (grub_script_function_iterate): Removed.
15910 (grub_normal_parse_line): New prototype.
15911 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
15912 (FOR_DISABLED_TERM_INPUTS): Likewise.
15913 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
15914 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
15915 * include/grub/video.h (grub_video_adapter): Move 'next' to first
15916 element.
15917 (grub_video_register): Inline.
15918 (grub_video_unregister): Likewise.
15919 (grub_video_adapter_list): New variable declaration.
15920 (grub_video_iterate): Removed.
15921 (FOR_VIDEO_ADAPTERS): New macro.
15922 * kern/dl.c (grub_dl_list): Removed. All users updated.
15923 (grub_dl_iterate): Removed.
15924 * kern/fs.c (grub_fs_list): Make global.
15925 (grub_fs_register): Removed.
15926 (grub_fs_unregister): Likewise.
15927 (grub_fs_iterate): Likewise.
15928 * kern/handler.c: Removed.
15929 * kern/list.c (grub_list_pop): Removed.
15930 (grub_list_iterate): Likewise.
15931 (grub_list_insert): Likewise.
15932 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
15933 (grub_prio_list_insert): Don't use grub_list_insert.
15934 * kern/main.c (grub_register_rescue_parser): Don't call
15935 grub_register_rescue_parser.
15936 * kern/parser.c (grub_parser_class): Removed.
15937 (grub_parser_execute): Use grub_rescue_parse_line.
15938 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
15939 (grub_rescue_parser): Removed.
15940 (grub_register_rescue_parser): Likewise.
15941 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
15942 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
15943 (grub_auth_check_authentication): Likewise.
15944 * normal/completion.c (iterate_command): Removed.
15945 (grub_normal_do_completion): Use FOR_COMMANDS.
15946 * normal/handler.c: Removed.
15947 * normal/main.c (read_config_file): Remove parser changing.
15948 (grub_normal_execute): Don't call read_handler_list.
15949 (grub_normal_read_line_real): Statically allocate prompt.
15950 (grub_cmdline_run): Use grub_normal_parse_line.
15951 (GRUB_MOD_FINI): Don't call free_handler_list.
15952 * normal/menu_entry.c (run): Likewise.
15953 * script/function.c (grub_script_function_list): Make global.
15954 (grub_script_function_iterate): Removed.
15955 * script/main.c (grub_normal_parse_line): Make global.
15956 (grub_sh_parser): Removed.
15957 (GRUB_MOD_INIT): Likewise.
15958 (GRUB_MOD_FINI): Likewise.
15959 * tests/lib/functional_test.c (grub_functional_test): Use
15960 FOR_LIST_ELEMENTS.
15961 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
15962 (grub_test_run): Use FOR_LIST_ELEMENTS.
15963 * tests/lib/unit_test.c (main): Likewise.
15964 * util/deviceiter.c (grub_util_iterate_devices): Don't use
15965 grub_list_pop.
15966 * util/grub-fstest.c (grub_term_input_class): Removed.
15967 (grub_term_output_class): Likewise.
15968 * util/grub-probe.c: Likewise.
15969 * util/i386/pc/grub-setup.c: Likewise.
15970 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15971 * util/grub-script-check.c (main): Don't call grub_init_all and
15972 grub_fini_all.
15973 * video/video.c (grub_video_adapter_list): Make global.
15974 (grub_video_register): Removed.
15975 (grub_video_unregister): Likewise.
15976 (grub_video_iterate): Likewise.
15977
6289c3a7
VS
159782010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
15979
15980 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
15981 reported by Henrique Ferreiro.
15982
91460247
RM
159832010-06-09 Robert Millan <rmh@gnu.org>
15984
15985 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
15986 ones, when both are available.
15987
0ea7c4f9
GS
159882010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15989
15990 Make --version uniform and avoid hard-coded program name.
15991
15992 * util/grub-mkimage.c (main): Use `program_name' instead of
15993 hard-coded string.
15994 * util/i386/pc/grub-setup.c (main): Likewise.
15995 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
15996 * util/grub-install.in: Save the basename of $0 in $self, and use the
15997 latter in informational messages. Use the same format for --version
15998 as the binary programs.
15999 * util/grub-mkconfig.in: Likewise.
16000 * util/grub-mkrescue.in: Likewise.
16001 * util/grub-reboot.in: Likewise.
16002 * util/grub-set-default.in: Likewise.
16003 * util/i386/efi/grub-install.in: Likewise.
16004 * util/ieee1275/grub-install.in: Likewise.
16005 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16006
e8a6f3b6
GS
160072010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16008
16009 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
16010 embedding area. Use <= instead of == when checking for non-emptiness.
16011
f4d095d7
GS
160122010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16013
16014 * configure.ac: Add `.' to the directories searched for unifont.
16015
50e532ca
CW
160162010-06-08 Colin Watson <cjwatson@ubuntu.com>
16017
16018 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
16019 grub_script.yy.h.
16020
d39f3dec
CW
160212010-06-08 Colin Watson <cjwatson@ubuntu.com>
16022
16023 * docs/grub.texi (History): Expand to cover GRUB 2.
16024 (Serial terminal): Refer to `terminal_input' and `terminal_output'
16025 commands, not `terminal'.
16026 (serial): Likewise.
16027 (terminal_input): New section.
16028 (terminal_output): New section.
16029 (uppermem): New section (stub).
16030 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
16031
6ef0ddb4
CW
160322010-06-08 Colin Watson <cjwatson@ubuntu.com>
16033
16034 * docs/grub.texi (Security): Menu entries are unrestricted by
16035 default, not restricted to superusers as I had previously thought.
16036 Reword to account for this.
16037
e0f4c438
CW
160382010-06-07 Colin Watson <cjwatson@ubuntu.com>
16039
16040 * kern/emu/misc.c (device_mapper_null_log): New function.
16041 (grub_device_mapper_supported): New function.
16042 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
16043 prototype.
16044 * kern/emu/hostdisk.c (find_partition_start): Check whether
16045 device-mapper is supported before trying to use it.
16046 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
16047
da908200
CW
160482010-06-07 Colin Watson <cjwatson@ubuntu.com>
16049
16050 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
16051 (File name syntax): Likewise.
16052 (help): --all is no longer supported in GRUB 2. Be more precise
16053 about pattern matching.
16054
fb55c3ac
CW
160552010-06-07 Colin Watson <cjwatson@ubuntu.com>
16056
16057 * normal/completion.c (grub_normal_do_completion): When completing
16058 arguments to "set" and the current word contains an equals sign,
16059 skip to after the equals sign before starting completion.
16060
258c2573
CW
160612010-06-07 Colin Watson <cjwatson@ubuntu.com>
16062
16063 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
16064
ee75515e
CW
160652010-06-07 Colin Watson <cjwatson@ubuntu.com>
16066
16067 * docs/grub.texi (Network): New section.
16068 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
16069 `(nd)' as in GRUB Legacy.
16070 (pxe_unload): New section.
16071
a6a700aa
CW
160722010-06-07 Colin Watson <cjwatson@ubuntu.com>
16073
16074 * docs/grub.texi (Troubleshooting): `echo' is not usually available
16075 in the rescue shell, so recommend using `set' instead. Thanks,
16076 Jordan Uggla.
16077
4003dd38
CW
160782010-06-07 Colin Watson <cjwatson@ubuntu.com>
16079
16080 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
16081 (password): New section.
16082 (password_pbkdf2): New section.
16083 (search): New section.
16084 (Security): New section.
16085 (Troubleshooting): New section, currently very incomplete.
16086 (Invoking grub-mkpasswd-pbkdf2): New section.
16087 (Internals): New section, currently very incomplete.
16088
e1cbcc40
CW
160892010-06-07 Colin Watson <cjwatson@ubuntu.com>
16090
16091 * util/grub.d/00_header.in: Add some more quoting (of
16092 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
16093 work again.
16094 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
16095
db8fa1ad
CW
160962010-06-07 Colin Watson <cjwatson@ubuntu.com>
16097
16098 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
16099 to `count', fixing variable shadowing that broke the -c option.
16100
161012010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
16102
16103 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
16104 in case they contain spaces.
16105
f28a9212
CW
161062010-06-04 Colin Watson <cjwatson@ubuntu.com>
16107
16108 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
16109 "part_" to partmap module names, in line with grub-install.
16110 Reported by: Jindřich Makovička (Debian bug #584426).
16111
9cdfe32f
CW
161122010-06-04 Colin Watson <cjwatson@ubuntu.com>
16113
16114 * util/grub-mkimage.c: Make target-related error messages slightly
16115 more helpful; -O talks about "format". Explicitly point to the use
16116 of -O if no target is specified.
16117 Reported by: Didier Raboud (Debian bug #584415).
16118
795b593a
CW
161192010-06-03 Colin Watson <cjwatson@ubuntu.com>
16120
16121 * INSTALL: Document several build requirements for optional features
16122 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
16123
9d9b5833
GS
161242010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
16125
16126 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
16127 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
16128 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
16129
0819fec8
CW
161302010-06-02 Colin Watson <cjwatson@ubuntu.com>
16131
16132 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
16133 Thanks to Jordan Uggla for spotting this.
16134
49396b4f
VS
161352010-06-02 Aleš Nesrsta <starous@volny.cz>
16136
16137 Finally make USB usable.
16138
16139 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
16140 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
16141 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
16142 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
16143 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
16144 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
16145 (GRUB_OHCI_FSMPS): Likewise.
16146 (GRUB_OHCI_PERIODIC_START): Likewise.
16147 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
16148 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
16149 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
16150 (GRUB_OHCI_SET_PORT_RESET): Likewise.
16151 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
16152 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
16153 (grub_ohci_transaction): Likewise.
16154 (grub_ohci_transfer): Improve condition detection algorithms.
16155 Handle toggle property. Program the transactions correctly.
16156 Improve error handling. Various important fixups.
16157 (grub_ohci_portstatus): Put register writes in right order.
16158 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
16159 (grub_uhci_transfer): Don't show "failed" message on success.
16160 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
16161 array.
16162 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
16163 determine its size.
16164 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
16165 before initialization is completed. Use IN direction for empty
16166 transfers. Use last_trans and compute toggle.
16167 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
16168 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
16169 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
16170 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
16171 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
16172 (grub_usb_device): Increase toggle to 256.
16173 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
16174 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
16175 GRUB_USBMS_SUBCLASS_SFF8070.
16176 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
16177 (grub_scsi_inquiry): New member page and alloc_length.
16178 (grub_scsi_request_sense): New structure.
16179 (grub_scsi_request_sense_data): Likewise.
16180 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
16181 control.
16182 * disk/scsi.c (grub_scsi_request_sense): New function.
16183 (grub_scsi_test_unit_ready): Likewise.
16184 (grub_scsi_inquiry): Fill new fields.
16185 (grub_scsi_read_capacity): Likewise.
16186 (grub_scsi_read10): Add request sense at the end.
16187 (grub_scsi_read12): Likewise.
16188 (grub_scsi_write10): Likewise.
16189 (grub_scsi_write12): Likewise.
16190 (grub_scsi_open): Add Test Unit Ready.
16191 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
16192 Support additional subclasses. Con't clear halt yet. Activate the
16193 proper config. Calculate LUNs correctly.
16194 (grub_usbms_transfer): Various important fixups.
16195
161962010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
16197
16198 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
16199 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
16200 (grub_ohci_fini_hw): New function.
16201 (grub_ohci_restore_hw): Likewise.
16202 (GRUB_MOD_INIT(ohci)): Register preboot hook.
16203 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
16204 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
16205
162062010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
16207
16208 Dedicated DMA allocations.
16209
16210 * bus/pci.c (grub_memalign_dma32): New function
16211 (grub_dma_free): Likewise.
16212 (grub_dma_get_virt): Likewise.
16213 (grub_dma_get_phys): Likewise.
16214 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
16215 (grub_ohci_pci_iter): Use dma32_alloc.
16216 (grub_ohci_transfer): Likewise.
16217 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
16218 (grub_usb_bulk_readwrite): Likewise.
16219 * include/grub/pci.h: Add declarations.
16220
162212010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
16222
16223 CS5536 support.
16224
16225 * bus/cs5536.c: New file.
16226 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
16227 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
16228 (cs5536_mod_SOURCES): New variable.
16229 (cs5536_mod_CFLAGS): Likewise.
16230 (cs5536_mod_LDFLAGS): Likewise.
16231 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
16232 machine/pci.h.
16233 (kernel_img_SOURCES): Add bus/cs5536.c.
16234 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
16235 usb_keyboard.mod.
16236 (usb_mod_SOURCES): New variable.
16237 (usb_mod_CFLAGS): New variable.
16238 (usb_mod_LDFLAGS): New variable.
16239 (usbtest_mod_SOURCES): New variable.
16240 (usbtest_mod_CFLAGS): New variable.
16241 (usbtest_mod_LDFLAGS): New variable.
16242 (ohci_mod_SOURCES): New variable.
16243 (ohci_mod_CFLAGS): New variable.
16244 (ohci_mod_LDFLAGS): New variable.
16245 (usbms_mod_SOURCES): New variable.
16246 (usbms_mod_CFLAGS): New variable.
16247 (usbms_mod_LDFLAGS): New variable.
16248 (usb_keyboard_mod_SOURCES): New variable.
16249 (usb_keyboard_mod_CFLAGS): New variable.
16250 (usb_keyboard_mod_LDFLAGS): New variable.
16251 * include/grub/smbus.h: New file.
16252 * include/grub/cs5536.h: New file.
16253
0b35b2a9
CW
162542010-06-02 Colin Watson <cjwatson@ubuntu.com>
16255
16256 * util/grub.d/00_header.in: Add safety check to make sure that
16257 ${locale_dir} exists before trying to probe it.
16258
ca0afd5b
CW
162592010-06-02 Colin Watson <cjwatson@ubuntu.com>
16260
16261 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
16262 per the GNU Coding Standards; this is now too obscure to be worth
16263 documenting.
16264 (QNX): Likewise.
16265 (chainloader): Remove cross-reference to `SCO UnixWare'.
16266
1c41aa78
CW
162672010-06-02 Colin Watson <cjwatson@ubuntu.com>
16268
16269 * docs/grub.texi (Chain-loading): New section.
16270 (DOS/Windows): New section, borrowed from GRUB Legacy with details
16271 adjusted for GRUB 2.
16272 (SCO UnixWare): Likewise.
16273 (QNX): Likewise.
16274 (chainloader): Add reference to `Block list syntax'.
16275 (drivemap): New section.
16276 (parttool): New section.
16277
bb8ea0f5
CW
162782010-06-02 Colin Watson <cjwatson@ubuntu.com>
16279
16280 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
16281 the grub shell'.
16282 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
16283 (Installing GRUB using grub-install): Remove reference to the grub
16284 shell; mention `grub-mkimage' and `grub-setup' instead.
16285 (Invoking grub-install): Likewise.
16286 (Interface): Add reference to `Menu entry editor'.
16287 (serial): Remove `--device' option.
16288
288dd6ed
CW
162892010-06-02 Colin Watson <cjwatson@ubuntu.com>
16290
16291 * docs/grub.texi (Configuration): New section, documenting
16292 configuration file generation using grub-mkconfig. I've left a slot
16293 for documenting the full shell scripting format but have not yet
16294 started on writing that up.
16295 (Invoking grub-mkconfig): New section.
16296
34c9f0e9
CW
162972010-06-02 Colin Watson <cjwatson@ubuntu.com>
16298
16299 * docs/grub.texi (direntry): Remove grub-terminfo reference.
16300 (GNU GRUB manual): Likewise.
16301 (General commands): Update description of `terminfo' for GRUB 2.
16302
9121567e
CW
163032010-06-02 Colin Watson <cjwatson@ubuntu.com>
16304
16305 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
16306 (GRUB_MOD_INIT): Fix capitalisation.
16307 * docs/grub.texi (Command-line and menu entry commands): Document
16308 gettext and gptsync commands.
16309
ab631611
CW
163102010-06-02 Colin Watson <cjwatson@ubuntu.com>
16311
16312 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
16313 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
16314
bde4a9ac
CW
163152010-06-01 Colin Watson <cjwatson@ubuntu.com>
16316
16317 Add btrfs probing support, currently only in the single-device case.
16318
16319 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
16320 function.
16321 (grub_guess_root_device): Call find_root_device_from_mountinfo
16322 before looking in /dev.
16323
b1d17e10
VS
163242010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16325
16326 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
16327 GRUB_DISK_SIZE_UNKNOWN.
16328 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
16329
dfbfe004
JS
163302010-05-31 Jiro SEKIBA <jir@unicus.jp>
16331
16332 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
16333 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
16334 corrupted or not synced properly.
16335
c2ffc8e9
VS
163362010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16337
16338 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
16339 Reported by: Seth Goldberg.
16340
56293166
VS
163412010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16342
16343 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
16344 addition of dest.
16345 Reported by: Seth Goldberg.
16346
7620e7de
VS
163472010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16348
16349 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
16350 Reported by: Seth Goldberg.
16351
c837af3f
VS
163522010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16353
16354 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
16355 64-bit address as signed on MIPS.
16356
c7c75cf4
CW
163572010-05-28 Colin Watson <cjwatson@ubuntu.com>
16358
16359 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
16360 to the empty string.
16361
fa4b8490
BC
163622010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
16363
16364 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
16365
16366 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
16367 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
16368 * kern/misc.c (__enable_execute_stack): Disable on
16369 GRUB_MACHINE_EMU.
16370
a33075b9
CW
163712010-05-28 Colin Watson <cjwatson@ubuntu.com>
16372
16373 Make grub-probe work with symbolic links under /dev/mapper as well
16374 as with real block devices. The Linux world seems to be (at best)
16375 in transition here, and GRUB shouldn't get caught in the middle.
16376
16377 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
16378 /dev/mapper.
16379
d8708134
CW
163802010-05-27 Colin Watson <cjwatson@ubuntu.com>
16381
16382 * util/grub-script-check.c (main): Ensure defined behaviour on empty
16383 input files (in which case exit zero).
16384
db2102a0
CW
163852010-05-27 Colin Watson <cjwatson@ubuntu.com>
16386
16387 * kern/emu/misc.c (canonicalize_file_name): realpath can still
16388 return NULL for various reasons even if it has a maximum-length
16389 buffer: for example, there might be a symlink loop, or the path
16390 might exceed PATH_MAX. If this happens, return NULL.
16391
5fdba519
RM
163922010-05-27 Robert Millan <rmh@gnu.org>
16393
16394 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
16395 partmap module to handle cross-partmap setups.
16396 Reported by Orestes Mas. Gràcies!
16397
d1d368e4
CW
163982010-05-27 Colin Watson <cjwatson@ubuntu.com>
16399
16400 * util/grub-mkrescue.in: Initialise override_dir rather than
16401 assuming that it's unset or empty in the environment.
16402
95ac3c73
GS
164032010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
16404
16405 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
16406 variable index into p_index to suppress a warning with -Wshadow.
16407
7d8c0213
BC
164082010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
16409
16410 * INSTALL: Added flex >= 2.5.35 requirement.
16411
db4d5813
VS
164122010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
16413
16414 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
16415
f24f4300
VS
164162010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
16417
16418 cmostest support.
16419
16420 * commands/i386/cmostest.c: New file.
16421 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
16422 (cmostest_mod_SOURCES): New variable.
16423 (cmostest_mod_CFLAGS): Likewise.
16424 (cmostest_mod_LDFLAGS): Likewise.
16425 * conf/i386-pc.rmk: Likewise.
16426 * docs/grub.texi (Vendor power-on keys): New section.
16427 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
16428 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
16429 and GRUB_BUTTON_CMOS_ADDRESS.
16430 * util/grub.d/00_header.in: Handle powering-on by separate button.
16431
ad603f61
VS
164322010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
16433
16434 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
16435 Removed drawing_scrollbar argument. All users updated
16436 Fixes #29792.
16437 Reported by Jo Shields
16438
3ecb080a
VS
164392010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
16440
16441 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
16442 buffer since gfxterm handles double repaint.
16443
5f2316c1
VS
164442010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
16445
16446 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
16447 * term/gfxterm.c (real_scroll): Likewise.
16448
9a25f885
VS
164492010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16450
16451 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
16452 before calling BIOS.
16453
39fbb79a
VS
164542010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16455
16456 * include/grub/i18n.h: Always enable grub_gettext.
16457
228cfa97
VS
164582010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16459
16460 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
16461 partition naming style.
16462
21717c8f
CW
164632010-05-21 Colin Watson <cjwatson@ubuntu.com>
16464
16465 * util/grub-mkconfig.in: Fix handling of -o so that it works when
16466 not the first option.
16467
c0f48e65
CW
164682010-05-20 Colin Watson <cjwatson@ubuntu.com>
16469
16470 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
16471
96779aec
CW
164722010-05-20 Colin Watson <cjwatson@ubuntu.com>
16473
16474 * util/misc.c: Move inclusion of <limits.h> to ...
16475 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
16476
fa9d256e
GS
164772010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
16478
16479 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
16480 Fix merge error in NetBSD code.
16481 (find_partition_start) [__NetBSD__]: Likewise.
16482
123b7a85
BC
164832010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
16484
16485 Fix grub-mkrescue usage unit testing.
16486
16487 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
16488
74276c0d
CF
164892010-05-18 Christian Franke <franke@computer.org>
16490
16491 * util/grub.d/10_windows.in: Use path names instead of
16492 drive letters to prevent warning from Cygwin 1.7.
16493 Add drivemap command to menuentry if needed.
16494
c4f7b523
ST
164952010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
16496
16497 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
16498 gnumach and gnumach.gz.
16499
95b97950
VS
165002010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16501
16502 * include/grub/i18n.h (gettext): Inline instead of using #define.
16503 (grub_gettext): Likewise.
16504 (_): Likewise.
16505
01b8d2d7
VS
165062010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16507
16508 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
16509 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
16510 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
16511 (main): Add a slash after pkglibdirroot.
16512
654e1d1e
VS
165132010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16514
16515 * util/grub-install.in: Add missing "in" keyword.
16516
26966aeb
VS
165172010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16518
16519 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
16520 Reported by: Seth Goldberg.
16521
75006747
VS
165222010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16523
16524 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
16525
74cbf5bd
CW
165262010-05-18 Colin Watson <cjwatson@ubuntu.com>
16527
16528 * configure.ac: Check for Linux device-mapper support.
16529
16530 * util/hostdisk.c (device_is_mapped): New function.
16531 (find_partition_start): New function, partly broken out from
16532 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
16533 device-mapper support added.
16534 (linux_find_partition): Use find_partition_start.
16535 (convert_system_partition_to_system_disk): Add `st' argument.
16536 Support Linux /dev/mapper/* devices if device-mapper support is
16537 available; only DM-RAID devices are understood at present.
16538 (find_system_device): Add `st' argument. Pass it to
16539 convert_system_partition_to_system_disk.
16540 (grub_util_biosdisk_get_grub_dev): Pass stat result to
16541 find_system_device and convert_system_partition_to_system_disk. Use
16542 find_partition_start.
16543
16544 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
16545 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
16546 * util/deviceiter.c [__linux__]: Define MINOR.
16547 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
16548 * util/mkdevicemap.c (grub_putchar): New function.
16549 (grub_getkey): New function.
16550 (grub_refresh): New function.
16551 (main): Set debug=all if -v -v is used.
16552
355b51e9
CW
165532010-05-18 Colin Watson <cjwatson@ubuntu.com>
16554
16555 Fix build with non-GNU libcs.
16556
16557 * util/misc.c (canonicalize_file_name): Move to ...
16558 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
16559 grub_make_system_path_relative_to_its_root.
16560
7fb5c25f
CW
165612010-05-18 Colin Watson <cjwatson@ubuntu.com>
16562
16563 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
16564 we handle finding grub-mkimage. Default to finding grub-mkimage in
16565 ${bindir} with program_transform_name applied, and provide a
16566 --grub-mkimage option to override this.
16567
1d3293d6
VS
165682010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16569
16570 Remove grub-mkisofs.
16571
16572 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
16573 (grub_mkisofs_SOURCES): Removed.
16574 (grub_mkisofs_CFLAGS): Removed.
16575 * util/mkisofs/defaults.h: Removed.
16576 * util/mkisofs/eltorito.c: Likewise.
16577 * util/mkisofs/exclude.h: Likewise.
16578 * util/mkisofs/hash.c: Likewise.
16579 * util/mkisofs/include/: Likewise.
16580 * util/mkisofs/include/fctldefs.h: Likewise.
16581 * util/mkisofs/include/mconfig.h: Likewise.
16582 * util/mkisofs/include/prototyp.h: Likewise.
16583 * util/mkisofs/include/statdefs.h: Likewise.
16584 * util/mkisofs/iso9660.h: Likewise.
16585 * util/mkisofs/joliet.c: Likewise.
16586 * util/mkisofs/match.c: Likewise.
16587 * util/mkisofs/match.h: Likewise.
16588 * util/mkisofs/mkisofs.c: Likewise.
16589 * util/mkisofs/mkisofs.h: Likewise.
16590 * util/mkisofs/msdos_partition.h: Likewise.
16591 * util/mkisofs/multi.c: Likewise.
16592 * util/mkisofs/name.c: Likewise.
16593 * util/mkisofs/rock.c: Likewise.
16594 * util/mkisofs/tree.c: Likewise.
16595 * util/mkisofs/write.c: Likewise.
16596
5dde9afe
VS
165972010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16598
16599 Unify grub-mkimage accross platforms.
16600
16601 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
16602 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
16603 (grub_mkelfimage_SOURCES): Removed.
16604 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
16605 (util/grub-mkimage.c_DEPENDENCIES): .. this.
16606 (bin_UTILITIES): Add grub-mkimage.
16607 (grub_mkimage_SOURCES): New variable.
16608 (kernel_img_HEADERS): Remove machine/kernel.h.
16609 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
16610 (pkglib_PROGRAMS): Add kernel.img.
16611 (kernel_img_HEADERS): Add machine/kernel.h.
16612 (kernel_img_FORMAT): Removed.
16613 (bin_UTILITIES): Remove grub-mkimage.
16614 (grub_mkimage_SOURCES): Removed.
16615 (grub_mkimage_CFLAGS): Likewise.
16616 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16617 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
16618 (pkglib_PROGRAMS): Add kernel.img.
16619 (bin_UTILITIES): Remove grub-mkimage.
16620 (grub_mkimage_SOURCES): Removed.
16621 (grub_mkimage_CFLAGS): Likewise.
16622 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16623 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
16624 (pkglib_PROGRAMS): Add kernel.img.
16625 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
16626 (pkglib_PROGRAMS): Add kernel.img.
16627 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
16628 (grub_mkimage_SOURCES): Removed.
16629 (grub_mkimage_CFLAGS): Likewise.
16630 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16631 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
16632 (pkglib_PROGRAMS): Add kernel.img.
16633 (bin_UTILITIES): Remove grub-mkimage.
16634 (grub_mkimage_SOURCES): Removed.
16635 (grub_mkimage_CFLAGS): Likewise.
16636 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16637 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
16638 (grub_mkimage_SOURCES): Removed.
16639 (grub_mkimage_CFLAGS): Likewise.
16640 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16641 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
16642 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
16643 (grub_pe32_optional_header): ... this.
16644 (grub_pe64_optional_header): ... and this. All users updated.
16645 (GRUB_PE32_PE32_MAGIC): Split into ..
16646 (GRUB_PE32_PE32_MAGIC): .. this.
16647 (GRUB_PE32_PE64_MAGIC): .. and this.
16648 (GRUB_PE32_SIGNATURE_SIZE): New definition.
16649 * include/grub/elf.h (PT_GNU_STACK): New definition.
16650 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
16651 * include/grub/i386/efi/kernel.h: Likewise.
16652 * include/grub/i386/kernel.h: Likewise.
16653 * include/grub/i386/pc/kernel.h: Likewise.
16654 * include/grub/i386/qemu/boot.h: Likewise.
16655 * include/grub/mips/kernel.h: Likewise.
16656 * include/grub/mips/qemu-mips/kernel.h: Likewise.
16657 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
16658 * include/grub/powerpc/kernel.h: Likewise.
16659 * include/grub/sparc64/ieee1275/boot.h: Likewise.
16660 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
16661 * include/grub/sparc64/kernel.h: Likewise.
16662 * include/grub/x86_64/efi/kernel.h: Likewise.
16663 * include/grub/x86_64/kernel.h: Likewise.
16664 * include/grub/offsets.h: New file.
16665 * include/grub/kernel.h (grub_module_info): Split into ...
16666 (grub_module_info32): ... this.
16667 (grub_module_info64): ... and this.
16668 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
16669 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
16670 (grub_boot_blocklist): Moved from here ...
16671 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
16672 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
16673 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
16674 * include/grub/types.h (grub_target_to_host16): Removed.
16675 (grub_target_to_host32): Likewise.
16676 (grub_target_to_host64): Likewise.
16677 (grub_host_to_target16): Likewise.
16678 (grub_host_to_target32): Likewise.
16679 (grub_host_to_target64): Likewise.
16680 (grub_host_to_target_addr): Likewise.
16681
16682 Support grub-mkrescue for efi, coreboot and qemu.
16683
16684 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
16685 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
16686 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
16687 * util/grub-mkrawimage.c: Moved from here ...
16688 * util/grub-mkimage.c: ... here. All users updated.
16689 (ALIGN_ADDR): Use image_target.
16690 (TARGET_NO_FIELD): New const.
16691 (image_target_desc): New type.
16692 (image_targets): New array.
16693 (grub_target_to_host64): Use image_target.
16694 (grub_target_to_host32): Likewise.
16695 (grub_target_to_host16): Likewise.
16696 (grub_host_to_target64): Likewise.
16697 (grub_host_to_target32): Likewise.
16698 (grub_host_to_target16): Likewise.
16699 (grub_host_to_target_addr): Likewise.
16700 (generate_image): Handle multiimage.
16701 (main): Require -O parameter. All users updated.
16702 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
16703 util/efi/grub-mkimage.c
16704 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
16705 New option --rom-directory.
16706 Use xorriso.
16707 * util/i386/efi/grub-mkimage.c: Removed.
16708 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
16709 (grub_target_to_host32): Likewise.
16710 (grub_target_to_host64): Likewise.
16711 (grub_host_to_target16): Likewise.
16712 (grub_host_to_target32): Likewise.
16713 (grub_host_to_target64): Likewise.
16714 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
16715 (grub_target_to_host32): Likewise.
16716 (grub_target_to_host64): Likewise.
16717 (grub_host_to_target16): Likewise.
16718 (grub_host_to_target32): Likewise.
16719 (grub_host_to_target64): Likewise.
16720
f4fc97d0
BC
167212010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
16722
16723 Source tree is reorganized for emu build.
16724
16725 * include/grub/util/console.h: Move from here...
16726 * include/grub/emu/console.h: ...to here.
16727 * include/grub/util/getroot.h: Move from here...
16728 * include/grub/emu/getroot.h: ...to here.
16729 * include/grub/util/hostdisk.h: Move from here...
16730 * include/grub/emu/hostdisk.h: ...to here.
16731 * util/console.c: Move from here...
16732 * kern/emu/console.c: ...to here.
16733 * util/getroot.c: Move from here...
16734 * kern/emu/getroot.c: ...to here.
16735 * util/grub-emu.c: Move from here...
16736 * kern/emu/main.c: ...to here.
16737 * util/hostdisk.c: Move from here...
16738 * kern/emu/hostdisk.c: ...to here.
16739 * util/hostfs.c: Move from here...
16740 * kern/emu/hostfs.c: ...to here.
16741 * util/mm.c: Move from here...
16742 * kern/emu/mm.c: ...to here.
16743 * util/pci.c: Move from here...
16744 * bus/emu/pci.c: ...to here.
16745 * util/sdl.c: Move from here...
16746 * video/emu/sdl.c: ...to here.
16747 * util/time.c: Move from here...
16748 * kern/emu/time.c: ...to here.
16749 * util/usb.c: Move from here...
16750 * bus/usb/emu/usb.c: ...to here.
16751
16752 * include/grub/emu/misc.h: New header for grub-emu functions.
16753 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
16754
16755 * conf/any-emu.rmk: Rule updates for above renames.
16756 * conf/common.rmk: Likewise.
16757 * conf/i386-pc.rmk: Likewise.
16758 * conf/i386-qemu.rmk: Likewise.
16759 * conf/mips.rmk: Likewise.
16760 * conf/sparc64-ieee1275.rmk: Likewise.
16761 * conf/x86-efi.rmk: Likewise.
16762
16763 * disk/lvm.h: #include updates for above renames.
16764 * util/grub-mkrelpath.c: Likewise.
16765 * util/grub-probe.c: Likewise.
16766 * util/i386/pc/grub-setup.c: Likewise.
16767 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16768 * kern/emu/console.c: Likewise.
16769 * kern/emu/getroot.c: Likewise.
16770 * kern/emu/hostdisk.c: Likewise.
16771 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
16772
16773 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
16774 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
16775 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
16776 * util/misc.c: Remove grub-emu functions.
16777
cced9145
VS
167782010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16779
16780 Fix gfxmenu crash.
16781 Reported by: Thorsten Grützmacher.
16782
16783 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
16784 timeout hook.
16785 (circprog_set_property): Register and unregister timeout hook.
16786 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
16787 (label_destroy): Free template. and unregister hook.
16788 (label_set_state): New function.
16789 (label_set_property): Handle templates and hooks.
16790 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
16791 timeout hook.
16792 (progress_bar_set_property): Register and unregister timeout hook.
16793 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
16794 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
16795 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
16796 (update_timeout_visit): Removed.
16797 (update_timeouts): New function.
16798 (redraw_timeouts): Likewise.
16799 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
16800 (grub_gfxmenu_clear_timeout): Likewise.
16801 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
16802 (grub_gfxmenu_timeout_notify): Likewise.
16803 (grub_gfxmenu_timeout_notifications): New external variable.
16804 (grub_gfxmenu_timeout_register): New function.
16805 (grub_gfxmenu_timeout_unregister): Likewise.
16806
c6e5caab
VS
168072010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16808
16809 Transform (broken) vga terminal into (working) vga video driver.
16810
16811 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
16812 video/i386/pc/vga.c.
16813 * include/grub/video.h (grub_video_driver_id):
16814 Add GRUB_VIDEO_DRIVER_VGA.
16815 * term/i386/pc/vga.c: Renamed to ...
16816 * video/i386/pc/vga.c: ...this
16817 (DEBUG_VGA): Removed.
16818 (CHAR_WIDTH): Likewise.
16819 (CHAR_HEIGHT): Likewise.
16820 (TEXT_WIDTH): Likewise.
16821 (TEXT_HEIGHT): Likewise.
16822 (DEFAULT_FG_COLOR): Likewise.
16823 (DEFAULT_BG_COLOR): Likewise.
16824 (colored_char): Likewise.
16825 (xpos): Likewise.
16826 (ypos): Likewise.
16827 (cursor_state): Likewise.
16828 (fg_color): Likewise.
16829 (bg_color): Likewise.
16830 (text_buf): Likewise.
16831 (page): Likewise.
16832 (font): Likewise.
16833 (framebuffer): New variable.
16834 (set_read_map): Disabled.
16835 (setup): New variable.
16836 (is_target): Likewise.
16837 (grub_vga_mod_init): Likewise.
16838 (grub_vga_mod_fini): Likewise.
16839 (check_vga_mem): Likewise.
16840 (write_char): Likewise.
16841 (write_cursor): Likewise.
16842 (scroll_up): Likewise.
16843 (grub_vga_putchar): Likewise.
16844 (grub_vga_getcharwidth): Likewise.
16845 (grub_vga_getwh): Likewise.
16846 (grub_vga_getxy): Likewise.
16847 (grub_vga_gotoxy): Likewise.
16848 (grub_vga_cls): Likewise.
16849 (grub_vga_setcolorstate): Likewise.
16850 (grub_vga_setcursor): Likewise.
16851 (grub_video_vga_init): New function.
16852 (grub_video_vga_setup): Likewise.
16853 (grub_video_vga_fini): Likewise.
16854 (update_target): Likewise.
16855 (grub_video_vga_blit_bitmap): Likewise.
16856 (grub_video_vga_blit_render_target): Likewise.
16857 (grub_video_vga_set_active_render_target): Likewise.
16858 (grub_video_vga_get_active_render_target): Likewise.
16859 (grub_video_vga_swap_buffers): Likewise.
16860 (grub_video_vga_set_palette): Likewise.
16861 (grub_video_vga_get_info_and_fini): Likewise.
16862 (grub_vga_term): Removed.
16863 (grub_video_vga_adapter): New variable.
16864 (GRUB_MOD_INIT): Register a video driver instead of terminal.
16865 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
16866
2bf61a98
VS
168672010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16868
16869 * video/readers/jpeg.c: Indented.
16870
09ddcd11
VS
168712010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16872
16873 Various jpeg cleanups.
16874
16875 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
16876 (grub_jpeg_decode_quan_table): Use sizeof.
16877 (grub_jpeg_decode_du): Use ARRAY_SIZE.
16878
e5507505
PH
168792010-05-05 Peter Hurley <No e-mail available> (tiny change)
16880
16881 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
16882 tables. Ignore non-last ac bit.
16883 (grub_jpeg_decode_quan_table): Likewise.
16884
7e720a9b
VS
168852010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16886
16887 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
16888 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
16889 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16890 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
16891 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
16892 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
16893
a7fc080b
VS
168942010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16895
16896 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
16897 error.
16898
2bf6012d
VS
168992010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16900
16901 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
16902
265d68cd
VS
169032010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
16904
16905 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
16906 condition.
16907
169082010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
16909
16910 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
16911 part.
16912
265d68cd 169132010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
16914
16915 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
16916 pointers.
16917
265d68cd 169182010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
16919
16920 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
16921
d1b61374
CF
169222010-05-01 Christian Franke <franke@computer.org>
16923
16924 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
16925 Remove broken Cygwin path conversion.
16926 * util/misc.c: [__CYGWIN__] Add include and define.
16927 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
16928 for Cygwin 1.7.
16929 (make_system_path_relative_to_its_root): Simplify loop, replace early
16930 return by break.
16931 [__CYGWIN__] Add conversion to win32 path.
16932 Include "/" case in trailing slash removal.
16933
3558c6e9
VS
169342010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16935
16936 * kern/main.c (grub_load_config): Fix copy-pasted comment.
16937 Reported by: Seth Goldberg
16938
f5f3ff93
VS
169392010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16940
16941 * commands/help.c (grub_cmd_help): Fix a typo.
16942 Reported by: Seth Goldberg
16943
d8b5cd40
VS
169442010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16945
16946 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
16947 name and add N_.
16948 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
16949 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
16950 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
16951 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
16952 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
16953 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
16954 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
16955 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
16956 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
16957 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
16958 * normal/context.c (GRUB_MOD_INIT): Likewise.
16959 * normal/main.c (GRUB_MOD_INIT): Likewise.
16960 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
16961 * term/serial.c (GRUB_MOD_INIT): Likewise.
16962 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
16963
88c14915
VS
169642010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16965
16966 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
16967 extra == 0.
16968
165134bc
VS
169692010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16970
16971 * commands/iorw.c: New file.
16972 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
16973 (iorw_mod_SOURCES): New variable.
16974 (iorw_mod_CFLAGS): Likewise.
16975 (iorw_mod_LDFLAGS): Likewise.
16976
c5ac9b32
VS
169772010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16978
16979 Hotkey support
16980
16981 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
16982 * normal/main.c (hotkey_aliases): New variable.
16983 (grub_normal_add_menu_entry): Parse "--hotkey".
16984 * normal/menu_text.c (run_menu): Handle hotkeys.
16985
ce60689c
VS
169862010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16987
16988 * kern/i386/coreboot/init.c (grub_machine_init): Call
16989 grub_machine_mmap_init on qemu.
16990
0359d006
VS
169912010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16992
16993 * boot/i386/qemu/boot.S: Add a missing .code16.
16994
7819a456
VS
169952010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16996
16997 Use LBIO on coreboot.
16998
16999 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
17000 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
17001 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
17002 New declaration.
17003 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
17004 grub_machine_mmap_init on coreboot.
17005 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
17006 GRUB_LINUXBIOS_MEMBER_LINK.
17007 (grub_machine_mmap_iterate): Fix declaration.
17008 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
17009
7210dca9
VS
170102010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17011
17012 Split coreboot and multiboot ports.
17013
17014 * conf/i386-multiboot.rmk: New file.
17015 * configure.ac: Add multiboot port.
17016 * include/grub/i386/multiboot/boot.h: New file.
17017 * include/grub/i386/multiboot/console.h: Likewise.
17018 * include/grub/i386/multiboot/init.h: Likewise.
17019 * include/grub/i386/multiboot/kernel.h: Likewise.
17020 * include/grub/i386/multiboot/loader.h: Likewise.
17021 * include/grub/i386/multiboot/memory.h: Likewise.
17022 * include/grub/i386/multiboot/serial.h: Likewise.
17023 * include/grub/i386/multiboot/time.h: Likewise.
17024 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
17025 * loader/multiboot.c: Likewise.
17026 * loader/multiboot_mbi2.c: Likewise.
17027 * util/grub-mkrescue.in: Generate multiboot rescue.
17028
6f8aaf68
VS
170292010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17030
3080f7a7
VS
17031 * kern/parser.c (grub_parser_execute): Cope with read-only config.
17032
170332010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17034
17035 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
17036
17037 * commands/terminal.c (abstract_terminal): New struct.
17038 (handle_command): New function. Based on grub_cmd_terminal_input.
17039 (grub_cmd_terminal_input): Use handle_command.
17040 (grub_cmd_terminal_output): Use handle_command.
17041
a8ebb841
BC
170422010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
17043
17044 Fix comment handling.
17045
17046 * tests/grub_script_comments.in: New testcase.
17047 * conf/tests.rmk: Rules for new testcase.
17048 * script/yylex.l: Updated flex rules.
17049
bb06ba08
ST
170502010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
17051
17052 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
17053 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
17054 if argc is 1.
bb06ba08 17055
cc9d2425
VS
170562010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
17057
17058 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
17059 autogen issues.
17060
460d8402
CF
170612010-04-26 Christian Franke <franke@computer.org>
17062
17063 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
17064 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
17065 (grub_get_prefix): Remove function.
17066 * util/grub-emu.c (main): Replace grub_get_prefix () call by
17067 make_system_path_relative_to_its_root ().
17068 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
17069
553c01f9
CF
170702010-04-24 Christian Franke <franke@computer.org>
17071
17072 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
17073 (kernel_img_LDFLAGS): Remove -static-libgcc.
17074
2aec1692
CF
170752010-04-24 Christian Franke <franke@computer.org>
17076
17077 * configure.ac: Do not CHECK_BSS_START_SYMBOL
17078 and CHECK_END_SYMBOL if grub-emu is built.
17079 Unset TARGET_OBJ2ELF if grub-emu is built
17080 without module support.
17081
f67dc308
JS
170822010-04-24 Jiro SEKIBA <jir@unicus.jp>
17083
17084 Nilfs2 support.
17085
17086 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
17087 (grub_fstest_SOURCES): Likewise.
17088 (pkglib_MODULES): Add nilfs2.mod.
17089 (nilfs2_mod_SOURCES): New variable.
17090 (nilfs2_mod_CFLAGS): Likewise.
17091 (nilfs2_mod_LDFLAGS): Likewise.
17092 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
17093 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
17094 * fs/nilfs2.c: New file.
17095
4ba8d354
VS
170962010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
17097
17098 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
17099 is not supported.
17100
0d2c20c6
GS
171012010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
17102
17103 Add grub-mkconfig support for NetBSD.
17104
17105 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
17106 * util/grub-mkconfig.in: export new NetBSD specific variables.
17107 * po/POTFILES-shell: added 10_netbsd.in.
17108 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
17109
bc4a2d83
BC
171102010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
17111
17112 Fix emu build with grub-emu-pci and grub-emu-modules.
17113
17114 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
17115 functions.
17116 * include/grub/libpciaccess.h: New file.
17117 * conf/any-emu.rmk: Update kernel headers for emu build.
17118
f48c87aa
VS
171192010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17120
17121 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
17122
18959385
VS
171232010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17124
17125 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
17126
0037de3f
VS
171272010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17128
17129 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
17130 Retrieve chosen/bootpath if bootpath isn't hardcoded.
17131 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
17132 util/ieee1275/ofpath.c.
17133 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
17134 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
17135 * include/grub/sparc64/ieee1275/boot.h
17136 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
17137 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
17138 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
17139 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
17140 const char *.
17141 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
17142 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
17143 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
17144 install.
17145
38e55e90
GS
171462010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
17147
17148 * util/grub-mkconfig.in: Corrected two == equality tests.
17149 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
17150 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
17151 expect a number appended to it.
17152 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
17153 expects a number appended to it.
17154
a9e6ff28
VS
171552010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17156
17157 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
17158
0b830b8f
VS
171592010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17160
17161 * util/hostdisk.c (make_device_name): Change to new partition naming.
17162
0973daeb
VS
171632010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
17164
17165 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
17166
460d8402 171672010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
17168
17169 * Makefile.in: Add missing localedir setting.
17170
0b456309
CW
171712010-04-14 Colin Watson <cjwatson@ubuntu.com>
17172
17173 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
17174 mistake in r2156. Noticed by Anthony Fok.
17175
17176 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
17177 @localedir@.
17178 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
17179
08f46d62
BC
171802010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
17181
17182 Fix a spurious, uninitialized variable warning.
17183
17184 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
17185 Initialize variable, shdr.
17186 (grub_freebsd_load_elfmodule): Likewise.
17187 (grub_freebsd_load_elf_meta): Likewise.
17188
8c4a72d4
BC
171892010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
17190
17191 Fix for escaped dollar in double quoted strings.
17192
17193 * script/yylex.l: Updated flex rules.
17194 * conf/tests.rmk: Rule for new testcase.
17195 * tests/grub_script_dollar.in: New testcase.
17196
ce44826e
CPE
171972010-04-13 Carles Pina i Estany <carles@pina.cat>
171982010-04-13 Colin Watson <cjwatson@ubuntu.com>
17199
17200 Enclose all translated strings in grub.cfg in single quotes, and
17201 escape them appropriately (Ubuntu bug #552921).
17202
17203 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
17204 * util/grub.d/10_hurd.in: Use it.
17205 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
17206 * util/grub.d/10_linux.in (linux_entry): Likewise.
17207
4b0cd8f8
VS
172082010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17209
17210 Fix cygwin compilation.
17211
17212 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
17213 * include/grub/misc.h (__register_frame_info)
17214 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
17215 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
17216 * kern/misc.c (__register_frame_info)
17217 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
17218 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
17219
01fcf061
VS
172202010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17221
17222 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
17223
5d04b11e
VS
172242010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17225
17226 Unify libgcc processing.
17227
17228 * Makefile.in (kernel_img_LDFLAGS): New variable.
17229 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
17230 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
17231 overwriting.
17232 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
17233 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
17234 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
17235 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
17236 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
17237 overwriting. Remove -lgcc and -static-libgcc
17238 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
17239 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
17240 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
17241 (kernel_img_LDFLAGS): Append instead of overwriting.
17242 Remove -lgcc and -static-libgcc
17243 * conf/sparc64-ieee1275.rmk: Likewise.
17244 * include/grub/powerpc/libgcc.h: Move to ...
17245 * include/grub/libgcc.h: .. this.
17246 * include/grub/libgcc.h: Don't export most of the function on x86.
17247 (__bswapsi2): New export.
17248 (__bswapdi2): Likewise.
17249 * include/grub/mips/libgcc.h: Removed.
17250 * include/grub/sparc64/libgcc.h: Likewise.
17251
b7f3ac29
VS
172522010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17253
17254 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
17255 disk_info_msg (conflicts with gettexting into languages with cases).
17256
2c7031b1
GS
172572010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
17258
17259 Add grub-probe support for NetBSD.
17260
17261 * util/getroot.c (find_root_device): Convert block device to
17262 character device on NetBSD.
17263 * util/probe.c (probe): Require character device on NetBSD.
17264 * util/hostdisk.c: NetBSD specific headers.
17265 (configure_device_driver): new function to tune device driver
17266 parameters (currently only for NetBSD floppy driver).
17267 (grub_util_biosdisk_open): NetBSD specific code (get disk size
17268 via disklabel ioctl).
17269 (open_device): call configure_device_driver on NetBSD.
17270 (convert_system_partition_to_system_disk): NetBSD specific code.
17271 (device_is_wholedisk): Likewise.
17272 (grub_util_biosdisk_get_grub_dev): Likewise.
17273 (make_device_name): Fixed a typo in bsd_part_str.
17274 * configure.ac: check for opendisk() and getrawpartition() on
17275 NetBSD and set LIBUTIL.
17276 * Makefile.in: add LIBUTIL to LIBS.
17277
f516290c
BC
172782010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
17279
17280 Documentation fix.
17281
17282 * util/grub-script-check.c: Better help message.
17283
d8dcc0df
BC
172842010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
17285
17286 Fix FreeBSD build.
17287
17288 * configure.ac: Flex version check.
17289 * conf/common.rmk: Add -Wno-error to sh.mod.
17290 * script/yylex.l: Remove all #pragma.
17291
6734334a
VS
172922010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17293
17294 * include/grub/util/misc.h (canonicalise_file_name): Add missing
17295 prototype.
17296 Reported by: Seth Goldberg.
17297
daea6abd
VS
172982010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17299
17300 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
17301 Rename "module" to "module2".
17302 Reported by: Seth Goldberg.
17303
f2fd9d2b
VS
173042010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17305
17306 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
17307 EXPORT_FUNC.
17308 Reported by: Seth Goldberg.
17309
be124579
VS
173102010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17311
17312 * lib/posix_wrap/locale.h: Add missing file.
17313 Reported by: Seth Goldberg.
17314
ef5da797
VS
173152010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17316
17317 grub-emu module load support.
17318
17319 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
17320 NO_DYNAMIC_MODULES switched to this.
17321 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
17322 (CFLAGS): Likewise.
17323 * conf/any-emu.rmk: Generate symlist.
17324 (kernel_img_HEADERS): Add util/datetime.h.
17325 (kernel_img_HEADERS) [sdl]: Add sdl.h.
17326 (kernel_img_HEADERS) [libusb]: Add libusb.h.
17327 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
17328 kern/$(target_cpu)/cache.S.
17329 * configure.ac (grub-emu-modules): New option.
17330 * genmk.rb: Handle multiple source lists.
17331 * include/grub/sdl.h: New file.
17332 * include/grub/libusb.h: Likewise.
17333 * util/grub-emu.c (main): Hanle (host) root.
17334 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
17335 GRUB_ERR_UNKNOWN_DEVICE.
17336 * util/misc.c: Move mm functions to ...
17337 * util/mm.c: ... here. All users updated.
17338
47822096
VS
173392010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17340
17341 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
17342 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
17343 missing files.
17344 (maintainer-clean): Remove libgcrypt-grub.
17345
5d7e7445
VS
173462010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17347
17348 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
17349
25f4e252
EC
173502010-04-09 EFI Coder <eficoder@hotmail.com>
17351
17352 * normal/menu_text.c (print_message): Clean up the message and show
17353 the Fn information when on EFI
17354 * term/efi/console.c (grub_console_checkkey): Add F4 support.
17355
027de555
VS
173562010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17357
17358 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
17359 All users updated.
17360 * normal/crypto.c (read_crypto_list): Likewise.
17361 * normal/dyncmd.c (read_command_list): Likewise.
17362 * normal/term.c (read_terminal_list): Likewise.
17363 * normal/main.c (read_lists): Use explicit prefix.
17364 (read_lists_hook): Use read_lists.
17365 (grub_normal_execute): Likewise.
17366
47779711
VS
173672010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17368
17369 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
17370 Reported by: Thomas Schmitt.
17371 Add -no-emul-boot to grub-mkisofs parameters.
17372
1118c32e
VS
173732010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17374
17375 * font/font.c: Indented.
17376
7d652447
BC
173772010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
17378
17379 Elif support to GRUB script (by Deepak Vankadaru).
17380
17381 * tests/grub_script_if.in: New testcase.
17382 * conf/tests.rmk: Rule for new testcase.
17383 * script/parser.y: Grammar rules for elif.
17384
34bb22df
BC
173852010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
17386
17387 While and until loops support to GRUB script.
17388
17389 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
17390 (grub_script_create_cmdwhile): New function prototype.
17391 (grub_script_execute_cmdwhile): New function prototype.
17392 * script/execute.c (grub_script_execute_cmdwhile): New function.
17393 * script/parser.y (command): New commands.
17394 (whilecmd): New grammar rule.
17395 (untilcmd): New grammar rule.
17396 * script/script.c (grub_script_create_cmdwhile): New function.
17397 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
17398 function.
17399
17400 * tests/grub_script_while1.in: New testcase.
17401 * conf/tests.rmk: Rule for new testcase.
17402
e215d8e0
VS
174032010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17404
17405 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
17406 as *.jpg.
17407
d7c43ba1
MV
174082010-04-09 Mario Vazquez <mariovazq@gmail.com>
17409
17410 GRUB_BACKGROUND support.
17411
17412 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
17413 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
17414
d64795c0
VS
174152010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17416
17417 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 17418 Idea by: Mario Vazquez
d64795c0
VS
17419
17420 * util/grub.d/00_header.in: Load pf2 and image modules.
17421
f267f83a
VS
174222010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17423
17424 grub-mkconfig multiple terminal support.
17425
17426 * util/grub-mkconfig.in: Handle multiple terminals correctly.
17427 * util/grub.d/00_header.in: Likewise.
17428
b7841ceb
VS
174292010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17430
17431 * Makefile.in: Specify files explicitly instead of using $< and $@ since
17432 we use cd $(srcdir).
17433
df60998c
CW
174342010-04-08 Colin Watson <cjwatson@ubuntu.com>
17435
17436 * util/grub.d/10_linux.in: Only use the first word of
17437 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
17438 spaces in GRUB_DISTRIBUTOR.
17439 * util/grub.d/10_kfreebsd.in: Likewise.
17440 * util/grub.d/10_hurd.in: Likewise.
17441
fa09c82e
BC
174422010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
17443
14e18ae3 17444 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
17445
17446 * tests/util/grub-shell.in: Remove -serial stdio option.
17447
daf892b3
BC
174482010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17449
17450 POSIX header file wrappers.
17451
17452 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
17453 equivalents.
17454 * lib/posix_wrap/ctype.h: Likewise.
17455 * lib/posix_wrap/errno.h: Likewise.
17456 * lib/posix_wrap/langinfo.h: Likewise.
17457 * lib/posix_wrap/limits.h: Likewise.
17458 * lib/posix_wrap/localcharset.h: Likewise.
17459 * lib/posix_wrap/stdint.h: Likewise.
17460 * lib/posix_wrap/stdio.h: Likewise.
17461 * lib/posix_wrap/stdlib.h: Likewise.
17462 * lib/posix_wrap/string.h: Likewise.
17463 * lib/posix_wrap/sys/types.h: Likewise.
17464 * lib/posix_wrap/unistd.h: Likewise.
17465 * lib/posix_wrap/wchar.h: Likewise.
17466 * lib/posix_wrap/wctype.h: Likewise.
17467 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
17468 (grub_script.yy.h): Likewise.
17469 * script/yylex.l: Remove POSIX emulation #defines.
17470 * Makefile.in (POSIX_CFLAGS): New variable.
17471 (GNULIB_UTIL_CFLAGS): Likewise.
17472
17473 Regexp support.
17474
17475 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
17476 (regexp_mod_SOURCES): New variable.
17477 (regexp_mod_CFLAGS): Likewise.
17478 (regexp_mod_LDFLAGS): Likewise.
17479 * commands/regexp.c: New file.
17480 * gnulib/regcomp.c: New file. Imported from gnulib.
17481 * gnulib/regex.c: Likewise.
17482 * gnulib/regex_internal.c: Likewise.
17483 * gnulib/regex_internal.h: Likewise.
17484 * gnulib/regexec.c: Likewise.
17485 * gnulib/regex.h: Likewise.
17486
974ac4f7
VS
174872010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17488
17489 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
17490 unsupported video mode types.
17491
2622c3ff
VS
174922010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17493
17494 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
17495
064cb524
VS
174962010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17497
17498 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
17499 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
17500
a8c3b552
VS
175012010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
17502
17503 Remove unused grub_vga_get_font.
17504
17505 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
17506 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
17507
187bbe3d
GS
175082010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
17509
17510 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
17511 * include/grub/misc.h: Likewise.
17512
b9396631
GS
175132010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
17514
17515 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
17516 for which failure is fatal.
17517
50479feb
GS
175182010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
17519
17520 * util/grub-install.in: Use mkdir -p to create grub directory.
17521 * util/i386/efi/grub-install.in: Likewise.
17522 * util/ieee1275/grub-install.in: Likewise.
17523
b1654fdf
GS
175242010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
17525
17526 * Makefile.in (LEX): new variable.
17527
bd5a6415
GS
175282010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
17529
17530 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
17531 `=' and added double quotes on operands of this equality test.
17532
3db3a82b
VS
175332010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
17534
17535 * Makefile.in (uninstall): Remove a leftover debug echo.
17536 Reported by: Grégoire Sutre
17537
38023412
VS
175382010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
17539
17540 MIPS multiboot2 support.
17541
17542 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
17543 (multiboot2_mod_SOURCES): New variable.
17544 (multiboot2_mod_CFLAGS): Likewise.
17545 (multiboot2_mod_LDFLAGS): Likewise.
17546 (multiboot2_mod_ASFLAGS): Likewise.
17547 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
17548 definition.
17549 (MULTIBOOT_ENTRY_REGISTER): Likewise.
17550 (MULTIBOOT_MBI_REGISTER): Likewise.
17551 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
17552 (MULTIBOOT_ELF32_MACHINE): Likewise.
17553 (MULTIBOOT_ELF64_MACHINE): Likewise.
17554 * include/grub/mips/multiboot.h: New file.
17555 * include/grub/video.h (grub_video_driver_id): New type
17556 GRUB_VIDEO_DRIVER_SM712.
17557 (grub_video_get_info_and_fini): Export.
17558 (grub_video_get_palette): Likewise.
17559 (grub_video_get_driver_id): Likewise.
17560 * include/multiboot2.h: Resynced with spec.
17561 * loader/i386/multiboot.c: Moved from here ...
17562 * loader/multiboot.c: ... here. All users updated.
17563 (grub_multiboot_boot): Use platform-specific macros.
17564 * loader/i386/multiboot_elfxx.c: Moved from here ...
17565 * loader/multiboot_elfxx.c: ... here. All users updated.
17566 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
17567 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
17568 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
17569
47674667
VS
175702010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17571
17572 Import gnulib argp module.
17573
17574 * gnulib/argp-ba.c: New file.
17575 * gnulib/argp-eexst.c: Likewise.
17576 * gnulib/argp-fmtstream.c: Likewise.
17577 * gnulib/argp-fmtstream.h: Likewise.
17578 * gnulib/argp-fs-xinl.c: Likewise.
17579 * gnulib/argp-help.c: Likewise.
17580 * gnulib/argp-namefrob.h: Likewise.
17581 * gnulib/argp-parse.c: Likewise.
17582 * gnulib/argp-pin.c: Likewise.
17583 * gnulib/argp-pv.c: Likewise.
17584 * gnulib/argp-pvh.c: Likewise.
17585 * gnulib/argp-version-etc.c: Likewise.
17586 * gnulib/argp-version-etc.h: Likewise.
17587 * gnulib/argp-xinl.c: Likewise.
17588 * gnulib/argp.h: Likewise.
17589
495442ed
VS
175902010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
17591
17592 * kern/device.c (grub_device_iterate): Clear errors after failed
17593 opening device.
17594
f9fd65df
VS
175952010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
17596
17597 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
17598 returned by firmware.
17599
af09641e
VS
176002010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17601
17602 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
17603 compilation on coreboot and qemu
17604
016883a5
VS
176052010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
17606
17607 * include/multiboot2.h: Resync with spec.
17608
f97e1f7d
VS
176092010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
17610
17611 Multiboot2 tag support
17612
17613 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
17614 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
17615 Remove loader/multiboot_loader.c.
17616 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
17617 (grub_multiboot2_real_boot): Likewise.
17618 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
17619 (grub_get_multiboot_mmap_count): New proto.
17620 (grub_fill_multiboot_mmap): Likewise.
17621 (grub_multiboot_set_video_mode): Likewise.
17622 (grub_multiboot_set_console): Likewise.
17623 (grub_multiboot_load): Likewise.
17624 (grub_multiboot_load_elf): Likewise.
17625 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
17626 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
17627 * include/multiboot.h: Resynced with specification.
17628 * include/multiboot2.h: Resynced with specification.
17629 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
17630 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
17631 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
17632 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
17633 users updated.
17634 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
17635 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
17636 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
17637 Removed.
17638 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
17639 Moved from here...
17640 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
17641 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
17642 Moved from here...
17643 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
17644 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
17645 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
17646 All users updated.
17647 * loader/i386/multiboot_mbi2.c: New file.
17648
3506b90b
VS
176492010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
17650
17651 Resync with gnulib.
17652
17653 * Makefile.in (GNULIB_CFLAGS): New variable.
17654 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
17655 (grub_script_check_CFLAGS): New variable.
17656 * gnulib/alloca.h: Resync with gnulib.
17657 * gnulib/error.c: Likewise.
17658 * gnulib/error.h: Likewise.
17659 * gnulib/fnmatch.c: Likewise.
17660 * gnulib/fnmatch_loop.c: Likewise.
17661 * gnulib/getdelim.c: Likewise.
17662 * gnulib/getline.c: Likewise.
17663 * gnulib/getopt.c: Likewise.
17664 * gnulib/getopt1.c: Likewise.
17665 * gnulib/getopt_int.h: Likewise.
17666 * gnulib/gettext.h: Likewise.
17667 * gnulib/progname.c: Likewise.
17668 * gnulib/progname.h: Likewise.
17669
394a3120
GS
176702010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
17671
17672 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
17673 which is the case with --disabled-nls.
17674
17675 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
17676 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
17677 * util/misc.c: Likewise.
17678 * util/mkisofs/mkisofs.c: Likewise.
17679 * util/mkisofs/mkisofs.h: Likewise.
17680
969d1c78
VS
176812010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
17682
17683 Simplify Apple CC support.
17684
17685 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
17686 Add 0 byte at the end not to have a symbol with empty target.
17687 * mmap/i386/pc/mmap_helper.S: Likewise.
17688 * genmk.rb: Ignore errors 2030 and 2050.
17689 * kern/i386/pc/startup.S: Use LOCAL when possible.
17690
8d2977bb
BC
176912010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
17692
17693 Testcase and the fix for final semicolon on cmdline.
17694
17695 * tests/grub_script_final_semicolon.in: New testcase.
17696 * conf/tests.rmk: Rules for the new testcase.
17697 * script/parser.y: Grammar fix.
17698
a7bd6915
BC
176992010-03-26 BVK Chaitanya <bvk@localhost>
17700
17701 Blank lines testcase for GRUB script.
17702
17703 * tests/grub_script_blanklines.in: New testcase.
17704 * conf/tests.rmk: Rules for the new testcase.
17705
e4ff6628
VS
177062010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17707
17708 Don't use __FILE__.
17709
17710 * genmk.rb: Add -DGRUB_FILE to all C targets.
17711 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
17712 * include/grub/list.h: Likewise.
17713 * include/grub/misc.h: Likewise.
17714 * include/grub/mm.h: Likewise.
17715 * include/grub/test.h: Likewise.
17716 * kern/mm.c: Likewise.
17717 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
17718
6a5cf6b6
VS
177192010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17720
17721 Sunpc partitions support.
17722
17723 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
17724 (grub_fstest_SOURCES): Likewise.
17725 (pkglib_MODULES): Add part_sunpc.mod.
17726 (part_sunpc_mod_SOURCES): New variable.
17727 (part_sunpc_mod_CFLAGS): Likewise.
17728 (part_sunpc_mod_LDFLAGS): Likewise.
17729 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
17730 * partmap/sunpc.c: New file.
17731
746d9045
BC
177322010-03-26 BVK Chaitanya <bvk@localhost>
17733
17734 For loop support to GRUB script.
17735
17736 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
17737 (grub_script_create_cmdfor): New function prototype.
17738 (grub_script_execute_cmdfor): New function prototype.
17739 * script/execute.c (grub_script_execute_cmdfor): New function.
17740 * script/parser.y (command): New for command.
17741 (forcmd): New grammar rule.
17742 * script/script.c (grub_script_create_cmdfor): New function.
17743 * util/grub-script-check.c (grub_script_execute_cmdfor): New
17744 function.
17745 * tests/grub_script_for1.in: New testcase.
17746 * conf/tests.rmk: Rules for new testcase.
17747
18486b18
VS
177482010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17749
17750 Nested partitions
17751
17752 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
17753 'partition' is NULL, grub_partition_get_start already does that.
17754 * commands/loadenv.c (check_blocklists): Likewise.
17755 (write_blocklists): Likewise.
17756 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
17757 (grub_fstest_SOURCES): Likewise.
17758 (pkglib_MODULES): Add part_bsd.mod.
17759 (part_bsd_mod_SOURCES): New variable.
17760 (part_bsd_mod_CFLAGS): Likewise.
17761 (part_bsd_mod_LDFLAGS): Likewise.
17762 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
17763 (grub_emu_SOURCES): Likewise.
17764 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17765 * include/grub/bsdlabel.h: New file.
17766 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
17767 'get_name'.
17768 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
17769 (grub_partition_map_list): New variable.
17770 (grub_partition_map_register): Inline.
17771 (grub_partition_map_unregister): Likewise.
17772 (FOR_PARTITION_MAPS): New macro.
17773 (grub_partition_map_iterate): Removed.
17774 (grub_partition_get_start): Handle nested partitions.
17775 * include/grub/msdos_partition.h: Remove bsd-related entries.
17776 (grub_pc_partition): Remove.
17777 * kern/disk.c (grub_disk_close): Free partition data.
17778 (grub_disk_adjust_range): Handle nested partitions.
17779 * kern/partition.c (grub_partition_map_probe): New function.
17780 (grub_partition_probe): Parse name to number, handle subpartitions.
17781 (get_partmap): New function.
17782 (grub_partition_iterate): Handle subpartitions.
17783 (grub_partition_get_name): Likewise.
17784 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
17785 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
17786 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
17787 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
17788 Set 'number'.
17789 (acorn_partition_map_probe): Remove.
17790 (acorn_partition_map_get_name): Likewise.
17791 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
17792 Set 'number'.
17793 Set 'index' to 0 since there can be only one partition entry per sector.
17794 (amiga_partition_map_probe): Remove.
17795 (amiga_partition_map_get_name): Likewise.
17796 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
17797 Set 'number'.
17798 Set 'offset' and 'index' to real positions of partitions.
17799 (apple_partition_map_probe): Remove.
17800 (apple_partition_map_get_name): Likewise.
17801 * partmap/bsdlabel.c: New file.
17802 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
17803 Set 'number'.
17804 Allocate 'data' so it can be correctly freed.
17805 Set 'index' to offset inside sector.
17806 (gpt_partition_map_probe): Remove.
17807 (gpt_partition_map_get_name): Likewise.
17808 * partmap/msdos.c (grub_partition_parse): Remove.
17809 (pc_partition_map_iterate): Don't force raw access.
17810 Set 'number'.
17811 Make 'ext_offset' a local variable.
17812 (pc_partition_map_probe): Remove.
17813 (pc_partition_map_get_name): Remove.
17814 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
17815 Set 'number'.
17816 (sun_partition_map_probe): Remove.
17817 (sun_partition_map_get_name): Likewise.
17818 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
17819 (grub_pcpart_type): Likewise.
17820 * util/hostdisk.c (open_device): Handle new numbering scheme.
17821 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
17822 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
17823 * util/grub-probe.c (probe_partmap): Handle nested paritions.
17824 * util/grub-install.in: Insert all subpartition modules.
17825 * util/ieee1275/grub-install.in: Likewise.
17826
a3940f88
AG
178272010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
17828
17829 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
17830 grammar.
17831
21b99926 178322010-03-24 Colin Watson <cjwatson@ubuntu.com>
17833
17834 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
17835
bed1d352
CW
178362010-03-21 Colin Watson <cjwatson@ubuntu.com>
17837
17838 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
17839 match where 'make install' puts them.
17840 * util/i386/efi/grub-install.in: Likewise.
17841
c9f58427
CW
178422010-03-19 Colin Watson <cjwatson@ubuntu.com>
17843
17844 * .bzrignore: Add gentrigtables, grub-script-check,
17845 grub_script_check_init.c, grub_script_check_init.h, and
17846 trigtables.c.
17847
f84afb27
VS
178482010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
17849
17850 * kern/parser.c: Indented.
17851
ed0e3d30
VS
178522010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
17853
17854 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
17855
0ea81d98
VS
178562010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
17857
17858 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
17859 alpha_mask_size == 0 case.
17860
0cdc2a09
BC
178612010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
17862
17863 GRUB shell lexer and parser improvements.
17864
17865 * conf/any-emu.rmk: Build rule updates.
17866 * conf/common.rmk: Likewise.
17867 * conf/i386-coreboot.rmk: Likewise.
17868 * conf/i386-efi.rmk: Likewise.
17869 * conf/i386-ieee1275.rmk: Likewise.
17870 * conf/i386-pc.rmk: Likewise.
17871 * conf/powerpc-ieee1275.rmk: Likewise.
17872 * conf/x86_64-efi.rmk: Likewise.
17873
17874 * configure.ac: Configure check for flex.
17875
17876 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
17877 types.
17878 (grub_lexer_param): Struct member updates.
17879 (grub_parser_param): Likewise.
17880 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
17881 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
17882 (grub_script_lexer_init): Prototype update.
17883 (grub_script_lexer_record_start): Likewise.
17884 (grub_script_lexer_record_stop): Likewise.
17885 (grub_script_lexer_yywrap): New function prototype.
17886 (grub_script_lexer_fini): Likewise.
17887 (grub_script_execute_argument_to_string): Removed by...
17888 (grub_script_execute_argument_to_argv): ...better version.
17889
17890 * script/execute.c (ROUND_UPTO): New macro.
17891 (grub_script_execute_cmdline): Out of memory fixes.
17892 (grub_script_execute_menuentry): Likewise.
17893 (grub_script_execute_argument_to_string): Removed. Update all
17894 users by...
17895 (grub_script_execute_argument_to_argv): ...better version.
17896 * script/function.c (grub_script_function_create): Use
17897 grub_script_execute_argument_to_argv instead of
17898 grub_script_execute_argument_to_string.
17899
17900 * script/lexer.c (check_varstate): Removed.
17901 (check_textstate): Removed.
17902 (grub_script_lexer_record_start): Likewise.
17903 (grub_script_lexer_record_stop): Likewise.
17904 (recordchar): Replaced with...
17905 (grub_script_lexer_record): ...new function.
17906 (nextchar): Removed.
17907 (grub_script_lexer_init): Rewritten.
17908 (grub_script_yylex): Rewritten.
17909 (append_newline): New function.
17910 (grub_script_lexer_yywrap): New function.
17911 (grub_script_lexer_fini): New function.
17912 (grub_script_yyerror): Sets error flag.
17913
17914 * script/yylex.l: New file.
17915 (grub_lexer_yyfree): Wrapper for flex yyffre.
17916 (grub_lexer_yyalloc): Likewise.
17917 (grub_lexer_yyrealloc): Likewise.
17918 * script/parser.y: Refactored.
17919
17920 * script/script.c (grub_script_arg_add): Out of memory fixes.
17921 (grub_script_add_arglist): Likewise.
17922 (grub_script_create_cmdline): Likewise.
17923 (grub_script_create_cmdmenu): Likewise.
17924 (grub_script_add_cmd): Likewise.
17925 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
17926 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
17927 unnecessary code.
17928
17929 * tests/grub_script_echo1.in: New testcase.
17930 * tests/grub_script_vars1.in: New testcase.
17931 * tests/grub_script_echo_keywords.in: New testcase.
17932
1d63a066
VS
179332010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17934
17935 Remove some redundancy in build system.
17936
17937 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
17938 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
17939 (TARGET_LDFLAGS): Add -nostdlib.
17940 (TARGET_IMG_LDFLAGS): Likewise.
17941 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
17942 anything since mmap isn't available.
17943 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
17944 Add util/time.c.
17945 (pkglib_MODULES): Remove reboot.mod.
17946 (reboot_mod_SOURCES): Removed.
17947 (reboot_mod_CFLAGS): Likewise.
17948 (reboot_mod_LDFLAGS): Likewise.
17949 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
17950 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
17951 (DEFSYMFILES): Add kernel_syms.lst.
17952 (kernel_img_HEADERS): Add common headers.
17953 (symlist.c): New target.
17954 (kernel_syms.lst): Likewise.
17955 (pkglib_MODULES): Add memdisk.mod.
17956 (memdisk_mod_SOURCES): New variable.
17957 (memdisk_mod_CFLAGS): Likewise.
17958 (memdisk_mod_LDFLAGS): Likewise.
17959 (pkglib_MODULES): Add reboot.mod.
17960 (reboot_mod_SOURCES): New variable.
17961 (reboot_mod_CFLAGS): Likewise.
17962 (reboot_mod_LDFLAGS): Likewise.
17963 (pkglib_MODULES): Add date.mod.
17964 (date_mod_SOURCES): New variable.
17965 (date_mod_CFLAGS): Likewise.
17966 (date_mod_LDFLAGS): Likewise.
17967 (pkglib_MODULES): Add datehook.mod.
17968 (datehook_mod_SOURCES): New variable.
17969 (datehook_mod_CFLAGS): Likewise.
17970 (datehook_mod_LDFLAGS): Likewise.
17971 (pkglib_MODULES): Add lsmmap.mod.
17972 (lsmmap_mod_SOURCES): New variable.
17973 (lsmmap_mod_CFLAGS): Likewise.
17974 (lsmmap_mod_LDFLAGS): Likewise.
17975 (pkglib_MODULES): Add boot.mod.
17976 (boot_mod_SOURCES): New variable.
17977 (boot_mod_CFLAGS): Likewise.
17978 (boot_mod_LDFLAGS): Likewise.
17979 * conf/i386-coreboot.rmk: Removed redundant parts.
17980 * conf/i386-ieee1275.rmk: Likewise.
17981 * conf/i386-pc.rmk: Likewise.
17982 * conf/mips-yeeloong.rmk: Likewise.
17983 * conf/mips.rmk: Likewise.
17984 * conf/powerpc-ieee1275.rmk: Likewise.
17985 * conf/sparc64-ieee1275.rmk: Likewise.
17986 * conf/x86_64-efi.rmk: Likewise.
17987 * conf/i386-coreboot.rmk: Moved qemu parts ..
17988 * conf/i386-qemu.rmk: ... here
17989 * conf/i386-efi.rmk: Moved common parts to...
17990 * conf/x86-efi.rmk: ... here.
17991 * conf/i386.rmk: Added modules common to all x86 variants.
17992 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
17993 * disk/memdisk.c: Remove grub/machine/kernel.h.
17994 * gensymlist.sh.in: Include symbol.h.
17995 * hook/datehook.c: Correct module name.
17996 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
17997 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
17998 * include/grub/i386/efi/serial.h: New file.
17999 * include/grub/x86_64/efi/serial.h: Likewise.
18000 * util/time.c: Likewise.
18001 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
18002
463ac55f
CK
180032010-03-14 Colin King <colin.king@ubuntu.com>
180042010-03-14 Colin Watson <cjwatson@ubuntu.com>
18005
18006 Shrink the pre-partition-table part of boot.img by eight bytes.
18007
18008 * boot/i386/pc/boot.S (ERR): New macro.
18009 (chs_mode): Use ERR.
18010 (geometry_error): Likewise.
18011 (hd_probe_error): Remove. This is only used once, so we wrwite
18012 it inline instead.
18013 (read_error): Instead of printing read_error_string, just set up
18014 %si and fall through to ...
18015 (error_message): ... this new function, also used by ERR.
18016
08e46ede
CW
180172010-03-14 Colin Watson <cjwatson@ubuntu.com>
18018
18019 Speed up consecutive hostdisk operations on the same device.
18020
18021 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
18022 (grub_util_biosdisk_open): Initialise disk->data.
18023 (struct linux_partition_cache): New structure.
18024 (linux_find_partition): Cache partition start positions; these are
18025 expensive to compute on every read and write.
18026 (open_device): Cache open file descriptor in disk->data, so that we
18027 don't have to reopen it and flush the buffer cache for consecutive
18028 operations on the same device.
18029 (grub_util_biosdisk_close): New function.
18030 (grub_util_biosdisk_dev): Set `close' member.
18031
18032 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
18033 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
18034 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18035 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
18036 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
18037
4a6d2d06
VS
180382010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18039
18040 Compile parts of grub-emu as modules.
18041
18042 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
18043 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
18044 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
18045 (all-local): Add $(GRUB_EMU).
18046 (install-local): Install $(GRUB_EMU).
18047 (uninstall): Uninstall $(GRUB_EMU).
18048 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
18049 * kern/dl.c: Likewise.
18050 * commands/sleep.c: Not include machine/time.h.
18051 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
18052 (COMMON_CFLAGS): Likewise.
18053 (sbin_UTILITIES): Remove grub-emu.
18054 (grub_emu_SOURCES): Removed.
18055 (kernel_img_RELOCATABLE): New variable.
18056 (pkglib_PROGRAMS): Add kernel.img.
18057 (kernel_img_SOURCES): New variable
18058 (kernel_img_CFLAGS): Likewise.
18059 (kernel_img_LDFLAGS): Likewise.
18060 (TARGET_NO_STRIP): Likewise.
18061 (TARGET_NO_DYNAMIC_MODULES): Likewise.
18062 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
18063 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
18064 (grub-emu): New target.
18065 (GRUB_EMU): New variable.
18066 * configure.ac: Whitelist -emu as possible x86_64 architecture.
18067 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
18068 * loader/xnu.c: Likewise.
18069 * include/grub/pci.h: Likewise.
18070 * genemuinit.sh: New file.
18071 * genemuinitheader.sh: Likewise.
18072 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
18073 Support TARGET_NO_DYNAMIC_MODULES.
18074 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
18075 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
18076 * disk/loopback.c: Likewise.
18077 * font/font_cmd.c: Likewise.
18078 * partmap/acorn.c: Likewise.
18079 * partmap/amiga.c: Likewise.
18080 * partmap/apple.c: Likewise.
18081 * partmap/gpt.c: Likewise.
18082 * partmap/msdos.c: Likewise.
18083 * partmap/sun.c: Likewise.
18084 * parttool/msdospart.c: Likewise.
18085 * term/gfxterm.c: Likewise.
18086 * video/bitmap.c: Likewise.
18087 * video/readers/jpeg.c: Likewise.
18088 * video/readers/png.c: Likewise.
18089 * video/readers/tga.c: Likewise.
18090 * video/video.c: Likewise.
18091 * util/grub-emu.c (read_command_list): Removed.
18092 (main): Don't call util_init_nls.
18093 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
18094 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
18095
91fdd2ed
VS
180962010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18097
18098 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
18099 date.mod, datehook.mod.
18100 (datetime_mod_SOURCES): New variable.
18101 (datetime_mod_CFLAGS): Likewise.
18102 (datetime_mod_LDFLAGS): Likewise.
18103 (date_mod_SOURCES): Likewise.
18104 (date_mod_CFLAGS): Likewise.
18105 (date_mod_LDFLAGS): Likewise.
18106 (datehook_mod_SOURCES): Likewise.
18107 (datehook_mod_CFLAGS): Likewise.
18108 (datehook_mod_LDFLAGS): Likewise.
18109 * conf/sparc64-ieee1275.rmk: Likewise.
18110 * lib/ieee1275/datetime.c: New file.
18111
873ccae6
VS
181122010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18113
18114 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
18115 (ieee1275_fb_mod_SOURCES): New variable.
18116 (ieee1275_fb_mod_CFLAGS): Likewise.
18117 (ieee1275_fb_mod_LDFLAGS): Likewise.
18118 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
18119 New proto.
18120 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
18121 (HEAP_MAX_ADDR): Likewise.
18122 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
18123 type.
18124 Correct stop condition.
18125 (grub_ieee1275_devices_iterate): New function.
18126 * video/ieee1275.c: New file.
18127
601c97c0
VS
181282010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18129
18130 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
18131
18132 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
18133 as scratch.
18134 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
18135 SCRATCH_PAD_DISKBOOT as scratch.
18136 (bootit): Pass Openfirmware pointer in %o4.
18137 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
18138 of 0x200000.
18139 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
18140 with util/grub-mkrawimage.c.
18141 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
18142 * include/grub/aout.h (AOUT_MID_SUN): New definition.
18143 (grub_aout_get_type) [GRUB_UTIL]: Removed.
18144 (grub_aout_load) [GRUB_UTIL]: Likewise.
18145 * include/grub/kernel.h (grub_modules_get_end): New proto.
18146 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
18147 (SCRATCH_PAD_BOOT): New definition.
18148 (SCRATCH_PAD_DISKBOOT): Likewise.
18149 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
18150 * include/grub/sparc64/ieee1275/ieee1275.h
18151 (grub_ieee1275_original_stack): New variable
18152 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
18153 New definition
18154 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
18155 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
18156 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
18157 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
18158 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
18159 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
18160 (grub_platform_image_format_t): New type.
18161 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
18162 * kern/main.c (grub_modules_get_end)
18163 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
18164 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
18165 (codestart): Switch stacks.
18166 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
18167 variable.
18168 (grub_heap_init): Use grub_modules_get_end.
18169 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
18170 stack.
18171 * util/grub-mkrawimage.c (generate_image): Support sparc64.
18172 (main): Likewise.
18173 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
18174
d68b491e
TG
181752010-03-14 Thorsten Glaser <tg@mirbsd.org>
18176
18177 * util/grub-mkrescue.in: Base ISO UUID on UTC.
18178
4e02ed50
MK
181792010-03-08 Matt Kraai <kraai@ftbfs.org>
18180
18181 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
18182 bug #559005).
18183
1f15fc1e
VS
181842010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
18185
18186 * genmoddep.awk: Output all missing symbols and not only first.
18187
fce5d8ff
VS
181882010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18189
18190 * NEWS: Put the date of 1.98 release.
18191
d1e8a02f
VS
181922010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18193
18194 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
18195 ft2build.h.
18196
696fd607
VS
181972010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18198
18199 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
18200 completition in the middle of string.
18201
33e2e6f3
VS
182022010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18203
18204 * util/grub-mkrescue.in: Use mktemp with explicit template.
18205
b1f6d291
VS
182062010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18207
18208 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
18209
2ac227c7
VS
182102010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18211
18212 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
18213 right pointer.
18214
8f9a632b
VS
182152010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
18216
18217 Fix FreeBSD compilation.
18218
18219 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
18220 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
18221
60b03859
VS
182222010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
18223
18224 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
18225
48a5a769
VS
182262010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18227
18228 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
18229
3ab4bd77
VS
182302010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18231
18232 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
18233
d116e0d8
RM
182342010-03-04 Robert Millan <rmh.grub@aybabtu.com>
18235
18236 Support relative image path in theme file.
18237
18238 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
18239 (image_set_property): Handle theme_dir and relative path.
18240
c7ef54aa
VS
182412010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18242
18243 * configure.ac: Alias amd64 to x86_64.
18244
fcee14ed
VS
182452010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18246
18247 * NEWS: mention multiboot on EFI.
18248
d0780363
VS
182492010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18250
18251 * kern/main.c (grub_load_modules): Handle errors from init functions of
18252 embeded modules.
18253
41168ea4
VS
182542010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18255
18256 * normal/autofs.c (autoload_fs_module): Handle errors.
18257
b54d93ac
VS
182582010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18259
18260 Disable linux.mod on qemu-mips since it's not functional and leads
18261 to compilation failure.
18262
18263 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
18264 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
18265 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
18266 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
18267 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
18268 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
18269 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
18270 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
18271 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
18272 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
18273 Reported by: BVK Chaitanya
18274
fc8345da
JU
182752010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
18276
18277 * INSTALL: Add gettext as a dependency and add qemu to a new section
18278 "Prerequisites for make-check".
18279
4760f979
CF
182802010-03-04 Christian Franke <franke@computer.org>
18281
18282 * util/grub-pe2elf.c: Add missing include "progname.h".
18283
f209b5b2
VS
182842010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18285
18286 * normal/crypto.c (read_crypto_list): Fix a typo.
18287 Reported by: Seth Goldberg.
18288
b4b7be98
VS
182892010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18290
18291 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 18292 Reported by: Seth Goldberg.
b4b7be98 18293
c0ee0385
VS
182942010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18295
18296 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
18297 ascii.bitmaps.
18298
a8efbf64
VS
182992010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18300
18301 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 18302 Reported by: Seth Goldberg.
a8efbf64 18303
08dcd913
VS
183042010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18305
18306 * util/i386/efi/grub-install.in: Copy gettext files.
18307
c4d0b332
VS
183082010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18309
18310 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
18311
c6f2fe52
VS
183122010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18313
18314 Wait for user entry basing on presence of output rather than on errors.
18315
18316 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
18317 (grub_install_newline_hook): Likewise.
18318 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
18319 * normal/menu.c (show_menu): Check line_counter to determine presence
18320 of output.
18321 * normal/term.c (grub_normal_line_counter): New variable.
18322 (grub_normal_get_line_counter): New function.
18323 (grub_install_newline_hook): Likewise.
18324
5382b1e4
VS
183252010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18326
18327 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
18328
5519963b
VS
183292010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18330
18331 * configure.ac: Update version to 1.98.
18332
72b28631
VS
183332010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
18334
18335 * util/grub.d/10_linux.in (linux_entry): Don't default to
18336 gfxpayload=keep if Linux doesn't support video handover.
18337
c140a180
VS
183382010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
18339
18340 Don't compile video modules on yeeloong since video subsystem is part
18341 of kernel.
18342
18343 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
18344 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
18345 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
18346 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
18347 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
18348 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
18349 * include/grub/bitmap_scale.h: Likewise.
18350 * include/grub/bufio.h: Likewise.
18351 * include/grub/font.h: Likewise.
18352 * include/grub/gfxterm.h: Likewise.
18353 * include/grub/video.h: Likewise.
18354 * include/grub/vbe.h: Don't include video_fb.h.
18355 * video/i386/pc/vbe.c: Include video_fb.h.
18356 * commands/i386/pc/vbetest.c: Include video.h.
18357
a0ca21c2
CW
183582010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
18359
18360 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
18361 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
18362 default entry if GRUB_SAVEDEFAULT=true. This allows using
18363 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
18364 saving a new default on every boot.
18365
4a8a763c
VS
183662010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
18367
18368 * normal/crypto.c (read_crypto_list): Fix a memory leak.
18369 * normal/term.c (read_terminal_list): Likewise.
18370 * normal/main.c (grub_normal_init_page): Likewise.
18371 (grub_normal_read_line_real): Likewise.
18372
607ffde2
VS
183732010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
18374
18375 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
18376 memory leak.
18377 Reported by: Seth Goldberg.
18378
2b8fa975
CW
183792010-02-24 Joey Korkames <joey+lists@kidfixit.com>
18380
18381 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
18382 duplicate declaration of `start'.
18383
618307dd
VS
183842010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
18385
18386 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
18387 filename.
18388 Reported by: Georgy Buranov
18389
7dd05b96 183902010-02-20 Carles Pina i Estany <carles@pina.cat>
18391
18392 * util/grub-mkrawimage.c (usage): Change string formatting to
18393 improve gettext.
18394
d1484a42
MRA
183952010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
18396
18397 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
18398 backspace keys.
18399
42b1d186
VS
184002010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
18401
18402 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
18403 Reported by: Michael Suchanek.
18404
184052010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
18406
18407 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
18408 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
18409
d9f31a41
VS
184102010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
18411
18412 Remove any reference to non-free fonts.
18413
18414 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
18415 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
18416 uses non-free components.
18417 * font/font.c (grub_font_get_name): Remove example name.
18418 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
18419 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
18420 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
18421 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
18422
2793c71e
GB
184232010-02-16 Georgy Buranov <gburanov@gmail.com>
18424
18425 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
18426
402e3779
VS
184272010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
18428
18429 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
18430 Double divisor.
18431 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
18432 features.
18433 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
18434
0dd1e0dd
VS
184352010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
18436
18437 * gensymlist.sh.in: Use TARGET_CC instead of CC.
18438
6fa7cfce
ST
184392010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
18440
18441 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
18442 * docs/grub.texi (Command-line and menu entry commands): Document play
18443 command.
18444
37c8483b
ST
184452010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
18446
18447 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
18448 parse arguments as inline tempo and notes. Move code for playing notes
18449 to...
18450 (play): ... new function.
18451
14da0fb7
ST
184522010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
18453
18454 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
18455 grub_uint16_t instead of short.
18456 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
18457 disk from little endian to cpu endianness.
18458
04459e70
ST
184592010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
18460
18461 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
18462 GRUB_TICKS_PER_SECOND instead of 120.
18463
a0876943
VS
184642010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18465
18466 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
18467 escape sequence after \e.
18468
e29f95dc
VS
184692010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18470
18471 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
18472 non-ASCII characters.
18473
d27859b2
VS
184742010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18475
18476 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
18477 set root in single quotes to prevent \, from being unescaped.
18478
bc028f2f
VS
184792010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18480
18481 Prevent unknown commands from stopping menuentry execution.
18482
18483 * script/execute.c (grub_script_execute_cmdline): Print error after
18484 unknown command.
18485
095f5f82
VS
184862010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18487
18488 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
18489 Reported by: Pavel Pisa.
18490
8c717950
VS
184912010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18492
18493 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
18494
904935c3
VS
184952010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18496
18497 Merge grub_ieee1275_map_physical into grub_map and rename to
18498 grub_ieee1275_map
18499
18500 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
18501 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
18502 Remove.
18503 * kern/ieee1275/openfw.c (grub_map): Rename to ...
18504 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
18505 necessary.
18506 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
18507
5b59a4e3
VS
185082010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18509
18510 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
18511 opening and not after.
18512
69e137e8
VS
185132010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18514
18515 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
18516 constants.
18517
2c0fcc36
VS
185182010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18519
18520 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
18521 (alloc_phys): Use ALIGN_UP instead of align_addr.
18522
8c6052ce
VS
185232010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18524
18525 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
18526
17cec782
VS
185272010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18528
18529 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
18530
e0128bbd
VS
185312010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18532
18533 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
18534 verbose dprintf.
18535
ca62070b
VS
185362010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18537
18538 Fix over-4GiB seek on sparc64.
18539
18540 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
18541 Replace pos_i and pos_lo with pos. All users updated.
18542 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
18543 New constant.
18544 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
18545 Likewise.
18546 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
18547 and pos_lo.
18548
bdca2607
VS
185492010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18550
18551 * util/grub-mkrawimage.c (main): Call set_program_name.
18552
da278c4d
VS
185532010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18554
18555 Properly align 64-bit targets.
18556
18557 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
18558 (generate_image): Use ALIGN_ADDR.
18559
b274d734
VS
185602010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18561
18562 Properly create cross-endian images.
18563
18564 * include/grub/types.h (grub_host_to_target_addr): New macro
18565 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
18566
82da2062
VS
185672010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18568
18569 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
18570
7cae4377
VS
185712010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
18572
18573 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
18574
18575 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
18576 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
18577 (grub_linux_boot): Divide by 64K when on VESA.
18578
65a533e7
VS
185792010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
18580
18581 Support GRUB_GFXPAYLOAD_LINUX.
18582
18583 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
18584 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
18585
dd01d397
VS
185862010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
18587
18588 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
18589 to show messages instead of discarding them.
18590 Process errors after executing command and not before. Keep old method
18591 too as precaution.
18592
660960d6
VS
185932010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
18594
18595 * configure.ac: Check for ft2build.h.
18596
62509f04
VS
185972010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18598
18599 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
18600
473df63d
VS
186012010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18602
18603 * genkernsyms.sh.in: Use TARGET_CC.
18604
c98d2a13
CW
186052010-02-07 Colin Watson <cjwatson@ubuntu.com>
18606
18607 * NEWS: Update.
18608
6e14234c
VS
186092010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18610
18611 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
18612 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
18613 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 18614
b255e9cf
YB
186152010-02-07 Yves Blusseau <blusseau@zetam.org>
18616
6e14234c 18617 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 18618
98e6959d
VS
186192010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18620
18621 Fix warnings in grub-emu when compiling with maximum warning options.
18622
18623 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
18624 (grub_arch_modules_addr): Return 0 and not NULL.
18625 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 18626 (xstrdup): Use newstr instead of dup.
f88d801b
VS
18627 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
18628 of disk to dsk to avoid shadowing.
74e4934e
VS
18629 (find_free_slot): Fix prototype.
18630 * util/getroot.c (grub_util_is_dmraid): Make static.
18631 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
18632 Add missing prototype.
18633 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 18634
74e31b5c
VS
186352010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18636
18637 * loader/i386/linux.c (grub_linux_setup_video): Handle error
18638 appropriately.
18639
6b2ad14b
VS
186402010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18641
18642 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
18643 code out.
18644
8f891adc
VS
186452010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18646
18647 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
18648 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
18649 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
18650 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
18651 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
18652 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
18653
74b45184
VS
186542010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18655
18656 * include/grub/err.h (grub_err_printf): Don't export.
18657
a4bced77
VS
186582010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18659
18660 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
18661
007d0695
VS
186622010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18663
18664 * include/grub/i18n.h (grub_gettext_dummy): Removed.
18665 * kern/misc.c (grub_gettext_dummy): Make static.
18666
b6c0d9c2
VS
186672010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18668
18669 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
18670 by non-valid ones.
18671 * kern/term.c (grub_putchar): Likewise.
18672
f51a90d0
VS
186732010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18674
18675 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
18676 buggy hook call and memory leak.
18677
6846cec5
VS
186782010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18679
18680 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
18681
468d69fe
VS
186822010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18683
18684 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
18685
51906b8c
VS
186862010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18687
18688 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
18689 modevar.
18690 Return grub_errno on allocation error.
18691
09706ce5
VS
186922010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18693
18694 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
18695
911df80c
YB
186962010-02-06 Yves Blusseau <blusseau@zetam.org>
18697
18698 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
18699 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
18700
3746a6bc
VS
187012010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18702
18703 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
18704 non-pxe disk.
18705 (grub_pxefs_open): Likewise.
18706
09706ce5
VS
187072010-02-06 Robert Millan <rmh.grub@aybabtu.com>
18708
18709 * util/grub.d/10_hurd.in: Add --class information to menuentries.
18710 * util/grub.d/10_kfreebsd.in: Likewise.
18711 * util/grub.d/10_linux.in: Likewise.
18712
7cc192d9
VS
187132010-02-06 Colin D Bennett <colin@gibibit.com>
18714
18715 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
18716 (gfxmenu_mod_SOURCES): New variable.
18717 (gfxmenu_mod_CFLAGS): Likewise.
18718 (gfxmenu_mod_LDFLAGS): Likewise.
18719 * include/grub/term.h (grub_term_set_current_output): Declare
18720 argument as const.
18721 * docs/gfxmenu-theme-example.txt: New file.
18722 * gfxmenu/gfxmenu.c: Likewise.
18723 * gfxmenu/gui_box.c: Likewise.
18724 * gfxmenu/gui_canvas.c: Likewise.
18725 * gfxmenu/gui_circular_progress.c: Likewise.
18726 * gfxmenu/gui_image.c: Likewise.
18727 * gfxmenu/gui_label.c: Likewise.
18728 * gfxmenu/gui_list.c: Likewise.
18729 * gfxmenu/gui_progress_bar.c: Likewise.
18730 * gfxmenu/gui_string_util.c: Likewise.
18731 * gfxmenu/gui_util.c: Likewise.
18732 * gfxmenu/icon_manager.c: Likewise.
18733 * gfxmenu/model.c: Likewise.
18734 * gfxmenu/named_colors.c: Likewise.
18735 * gfxmenu/theme_loader.c: Likewise.
18736 * gfxmenu/view.c: Likewise.
18737 * gfxmenu/widget-box.c: Likewise.
18738 * include/grub/gfxmenu_model.h: Likewise.
18739 * include/grub/gfxmenu_view.h: Likewise.
18740 * include/grub/gfxwidgets.h: Likewise.
18741 * include/grub/gui.h: Likewise.
18742 * include/grub/gui_string_util.h: Likewise.
18743 * include/grub/icon_manager.h: Likewise.
18744
187452010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18746
18747 Agglomerate scrolling in gfxterm.
18748
18749 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
18750 (grub_virtual_screen_setup): Initialise 'total_screen'.
18751 (write_char): Split to ...
18752 (paint_char): ... this ...
18753 (write_char): ... and this.
18754 (paint_char): Handle delayed scrolling.
18755 (draw_cursor): Likewise.
18756 (scroll_up): Split to ...
18757 (real_scroll): ... this ...
18758 (scroll_up): ... and this.
18759 (real_scroll): Handle multi-line scroll and draw below-the-bottom
18760 characters.
18761 (grub_gfxterm_refresh): Call real_scroll.
18762
187632010-02-06 Colin D Bennett <colin@gibibit.com>
18764
18765 * include/grub/misc.h (grub_iscntrl): New inline function.
18766 (grub_isalnum): Likewise.
18767 (grub_strtol): Likewise.
18768
187692010-02-06 Colin D Bennett <colin@gibibit.com>
18770
18771 * normal/menu_text.c (get_entry_number): Move from here ...
18772 * normal/menu.c (get_entry_number): ... moved here.
18773 * include/grub/menu.h (grub_menu_get_default_entry_index):
18774 New prototype.
18775 * normal/menu.c (grub_menu_get_default_entry_index): New function.
18776 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
18777 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
18778 (grub_menu_viewer_should_return): Likewise.
18779 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
18780 * normal/menu_text.c (run_menu): Enable menu switching.
18781 * normal/menu_viewer.c (should_return): New variable.
18782 (menu_viewer_changed): Likewise.
18783 (grub_menu_viewer_show_menu): Handle menu viewer changes.
18784 (grub_menu_viewer_should_return): New function.
18785 (menuviewer_write_hook): Likewise.
18786 (grub_menu_viewer_init): Likewise.
18787
187882010-02-06 Colin D Bennet <colin@gibibit.com>
187892010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18790
18791 Support for gfxterm in a window.
18792
18793 * include/grub/gfxterm.h: New file.
18794 * include/grub/video.h (struct grub_video_rect): New declaration.
18795 (grub_video_rect_t): Likewise.
18796 * term/gfxterm.c (struct grub_gfxterm_window): New type.
18797 (refcount): New variable.
18798 (render_target): Likewise.
18799 (window): Likewise.
18800 (repaint_callback): Likewise.
18801 (grub_virtual_screen_setup): Use 'render_target'.
18802 (init_window): New function.
18803 (grub_gfxterm_init_window): Likewise.
18804 (grub_gfxterm_init): Check reference counter.
18805 Use init_window.
18806 (destroy_window): New function.
18807 (grub_gfxterm_destroy_window): Likewise.
18808 (grub_gfxterm_fini): Check reference counter.
18809 Use destroy_window.
18810 (redraw_screen_rect): Restore viewport.
18811 Use 'render_target' and 'window'.
18812 Call 'repaint_callback'.
18813 (write_char): Use 'render_target'.
18814 (draw_cursor): Likewise.
18815 (scroll_up): Restore viewport.
18816 Use 'render_target' and 'window'.
18817 Call 'repaint_callback'.
18818 (grub_gfxterm_cls): Likewise.
18819 (grub_gfxterm_refresh): Use 'window'.
18820 (grub_gfxterm_set_repaint_callback): New function.
18821 (grub_gfxterm_background_image_cmd): Use 'window'.
18822 (grub_gfxterm_get_term): New function.
18823 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
18824
188252010-02-06 Colin D Bennett <colin@gibibit.com>
18826
18827 Bitmap scaling support.
18828
18829 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
18830 (bitmap_scale_mod_SOURCES): New variable.
18831 (bitmap_scale_mod_CFLAGS): Likewise.
18832 (bitmap_scale_mod_LDFLAGS): Likewise.
18833 * include/grub/bitmap_scale.h: New file.
18834 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
18835 (background_image_cmd_options): New variable.
18836 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
18837 (cmd): Rename and change type to ...
18838 (background_image_cmd_handle): ... this. All users updated.
18839 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
18840 * video/bitmap_scale.c: New file.
18841
188422010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18843
18844 SDL support.
18845
18846 * Makefile.in (LIBSDL): New variable.
18847 (enable_grub_emu_sdl): Likewise.
18848 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
18849 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
18850 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
18851 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
18852 * util/sdl.c: New file.
18853
188542010-02-06 Colin D Bennett <colin@gibibit.com>
188552010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18856
18857 Double buffering support.
18858
18859 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
18860 * include/grub/video.h: Update comment.
18861 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
18862 New type.
18863 (grub_video_fb_doublebuf_blit_init): New prototype.
18864 * term/gfxterm.c (scroll_up): Support double buffering.
18865 (grub_gfxterm_refresh): Likewise.
18866 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
18867 (grub_video_fb_doublebuf_blit_init): Likewise.
18868 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
18869 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
18870 'displayed_page', 'render_page' and 'update_screen'.
18871 (grub_video_vbe_fini): Free offscreen buffer.
18872 (doublebuf_pageflipping_commit): New function.
18873 (doublebuf_pageflipping_update_screen): Likewise.
18874 (doublebuf_pageflipping_init): Likewise.
18875 (double_buffering_init): Likewise.
18876 (grub_video_vbe_setup): Enable doublebuffering.
18877 (grub_video_vbe_swap_buffers): Implement.
18878 (grub_video_vbe_set_active_render_target): Handle double buffering.
18879 (grub_video_vbe_get_active_render_target): Likewise.
18880 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
18881 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
18882 (grub_video_vbe_enable_double_buffering): Likewise.
18883 (grub_video_vbe_swap_buffers): Use update_screen.
18884 (grub_video_set_mode): Use double buffering.
18885
188862010-02-06 Robert Millan <rmh.grub@aybabtu.com>
18887
18888 * maintainance/gentrigtables.py: Remove.
18889 * lib/trig.c: Likewise.
18890
18891 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
18892
18893 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
18894 `trigtables.c'.
18895 (trigtables.c): New rule.
18896 (gentrigtables): Likewise.
18897 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
18898
188992010-02-06 Robert Millan <rmh.grub@aybabtu.com>
18900
18901 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
18902 integer constants.
18903
189042010-02-06 Colin D Bennet <colin@gibibit.com>
18905
18906 Trigonometry support.
18907
18908 * include/grub/trig.h: New file.
18909 * lib/trig.c: Likewise.
18910 * maintainance/gentrigtables.py: Likewise.
18911 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
18912 (trig_mod_SOURCES): New variable.
18913 (trig_mod_CFLAGS): Likewise.
18914 (trig_mod_LDFLAGS): Likewise.
18915
5562834e
VS
189162010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18917
18918 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
18919 disk devices.
18920
4f8528fc
VS
189212010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18922
18923 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
18924 error.
18925
2b4068e9
VS
189262010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
18927
18928 * util/hostdisk.c (open_device): Don't use partition device when reading
18929 before the partition.
18930 (grub_util_biosdisk_read): Don't read from partition and before the
18931 partition in single operation.
18932 (grub_util_biosdisk_write): Don't write to partition and before the
18933 partition in single operation.
18934
399f6e4d
TL
189352010-02-03 Torsten Landschoff <torsten@debian.org>
18936
18937 * kern/disk.c (grub_disk_read): Fix offset computation when reading
18938 last sectors.
18939
996649b0
VS
189402010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
18941
18942 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
18943 CDROM reads.
18944 (grub_biosdisk_write): Refuse to write to CDROM.
18945
3b205d4d
VS
189462010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
18947
18948 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
18949
61e89d9d
VS
189502010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
18951
18952 * font/font.c (find_glyph): Check that bmp_idx is available before
18953 using it.
18954 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
18955 with (font == NULL).
18956
bf7fcba2
CS
189572010-01-28 Christian Schmitt <chris@ilovelinux.de>
18958
18959 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
18960
f45d2663
BC
189612010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
18962
18963 * include/grub/script_sh.h (sourcecode): Add const qualifier.
18964 * util/grub-script-check.c (getline): Fix empty lines case.
18965
ec1444e6
RM
189662010-01-28 Robert Millan <rmh.grub@aybabtu.com>
18967
18968 * Makefile.in (check): Exit with fail status when one of the tests
18969 fails.
18970 * tests/example_functional_test.c (example_test): Fix reversed assert.
18971 * tests/example_unit_test.c (example_test): Likewise.
18972
2e1cb9bb
CW
189732010-01-28 Colin Watson <cjwatson@ubuntu.com>
18974
18975 * util/grub.d/10_linux.in: This script does not use any of the
18976 contents of gettext.sh, only the external command `gettext', so stop
18977 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
18978 the same prefix as GRUB.)
18979 * util/grub.d/10_kfreebsd.in: Likewise.
18980
63533ab0
VS
189812010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
18982
18983 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
18984 of the line.
18985
989e1f93
VS
189862010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
18987
18988 * kern/disk.c (grub_disk_read): Fix offset computation when reading
18989 last sectors.
18990
e709ebe2
VS
189912010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
18992
18993 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
18994 having a 4KiB and not 32KiB buffer size.
18995
27dea7ed
RM
189962010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18997
18998 * util/hostfs.c: Include `<errno.h>'.
18999 (grub_hostfs_read): Handle errors from fseeko() and fread().
19000
67667b9c
RM
190012010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19002
19003 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
19004 loop when using read hooks on files whose size isn't sector-aligned.
19005
c294d9d8
RM
190062010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19007
19008 Remove unused parameter.
19009
19010 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
19011 (grub_iso9660_open): Remove initialization of `data->length'.
19012
af75a9f1
RM
190132010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19014
19015 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
19016 memleak conditions.
19017
254e2ce5 190182010-01-27 Carles Pina i Estany <carles@pina.cat>
19019
19020 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
19021 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
19022
b510928c 190232010-01-26 Carles Pina i Estany <carles@pina.cat>
19024
19025 * util/bin2h.c (usage): Fix warning (space after backslash).
19026
aa2f9dd2 190272010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 19028
19029 * font/font.c: Include `grub/fontformat.h.
19030 Remove font file format constants.
19031 (grub_font_load): Use the new macros.
19032 * include/grub/fontformat.h: New file.
19033 * util/grub-mkfont.c: Include `grub/fontformat.c'.
19034 (write_font_pf2): Use the new macros.
19035
94e7e712
RM
190362010-01-26 Robert Millan <rmh.grub@aybabtu.com>
19037
19038 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
19039 does.
19040
3973a59a
RM
190412010-01-26 Robert Millan <rmh.grub@aybabtu.com>
19042
19043 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
19044
19045 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
19046 (_start): Macroify `0x7F'.
19047
19048 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
19049 (make_install_device): Use "(pxe)" as fallback prefix when booting
19050 via PXE.
19051
42e0cba3
GS
190522010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
19053
19054 * configure.ac: Reset LIBS after check for libgcc symbols.
19055
847effd8
CW
190562010-01-25 Colin Watson <cjwatson@ubuntu.com>
19057
19058 * util/hostdisk.c (open_device): Add trailing newline to debug
19059 message.
19060
ea4a7e35
GS
190612010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
19062
19063 * configure.ac: Check for `limits.h'.
19064 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
19065
67951a53
RM
190662010-01-24 Robert Millan <rmh.grub@aybabtu.com>
19067
19068 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
19069 capitalize error strings.
19070
c273d4ce
ST
190712010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
19072
19073 * util/grub.d/10_hurd.in: Add a recovery mode.
19074
69be5b74
VS
190752010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
19076
19077 * configure.ac: Check for libgcc symbols with -nostdlib.
19078
fc9e5810
BC
190792010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
19080
19081 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
19082
4b358c0a
VS
190832010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19084
19085 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
19086 stack since heap may be unavailable at that point.
19087 (grub_ofconsole_gotoxy): Likewise.
19088
454fcd1c
VS
190892010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19090
19091 * configure.ac: Check for _restgpr_14_x.
19092 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
19093 and _savegpr_* prototypes.
19094
566863ca
RM
190952010-01-22 Robert Millan <rmh.grub@aybabtu.com>
19096
19097 Use generic grub_reboot() for i386-efi.
19098
19099 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
19100 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
19101 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
19102
bf86e59a
VS
191032010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19104
19105 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
19106 presence of "prefix" variable as it breaks when normal.mod is
19107 embedded.
19108
d645e0f8
VS
191092010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19110
19111 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
19112 stack since heap is unavailable at that point.
19113
f9ab2e25
VS
191142010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19115
19116 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
19117 (grub_freebsd_bootinfo): Rewritten.
19118 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
19119
01fc7054
VS
191202010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19121
19122 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
19123
caab4fd6
RM
191242010-01-21 Robert Millan <rmh.grub@aybabtu.com>
19125
19126 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
19127 domain now.
19128
67eb1427
FZ
191292010-01-20 Felix Zielcke <fzielcke@z-51.de>
19130
19131 * util/misc.c (make_system_path_relative_to_its_root): Change the work
19132 around for handling "/" to the correct fix. Fix a memory leak. Use
19133 xstrdup instead of strdup.
19134
a9ed4ff3
VS
191352010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19136
19137 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
19138
191392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
19140
19141 Optimise glyph lookup by Basic Multilingual Plane lookup array.
19142
19143 * font/font.c (struct grub_font): New member 'bmp_idx'.
19144 (font_init): Initialise 'bmp_idx'.
19145 (load_font_index): Fill 'bmp_idx'.
19146 (find_glyph): Make inline. Use bmp_idx for BMP characters.
19147
48209f4f
VS
191482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19149
19150 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
19151 unnecessary calls.
19152
9f0a4bb7
VS
191532010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19154
19155 Move context handling out of the kernel.
19156
19157 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
19158 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
19159 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
19160 * conf/i386-efi.rmk: Likewise.
19161 * conf/i386-ieee1275.rmk: Likewise.
19162 * conf/i386-pc.rmk: Likewise.
19163 * conf/powerpc-ieee1275.rmk: Likewise.
19164 * conf/sparc64-ieee1275.rmk: Likewise.
19165 * conf/x86_64-efi.rmk: Likewise.
19166 * include/grub/env.h: Include grub/menu.h.
19167 (grub_env_var_type): Removed.
19168 (grub_env_var): Replaced field 'type' with 'global'.
19169 (grub_env_find): New prototype.
19170 (grub_env_context_open): Remove EXPORT_FUNC.
19171 (grub_env_context_close): Likewise.
19172 (grub_env_export): Likewise.
19173 (grub_env_set_data_slot): Removed.
19174 (grub_env_get_data_slot): Likewise.
19175 (grub_env_unset_data_slot): Likewise.
19176 (grub_env_unset_menu): New prototype.
19177 (grub_env_set_menu): Likewise.
19178 (grub_env_get_menu): Likewise.
19179 * include/grub/env_private.h: New file.
19180 * include/grub/normal.h (grub_context_init): New prototype.
19181 (grub_context_fini): Likewise.
19182 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
19183 * normal/context.c (grub_cmd_export): ... to here.
19184 * kern/env.c: Include env_private.h.
19185 (HASHSZ): Moved to include/grub/env_private.h.
19186 (grub_env_context): Likewise.
19187 (grub_env_sorted_var): Likewise.
19188 (current_context): Renamed from this ...
19189 (grub_current_context): ...to this. 'static' removed. All users updated.
19190 (grub_env_find): Removed 'static'.
19191 (grub_env_context_open): Moved to normal/context.c.
19192 (grub_env_context_close): Likewise.
19193 (grub_env_export): Likewise.
19194 (mangle_data_slot_name): Removed.
19195 (grub_env_set_data_slot): Likewise.
19196 (grub_env_get_data_slot): Likewise.
19197 (grub_env_unset_data_slot): Likewise.
19198 * kern/main.c (grub_set_root_dev): Don't export root.
19199 It will be done later.
19200 (grub_main): Don't export prefix.
19201 It will be done later.
19202 * normal/context.c: New file.
19203 * normal/main.c (free_menu): Use grub_env_unset_menu.
19204 (grub_normal_add_menu_entry): Use grub_env_get_menu.
19205 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
19206 (GRUB_MOD_INIT(normal)): Call grub_context_init.
19207 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
19208
8dd35b8c
VS
192092010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19210
19211 setpci support.
19212
19213 * commands/setpci.c: New file.
19214 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
19215 (setpci_mod_SOURCES): New variable.
19216 (setpci_mod_CFLAGS): Likewise.
19217 (setpci_mod_LDFLAGS): Likewise.
19218
449193d5
VS
192192010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19220
19221 Byte-addressable PCI configuration space.
19222
19223 * bus/pci.c (grub_pci_make_address): Use byte address instead of
19224 dword address.
19225 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
19226 GRUB_PCI_REG_CACHELINE.
19227 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
19228 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
19229 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
19230 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
19231 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
19232 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
19233 grub_pci_make_address.
19234 (lock_rom_area): Likewise.
19235 * commands/lspci.c (grub_lspci_iter): Use macroses
19236 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
19237 of grub_pci_make_address.
19238 * disk/ata.c (grub_ata_pciinit): Likewise.
19239 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
19240 (GRUB_PCI_REG_VENDOR): Likewise.
19241 (GRUB_PCI_REG_DEVICE): Likewise.
19242 (GRUB_PCI_REG_COMMAND): Likewise.
19243 (GRUB_PCI_REG_STATUS): Likewise.
19244 (GRUB_PCI_REG_REVISION): Likewise.
19245 (GRUB_PCI_REG_CLASS): Likewise.
19246 (GRUB_PCI_REG_CACHELINE): Likewise.
19247 (GRUB_PCI_REG_LAT_TIMER): Likewise.
19248 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
19249 (GRUB_PCI_REG_BIST): Likewise.
19250 (GRUB_PCI_REG_ADDRESSES): Likewise.
19251 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19252 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19253 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19254 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19255 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19256 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19257 (GRUB_PCI_REG_CIS_POINTER): Likewise.
19258 (GRUB_PCI_REG_SUBVENDOR): Likewise.
19259 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
19260 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
19261 (GRUB_PCI_REG_CAP_POINTER): Likewise.
19262 (GRUB_PCI_REG_IRQ_LINE): Likewise.
19263 (GRUB_PCI_REG_IRQ_PIN): Likewise.
19264 (GRUB_PCI_REG_MIN_GNT): Likewise.
19265 (GRUB_PCI_REG_MAX_LAT): Likewise.
19266 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
19267 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
19268 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 19269 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
19270 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
19271 space.
19272
96d73208
RM
192732010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19274
19275 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
19276 can be reliably determined to be supported.
19277
d4484482
RM
192782010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19279
19280 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
19281 that VESA is supported.
19282 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
19283 supported.
19284
00308ecf
VS
192852010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19286
19287 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
19288
f66924a4
RM
192892010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19290
19291 * util/misc.c (make_system_path_relative_to_its_root): Work around
19292 special-casing of "/", as previous incarnation of this routine did.
19293
cbca0ada
VS
192942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19295
19296 Fix any-emu compilation.
19297
19298 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
19299 * grub_bin2h_SOURCES: New variable.
19300
34a66d99
RM
193012010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19302
19303 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
19304
94fabf58
RM
193052010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19306
19307 * util/grub.d/00_header.in: Fix handling of locale_dir.
19308
02cf98ca
VS
193092010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19310
19311 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
19312 as possible unifont location (Gentoo).
19313 Reported by: Alexander Brüning
19314
327dbcd7
VS
193152010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19316
19317 Don't try to generate lists for kernel.img.
19318
19319 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
19320 (pkglib_MODULES): Remove kernel.img.
19321 (kernel_img_EXPORTS): Removed.
19322 (kernel_img_RELOCATABLE): New variable.
19323 * conf/x86_64-efi.rmk: Likewise.
19324 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
19325
ca467290
VS
193262010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19327
19328 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
19329 grub_xasprintf or grub_snprintf.
19330 (grub_vsprintf): Likewise.
19331 (grub_snprintf): New proto.
19332 (grub_vsnprintf): Likewise.
19333 (grub_xasprintf): Likewise.
19334 (grub_xvasprintf): Likewise.
19335 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
19336 (grub_sprintf): Removed.
19337 (grub_vsnprintf): New function.
19338 (grub_snprintf): Likewise.
19339 (grub_xvasprintf): Likewise.
19340 (grub_xasprintf): Likewise.
19341 (grub_vsprintf): Renamed to ...
19342 (grub_vsnprintf_real): ...this. New argument max_len.
19343
aca655fd
BC
193442010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
19345
19346 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
19347 fix grub-script-check warning.
19348
7ee92c32
VS
193492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19350
19351 * include/grub/font.h (grub_font_load): Fix prototype.
19352
f80927ca
VS
193532010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19354
19355 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
19356
119c50ea
VS
193572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19358
19359 * include/grub/x86_64/at_keyboard.h: New file.
19360
47d5f3c1
VS
193612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19362
19363 * loader/mips/linux.c: Include missing grub/i18n.h.
19364
55ff5266
RM
193652009-12-20 Robert Millan <rmh.grub@aybabtu.com>
19366
19367 * normal/menu.c (notify_execution_failure): Clarify error message.
19368
c893cc87
RM
193692009-12-20 Robert Millan <rmh.grub@aybabtu.com>
19370
19371 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
19372 return value (and revert all return statements). Update users.
19373
917dd370
CW
193742010-01-20 Dan Merillat <debian@dan.merillat.org>
19375
19376 * kern/device.c (grub_device_iterate): Allocate new part_ent
19377 structure based on sizeof (*p) rather than sizeof (p->next), to
19378 account for structure padding.
19379
19380 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
19381 disk is NULL, which might happen for LVM physical volumes with no
19382 LVM signature.
19383
d4a4ee57
RM
193842009-12-20 Robert Millan <rmh.grub@aybabtu.com>
19385
19386 * loader/mips/linux.c (grub_cmd_initrd)
19387 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
19388
193892009-12-20 Robert Millan <rmh.grub@aybabtu.com>
19390
19391 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
19392 (grub_video_video_init, grub_video_bitmap_init)
19393 (grub_font_manager_init, grub_term_gfxterm_init)
19394 (grub_at_keyboard_init): New extern declarations.
19395 (grub_machine_init): Initialize gfxterm and at_keyboard.
19396
19397 * kern/main.c (grub_main): Revert grub_printf delay kludge.
19398
19399 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
19400 `gfxterm.mod' into core image.
19401
19402 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
19403 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
19404 (kernel_img_FORMAT): Copy to ...
19405
19406 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
19407 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
19408 (kernel_img_FORMAT): ... here, and ...
19409
19410 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
19411 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
19412 (kernel_img_FORMAT): ... here.
19413
19414 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
19415 and input (at_keyboard) terminals in kernel.
19416 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
19417
19418 (pkglib_MODULES): Remove `pci.mod'.
19419 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
19420 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
19421 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
19422 (at_keyboard_mod_LDFLAGS): Remove variables.
19423
194242010-01-11 Felix Zielcke <fzielcke@z-51.de>
19425
19426 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
19427
194282009-12-10 Robert Millan <rmh.grub@aybabtu.com>
19429
19430 * include/grub/mips/libgcc.h: Only export symbols for functions
19431 that libgcc provides.
19432
194332009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
19434
19435 MIPS support.
19436
19437 * bus/bonito.c: New file.
19438 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
19439 GRUB_PCI_NUM_DEVICES.
19440 * term/i386/pc/serial.c: Move to ...
19441 * term/serial.c: ... here. All users updated.
19442 * util/i386/pc/grub-mkimage.c: Move to ...
19443 * util/grub-mkrawimage.c: ... here. All users updated.
19444 * term/i386/pc/at_keyboard.c: Move to ...
19445 * term/at_keyboard.c: ... here. All users updated.
19446 * conf/mips-qemu-mips.rmk: New file.
19447 * conf/mips-yeeloong.rmk: Likewise.
19448 * conf/mips.rmk: Likewise.
19449 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
19450 mipsel-qemu-mips.
19451 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
19452 to port addresses.
19453 (grub_ata_pciinit): Support CS5536.
19454 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
19455 * font/font_cmd.c (loadfont_command): Open file before passing it to
19456 grub_font_load.
19457 (pseudo_file_read): New function.
19458 (pseudo_file_close): Likewise.
19459 (pseudo_fs): New structure.
19460 (load_font_module): New function.
19461 (GRUB_MOD_INIT(font_manager)): Load embedded font.
19462 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
19463 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
19464 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
19465 * include/grub/i386/at_keyboard.h: Split into ...
19466 * include/grub/at_keyboard.h: ... this ...
19467 * include/grub/i386/at_keyboard.h: ... and this.
19468 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
19469 New prototype.
19470 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
19471 updated.
19472 (grub_elf64_size): Likewise.
19473 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
19474 filename.
19475 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
19476 * include/grub/i386/coreboot/serial.h: Rewritten.
19477 * include/grub/i386/ieee1275/serial.h: Include
19478 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
19479 * include/grub/i386/pc/serial.h: Moved from here ...
19480 * include/grub/serial.h: ... to here. All users updated.
19481 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
19482 (GRUB_PCI_NUM_BUS): Likewise.
19483 (GRUB_PCI_NUM_DEVICES): Likewise.
19484 (grub_pci_device_map_range): Add missing volatile keyword.
19485 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
19486 * include/grub/mips/at_keyboard.h: New file.
19487 * include/grub/mips/cache.h: Likewise.
19488 * include/grub/mips/io.h: Likewise.
19489 * include/grub/mips/kernel.h: Likewise.
19490 * include/grub/mips/libgcc.h: Likewise.
19491 * include/grub/mips/pci.h: Likewise.
19492 * include/grub/mips/qemu-mips/boot.h: Likewise.
19493 * include/grub/mips/qemu-mips/kernel.h: Likewise.
19494 * include/grub/mips/qemu-mips/loader.h: Likewise.
19495 * include/grub/mips/qemu-mips/memory.h: Likewise.
19496 * include/grub/mips/qemu-mips/serial.h: Likewise.
19497 * include/grub/mips/qemu-mips/time.h: Likewise.
19498 * include/grub/mips/relocator.h: Likewise.
19499 * include/grub/mips/time.h: Likewise.
19500 * include/grub/mips/types.h: Likewise.
19501 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
19502 * include/grub/mips/yeeloong/boot.h: Likewise.
19503 * include/grub/mips/yeeloong/kernel.h: Likewise.
19504 * include/grub/mips/yeeloong/loader.h: Likewise.
19505 * include/grub/mips/yeeloong/memory.h: Likewise.
19506 * include/grub/mips/yeeloong/pci.h: Likewise.
19507 * include/grub/mips/yeeloong/serial.h: Likewise.
19508 * include/grub/mips/yeeloong/time.h: Likewise.
19509 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
19510 * kern/elf.c (grub_elf32_size): New parameter. All users
19511 updated.
19512 (grub_elf64_size): Likewise.
19513 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
19514 Load modules before saying "Welcome to GRUB!".
19515 Call grub_refresh after saying "Welcome to GRUB!".
19516 * kern/mips/cache.S: New file.
19517 * kern/mips/cache_flush.S: Likewise.
19518 * kern/mips/dl.c: Likewise.
19519 * kern/mips/init.c: Likewise.
19520 * kern/mips/qemu-mips/init.c: Likewise.
19521 * kern/mips/startup.S: Likewise.
19522 * kern/mips/yeeloong/init.c: Likewise.
19523 * kern/term.c (grub_putcode): Handle NULL terminal.
19524 (grub_getcharwidth): Likewise.
19525 (grub_getkey): Likewise.
19526 (grub_checkkey): Likewise.
19527 (grub_getkeystatus): Likewise.
19528 (grub_getxy): Likewise.
19529 (grub_getwh): Likewise.
19530 (grub_gotoxy): Likewise.
19531 (grub_cls): Likewise.
19532 (grub_setcolorstate): Likewise.
19533 (grub_setcolor): Likewise.
19534 (grub_getcolor): Likewise.
19535 (grub_refresh): Likewise.
19536 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
19537 (write_jump): Add hatch nop.
19538 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
19539 * lib/mips/setjmp.S: New file.
19540 * loader/mips/linux.c: Likewise.
19541 * term/i386/pc/at_keyboard.c: Move from here ...
19542 * term/at_keyboard.c: ... to here.
19543 * term/i386/pc/serial.c: Moved from here ...
19544 * term/serial.c: ... to here. All users updated.
19545 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
19546 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
19547 (serial_translate_key_sequence): Avoid deadlock.
19548 (grub_serial_getkey): Handle backspace.
19549 (grub_serial_putchar): Fix newline handling.
19550 * util/i386/pc/grub-mkimage.c: Move from here ...
19551 * util/grub-mkrawimage.c: ... to here. All users updated.
19552 (generate_image): New parameters 'font_path' and 'format'.
19553 Support embedding font.
19554 Use grub_host_to_target* instead of grub_cpu_to_le*.
19555 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
19556 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
19557 (options): New option "--font".
19558 (usage): Likewise.
19559 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
19560 (main): Handle "--font".
19561 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
19562 (grub_virtual_screen_setup): Set bg_color_display.
19563 (redraw_screen_rect): Use bg_color_display instead of incorrect
19564 bg_color.
19565 (grub_gfxterm_cls): Likewise.
19566 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
19567 Support embedding config file.
19568 (add_segments): Likewise.
19569 (options): New option "--config".
19570 (main): Handle "--config".
19571 * video/sm712.c: New file.
19572
25c2b5b3
RM
195732010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19574
19575 Fix parallel builds.
19576
19577 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
19578 font.c depend on ascii.h).
19579
195802010-01-12 Carles Pina i Estany <carles@pina.cat>
19581
19582 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
19583
195842010-01-11 Carles Pina i Estany <carles@pina.cat>
19585
19586 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
19587 By default: disabled.
19588 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
19589 parameter.
19590
195912010-01-10 Carles Pina i Estany <carles@pina.cat>
19592
19593 * font/font.c: Update copyright years.
19594 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
19595
195962010-01-10 Carles Pina i Estany <carles@pina.cat>
19597
19598 * font/font.c: Include `ascii.h'.
19599 (ASCII_BITMAP_SIZE): New macro.
19600 (ascii_font_glyph): Define.
19601 (ascii_glyph_lookup): New function.
19602 (grub_font_get_string_width): Change comment. If glyph not found, use
19603 ascii_glyph_lookup.
19604 (grub_font_get_glyph_with_fallback): If glyph not available returns
19605 ascii_glyph_lookup.
19606 * util/grub-mkfont.c (file_formats): New enum.
19607 (options): Add `ascii-bitmaps' new option.
19608 (usage): Add `asii-bitmaps' new option.
19609 (write_font_ascii_bitmap): New function.
19610 (write_font): Rename to ...
19611 (write_font_p2): ... this. Remove print_glyphs call.
19612 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
19613 used. Call print_glyphs.
19614 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
19615
196162010-01-14 Robert Millan <rmh.grub@aybabtu.com>
19617
19618 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
19619 (grub_bin2h_SOURCES): New variable.
19620 * util/bin2h.c: New file.
19621
915fc1b8
VS
196222010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19623
19624 * include/multiboot.h: Resynced with spec.
19625 * include/multiboot2.h: Likewise.
19626 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
19627 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
19628
9444b678
RM
196292010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19630
19631 * include/grub/term.h (grub_term_register_input,
19632 grub_term_register_output): Check return of terminal init()
19633 routines, and abort if errors are raised.
19634
19635 * commands/terminal.c: Update copyright year.
19636
cba98e8d
RM
196372010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19638
19639 * commands/terminal.c (grub_cmd_terminal_input)
19640 (grub_cmd_terminal_output): Check return of terminal init()
19641 routines, and abort if errors are raised.
19642
6f7db5d6
VS
196432010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
19644
19645 * include/grub/i386/bsd.h: Fix include pathes.
19646
262bff8d
VS
196472010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
19648
19649 Add missing *BSD copyright headers.
19650
19651 * include/grub/aout.h: Add BSD licence.
19652 * include/grub/i386/bsd.h: Parts under different licences moved to ...
19653 * include/grub/i386/freebsd_linker.h: ... here,
19654 * include/grub/i386/freebsd_reboot.h: ... here,
19655 * include/grub/i386/netbsd_bootinfo.h: ... here,
19656 * include/grub/i386/netbsd_reboot.h: ... here,
19657 * include/grub/i386/openbsd_bootarg.h: ... here,
19658 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
19659 licence to each file.
19660
b2cab848
RM
196612010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19662
19663 * acinclude.m4: Remove `nop' assembly instruction; it's not
19664 implemented by all architectures.
19665
2cb6be4b
RM
196662010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19667
19668 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
19669 ELILO. This is no longer necessary.
19670
a2eaee15
BC
196712010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
19672
19673 Added new tool, grub-scrit-check to verify grub.cfg syntax.
19674
19675 * util/grub-script-check.c: grub-script-check tool.
19676 * conf/common.rmk: Make rules for grub-script-check.
19677
88d17012
RM
196782010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19679
19680 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
19681 spotting it back in 2008. Shame on me for forgetting he did.
19682
19683 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
19684
8040619d
RM
196852010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19686
19687 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
19688 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
19689 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
19690 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
19691 (GRUB_VIDEO_TYPE_EFI): Rename to ...
19692 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
19693
a0c2a0f6
RM
196942010-01-17 Robert Millan <rmh.grub@aybabtu.com>
19695
19696 * include/grub/test.h: Add license header.
19697 * tests/example_functional_test.c: Likewise.
19698 * tests/example_unit_test.c: Likewise.
19699 * tests/lib/functional_test.c: Likewise.
19700 * tests/lib/test.c: Likewise.
19701 * tests/lib/unit_test.c: Likewise.
19702
b0b13907
VS
197032010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
19704
19705 Use flag-based instead of hook-based video mode selection and "auto"
19706 keyword.
19707
19708 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
19709 (grub_video_set_mode): Changed prototype. All users updated.
19710 (grub_video_check_mode_flag): New inline function.
19711 * video/video.c (parse_modespec): New function.
19712 (grub_video_set_mode): Parse flags and keywords.
19713
ea379330 197142010-01-17 Carles Pina i Estany <carles@pina.cat>
19715
19716 * util/misc.c (grub_util_info): Fix the order of the parameters in a
19717 fprintf call.
19718
e15c215e
FZ
197192010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
19720
19721 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
19722
409ae1c9 197232010-01-16 Carles Pina i Estany <carles@pina.cat>
19724
19725 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
19726 string.
19727 * util/grub-emu.c (usage): Likewise.
19728 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
19729 * util/i386/efi/grub-mkimage.c (usage): Likewise.
19730 * util/i386/pc/grub-mkimage.c (usage): Likewise.
19731 * util/i386/pc/grub-setup.c (usage): Likewise.
19732
70a14d3d 197332010-01-16 Carles Pina i Estany <carles@pina.cat>
19734
19735 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
19736 the message.
19737 (grub_util_info): Likewise.
19738 (grub_util_error): Likewise.
19739 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
19740 and/or new lines in `grub_util_warna', `grub_util_info',
19741 `grub_util_error' calls.
19742 * util/getroot.c: Likewise.
19743 * util/grub-editenv.c: Likewise.
19744 * util/grub-emu.c: Likewise.
19745 * util/grub-fstest.c: Likewise.
19746 * util/grub-mkdevicemap.c: Likewise.
19747 * util/grub-mkfont.c: Likewise.
19748 * util/grub-mkpasswd-pbkdf2.c: Likewise.
19749 * util/grub-mkrelpath.c: Likewise.
19750 * util/grub-pe2elf.c: Likewise.
19751 * util/grub-probe.c: Likewise.
19752 * util/hostdisk.c: Likewise.
19753 * util/i386/efi/grub-mkimage.c: Likewise.
19754 * util/i386/pc/grub-mkimage.c: Likewise.
19755 * util/i386/pc/grub-setup.c: Likewise.
19756 * util/ieee1275/ofpath.c: Likewise.
19757 * util/mkisofs/eltorito.c: Likewise.
19758 * util/mkisofs/rock.c: Likewise.
19759 * util/mkisofs/write.c: Likewise.
19760 * util/raid.c: Likewise.
19761 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
19762 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19763
a0b766fc
VS
197642010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19765
19766 Enable multiboot on non-pc.
19767
19768 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
19769 multiboot.mod and multiboot2.mod to ...
19770 * conf/i386.rmk (pkglib_MODULES): ... here.
19771 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
19772 Moved to ...
19773 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
19774 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
19775 Moved to ...
19776 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
19777 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
19778 Moved to ...
19779 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
19780 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
19781 Moved to ...
19782 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
19783 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
19784 relocator.mod.
19785 (ata_mod_SOURCES): Removed.
19786 (ata_mod_CFLAGS): Likewise.
19787 (ata_mod_LDFLAGS): Likewise.
19788 (relocator_mod_SOURCES): Removed.
19789 (relocator_mod_CFLAGS): Likewise.
19790 (relocator_mod_ASFLAGS): Likewise.
19791 (relocator_mod_LDFLAGS): Likewise.
19792 Include i386.mk.
19793 * include/grub/x86_64/multiboot.h: New file.
19794 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
19795 Terminate EFI.
19796
884ade56
VS
197972010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19798
19799 Video multiboot support.
19800
19801 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
19802 New prototype.
19803 * include/multiboot.h: Resynced with multiboot specification.
19804 * include/multiboot2.h: Likewise.
19805 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
19806 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
19807 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
19808 (HAS_VGA_TEXT): Likewise.
19809 (accepts_video): New variable.
19810 (grub_multiboot_set_accepts_video): New function.
19811 (grub_multiboot_get_mbi_size): Account for video structures.
19812 (set_video_mode): New function.
19813 (retrieve_video_parameters): Likewise.
19814 (grub_multiboot_make_mbi): Fill video fields.
19815
0d90e8a6
VS
198162010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19817
19818 Video driver ids.
19819
19820 * include/grub/video.h (grub_video_driver_id): New type.
19821 (grub_video_adapter): New member 'id'. All users updated.
19822 (grub_video_get_driver_id): New proto.
19823 * video/video.c (grub_video_get_driver_id): New function.
19824
5c71db1b 198252010-01-14 Carles Pina i Estany <carles@pina.cat>
19826
19827 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
19828 `var=val'.
19829
cca15b52 198302010-01-14 Carles Pina i Estany <carles@pina.cat>
19831
19832 * normal/cmdline.c (print_completion): Gettextizze.
19833
c586fbb2 198342001-01-14 Carles Pina i Estany <carles@pina.cat>
19835
19836 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
19837
ba2f6848 198382010-01-14 Carles Pina i Estany <carles@pina.cat>
19839
19840 * gettext/gettext.c (grub_gettext_translate): Push and pop
19841 grub_errno.
19842 (grub_gettext_delete_list): Change comment style.
19843 * kern/err.c (grub_error): Gettextizze.
19844 (grub_fatal): Gettextizze.
19845
0a46429a
RM
198462010-01-14 Robert Millan <rmh.grub@aybabtu.com>
19847
19848 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
19849 (grub_linux16_real_boot): ... this.
19850 * kern/i386/loader.S: Likewise.
19851 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
19852 (grub_linux16_boot): New function. Switches to text mode and calls
19853 grub_linux16_real_boot().
19854
19855 * loader/i386/bsd.c: Include `<grub/video.h>'.
19856 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
19857 text mode before calling grub_unix_real_boot().
19858
19859 * loader/i386/multiboot.c: Include `<grub/video.h>'.
19860 (grub_multiboot_boot): Switch to text mode before calling
19861 grub_relocator32_boot().
19862
19863 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
19864 (grub_chainloader_boot): Switch to text mode before calling
19865 grub_chainloader_real_boot().
19866
d6f93a66
RM
198672010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
198682010-01-05 Colin Watson <cjwatson@ubuntu.com>
19869
19870 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
19871 non-empty value.
19872
198732010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
198742010-01-05 Colin Watson <cjwatson@ubuntu.com>
19875
19876 * util/grub.d/00_header.in: Define a "savedefault" function for use
19877 in menu entries.
19878 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
19879
198802010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
198812010-01-05 Colin Watson <cjwatson@ubuntu.com>
19882
19883 * util/grub-mkconfig_lib.in (save_default_entry): Only set
19884 saved_entry if boot_once is unset.
19885 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
19886 previous saved entry (i.e. grub-reboot).
19887
198882009-12-08 Colin Watson <cjwatson@ubuntu.com>
19889
19890 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
19891
198922009-12-08 Colin Watson <cjwatson@ubuntu.com>
19893
19894 * util/grub.d/00_header.in: Use `set var=val' rather than plain
19895 `var=val'.
19896 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
19897
198982009-12-08 Colin Watson <cjwatson@ubuntu.com>
19899
19900 * util/grub-reboot.in: Fix --version output.
19901 * util/grub-set-default.in: Likewise.
19902
199032009-12-08 Colin Watson <cjwatson@ubuntu.com>
19904
19905 * util/grub.d/00_header.in: Silently ignore zero-sized environment
19906 blocks.
19907
199082009-12-08 Colin Watson <cjwatson@ubuntu.com>
19909
19910 * util/grub.d/00_header.in: Quote the value assigned to `default',
19911 in case it contains spaces.
19912
199132009-12-08 Colin Watson <cjwatson@ubuntu.com>
19914
19915 * util/grub.d/30_os-prober.in: Fix merge error that moved a
19916 `save_default_entry' call from the macosx case to the linux case.
19917
199182009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
199192009-10-25 Colin Watson <cjwatson@ubuntu.com>
19920
19921 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
19922 in `chosen' environment variable.
19923 * normal/menu_text.c (get_entry_number): Check if the variable
19924 matches the title of a menu entry.
19925 (run_menu): Pass menu to get_entry_number.
19926
19927 * util/grub-reboot.in: New file.
19928 * util/grub-set-default.in: New file.
19929 * conf/common.rmk (grub-reboot): New utility.
19930 (grub-set-default): New utility.
19931
19932 * util/grub-mkconfig_lib.in (save_default_entry): New function.
19933 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
19934 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
19935 move it to `saved_entry' for the next boot. Load environment on
19936 initialisation.
19937 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
19938 * util/grub.d/10_hurd.in: Likewise.
19939 * util/grub.d/10_linux.in (linux_entry): Likewise.
19940 * util/grub.d/10_windows.in: Likewise.
19941 * util/grub.d/30_os-prober.in: Likewise.
19942
19943 * util/grub-install.in: Create environment block.
19944 * util/i386/efi/grub-install.in: Likewise.
19945 * util/ieee1275/grub-install.in: Likewise.
19946 * util/sparc64/ieee1275/grub-install.in: Likewise.
19947
0934d184
BC
199482010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
19949
19950 Unit testing framework for GRUB.
19951
19952 * Makefile.in: Test framework build rules for 'make check'.
19953 * conf/tests.rmk: Build rules for individual tests and framework.
19954
19955 * include/grub/test.h: Header file for whitebox tests.
19956 * tests/lib/functional_test.c: Framework support for whitebox
19957 functional tests.
19958 * tests/lib/test.c: Common whitebox testing code for unit and
19959 functional tests.
19960 * tests/lib/unit_test.c: Framework support for whitebox unit
19961 tests.
19962
19963 * tests/util/grub-shell-tester.in: Support utility for grub-script
19964 tests.
19965 * tests/util/grub-shell.in: Utility to execute grub-script
19966 commands in a Qemu instance.
19967
19968 * tests/example_functional_test.c: Example whitebox functional
19969 test.
19970 * tests/example_grub_script_test.in: Example grub-script test.
19971 * tests/example_scripted_test.in: Example scripted test.
19972 * tests/example_unit_test.c: Example whitebox unit test.
19973
9c4ffeeb
VS
199742010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
19975
19976 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
19977 Add loader/i386/multiboot_mbi.c.
19978 (multiboot2_mod_SOURCES): Likewise.
19979 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
19980 (multiboot2_mod_SOURCES): Likewise.
19981 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
19982 (grub_multiboot_make_mbi): Likewise.
19983 (grub_multiboot_free_mbi): Likewise.
19984 (grub_multiboot_init_mbi): Likewise.
19985 (grub_multiboot_add_module): Likewise.
19986 (grub_multiboot_set_bootdev): Likewise.
19987 * loader/i386/multiboot.c (mbi): Removed.
19988 (mbi_dest): Likewise.
19989 (alloc_mbi): New variable.
19990 (grub_multiboot_payload_size): Removed. All users updated.
19991 (grub_multiboot_pure_size): New variable.
19992 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
19993 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
19994 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
19995 (grub_fill_multiboot_mmap): Likewise.
19996 (grub_multiboot_get_bootdev): Likewise.
19997 (grub_multiboot): Use multiboot_mbi functions.
19998 * loader/i386/multiboot_mbi.c: New file.
19999
17383dfe
VS
200002010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20001
20002 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
20003 it would result in module crash.
20004
c1f28820
VS
200052010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20006
20007 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
20008 (grub_ofconsole_getwh): Split to ...
20009 (grub_ofconsole_getwh): ... this.
20010 (grub_ofconsole_dimensions): ...and this.
20011 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
20012
58655a16
RM
200132010-01-13 Robert Millan <rmh.grub@aybabtu.com>
20014
20015 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
20016
10891398
VS
200172010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20018
20019 * loader/i386/pc/multiboot2.c: Removed stalled file.
20020
0b8a223c
VS
200212010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20022
20023 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
20024 Reported by: Grégoire Sutre
20025
92ab12b0
RM
200262010-01-11 Robert Millan <rmh.grub@aybabtu.com>
20027
20028 * util/misc.c (canonicalize_file_name): New function.
20029 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
20030 instead of realpath().
20031
a788afb6
CW
200322010-01-11 Colin Watson <cjwatson@ubuntu.com>
20033
20034 * util/grub-install.in (usage): Clarify meaning of --root-directory,
20035 and make it clearer that it's optional. Based on confusion
20036 witnessed on IRC.
20037
ffa8e3d2
VS
200382010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20039
20040 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
20041 in premature implicit newline.
20042
e9060a9d
VS
200432010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20044
20045 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
20046 which resulted in garbled command line at the end of screen.
20047
f0d0c0b7
RM
200482010-01-10 Robert Millan <rmh.grub@aybabtu.com>
20049
20050 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
20051 initialization with similar approach as with other Linux loaders.
20052
0e60bae7
RM
200532010-01-10 Robert Millan <rmh.grub@aybabtu.com>
20054
20055 Fix i386-ieee1275 build.
20056
20057 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
20058 and grub_term_height() for video_{width,height} initialization.
20059
200602010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
20061
20062 Fix grub-emu build.
20063
20064 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
20065
cdb3f378
RM
200662010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
200672010-01-09 Robert Millan <rmh.grub@aybabtu.com>
20068
20069 Support for multiple terminals.
20070
20071 * Makefile.in (pkglib_DATA): terminal.lst.
20072 (terminal.lst): New target.
20073 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
20074 (GRUB_MOD_INIT(handler)): Likewise.
20075 (GRUB_MOD_FINI(handler)): Likewise.
20076 * commands/help.c (grub_cmd_help): Handle multiple terminals.
20077 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
20078 * commands/sleep.c (do_print): Use grub_term_restore_pos.
20079 (grub_cmd_sleep): Use grub_term_save_pos.
20080 * commands/terminal.c: New file.
20081 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
20082 commands/terminal.c and lib/charset.c.
20083 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
20084 (pkglib_MODULES): Add terminal.mod.
20085 (terminal_mod_SOURCES): New variable.
20086 (terminal_mod_CFLAGS): Likewise.
20087 (terminal_mod_LDFLAGS): Likewise.
20088 * genhandlerlist.sh: Don't handle terminals.
20089 * genmk.rb: Generate terminal-*.lst.
20090 * genterminallist.sh: New file.
20091 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
20092 (grub_is_valid_utf8): Likewise.
20093 (grub_utf8_to_ucs4_alloc): Likewise.
20094 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
20095 (grub_menu_register_viewer): Changed argument.
20096 (grub_menu_try_text): New proto.
20097 (grub_gfxmenu_try_hook): New declaration.
20098 * include/grub/normal.h (grub_normal_exit_level): New declaration.
20099 (grub_menu_init_page): Additional argument term.
20100 (grub_normal_init_page): Likewise.
20101 (grub_cmdline_get): Arguments simplified.
20102 (grub_utf8_to_ucs4_alloc): Removed.
20103 (grub_print_ucs4): Additional argument term.
20104 (grub_getstringwidth): Likewise.
20105 (grub_print_message_indented): Likewise.
20106 (grub_menu_text_register_instances): New proto.
20107 (grub_show_menu): Likewise.
20108 (read_terminal_list): Likewise.
20109 (grub_set_more): Likewise.
20110 * include/grub/parser.h: Include handler.h.
20111 * include/grub/reader.h: Rewritten.
20112 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
20113 (GRUB_TERM_WIDTH): Changed to function.
20114 (GRUB_TERM_HEIGHT): Likewise.
20115 (GRUB_TERM_BORDER_WIDTH): Likewise.
20116 (GRUB_TERM_BORDER_HEIGHT): Likewise.
20117 (GRUB_TERM_NUM_ENTRIES): Likewise.
20118 (GRUB_TERM_ENTRY_WIDTH): Likewise.
20119 (GRUB_TERM_CURSOR_X): Likewise.
20120 (grub_term_input_class): Likewise.
20121 (grub_term_output_class): Likewise.
20122 (grub_term_outputs_disabled): New declaration.
20123 (grub_term_inputs_disabled): Likewise.
20124 (grub_term_outputs): Likewise.
20125 (grub_term_inputs): Likewise.
20126 (grub_term_register_input): Rewritten.
20127 (grub_term_register_output): Likewise.
20128 (grub_term_unregister_input): Likewise.
20129 (grub_term_unregister_output): Likewise.
20130 (FOR_ACTIVE_TERM_INPUTS): New macro.
20131 (FOR_DISABLED_TERM_INPUTS): Likewise.
20132 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
20133 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
20134 * include/grub/terminfo.h: Add oterm argument to all protypes.
20135 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
20136 Use grub_rescue_run.
20137 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
20138 All users updated.
20139 * kern/reader.c: Removed. All users updated.
20140 * kern/rescue_reader.c (grub_rescue_init): Removed.
20141 (grub_rescue_reader): Likewise.
20142 (grub_register_rescue_reader): Likewise.
20143 (grub_rescue_run): New function based on kern/reader.c.
20144 * kern/term.c: Adapted for multiterm.
20145 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
20146 (grub_is_valid_utf8): Likewise.
20147 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
20148 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
20149 right terminal.
20150 * loader/i386/linux.c (grub_linux_boot): Likewise.
20151 * normal/auth.c (grub_username_get): New function.
20152 (grub_auth_check_authentication): Use grub_username_get.
20153 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
20154 * normal/color.c: Adapt for multiterm.
20155 * normal/main.c (read_config_file): Don't use grub_reader_loop.
20156 (grub_normal_init_page): Additional argument term.
20157 (read_lists): Call read_terminal_lists.
20158 (grub_enter_normal_mode): Call grub_cmdline_run.
20159 Handle grub_normal_exit_level.
20160 (grub_cmd_normal): Make reentrant.
20161 (grub_cmd_normal_exit): New function.
20162 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
20163 * normal/menu.c: Adapt for multiterm.
20164 * normal/menu_entry.c: Likewise.
20165 * normal/menu_text.c: Likewise.
20166 * normal/menu_viewer.c: Removed. All users updated.
20167 * normal/term.c: New file.
20168 * util/console.c: Change order of includes to workaround a bug in
20169 ncurses headers.
20170 * term/terminfo.c: New argument oterm on all exported functions.
20171 All users updated.
20172 * util/grub-editenv.c (grub_term_input_class): Removed.
20173 (grub_term_output_class): Likewise.
20174
1a064917
RM
201752010-01-09 Robert Millan <rmh.grub@aybabtu.com>
20176
20177 Make loader output a bit more user-friendly.
20178
20179 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
20180 is being loaded. Likewise for the Hurd.
20181
20182 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
20183 that kernel of FreeBSD ${version} is being loaded.
20184
20185 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
20186 grub_dprintf().
20187 (grub_cmd_initrd): Likewise.
20188 * util/grub.d/10_linux.in (linux_entry): Print message indicating
20189 that Linux ${version} is being loaded. Likewise for initrd.
20190
5ce0a83a 201912010-01-09 Carles Pina i Estany <carles@pina.cat>
20192
20193 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
20194
809bbfeb 201952010-01-08 Carles Pina i Estany <carles@pina.cat>
20196
20197 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
20198 (GRUB_MOD_INIT): Gettextizze.
20199 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
20200 (GRUB_MOD_INIT): Gettextizze.
20201 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
20202 (grub_cmd_linux): Capitalise Linux.
20203 (GRUB_MOD_INIT): Gettextizze.
20204 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
20205 (grub_cmd_linux): Capitalise Linux.
20206 (GRUB_MOD_INIT): Gettextizze.
20207 * loader/i386/linux.c: Include `<grub/i18n.h>'.
20208 (grub_cmd_linux): Capitalise Linux.
20209 (GRUB_MOD_INIT): Gettextizze.
20210 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
20211 (GRUB_MOD_INIT): Gettextizze.
20212 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
20213 (grub_cmd_linux): Capitalise Linux.
20214 (GRUB_MOD_INIT): Gettextizze.
20215 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
20216 (grub_cpu_xnu_init): Gettextizze.
20217 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
20218 (GRUB_MOD_INIT): Gettextizze.
20219 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
20220 (GRUB_MOD_INIT): Gettextizze.
20221 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
20222 (grub_linux_load64): Capitalise Linux.
20223 (GRUB_MOD_INIT): Gettextizze.
20224 * loader/xnu.c: Include `<grub/i18n.h>'.
20225 (GRUB_MOD_INIT): Gettextizze.
20226 * po/POTFILES: Add `loader/efi/appleloader.c',
20227 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
20228 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
20229 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
20230 `loader/i386/xnu.c', `loader/multiboot_loader.c',
20231 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
20232 and `loader/xnu.c'.
20233
b394b2ca
RM
202342010-01-08 Robert Millan <rmh.grub@aybabtu.com>
20235
20236 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
20237
202382010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
20239
20240 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
20241 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
20242 * util/mkisofs/mkisofs.c (main): Readjust --version output.
20243
bc8b32b3
RM
202442010-01-07 Robert Millan <rmh.grub@aybabtu.com>
20245
20246 Reset Multiboot 2 support. New loader implements the draft in
20247 /branches/multiboot2 and shares as much code as possible with the
20248 production Multiboot 1 implementation.
20249
20250 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
20251 * loader/multiboot2.c: Likewise.
20252 * loader/i386/multiboot_helper.S: Likewise.
20253 * include/multiboot2.h: Replace with latest version from the draft
20254 in /branches/multiboot2.
20255
20256 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
20257 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
20258 and `loader/multiboot2.c'.
20259 (pkglib_MODULES): Add `multiboot2.mod'.
20260 (multiboot2_mod_SOURCES): New variable.
20261 (multiboot2_mod_LDFLAGS): Likewise.
20262 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
20263
20264 * conf/i386-pc.rmk: Likewise.
20265
20266 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
20267 (multiboot_mod_SOURCES): Remove variable.
20268 (multiboot_mod_LDFLAGS): Likewise.
20269 (multiboot_mod_CFLAGS): Likewise.
20270
20271 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
20272 `<multiboot2.h>' instead of `<multiboot.h>'.
20273 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
20274 (MULTIBOOT_HEADER_MAGIC): New macros.
20275
20276 * loader/multiboot_loader.c (module_version_status): Remove variable.
20277 (find_multi_boot2_header): Remove function.
20278 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
20279 logic. Always check for the Multiboot version we're compiling for.
20280 (grub_cmd_module_loader): Likewise.
20281 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
20282 command instead of `multiboot'.
20283
5d2c52b8
RM
202842010-01-07 Robert Millan <rmh.grub@aybabtu.com>
20285
20286 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
20287 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
20288 all users.
20289
53108d92
RM
202902010-01-07 Robert Millan <rmh.grub@aybabtu.com>
202912010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20292
20293 Fix breakage introduced with previous commit.
20294
20295 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
20296 commands.
20297 * normal/handler.c (read_handler_list): Revert part of previous commit
20298 affecting this file.
20299 * normal/main.c (read_lists): Move read_handler_list() call back to ...
20300 (grub_normal_execute): ... here.
20301
e2e936b2
RM
203022010-01-07 Robert Millan <rmh.grub@aybabtu.com>
20303
20304 Merge prefix-redefinition-fix branch.
20305
20306 * normal/autofs.c (read_fs_list): Make function capable of being
20307 run multiple times, gracefuly replacing the previous data
20308 structures.
20309 * normal/dyncmd.c (read_command_list): Likewise.
20310 * normal/handler.c (read_handler_list): Likewise.
20311 * normal/main.c (read_lists): New function. Calls all the
20312 list reading functions.
20313 (grub_normal_execute): Use read_lists() instead of calling all
20314 list reading functions explicitly. Register read_lists() as a
20315 variable hook attached to ${prefix}.
20316
607a3701
VS
203172010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20318
20319 Merge crypto branch.
20320
20321 * Makefile.in (pkglib_DATA): Add crypto.lst.
20322 (crypto.lst): New target.
20323 * commands/hashsum.c: New file.
20324 * commands/password.c (check_password): Use grub_crypto_memcmp.
20325 * commands/password_pbkdf2.c: New file.
20326 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
20327 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
20328 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
20329 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
20330 -I$(srcdir)/lib/libgcrypt_wrap.
20331 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
20332 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
20333 password_pbkdf2.mod.
20334 (crypto_mod_SOURCES): New variable.
20335 (crypto_mod_CFLAGS): Likewise.
20336 (crypto_mod_LDFLAGS): Likewise.
20337 (hashsum_mod_SOURCES): New variable.
20338 (hashsum_mod_CFLAGS): Likewise.
20339 (hashsum_mod_LDFLAGS): Likewise.
20340 (pbkdf2_mod_SOURCES): New variable.
20341 (pbkdf2_mod_CFLAGS): Likewise.
20342 (pbkdf2_mod_LDFLAGS): Likewise.
20343 (password_pbkdf2_mod_SOURCES): New variable.
20344 (password_pbkdf2_mod_CFLAGS): Likewise.
20345 (password_pbkdf2_mod_LDFLAGS): Likewise.
20346 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
20347 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
20348 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
20349 Include conf/gcry.rmk.
20350 * include/grub/auth.h: Rewritten.
20351 * include/grub/crypto.h: New file.
20352 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
20353 * include/grub/normal.h (read_crypto_list): New prototype.
20354 * lib/crypto.c: New file.
20355 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
20356 * lib/pbkdf2.c: Likewise.
20357 * normal/auth.c (grub_auth_strcmp): Removed.
20358 (grub_iswordseparator): Likewise.
20359 (grub_auth_strword): Likewise.
20360 (is_authenticated): Use grub_strword.
20361 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
20362 and grub_strword. Pass entered password to authentication callback.
20363 * normal/crypto.c: New file.
20364 * normal/main.c: Call read_crypto_list.
20365 * util/grub-mkpasswd-pbkdf2.c: New file.
20366 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
20367
42841caa
VS
203682010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
20369
20370 Fix descent and ascent calculation.
20371
20372 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
20373 (options): New option "asce".
20374 (usage): Likewise.
20375 (add_char): Ignore invalid glyphs for descent calculation.
20376 Calculate ascent from actual content.
20377 (print_glyphs): Use 'asce'.
20378 (write_font): Likewise. Allow ascent override.
20379 (main): Handle "asce" option.
20380
e7730de7 203812010-01-06 Carles Pina i Estany <carles@pina.cat>
20382
20383 * kern/err.c: Include `<grub/i18n.h>'.
20384 (grub_print_error): Add full stop. Gettextizze.
20385 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
20386 (grub_bsd_load_elf): Capitalise ELF.
20387 (grub_cmd_freebsd_loadenv): Add `s' in error string.
20388 (grub_cmd_freebsd_module): Likewise.
20389 (grub_cmd_freebsd_module_elf): Likewise.
20390 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
20391
40e3a41f 203922010-01-06 Carles Pina i Estany <carles@pina.cat>
20393
20394 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
20395 * commands/search_file.c (HELP_MESSAGE): New macro.
20396 * commands/search_label.c (HELP_MESSAGE): Likewise.
20397 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
20398 * po/POTFILES: Add `commands/search_file.c',
20399 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
20400 `commands/search.c'.
20401
83507e68
RM
204022010-01-05 Robert Millan <rmh.grub@aybabtu.com>
20403
20404 * config.rpath: Update from Gnulib.
20405
465c787b
YB
204062010-01-05 Yves Blusseau <blusseau@zetam.org>
20407
20408 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
20409
6581dd3a
YB
204102010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
20411
20412 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
20413
3bff18c5
CW
204142010-01-05 Colin Watson <cjwatson@ubuntu.com>
20415
20416 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
20417 arguments to fread so that we get a return value in bytes, rather
20418 than something that will normally be rounded down to 0.
20419 Adjust error handling to avoid producing garbage when size_t is not
20420 the same size as long long.
20421
a1368118
CW
204222010-01-05 Colin Watson <cjwatson@ubuntu.com>
20423
20424 * util/mkisofs/write.c (padblock_write): Check return value of
20425 fread.
20426
7c302978
RM
204272010-01-05 Robert Millan <rmh.grub@aybabtu.com>
20428
20429 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
20430 floppy images now.
20431
20432 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
20433
e33ace06
RM
204342010-01-04 Robert Millan <rmh.grub@aybabtu.com>
20435
20436 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
20437 instead of manual alignment.
20438 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
20439 verbose). Avoid attempts to read past end of the device
20440 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
20441 but GRUB_DISK_CACHE_SIZE may exceed that).
20442
4b856776
RM
204432010-01-04 Robert Millan <rmh.grub@aybabtu.com>
20444
20445 * commands/crc.c (grub_cmd_crc): Abort on read errors.
20446 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
20447 it to upper layer.
20448
52c2d97f
VS
204492010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20450
20451 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
20452 New constant.
20453 (grub_efi_piwg_device_path): New structure
20454 (grub_efi_piwg_device_path_t): New type.
20455 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
20456 (devpath_1): Transform to a structure. All users updated.
20457 (devpath_2): Likewise.
20458 (devpath_3): Likewise.
20459 (devpath_4): Likewise.
20460 (devpath_5): Likewise.
20461
98ff6a54
VS
204622010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20463
20464 * loader/efi/appleloader.c: Restored. Update all users.
20465
3a73dcb6
RM
204662010-01-03 Robert Millan <rmh.grub@aybabtu.com>
20467
20468 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
20469
20470 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
20471 (struct boot_blocklist): Move from here ...
20472 * include/grub/i386/pc/boot.h [ASM_FILE]
20473 (struct grub_boot_blocklist): ... to here. Update all users.
20474 (setup): Only initialize `start' member of `first_block'
20475 structure. Add assert() calls to verify the other members.
20476
20477 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
20478 (generate_image): Fix broken blocklist length initialization.
20479 Add assert() call to verify blocklist `segment' field.
20480
ab0eeb0c
RM
204812010-01-03 Robert Millan <rmh.grub@aybabtu.com>
20482
20483 * loader/efi/appleloader.c: Remove. Update all users.
20484
58bc8bd5
RM
204852010-01-03 Robert Millan <rmh.grub@aybabtu.com>
20486
20487 * boot/i386/pc/boot.S: Update copyright year.
20488 * boot/i386/pc/cdboot.S: Likewise.
20489 * boot/i386/pc/diskboot.S: Likewise.
20490 * boot/i386/pc/lnxboot.S: Likewise.
20491 * boot/i386/pc/pxeboot.S: Likewise.
20492 * bus/pci.c: Likewise.
20493 * commands/cmp.c: Likewise.
20494 * commands/help.c: Likewise.
20495 * commands/hexdump.c: Likewise.
20496 * commands/i386/pc/halt.c: Likewise.
20497 * commands/i386/pc/play.c: Likewise.
20498 * commands/i386/pc/vbeinfo.c: Likewise.
20499 * commands/ls.c: Likewise.
20500 * commands/test.c: Likewise.
20501 * disk/dmraid_nvidia.c: Likewise.
20502 * disk/i386/pc/biosdisk.c: Likewise.
20503 * disk/ieee1275/nand.c: Likewise.
20504 * disk/ieee1275/ofdisk.c: Likewise.
20505 * disk/lvm.c: Likewise.
20506 * disk/raid.c: Likewise.
20507 * disk/raid6_recover.c: Likewise.
20508 * disk/scsi.c: Likewise.
20509 * fs/affs.c: Likewise.
20510 * fs/cpio.c: Likewise.
20511 * fs/ext2.c: Likewise.
20512 * fs/hfs.c: Likewise.
20513 * fs/iso9660.c: Likewise.
20514 * fs/ntfs.c: Likewise.
20515 * fs/sfs.c: Likewise.
20516 * fs/udf.c: Likewise.
20517 * fs/ufs.c: Likewise.
20518 * fs/xfs.c: Likewise.
20519 * gencmdlist.sh: Likewise.
20520 * genmk.rb: Likewise.
20521 * include/grub/disk.h: Likewise.
20522 * include/grub/efi/api.h: Likewise.
20523 * include/grub/efi/efi.h: Likewise.
20524 * include/grub/efi/pe32.h: Likewise.
20525 * include/grub/elf.h: Likewise.
20526 * include/grub/fs.h: Likewise.
20527 * include/grub/i386/at_keyboard.h: Likewise.
20528 * include/grub/i386/pc/memory.h: Likewise.
20529 * include/grub/i386/pc/vbe.h: Likewise.
20530 * include/grub/i386/pci.h: Likewise.
20531 * include/grub/i386/tsc.h: Likewise.
20532 * include/grub/ieee1275/ieee1275.h: Likewise.
20533 * include/grub/ntfs.h: Likewise.
20534 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
20535 * include/grub/sparc64/libgcc.h: Likewise.
20536 * include/grub/symbol.h: Likewise.
20537 * include/grub/types.h: Likewise.
20538 * include/multiboot2.h: Likewise.
20539 * io/gzio.c: Likewise.
20540 * kern/device.c: Likewise.
20541 * kern/disk.c: Likewise.
20542 * kern/efi/efi.c: Likewise.
20543 * kern/efi/mm.c: Likewise.
20544 * kern/elf.c: Likewise.
20545 * kern/file.c: Likewise.
20546 * kern/i386/dl.c: Likewise.
20547 * kern/i386/pc/init.c: Likewise.
20548 * kern/i386/pc/startup.S: Likewise.
20549 * kern/ieee1275/ieee1275.c: Likewise.
20550 * kern/ieee1275/init.c: Likewise.
20551 * kern/main.c: Likewise.
20552 * kern/mm.c: Likewise.
20553 * kern/powerpc/dl.c: Likewise.
20554 * kern/sparc64/dl.c: Likewise.
20555 * kern/x86_64/dl.c: Likewise.
20556 * lib/hexdump.c: Likewise.
20557 * loader/efi/appleloader.c: Likewise.
20558 * loader/i386/ieee1275/linux.c: Likewise.
20559 * loader/i386/pc/chainloader.c: Likewise.
20560 * loader/i386/pc/linux.c: Likewise.
20561 * loader/i386/pc/multiboot2.c: Likewise.
20562 * loader/ieee1275/multiboot2.c: Likewise.
20563 * loader/multiboot2.c: Likewise.
20564 * loader/multiboot_loader.c: Likewise.
20565 * loader/powerpc/ieee1275/linux.c: Likewise.
20566 * normal/completion.c: Likewise.
20567 * normal/menu_entry.c: Likewise.
20568 * partmap/apple.c: Likewise.
20569 * util/grub.d/10_hurd.in: Likewise.
20570 * util/hostfs.c: Likewise.
20571 * video/readers/png.c: Likewise.
20572
e2d70b5c
CW
205732010-01-03 Colin Watson <cjwatson@ubuntu.com>
20574
20575 * include/grub/misc.h (GNUC_PREREQ): New macro.
20576 (ATTRIBUTE_ERROR): New macro.
20577 * include/grub/list.h (grub_bad_type_cast_real): Use
20578 ATTRIBUTE_ERROR.
20579
a173283f 205802010-01-03 Carles Pina i Estany <carles@pina.cat>
20581
20582 * normal/menu_text.c (print_message): Change messages.
20583
7fa7ff74 205842010-01-03 Carles Pina i Estany <carles@pina.cat>
20585
20586 * normal/menu_entry.c (store_completion): Gettextizze.
20587
136d24f6 205882010-01-03 Carles Pina i Estany <carles@pina.cat>
20589
20590 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
20591
f936862e 205922010-01-03 Carles Pina i Estany <carles@pina.cat>
20593
20594 * po/POTFILES: Sort correctly.
20595
29c44ad1 205962010-01-03 Carles Pina i Estany <carles@pina.cat>
20597
20598 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
20599 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
20600 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
20601 full stop.
20602 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
20603 summary. Gettextizze the strings.
20604 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
20605 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
20606 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
20607 full stop.
20608 (GRUB_MOD_INIT): Remove command name from summary.
20609 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
20610 summary.
20611 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
20612 * term/i386/pc/serial.c (options): Add full stops.
20613 (GRUB_MOD_INIT): Remove command name from the summary.
20614
77a79592 206152010-01-03 Carles Pina i Estany <carles@pina.cat>
20616
20617 * commands/acpi.c: Gettextizze help strings and/or options. Include
20618 `grub/i18n.h' if needed.
20619 * commands/blocklist.c: Likewise.
20620 * commands/boot.c: Likewise.
20621 * commands/cat.c: Likewise.
20622 * commands/cmp.c: Likewise.
20623 * commands/configfile.c: Likewise.
20624 * commands/crc.c: Likewise.
20625 * commands/date.c: Likewise.
20626 * commands/echo.c: Likewise.
20627 * commands/efi/fixvideo.c: Likewise.
20628 * commands/efi/loadbios.c: Likewise.
20629 * commands/gptsync.c: Likewise.
20630 * commands/halt.c: Likewise.
20631 * commands/handler.c: Likewise.
20632 * commands/hdparm.c: Likewise.
20633 * commands/hexdump.c: Likewise.
20634 * commands/i386/cpuid.c: Likewise.
20635 * commands/i386/pc/drivemap.c: Likewise.
20636 * commands/i386/pc/halt.c: Likewise.
20637 * commands/i386/pc/pxecmd.c: Likewise.
20638 * commands/i386/pc/vbeinfo.c: Likewise.
20639 * commands/i386/pc/vbetest.c: Likewise.
20640 * commands/ieee1275/suspend.c: Likewise.
20641 * commands/keystatus.c: Likewise.
20642 * commands/loadenv.c: Likewise.
20643 * commands/ls.c: Likewise.
20644 * commands/lsmmap.c: Likewise.
20645 * commands/lspci.c: Likewise.
20646 * commands/memrw.c: Likewise.
20647 * commands/minicmd.c: Likewise.
20648 * commands/parttool.c: Likewise.
20649 * commands/password.c: Likewise.
20650 * commands/probe.c: Likewise.
20651 * commands/read.c: Likewise.
20652 * commands/reboot.c: Likewise.
20653 * commands/search.c: Likewise.
20654 * commands/sleep.c: Likewise.
20655 * commands/test.c: Likewise.
20656 * commands/true.c: Likewise.
20657 * commands/usbtest.c: Likewise.
20658 * commands/videotest.c: Likewise.
20659 * commands/xnu_uuid.c: Likewise.
20660 * disk/loopback.c: Likewise.
20661 * hello/hello.c: Likewise.
20662 * loader/i386/bsd.c: Likewise.
20663 * term/i386/pc/serial.c: Likewise.
20664 * po/POTFILES: Add new files.
20665
da8d5c53
CW
206662010-01-02 Colin Watson <cjwatson@ubuntu.com>
20667
20668 * term/i386/pc/at_keyboard.c
20669 (keyboard_controller_wait_untill_ready): Rename to ...
20670 (keyboard_controller_wait_until_ready): ... this. Update all users.
20671
33937904 206722010-01-01 Carles Pina i Estany <carles@pina.cat>
20673
20674 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
20675 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
20676 string using string width.
20677 * normal/menu_text.c (grub_print_message_indented): Use
20678 grub_print_spaces and not print_spaces.
20679 (print_timeout): Likewise.
20680 (print_spaces): Move to...
20681 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
20682
3fd3b8d8
RM
206832010-01-01 Robert Millan <rmh.grub@aybabtu.com>
20684
20685 Import from Gnulib.
20686
20687 * gnulib/getdelim.c: New file.
20688 * gnulib/getline.c: Likewise.
20689
33433555
VS
206902009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
20691
20692 * include/grub/list.h (grub_assert_fail): Removed.
20693 (grub_bad_type_cast_real): New function.
20694 (grub_bad_type_cast): New macro.
20695 (GRUB_AS_LIST): Use grub_bad_type_cast.
20696 (GRUB_AS_LIST_P): Likewise.
e44721e8 20697 (GRUB_AS_NAMED_LIST): Likewise.
33433555 20698 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 20699 (GRUB_AS_PRIO_LIST): Likewise.
33433555 20700 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 20701 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 20702
f5a51306
VS
207032009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
20704
20705 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
20706 Fix syntax error.
20707
90d1e879
RM
207082009-12-29 Robert Millan <rmh.grub@aybabtu.com>
20709
20710 * configure.ac: Check for TARGET_CFLAGS initialization before we
20711 initialize it ourselves (sigh).
20712 Move a few modifications to TARGET_CFLAGS to be unconditional
20713 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
20714 eh_frame)
20715
20716 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
20717 * term/i386/pc/at_keyboard.c
20718 (keyboard_controller_wait_untill_ready): Likewise.
20719 (keyboard_controller_led): Rename `led_status' paramter to avoid
20720 name conflict.
20721
465b5a81 207222009-12-28 Carles Pina i Estany <carles@pina.cat>
20723
20724 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
20725 quotes.
20726
c181849b
VS
207272009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20728
20729 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
20730
9c8739a4
VS
207312009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20732
20733 * normal/menu_text.c (grub_print_message_indented): Prevent
20734 past-the-end-of-array dereference.
20735
3e74249c
VS
207362009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20737
20738 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
20739 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
20740
64fd18ed 207412009-12-27 Carles Pina i Estany <carles@pina.cat>
20742
20743 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
20744 * normal/main.c (grub_normal_read_line): Remove a space from the
20745 default prompt.
20746
714af9b9 207472009-12-27 Carles Pina i Estany <carles@pina.cat>
20748
20749 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
20750 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20751 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
20752 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
20753 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20754 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20755 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
20756
82f3e412 207572009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 20758
20759 * video/readers/jpeg.c (cmd): Declare.
20760 (grub_cmd_jpegtest): Use `grub_command_t' type.
20761 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
20762 Assign to `cmd'.
20763 (GRUB_MOD_FINI): Use `cmd' to unregister.
20764 * video/readers/png.c (cmd): Declare.
20765 (grub_cmd_pngtest): Use `grub_command_t' type.
20766 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
20767 Assign to `cmd'.
20768 (GRUB_MOD_FINI): Use `cmd' to unregister.
20769 * video/readers/tga.c (cmd): Declare.
20770 (grub_cmd_tgatest): Use `grub_command_t' type.
20771 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
20772 Assign to `cmd'.
20773 (GRUB_MOD_FINI): Use `cmd' to unregister.
20774
82f3e412 207752009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 20776
20777 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
20778 stops.
20779 * kern/corecmd.c (grub_register_core_commands): Likewise.
20780 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
20781 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
20782 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
20783 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20784 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
20785 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
20786 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
20787 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
20788 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20789 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20790 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
20791 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20792 * normal/handler.c (insert_handler): Likewise.
20793 * normal/main.c (GRUB_MOD_INIT): Likewise.
20794 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
20795
fdcdbb66 207962009-12-26 Carles Pina i Estany <carles@pina.cat>
20797
20798 * commands/help.c (grub_cmd_help): Print the command name before the
20799 summary.
20800 (GRUB_MOD_INIT): Remove command name from the summary.
20801 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 20802 string as summary.
fdcdbb66 20803 * lib/arg.c (find_long): Print the command name before the summary.
20804 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
20805 summary.
20806 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
20807 * commands/cat.c (GRUB_MOD_INIT): Likewise.
20808 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
20809 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
20810 * commands/crc.c (GRUB_MOD_INIT): Likewise.
20811 * commands/date.c (GRUB_MOD_INIT): Likewise.
20812 * commands/echo.c (GRUB_MOD_INIT): Likewise.
20813 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
20814 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
20815 * commands/handler.c (GRUB_MOD_INIT): Likewise.
20816 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
20817 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
20818 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
20819 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
20820 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
20821 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
20822 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
20823 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
20824 * commands/ls.c (GRUB_MOD_INIT): Likewise.
20825 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
20826 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
20827 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
20828 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
20829 * commands/password.c (GRUB_MOD_INIT): Likewise.
20830 * commands/probe.c (GRUB_MOD_INIT): Likewise.
20831 * commands/read.c (GRUB_MOD_INIT): Likewise.
20832 * commands/search.c (GRUB_MOD_INIT): Likewise.
20833 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
20834 * commands/test.c (GRUB_MOD_INIT): Likewise.
20835 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
20836 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
20837 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
20838 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
20839 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
20840 * lib/arg.c (GRUB_MOD_INIT): Likewise.
20841 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
20842 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
20843 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
20844 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20845 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
20846 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
20847 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
20848 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
20849
9c288be2
VS
208502009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20851
20852 Use search command for preliminar UUID search.
20853
20854 * commands/search.c: Split into ...
20855 * commands/search_wrap.c: ...this
20856 * commands/search.c: ...and this.
20857 * commands/search_file.c: New file.
20858 * commands/search_label.c: New file.
20859 * commands/search_uuid.c: New file.
20860 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
20861 Add commands/search_wrap.c, commands/search_file.c,
20862 commands/search_label.c and commands/search_uuid.c.
20863 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
20864 (search_mod_SOURCES): Set to commands/search_wrap.c.
20865 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
20866 search_label.mod.
20867 (search_fs_file_mod_SOURCES): New variable.
20868 (search_fs_file_mod_CFLAGS): Likewise.
20869 (search_fs_file_mod_LDFLAGS): Likewise.
20870 (search_label_mod_SOURCES): Likewise.
20871 (search_label_mod_CFLAGS): Likewise.
20872 (search_label_mod_LDFLAGS): Likewise.
20873 (search_fs_uuid_mod_SOURCES): New variable.
20874 (search_fs_uuid_mod_CFLAGS): Likewise.
20875 (search_fs_uuid_mod_LDFLAGS): Likewise.
20876 (fs_file_mod_SOURCES): Removed.
20877 (fs_file_mod_CFLAGS): Likewise.
20878 (fs_file_mod_LDFLAGS): Likewise.
20879 (fs_uuid_mod_SOURCES): Removed.
20880 (fs_uuid_mod_CFLAGS): Likewise.
20881 (fs_uuid_mod_LDFLAGS): Likewise.
20882 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
20883 Set to util/grub-install.in.
20884 * disk/fs_file.c: Removed.
20885 * disk/fs_uuid.c: Likewise.
20886 * include/grub/search.h: New file.
20887 * util/grub-install.in: Handle sparc64.
20888 Create and use load.cfg.
20889 * util/sparc64/ieee1275/grub-install.in: Removed.
20890
db943399
VS
208912009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20892
20893 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
20894 Ignore return status if CF is cleared.
20895 (grub_biosdisk_get_diskinfo_standard): Likewise.
20896
3fdae612
RM
208972009-12-25 Robert Millan <rmh.grub@aybabtu.com>
20898
20899 * term/i386/pc/at_keyboard.c
20900 (keyboard_controller_wait_untill_ready): New function.
20901 (grub_keyboard_controller_write, grub_keyboard_controller_read)
20902 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
20903 for keyboard polling, rather than duplicate the same loop. This
20904 saves a few bytes in code size.
20905
7ebaa2b4
VS
209062009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20907
20908 Support for (pxe[:server[:gateway]]) syntax and
20909 use environment variable for PXE.
20910
20911 * commands/i386/pc/pxecmd.c (options): Removed.
20912 (print_ip): Removed.
20913 (grub_cmd_pxe): Removed
20914 (grub_cmd_pxe_unload): New function.
20915 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
20916 (grub_pxe_your_ip): Made static.
20917 (grub_pxe_default_server_ip): Likewise.
20918 (grub_pxe_default_gateway_ip): Likewise.
20919 (grub_pxe_blksize): Likewise.
20920 (parse_ip): New function.
20921 (grub_pxe_open): Support server and gateway specification.
20922 (grub_pxe_close): Free disk->data.
20923 (grub_pxefs_open): Use disk->data.
20924 (grub_pxefs_read): Likewise.
20925 (grub_env_write_readonly): New function.
20926 (set_mac_env): Likewise.
20927 (set_env_limn_ro): Likewise.
20928 (parse_dhcp_vendor): Likewise.
20929 (grub_pxe_detect): Set the environment variables.
20930 (set_ip_env): New function.
20931 (write_ip_env): Likewise.
20932 (grub_env_write_pxe_default_server): Likewise.
20933 (grub_env_write_pxe_default_gateway): Likewise.
20934 (grub_env_write_pxe_blocksize): Likewise.
20935 (GRUB_MOD_INIT(pxe)): Set environment variables.
20936 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
20937 (grub_pxe_mac_addr_t): ... this. All users updated.
20938 (grub_pxe_your_ip): Removed.
20939 (grub_pxe_server_ip): Likewise.
20940 (grub_pxe_gateway_ip): Likewise.
20941 (grub_pxe_blksize): Likewise.
20942
ec5f98ab 209432009-12-25 Carles Pina i Estany <carles@pina.cat>
20944
20945 * commands/help.c: Include `<grub/i18n.h>'.
20946 (grub_cmd_help): Gettextizze.
20947 (GRUB_MOD_INIT): Likewise.
20948 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
20949 (GRUB_MOD_INIT): Gettextizze.
20950 * commands/search.c: Include `<grub/i18n.h>'.
20951 (options): Gettextizze.
20952 (GRUB_MOD_INIT): Gettextizze.
20953 * lib/arg.c: Include `<grub/i18n.h>'.
20954 (help_options): Gettextizze.
20955 (find_long): Likewise.
20956 (grub_arg_show_help): Likewise.
20957 * normal/dyncmd.c: Include `<grub/i18n.h>'.
20958 (read_command_list): Gettextizze.
20959 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 20960 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 20961
22815526
RM
209622009-12-25 Robert Millan <rmh.grub@aybabtu.com>
20963
20964 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
20965 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
20966 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
20967 (led_status): New variable.
20968 (keyboard_controller_led): New function.
20969 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
20970 update led status for caps lock, num lock and scroll lock.
20971
0ad46fd7
FZ
209722009-12-25 Felix Zielcke <fzielcke@z-51.de>
20973
20974 * util/hostdisk.c (open_device): Fix a comment.
20975
d0e158c2
RM
209762009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20977
20978 * util/grub-install.in (host_os): New variable.
20979 * util/i386/efi/grub-install.in (host_os): Likewise.
20980
401c0ad6
RM
209812009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20982
20983 * util/mkisofs/write.c (padblock_write): Abort when given an
20984 excedingly large embed image, instead of silently truncating it.
20985
d14d3370
RM
209862009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20987
20988 * include/multiboot.h: Indentation fixes.
20989
eeed10b4
RM
209902009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20991
20992 * include/multiboot.h (struct multiboot_aout_symbol_table)
20993 (struct multiboot_elf_section_header_table): New structure
20994 declarations (stolen from GRUB Legacy).
20995 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
20996 table information.
20997
20998 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
20999 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
21000 type aliases.
21001
681c70ab
RM
210022009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21003
21004 * include/multiboot.h: Make comments src2texi-friendly.
21005
e4d47d8d
RM
210062009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21007
21008 For consistency with [multiboot]/docs/boot.S.
21009
21010 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
21011 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
21012 (MULTIBOOT_MAGIC2): Rename from this ...
21013 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
21014
a0b70bda
RM
210152009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21016
21017 * include/multiboot.h: Remove `<grub/types.h>'.
21018 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
21019 types. Update all users.
21020
61ba42be 210212009-12-25 Carles Pina i Estany <carles@pina.cat>
21022
21023 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
21024 `couldn't' and `can not' by `cannot'.
21025 * commands/i386/pc/drivemap.c: Likewise.
21026 * disk/ata.c: Likewise.
21027 * disk/ieee1275/nand.c: Likewise.
21028 * fs/affs.c: Likewise.
21029 * fs/fat.c: Likewise.
21030 * fs/hfs.c: Likewise.
21031 * fs/hfsplus.c: Likewise.
21032 * fs/iso9660.c: Likewise.
21033 * fs/jfs.c: Likewise.
21034 * fs/minix.c: Likewise.
21035 * fs/reiserfs.c: Likewise.
21036 * fs/sfs.c: Likewise.
21037 * fs/udf.c: Likewise.
21038 * fs/ufs.c: Likewise.
21039 * fs/xfs.c: Likewise.
21040 * loader/powerpc/ieee1275/linux.c: Likewise.
21041 * loader/sparc64/ieee1275/linux.c: Likewise.
21042 * util/grub-probe.c: Likewise.
21043 * util/misc.c: Likewise.
21044
7fd0baee 210452009-12-24 Carles Pina i Estany <carles@pina.cat>
21046
21047 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
21048 grub_errno calls.
21049 * commands/acpi.c: Likewise.
21050 * commands/blocklist.c: Likewise.
21051 * commands/efi/loadbios.c: Likewise.
21052 * commands/i386/pc/drivemap.c: Likewise.
21053 * commands/loadenv.c: Likewise.
21054 * commands/memrw.c: Likewise.
21055 * commands/password.c: Likewise.
21056 * commands/videotest.c: Likewise.
21057 * disk/ata.c: Likewise.
21058 * disk/ata_pthru.c: Likewise.
21059 * disk/dmraid_nvidia.c: Likewise.
21060 * disk/ieee1275/nand.c: Likewise.
21061 * disk/ieee1275/ofdisk.c: Likewise.
21062 * disk/loopback.c: Likewise.
21063 * disk/lvm.c: Likewise.
21064 * disk/mdraid_linux.c: Likewise.
21065 * disk/raid.c: Likewise.
21066 * disk/raid6_recover.c: Likewise.
21067 * disk/scsi.c: Likewise.
21068 * efiemu/main.c: Likewise.
21069 * efiemu/mm.c: Likewise.
21070 * efiemu/pnvram.c: Likewise.
21071 * efiemu/symbols.c: Likewise.
21072 * font/font.c: Likewise.
21073 * fs/cpio.c: Likewise.
21074 * fs/hfsplus.c: Likewise.
21075 * fs/iso9660.c: Likewise.
21076 * fs/jfs.c: Likewise.
21077 * fs/minix.c: Likewise.
21078 * fs/ntfs.c: Likewise.
21079 * fs/ntfscomp.c: Likewise.
21080 * fs/reiserfs.c: Likewise.
21081 * fs/ufs.c: Likewise.
21082 * fs/xfs.c: Likewise.
21083 * gettext/gettext.c: Likewise.
21084 * include/grub/auth.h: Likewise.
21085 * kern/elf.c: Likewise.
21086 * kern/file.c: Likewise.
21087 * kern/ieee1275/init.c: Likewise.
21088 * kern/ieee1275/mmap.c: Likewise.
21089 * kern/ieee1275/openfw.c: Likewise.
21090 * kern/powerpc/dl.c: Likewise.
21091 * kern/sparc64/dl.c: Likewise.
21092 * lib/arg.c: Likewise.
21093 * loader/i386/bsd.c: Likewise.
21094 * loader/i386/bsdXX.c: Likewise.
21095 * loader/i386/efi/linux.c: Likewise.
21096 * loader/i386/efi/xnu.c: Likewise.
21097 * loader/i386/ieee1275/linux.c: Likewise.
21098 * loader/i386/linux.c: Likewise.
21099 * loader/i386/multiboot.c: Likewise.
21100 * loader/i386/pc/linux.c: Likewise.
21101 * loader/i386/pc/multiboot2.c: Likewise.
21102 * loader/i386/xnu.c: Likewise.
21103 * loader/ieee1275/multiboot2.c: Likewise.
21104 * loader/macho.c: Likewise.
21105 * loader/machoXX.c: Likewise.
21106 * loader/multiboot2.c: Likewise.
21107 * loader/multiboot_loader.c: Likewise.
21108 * loader/powerpc/ieee1275/linux.c: Likewise.
21109 * loader/sparc64/ieee1275/linux.c: Likewise.
21110 * loader/xnu.c: Likewise.
21111 * loader/xnu_resume.c: Likewise.
21112 * mmap/i386/pc/mmap.c: Likewise.
21113 * normal/menu_viewer.c: Likewise.
21114 * partmap/acorn.c: Likewise.
21115 * partmap/amiga.c: Likewise.
21116 * partmap/apple.c: Likewise.
21117 * script/lexer.c: Likewise.
21118 * term/gfxterm.c: Likewise.
21119 * term/i386/pc/serial.c: Likewise.
21120 * term/i386/pc/vga.c: Likewise.
21121 * term/ieee1275/ofconsole.c: Likewise.
21122 * term/terminfo.c: Likewise.
21123 * video/bitmap.c: Likewise.
21124 * video/efi_gop.c: Likewise.
21125 * video/efi_uga.c: Likewise.
21126 * video/fb/video_fb.c: Likewise.
21127 * video/i386/pc/vbe.c: Likewise.
21128 * video/readers/tga.c: Likewise.
21129 * video/video.c: Likewise.
21130
0ad46fd7 211312009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
21132
21133 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
21134 * commands/lspci.c: Likewise.
21135 * commands/probe.c: Likewise.
21136 * commands/xnu_uuid.c: Likewise.
21137 * conf/i386-coreboot.rmk: Likewise.
21138 * conf/i386-efi.rmk: Likewise.
21139 * conf/i386-ieee1275.rmk: Likewise.
21140 * conf/i386-pc.rmk: Likewise.
21141 * conf/powerpc-ieee1275.rmk: Likewise.
21142 * conf/sparc64-ieee1275.rmk: Likewise.
21143 * conf/x86_64-efi.rmk: Likewise.
21144 * fs/i386/pc/pxe.c: Likewise.
21145 * gettext/gettext.c: Likewise.
21146 * include/grub/efi/graphics_output.h: Likewise.
21147 * include/grub/i386/pc/memory.h: Likewise.
21148 * kern/env.c: Likewise.
21149 * kern/i386/qemu/startup.S: Likewise.
21150 * lib/i386/pc/biosnum.c: Likewise.
21151 * lib/i386/relocator.c: Likewise.
21152 * lib/i386/relocator_asm.S: Likewise.
21153 * lib/relocator.c: Likewise.
21154 * loader/i386/bsd.c: Likewise.
21155 * loader/i386/multiboot.c: Likewise.
21156 * loader/i386/pc/chainloader.c: Likewise.
21157 * loader/i386/xnu.c: Likewise.
21158 * loader/xnu.c: Likewise.
21159 * normal/main.c: Likewise.
21160 * normal/menu_text.c: Likewise.
21161 * util/getroot.c: Likewise.
21162 * util/grub-mkconfig_lib.in: Likewise.
21163 * util/grub.d/00_header.in: Likewise.
21164 * util/i386/pc/grub-mkimage.c: Likewise.
21165 * util/mkisofs/eltorito.c: Likewise.
21166 * util/mkisofs/exclude.h: Likewise.
21167 * util/mkisofs/hash.c: Likewise.
21168 * util/mkisofs/iso9660.h: Likewise.
21169 * util/mkisofs/joliet.c: Likewise.
21170 * util/mkisofs/mkisofs.c: Likewise.
21171 * util/mkisofs/mkisofs.h: Likewise.
21172 * util/mkisofs/multi.c: Likewise.
21173 * util/mkisofs/name.c: Likewise.
21174 * util/mkisofs/rock.c: Likewise.
21175 * util/mkisofs/tree.c: Likewise.
21176 * util/mkisofs/write.c: Likewise.
21177 * video/efi_gop.c: Likewise.
21178
009ec743
VS
211792009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
21180
21181 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
21182 size counting.
21183
0ad46fd7 211842009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
21185
21186 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
21187 * genmk.rb (class SCRIPT): Modify the target file instead of source.
21188
d3d30ea0
VS
211892009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21190
21191 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
21192 (GRUB_MOD_INIT(memrw)): Update help line.
21193
a34f5c70
VS
211942009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21195
21196 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
21197 Use grub_extcmd_t. All users updated.
21198 (options): New variable.
21199 (grub_cmd_read): Restructure for readability. Support "-v" option.
21200 (grub_cmd_write): Restructure for readability.
21201
0ad46fd7 212022009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
21203
21204 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
21205
0ad46fd7 212062009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
21207
21208 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
21209 with the actual contents of the correspondending make variable.
21210 * util/grub-mkrescue.in (pkglib_DATA): New variable.
21211 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
21212 specifying `*.lst' and `efiemu??.o'
21213
0ad46fd7 212142009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
21215
21216 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
21217 after function name.
21218 Noticed by Rene Engelhard <rene@debian.org>.
21219
dc77a799
VS
212202009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21221
21222 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
21223 (options): New variable.
21224 (iospace): Likewise.
21225 (grub_lspci_iter): List IO spaces if "-i" was given.
21226 (grub_cmd_lspci): Parse options.
21227 (GRUB_MOD_INIT(lspci)): Use extcmd.
21228 (GRUB_MOD_FINI(lspci)): Likewise.
21229
0ad46fd7 212302009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
21231
21232 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
21233 `function' keyword.
21234 Patch by Tony Mancill <tmancill@debian.org>.
21235
b5d5993b
VS
212362009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21237
21238 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
21239 (grub_uhci_portstatus): Likewise.
21240 (grub_uhci_portstatus): Add necessary delay.
11d18281 21241 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 21242
941903f2 212432009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 21244
941903f2 21245 * commands/acpi.c (options): Fix capitalizations and/or full stops.
21246 (GRUB_MOD_INIT): Likewise.
21247 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 21248 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
21249 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 21250 * commands/efi/loadbios.c (enable_rom_area): Likewise.
21251 (enable_rom_area): Likewise.
21252 (GRUB_MOD_INIT): Likewise.
21253 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
21254 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
21255 * commands/handler.c (GRUB_MOD_INIT): Likewise.
21256 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
21257 * commands/hexdump.c (options): Likewise.
21258 * commands/i386/cpuid.c (options): Likewise.
21259 (GRUB_MOD_INIT): Likewise.
21260 * commands/i386/pc/drivemap.c (options): Likewise.
21261 (GRUB_MOD_INIT): Likewise.
21262 * commands/i386/pc/halt (options): Likewise.
21263 (GRUB_MOD_INIT): Likewise.
21264 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
21265 * commands/i386/pc/pxecmd.c (options): Likewise.
21266 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
21267 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
21268 * commands/keystatus.c (options): Likewise.
21269 (GRUB_MOD_INIT): Likewise.
21270 * commands/loadenv.c (options): Likewise.
21271 * commands/ls.c (options): Likewise.
21272 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
21273 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
21274 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
21275 * commands/parttool.c (helpmsg): Likewise.
21276 * commands/probe.c (options): Likewise.
21277 * commands/read.c (GRUB_MOD_INIT): Likewise.
21278 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
21279 * commands/search.c (options): Likewise.
21280 * commands/sleep.c (options): Likewise.
21281 * commands/test.c (GRUB_MOD_INIT): Likewise.
21282 * commands/true.c (GRUB_MOD_INIT): Likewise.
21283 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
21284 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
21285 * lib/arg.c (help_options): Likewise.
e9bbb4e7 21286 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
21287 `$(XGETTEXT)'.
98a50553 21288 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 21289
0ad46fd7 212902009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 21291
ef3c2c3a 21292 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
21293 instead of specifying them explicit.
21294
7922f68b
RM
212952009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21296
21297 * NEWS: Add grub-probe support for GNU/Hurd.
21298
537ce47f
RM
212992009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21300
21301 * NEWS: gettext was added after 1.97.
21302
9b214e3a
RM
213032009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21304
21305 * util/mkisofs/msdos_partition.h: New file (based on
21306 include/grub/msdos_partition.h).
21307 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
21308 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
21309 (ld_options, main): Recognize --protective-msdos-label.
21310 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
21311 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
21312 (padblock_write): If `use_protective_msdos_label' is set, patch a
21313 protective DOS-style label in the output image.
21314
21315 * util/grub-mkrescue.in: Use --protective-msdos-label.
21316
e9309813
RM
213172009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21318
21319 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
21320 boot.
21321
0ae56929
RM
213222009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21323
21324 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
21325 variables.
21326 (ld_options, main): Recognize `--embedded-boot'.
21327 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
21328 declarations.
21329 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
21330 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
21331 (padblock_write): Likewise. Rewrite to support embedded boot image.
21332
21333 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
21334 for BIOS-based disk boot instead of only ElTorito.
21335
b15937b1
RM
213362009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21337
21338 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
21339 build (not needed for bootstrap).
21340
52cc3ce0
RM
213412009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21342
21343 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
21344 from i386-pc build (not needed for bootstrap).
21345 Rewrite a pair of strings.
21346
36f5ff04
RM
213472009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21348
21349 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
21350
973c6c85 213512009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
21352
21353 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
21354
05d21547
AB
213552009-12-21 Andreas Born <futur.andy@googlemail.com>
21356
21357 * kern/env.c (grub_env_context_open): Mark exported variable for
21358 reexport.
21359
0175d51f
AB
213602009-12-21 Andreas Born <futur.andy@googlemail.com>
21361
21362 * kern/env.c (grub_env_export): Create nonexistent variables before
21363 exporting.
21364
7f39d92f 213652009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 21366
7f39d92f 21367 * include/grub/auth.h: Include `<grub/i18n.h>'.
21368 (GRUB_GET_PASSWORD): Gettextizze string.
21369 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
21370 menu_text.c.
21371 (grub_utf8_to_ucs4_alloc): Fix indentation.
21372 (grub_print_ucs4): Likewise.
21373 (grub_getstringwidth): Likewise.
21374 (print_message_indented): New declaration.
21375 * normal/auth.c: Include `<grub/i18n.h>'.
21376 (grub_auth_check_authentication): Gettexttize string.
21377 * normal/cmdline.c: Include `<grub/i18n.h>'.
21378 (grub_cmdline_get): Gettextizze.
21379 * normal/color.c: Include `<grub/i18n.h>'.
21380 (grub_parse_color_name_pair): Gettexttize strings.
21381 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
21382 string (use `print_message_indented').
21383 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
21384 `include/grub/normal.h'.
21385 (print_message_indented): Renamed to ...
21386 (grub_print_message_indented): ... this. Remove `static' qualifer (now
21387 used in normal/main.c).
21388 (print_message): Use `grub_print_message_indented' instead of
21389 `print_message_indented'.
21390 (print_timeout): Likewise.
21391 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
21392 (grub_normal_print_device_info): Gettexttize strings.
21393 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
21394
3041d898
VS
213952009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
21396
21397 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
21398 of arguments. Return number of tokens and not arguments. All users
21399 updated.
21400
de15bf8e
VS
214012009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
21402
21403 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
21404 non-MSDOS paritions.
21405
e0a6ca52
VS
214062009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21407
21408 * include/grub/types.h (UNUSED): Removed since it conflicts with
21409 NetBSD headers. All users changed to direct __attribute__ ((unused)).
21410 Reported by Grégoire Sutre.
21411
b99518d1 214122009-12-19 Carles Pina i Estany <carles@pina.cat>
21413
21414 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
21415 (grub_print_ucs4_alloc): Likewise.
21416 (grub_getstringwidth): Likewise.
21417 * normal/main.c (grub_normal_init_page): Gettextize version string.
21418 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
21419 (getstringwidth): Renamed to ...
21420 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
21421 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
21422 (grub_print_ucs4): Remove `static' qualifer (now used in
21423 normal/main.c).
21424 * po/POTFILES: Add normal/main.c.
21425
bfd5e52b 214262009-12-19 Carles Pina i Estany <carles@pina.cat>
21427
21428 * normal/menu_text.c (STANDARD_MARGIN): New macro.
21429 (print_message_indented): Add `margin_left' and `margin_right'
21430 parameters.
21431 (print_message): Update `print_message_indented' calls. Adds '\n' to the
21432 strings.
21433 (print_timeout): Use `print_message_indented' to print the message.
21434 Deletes `second_stage' parameter.
21435 (run_menu): Update `print_timeout' calls.
21436
5a1ad2b9
VS
214372009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21438
21439 Fix console palette on OpenFirmware.
21440
21441 * term/ieee1275/ofconsole.c (MAX): Removed.
21442 (colors): Redone based on VGA palette.
21443 (grub_ofconsole_setcolor): Discard brightness bit since only 8
21444 colors are supported.
21445 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
21446
b045f00a
VS
214472009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21448
21449 Fix potential EfiEmu double prepare.
21450
21451 * efiemu/main.c (prepared): New variable
21452 (grub_efiemu_unload): Set prepare to '0'.
21453 (grub_efiemu_prepare): Return if already prepared. Set prepared.
21454
21455 set_virtual_address_map support.
21456
21457 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
21458 prototype.
21459 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
21460 prototype.
21461 (grub_efiemu_crc32): Likewise.
21462 (grub_efiemu_crc64): Likewise.
21463 (grub_efiemu_set_virtual_address_map): Likewise.
21464 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
21465 New definition.
21466 (grub_autoefi_set_virtual_address_map): Likewise.
21467 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
21468 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
21469 Restructure flow to accomodate it.
21470 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
21471 (grub_efiemu_crc): Recompute CRC32.
21472 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
21473 (efiemu_ptv_relocated): ... this. Made global. All users updated.
21474 * efiemu/symbols.c (relocated_handle): New variable.
21475 (grub_efiemu_free_syms): Free relocated_handle.
21476 (grub_efiemu_alloc_syms): Allocate relocated_handle.
21477 (grub_efiemu_write_sym_markers): New function.
21478 (grub_efiemu_set_virtual_address_map): Likewise.
21479
21480 Newer XNU parameters.
21481
21482 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
21483 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
21484 (grub_xnu_fill_devicetree): New prototype.
21485 (grub_xnu_heap_real_start): New variable.
21486 * loader/xnu.c (get_name_ptr): New function.
21487 (grub_xnu_load_driver): Fill namelen and name.
21488
21489 64-bit xnu support.
21490
21491 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
21492 and 'loader/macho64.c'.
21493 * conf/i386-pc.rmk: Likewise.
21494 * conf/x86_64-efi.rmk: Likewise.
21495 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
21496 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
21497 * include/grub/macho.h (grub_macho_segment64): New structure.
21498 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
21499 (grub_macho_size32): ... to this.
21500 (grub_macho32_get_entry_point): Renamed from ...
21501 (grub_macho_get_entry_point32): ... to this.
21502 (grub_macho_contains_macho64): New prototype.
21503 (grub_macho_size64): Likewise.
21504 (grub_macho_get_entry_point64): Likewise.
21505 (grub_macho32_load): Renamed from ...
21506 (grub_macho_load32): ... to this.
21507 (grub_macho32_filesize): Renamed from ...
21508 (grub_macho_filesize32): ... to this.
21509 (grub_macho32_readfile): Renamed from ...
21510 (grub_macho_readfile32): ... to this.
21511 (grub_macho_filesize64): New prototype.
21512 (grub_macho_readfile64): Likewise.
21513 (grub_macho_parse32): Likewise.
21514 (grub_macho_parse64): Likewise.
21515 * loader/macho.c: Split into ...
21516 * loader/machoXX.c: ... and this. Replace 32 with XX.
21517 * loader/macho32.c: New file.
21518 * loader/macho64.c: Likewise.
21519 * loader/xnu.c (grub_xnu_is_64bit): New variable.
21520 (grub_cmd_xnu_kernel): Make 32-bit only.
21521 (grub_cmd_xnu_kernel64): New function.
21522 (grub_xnu_load_driver): Support Mach-O 64.
21523 (grub_cmd_xnu_mkext): Likewise.
21524 * util/grub.d/30_os-prober.in (osx_entry): New function.
21525 Generate entries for 64-bit boot too.
21526
21527 Eliminate ad-hoc tree format in XNU and EfiEmu.
21528
21529 * efiemu/main.c (grub_efiemu_prepare): Update comment.
21530 * efiemu/pnvram.c: Rewritten to use environment variables.
21531 All users updated.
21532
21533 Inline utf16_to_utf8.
21534
21535 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
21536 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
21537 All users updated.
21538 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
21539
21540 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
21541 * commands/usbtest.c (grub_usb_get_string): ... move here.
21542 (usb_print_str): Fix error handling.
21543 * include/grub/usb.h (grub_usb_get_string): Remove.
21544
21545 UTF-8 to UTF-16 transformation.
21546
21547 * conf/common.rmk (pkglib_MODULES): Add charset.mod
21548 (charset_mod_SOURCES): New variable.
21549 (charset_mod_CFLAGS): Likewise.
21550 (charset_mod_LDFLAGS): Likewise.
21551 * include/grub/utf.h: New file.
21552 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
21553
21554 Support for device properties.
21555
21556 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
21557 (grub_xnu_devprop_device_header): Likewise.
21558 (grub_xnu_devprop_device_descriptor): Likewise.
21559 (grub_xnu_devprop_add_device): New prototype.
21560 (grub_xnu_devprop_remove_device): Likewise.
21561 (grub_xnu_devprop_remove_property): Likewise.
21562 (grub_xnu_devprop_add_property_utf8): Likewise.
21563 (grub_xnu_devprop_add_property_utf16): Likewise.
21564 (grub_cpu_xnu_init): Likewise.
21565 (grub_cpu_xnu_fini): Likewise.
21566 (grub_cpu_xnu_unload): Likewise.
21567 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
21568 (property_descriptor): Likewise.
21569 (devices): New variable.
21570 (grub_xnu_devprop_remove_property): New function.
21571 (grub_xnu_devprop_add_device): Likewise.
21572 (grub_xnu_devprop_remove_device): Likewise.
21573 (grub_xnu_devprop_add_property): Likewise.
21574 (grub_xnu_devprop_add_property_utf8): Likewise.
21575 (grub_xnu_devprop_add_property_utf16): Likewise.
21576 (hextoval): Likewise.
21577 (grub_cpu_xnu_fill_devprop): Likewise.
21578 (grub_cmd_devprop_load): Likewise.
21579 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
21580 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
21581 (cmd_devprop_load): New variable.
21582 (grub_cpu_xnu_init): New function.
21583 (grub_cpu_xnu_fini): Likewise.
21584 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
21585 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
21586 (grub_cmd_xnu_devtree): Likewise.
21587 (hextoval): New function.
21588 (unescape): Likewise.
21589 (grub_xnu_fill_devicetree): Likewise.
21590
21591 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
21592 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
21593
0945f181
VS
215942009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21595
21596 Workaround for broken ATI VBE.
21597
21598 * video/i386/pc/vbe.c (last_set_mode): New variable.
21599 (grub_vbe_set_video_mode): Set 'last_set_mode'.
21600 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
21601 (grub_video_vbe_setup): Don't check for reserved flag.
21602
0ad46fd7 216032009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
21604
21605 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
21606 the `find' command.
21607
c179ebe4
VS
216082009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
21609
21610 UUID support for HFS.
21611
21612 * fs/hfs.c (grub_hfs_uuid): New function.
21613 (grub_hfs_fs): New value .uuid.
21614 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
21615
0ad46fd7 216162009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
21617
21618 Fix a segfault with parsing unknown long options.
21619
21620 * util/grub-mkrelpath.c (options): Zero terminate it.
21621
c4a3e41a
CPE
216222009-12-13 Carles Pina i Estany <carles@pina.cat>
21623
21624 * include/grub/misc.h (grub_puts): New declaration.
21625 (grub_puts_): Likewise.
a22008a6 21626 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
21627 (grub_puts_): Likewise.
21628
2e8a7602
RM
216292009-12-13 Robert Millan <rmh.grub@aybabtu.com>
21630
21631 * util/grub-probe.c (probe): Improve error message.
21632
b50b77b9
RM
216332009-12-13 Robert Millan <rmh.grub@aybabtu.com>
21634
21635 * loader/i386/multiboot_elfxx.c
21636 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
21637 initialization.
21638
216392009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
21640
21641 Relocator framework
21642
21643 * loader/i386/xnu_helper.S: Removed. All users updated.
21644 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
21645 (relocator_mod_SOURCES): New variable.
21646 (relocator_mod_CFLAGS): Likewise.
21647 (relocator_mod_LDFLAGS): Likewise.
21648 (relocator_mod_ASFLAGS): Likewise.
21649 * conf/x86_64.rmk: Likewise.
21650 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
21651 (grub_multiboot_payload_entry_offset): Likewise.
21652 (grub_multiboot_forward_relocator): Likewise.
21653 (grub_multiboot_forward_relocator_end): Likewise.
21654 (grub_multiboot_backward_relocator): Likewise.
21655 (grub_multiboot_backward_relocator_end): Likewise.
21656 (grub_multiboot_payload_eip): New variable.
21657 (grub_multiboot_payload_orig): Likewise.
21658 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
21659 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
21660 * include/grub/i386/memory.h
21661 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
21662 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
21663 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
21664 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
21665 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
21666 * include/grub/i386/relocator.h: New file.
21667 * include/grub/x86_64/relocator.h: Likewise.
21668 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
21669 (XNU_RELOCATOR): New macro.
21670 (grub_xnu_launcher_start): Remove.
21671 (grub_xnu_launcher_end): Likewise.
21672 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
21673 (grub_xnu_heap_real_start): Remove.
21674 (grub_xnu_heap_start): Change to void *. All users updated.
21675 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
21676 * lib/i386/relocator.c: New file.
21677 * lib/i386/relocator_asm.S: Likewise.
21678 * lib/i386/relocator_backward.S: Likewise.
21679 * lib/mips/relocator.c: Likewise.
21680 * lib/mips/relocator_asm.S: Likewise.
21681 * lib/relocator.c: Likewise.
21682 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
21683 (entry): Removed.
21684 (playground): Likewise.
21685 (grub_multiboot_payload_orig): New variable.
21686 (grub_multiboot_payload_dest): Likewise.
21687 (grub_multiboot_payload_size): Likewise.
21688 (grub_multiboot_payload_eip): Likewise.
21689 (grub_multiboot_payload_esp): Likewise.
21690 (grub_multiboot_boot): Use grub_relocator32_boot.
21691 (grub_multiboot_unload): Free relocators.
21692 (grub_multiboot): Setup stack. Use relocators.
21693 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
21694 (grub_multiboot_load_elfXX): Use relocators.
21695 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
21696 (grub_multiboot_payload_size): Likewise.
21697 (grub_multiboot_payload_dest): Likewise.
21698 (grub_multiboot_payload_entry_offset): Likewise.
21699 (grub_multiboot_forward_relocator): Likewise.
21700 (grub_multiboot_backward_relocator): Likewise.
21701 (grub_multiboot_real_boot): Likewise.
21702 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
21703 (grub_xnu_entry_point): Likewise.
21704 (grub_xnu_arg1): Likewise.
21705 (grub_xnu_stack): Likewise.
21706 (grub_xnu_launch): Removed.
21707 (grub_xnu_boot_resume): New function.
21708 (grub_xnu_boot): Use relocators.
21709 * loader/i386/xnu_helper.S: Removed.
21710 * loader/xnu.c (grub_xnu_heap_start): New variable.
21711 (grub_xnu_heap_size): Likewise.
21712 (grub_xnu_heap_malloc): Use relocators.
21713 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
21714
29eb90c6
VS
217152009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
21716
21717 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
21718 anything.
21719
31027430
CPE
217202009-12-13 Carles Pina i Estany <carles@pina.cat>
21721
21722 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
21723 GRUB_ERR_NONE before calling grub_env_set.
21724
dc0c71d9
RM
217252009-12-12 Robert Millan <rmh@aybabtu.com>
21726
21727 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
21728 * genmk.rb (video): New variable.
21729 (CLEANFILES, VIDEOFILES): Add #{video}.
21730 (#{video}): New target rule.
21731 * genvideolist.sh: New file.
21732 * Makefile.in (pkglib_DATA): Add video.lst.
21733 (video.lst): New target rule.
21734 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
21735 `video.lst'.
21736 * util/grub.d/30_os-prober.in: Replace `vbe' with
21737 ${GRUB_VIDEO_BACKEND}.
21738
2a4bfcf0
RM
217392009-12-11 Robert Millan <rmh.grub@aybabtu.com>
21740
21741 * THANKS: Add David Miller.
21742
2a3aa4d5
RM
217432009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
21744
21745 libpciaccess support.
21746
21747 * Makefile.in (LIBPCIACCESS): New variable.
21748 (enable_grub_emu_pci): Likewise.
21749 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
21750 util/pci.c and commands/lspci.c.
21751 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
21752 * configure.ac (grub-emu-pci): New option.
21753 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
21754 (grub_pci_device_unmap_range): Likewise.
21755 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
21756 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
21757 (grub_pci_address_t) [!GRUB_UTIL]: New type.
21758 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
21759 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
21760 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
21761 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
21762 * include/grub/pciutils.h: New file.
21763 * util/pci.c: Likewise.
21764
0ad46fd7 217652009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
21766
21767 * util/misc.c: Don't include <errno.h> twice.
21768
0ad46fd7 217692009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
21770
21771 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
21772 name in an error message.
21773 (grub_biosdisk_rw): Likewise.
21774
2e59983c
VS
217752009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
21776
21777 Eliminate NTFS 4Gib barrier.
21778
21779 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
21780 (read_run_data): Likewise.
21781 (grub_ntfs_read_run_list): Likewise.
21782 (grub_ntfs_read_block): Likewise.
21783 (grub_ntfs_iterate_dir): Likewise.
21784 (read_mft): Likewise.
21785 (read_data): Likewise.
21786 Use COM_LOG_LEN.
21787 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
21788 to avoid 64-bit division
21789 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
21790 (grub_ntfs_rlst): Use grub_disk_addr_t.
21791
71ee178a
VS
217922009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
21793
21794 Eliminate grub-fstest 4Gib barrier.
21795
21796 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
21797 (read_file): Fix error reporting.
21798
2520d4b8
VS
217992009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
21800
21801 Eliminate hexdump 4Gib barrier.
21802
21803 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
21804 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
21805
e1f27065
VS
218062009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
21807
21808 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
21809 Fixes amarsh bug.
21810
1a0f7f45
RM
218112009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
21812
21813 Remove miscellaneous files in distclean target.
21814
21815 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
21816
c631d9fb
CW
218172009-12-09 Colin Watson <cjwatson@ubuntu.com>
21818
21819 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
21820 if they're already set. This resolves the conflict between my
21821 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
21822 fixing the --grub-probe option again.
21823 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
21824 change on 2009-10-06, so that we now once again source
21825 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
21826
7c7b6106
RM
218272009-12-08 Robert Millan <rmh.grub@aybabtu.com>
21828
21829 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
21830 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
21831 `util/devicemap.c'.
21832
e3069ec1
CPE
218332009-12-08 Carles Pina i Estany <carles@pina.cat>
21834
21835 * include/grub/misc.h (grub_printf_): New declaration.
21836 * kern/misc.c (grub_printf_): New definition.
21837 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
21838 instead of `grub_printf' and `_'.
21839 * normal/menu_entry.c (store_completion): Likewise.
21840 (run): Likewise.
21841 (grub_menu_entry_run): Likewise.
21842 * normal/menu_text.c (grub_wait_after_message): Likewise.
21843 (notify_booting): Likewise.
21844 (notify_fallback): Likewise.
21845 (notify_execution_failure): Likewise.
21846
d6ceebf1
CW
218472009-12-07 Colin Watson <cjwatson@ubuntu.com>
21848
21849 * configure.ac: Check for vasprintf.
21850 * util/misc.c (asprintf): Move allocation from here ...
21851 (vasprintf): ... to here. New function.
21852 (xasprintf): New function.
21853 * include/grub/util/misc.h (vasprintf, xasprintf): Add
21854 prototypes.
21855 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
21856 * util/grub-mkfont.c (write_font): Likewise.
21857 * util/grub-probe.c (probe): Likewise.
21858 * util/hostdisk.c (make_device_name): Likewise.
21859
de6daa8b
DM
218602009-12-06 David S. Miller <davem@sunset.davemloft.net>
21861
21862 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
21863 anything even prefixed with 'cdrom' as a cdrom.
21864
0ad46fd7 218652009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
21866
21867 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
21868 mount points.
21869
98d3dc02
CPE
218702009-12-05 Carles Pina i Estany <carles@pina.cat>
21871
21872 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
21873 grub_gettext_msg_list.
21874 (grub_gettext_gettranslation_from_position): Return const char *
21875 and not char *.
a2c1332b 21876 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
21877 returns from the list if existing there.
21878 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
21879 (grub_gettext_delete_list): Delete the list.
21880 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
21881 lang environment variable is changed.
21882 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
21883
b283f108
VS
218842009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
21885
21886 Rename kernel.mod to kernel.img.
21887
21888 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
21889 (kernel_mod_EXPORTS): Rename to ...
21890 (kernel_img_EXPORTS): ... this.
21891 (kernel_mod_SOURCES): Rename to ...
21892 (kernel_img_SOURCES): ... this.
21893 (kernel_mod_HEADERS): Rename to ...
21894 (kernel_img_HEADERS): ... this. All users updated.
21895 (kernel_mod_CFLAGS): Rename to ...
21896 (kernel_img_CFLAGS): ... this.
21897 (kernel_mod_ASFLAGS): Rename to ...
21898 (kernel_img_ASFLAGS): ... this.
21899 (kernel_mod_LDFLAGS): Rename to ...
21900 (kernel_img_LDFLAGS): ... this.
21901 * conf/x86_64-efi.rmk: Likewise.
21902 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
21903 (read_kernel_image): ... this. All users updated.
21904 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
21905
69055f8a
CPE
219062009-12-05 Carles Pina i Estany <carles@pina.cat>
21907
21908 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
21909 (print_spaces): New function.
21910 (grub_print_ucs4): New function.
21911 (getstringwidth): New function.
21912 (print_message_indented): New function.
21913 (print_message): Gettexttize strings using print_message_indented.
21914 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
21915 width.
21916 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 21917 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
21918 Gettextize.
21919 * normal/menu_entry.c (store_completion): Cleanup the gettextized
21920 string.
21921 (run): Likewise.
21922 (grub_menu_entry_run): Likewise.
21923 * PO/POTFILES: Add normal/menu_entry.c.
21924
f616f51c
VS
219252009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
21926
21927 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
21928
57bbe3be
CPE
219292009-12-05 Carles Pina i Estany <carles@pina.cat>
21930
21931 * util/grub-install.in: Install gettext .mo files.
21932 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
21933
013d67a1
CPE
219342009-12-05 Carles Pina i Estany <carles@pina.cat>
21935
21936 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
21937 grub_dprintf.
21938
fb954db0
RM
219392009-12-05 Robert Millan <rmh.grub@aybabtu.com>
21940
21941 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
21942 non-firmware-dependant one in realmode.S takes precedence.
21943
6b8474f8
RM
219442009-12-04 Robert Millan <rmh.grub@aybabtu.com>
21945
21946 * commands/halt.c: Replace misc arch-specific headers with
21947 `<grub/misc.h>'.
21948 * commands/reboot.c: Likewise.
21949 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
21950 `<grub/misc.h>'.
21951 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
21952 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
21953 (kernel_img_SOURCES): ... to here.
21954
21955 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
21956 * include/grub/i386/pc/init.h: Likewise.
21957 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
21958 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21959
21960 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
21961
21962 * include/grub/i386/halt.h: Remove.
21963 * include/grub/i386/reboot.h: Likewise.
21964
21965 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
21966
4b2e6ca2
DM
219672009-12-03 David S. Miller <davem@sunset.davemloft.net>
21968
21969 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
21970 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
21971 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
21972 "progname.h"
21973 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
21974 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21975 (usage): Add missing comma in printf.
21976
5239348f
RM
219772009-12-02 Robert Millan <rmh.grub@aybabtu.com>
21978
21979 Use the same reboot approach on i386 coreboot and qemu as we do on
21980 BIOS.
21981
21982 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
21983 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
21984 * kern/i386/reboot.c: Remove.
21985 * include/grub/i386/reboot.h (grub_reboot): Export function.
21986 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
21987 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
21988 0xf000:0xfff0 instead of 0xffff:0x0000.
21989 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
21990 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
21991
ef34cbd4
RM
219922009-11-30 Robert Millan <rmh.grub@aybabtu.com>
21993
21994 Fix $srcdir != $objdir build.
21995
21996 * Makefile.in (po/%.po): Rewrite as ...
21997 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
21998
dc9837ea
ST
219992009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
22000
22001 Fix GNU/Hurd grub-install crash.
22002 * util/grub-probe.c (probe): Try to access `path' only when it is not
22003 NULL.
22004
2f857f98
VS
220052009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22006
22007 Correct module naming.
22008
22009 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
22010 (GRUB_MOD_INIT(efi_uga)): ... to this
22011 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
22012 (GRUB_MOD_FINI(efi_uga)): ... to this
22013 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
22014 (GRUB_MOD_INIT(efi_gop)): ... to this
22015 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
22016 (GRUB_MOD_FINI(efi_gop)): ... to this
22017
c5448046
RM
220182009-11-28 Robert Millan <rmh.grub@aybabtu.com>
22019
22020 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
22021 translatable.
22022 (usage): Translate `arg' strings using gettext().
22023 Thanks to Jordi Mallach for the suggestion.
22024
c85184ad
VS
220252009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22026
22027 GOP support. Based on patch from Bean
22028 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
22029
22030 * video/efi_gop.c: New file.
22031 * include/grub/efi/graphics_output.h: Likewise.
22032 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
22033 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
22034 variables.
22035 * conf/x86_64-efi.rmk: Likewise.
22036
8a4c48d8
VS
220372009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22038
22039 Rename efi_fb to efi_uga.
22040
22041 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
22042 'efi_uga.mod'.
22043 (efi_fb_mod_SOURCES): Rename this ...
22044 (efi_uga_mod_SOURCES): ... to this.
22045 (efi_fb_mod_CFLAGS): Rename this ...
22046 (efi_uga_mod_CFLAGS): ... to this.
22047 (efi_fb_mod_LDFLAGS): Rename this ...
22048 (efi_uga_mod_LDFLAGS): ... to this.
22049 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
22050 'efi_uga.mod'.
22051 (efi_fb_mod_SOURCES): Rename this ...
22052 (efi_uga_mod_SOURCES): ... to this.
22053 (efi_fb_mod_CFLAGS): Rename this ...
22054 (efi_uga_mod_CFLAGS): ... to this.
22055 (efi_fb_mod_LDFLAGS): Rename this ...
22056 (efi_uga_mod_LDFLAGS): ... to this.
22057 * video/efi_fb.c: Move this ...
22058 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
22059
fb6c1a7b
RM
220602009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22061
22062 * po/README: New file. Explain our PO file workflow.
22063
3bc7896c
RM
220642009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22065
22066 * po/ChangeLog: Remove. Move relevant entries back to ...
22067 * ChangeLog: ... here.
22068 * po/ca.po: Remove (now handled by TLP).
22069 * po/id.po: Likewise.
22070 * po/zh_CN.po: Likewise.
22071 * Makefile.in (LINGUAS): Initialize in a way that supports
22072 empty set.
22073
9ed4841d
RM
220742009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22075
22076 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
22077 reliing on po/LINGUAS.
22078 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
22079 (po/%.po): ... this.
22080
0ad46fd7 220812009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
22082
22083 * util/i386/efi/grub-mkimage.c: Include "progname.h".
22084 (main): Use `program_name' instead of nonexistent `progname'.
22085
e30dd392
FZ
220862009-11-26 Felix Zielcke <fzielcke@z-51.de>
22087
22088 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
22089 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
22090
7656de4f
RM
220912009-11-26 Robert Millan <rmh.grub@aybabtu.com>
22092
22093 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
22094 commit.
22095 * conf/i386-efi.rmk: Likewise.
22096 * conf/i386-ieee1275.rmk: Likewise.
22097 * conf/powerpc-ieee1275.rmk: Likewise.
22098 * conf/sparc64-ieee1275.rmk: Likewise.
22099 * conf/x86_64-efi.rmk: Likewise.
22100
db77c4d4
FZ
221012009-11-26 Felix Zielcke <fzielcke@z-51.de>
22102
22103 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
22104
a755bb04
FZ
221052009-11-26 Felix Zielcke <fzielcke@z-51.de>
22106
22107 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
22108
8a4c07fd
RM
221092009-11-26 Robert Millan <rmh.grub@aybabtu.com>
22110
22111 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
22112 (grub_mkdevicemap_SOURCES): New variable.
22113 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
22114 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
22115 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
22116 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
22117 (grub_mkdevicemap_SOURCES): Remove.
22118 * conf/i386-efi.rmk: Likewise.
22119 * conf/i386-ieee1275.rmk: Likewise.
22120 * conf/i386-pc.rmk: Likewise.
22121 * conf/powerpc-ieee1275.rmk: Likewise.
22122 * conf/sparc64-ieee1275.rmk: Likewise.
22123 * conf/x86_64-efi.rmk: Likewise.
22124 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
22125 (usage): Fix strings to use `program_name'.
22126 (main): Initialize gettext.
22127 * util/grub-editenv.c: Likewise.
22128 * util/grub-emu.c: Likewise.
22129 * util/grub-fstest.c: Likewise.
22130 * util/grub-mkdevicemap.c: Likewise.
22131 * util/grub-mkfont.c: Likewise.
22132 * util/grub-mkrelpath.c: Likewise.
22133 * util/grub-pe2elf.c: Likewise.
22134 * util/grub-probe.c: Likewise.
22135 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
22136 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
22137 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22138
22139 * util/misc.c: Include `"progname.h"'.
22140 (progname): Remove variable.
22141 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
22142
6f61ed55
FZ
221432009-11-25 Felix Zielcke <fzielcke@z-51.de>
22144
22145 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
22146 printf and print a newline after the menuentry header line.
22147 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
22148
f022876b
FZ
221492009-11-25 Felix Zielcke <fzielcke@z-51.de>
22150
22151 autoconf >= 2.60 support $(localedir).
22152
22153 * INSTALL: Note that autoconf 2.60 is required.
22154 * configure.ac (AC_PREREQ): Bump to 2.60.
22155 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
22156 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
22157
6717926e
YB
221582009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
22159
22160 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
22161 aclocal is run.
22162
08806a54
RM
221632009-11-25 Robert Millan <rmh.grub@aybabtu.com>
22164
22165 * normal/main.c (grub_normal_read_line): Fix off-by-one
22166 buffer overflow.
22167
13b33fba
RM
221682009-11-25 Robert Millan <rmh.grub@aybabtu.com>
22169
22170 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
22171 "parser.grub" in grub_command_execute() call.
22172
4a8572e9
CPE
221732009-11-24 Carles Pina i Estany <carles@pina.cat>
22174
22175 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
22176 * conf/i386-efi.rmk: Likewise.
22177 * conf/i386-ieee1275.rmk: Likewise.
22178 * conf/i386-pc.rmk: Likewise.
22179 * conf/powerpc-ieee1275.rmk: Likewise.
22180 * conf/sparc64-ieee1275.rmk: Likewise.
22181 * conf/x86_64-efi.rmk: Likewise.
22182 * gettext/gettex.c: Include <grub/i18n.h>.
22183 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
22184 here ...
22185 * include/grub/i18n.h: ... to here
22186 * include/grub/i18n.h: ... to here.
22187 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 22188 (grub_gettext_dummy): Move above user.
4a8572e9 22189
bee48093
FZ
221902009-11-24 Felix Zielcke <fzielcke@z-51.de>
22191
22192 * util/Makefile.in (install-local): Convert a `for' into a normal
22193 shell expansion.
22194
a031e91c
RM
221952009-11-24 Robert Millan <rmh.grub@aybabtu.com>
22196
22197 * autogen.sh: Add automake call.
22198 * config.guess: Remove.
22199 * config.sub: Likewise.
22200 * install-sh: Likewise.
22201
26bec39d
FZ
222022009-11-24 Felix Zielcke <fzielcke@z-51.de>
22203
22204 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
22205
8e2532fd
FZ
222062009-11-24 Felix Zielcke <fzielcke@z-51.de>
22207
22208 * util/Makefile.in (install-local): Convert a make `$(foreach)'
22209 function to a normal shell `for'.
22210
fefa1b7d
FZ
222112009-11-24 Felix Zielcke <fzielcke@z-51.de>
22212
22213 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
22214
4501250b
FZ
222152009-11-24 Felix Zielcke <fzielcke@z-51.de>
22216
22217 * util/grub-mkrelpath.c: New file.
22218 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
22219 (grub_mkrelpath_SOURCES): New variable.
22220 * include/grub/util/misc.h: New function prototype.
22221 * util/misc.c (make_system_path_relative_to_its_root): New function.
22222
22223 * util/grub-mkconfig_lib.in (bindir): New variable.
22224 (grub_mkrelpath): Likewise.
22225 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
22226
22227 * util/probe.c (probe): Make the file path relative to its root.
22228 Change a info message to use the GRUB path. Enable again the
22229 check if we can read the file with GRUB facilities.
22230
22231 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
22232 to its root.
22233
11d9778b
FZ
222342009-11-24 Felix Zielcke <fzielcke@z-51.de>
22235
22236 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
22237 platform.
22238
4465287d
FZ
222392009-11-24 Felix Zielcke <fzielcke@z-51.de>
22240
22241 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
22242 strncmp().
22243
62b47f22
FZ
222442009-11-24 Felix Zielcke <fzielcke@z-51.de>
22245
22246 * util/getroot.c (grub_util_is_dmraid): New function.
22247 (grub_util_get_dev_abstraction): Treat dmraid and multipath
22248 devices as normal ones, not as LVM.
22249
1eafb9b9 222502009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
22251
22252 * conf/common.rmk: Add grub-gettext_lib target and updates
22253 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
22254 LDFLAGS.
22255 * gettext/gettext.c: New file. (Reads mo files).
22256 * include/grub/file.h (grub_file_pread): New prototype.
22257 * include/grub/i18n.h (_): New prototype.
22258 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
22259 prototypes.
22260 * kern/misc.c (grub_gettext_dummy): New function.
22261 * normal/menu_text.c: Include <grub/i18n.h>.
22262 * normal/menu_text.c (print_timeout): Gettexttize string.
22263 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
22264 * po/POTFILES: Add `normal/menu_text.c'.
22265 * po/ca.po: Add new translations.
c3ea6bd4
CPE
22266 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
22267 gettext module and defines locale_dir and lang in grub.cfg.
22268 * NEWS: Add gettext support.
22269
0fdb2568
RM
222702009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22271
22272 * util/hostdisk.c: Include `<grub/i18n.h>'.
22273 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
22274 (make_device_name): Rewrite using asprintf.
22275 (convert_system_partition_to_system_disk): Replace 0 with NULL.
22276 (find_system_device): If a device is not found, generate one just
22277 by reusing the OS path name.
22278 (read_device_map): Make it permissible for device.map not to exist.
22279
f515aa62
RM
222802009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22281
22282 * script/sh/execute.c: Move from here ...
22283 * script/execute.c: ... to here. Update all users.
22284 * script/sh/function.c: Move from here ...
22285 * script/function.c: ... to here. Update all users.
22286 * script/sh/lexer.c: Move from here ...
22287 * script/lexer.c: ... to here. Update all users.
22288 * script/sh/main.c: Move from here ...
22289 * script/main.c: ... to here. Update all users.
22290 * script/sh/parser.y: Move from here ...
22291 * script/parser.y: ... to here. Update all users.
22292 * script/sh/script.c: Move from here ...
22293 * script/script.c: ... to here. Update all users.
22294
f84b481b
RM
222952009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22296
22297 * configure.ac: Detect all `emu' platforms. Define
22298 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
22299 --enable-grub-emu logic. Disable include/grub/machine
22300 symlink on `emu' platforms.
22301
22302 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
22303 * gensymlist.sh.in: Likewise.
22304
22305 * include/grub/i386/coreboot/machine.h: Remove file.
22306 * include/grub/i386/efi/machine.h: Likewise.
22307 * include/grub/i386/ieee1275/machine.h: Likewise.
22308 * include/grub/i386/pc/machine.h: Likewise.
22309 * include/grub/i386/qemu/machine.h: Likewise.
22310 * include/grub/powerpc/ieee1275/machine.h: Likewise.
22311 * include/grub/sparc64/ieee1275/machine.h: Likewise.
22312 * include/grub/x86_64/efi/machine.h: Likewise.
22313
22314 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
22315 * commands/halt.c: Likewise.
22316 * commands/reboot.c: Likewise.
22317 * include/grub/autoefi.h: Likewise.
22318 * include/grub/i386/at_keyboard.h: Likewise.
22319 * include/grub/i386/kernel.h: Likewise.
22320 * include/grub/i386/loader.h: Likewise.
22321 * include/grub/i386/pc/memory.h: Likewise.
22322 * kern/dl.c: Likewise.
22323 * kern/i386/coreboot/init.c: Likewise.
22324 * loader/i386/bsd.c: Likewise.
22325 * loader/i386/linux.c: Likewise.
22326 * loader/multiboot_loader.c: Likewise.
22327 * term/i386/pc/serial.c: Likewise.
22328 * term/usb_keyboard.c: Likewise.
22329
22330 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
22331 `<grub/machine/machine.h>'
22332 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
22333 * util/misc.c: Remove `<grub/machine/machine.h>' and
22334 `<grub/machine/time.h>'.
22335
22336 * Makefile.in (enable_grub_emu): Remove variable.
22337 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
22338
22339 * conf/any-emu.rmk: New file.
22340 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
22341 (grub_emu_init.c): Move from here ...
22342 * conf/any-emu.rmk: ... to here.
22343
22344 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
22345 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
22346 * conf/any-emu.rmk: ... to here.
22347
4efeab03
RM
223482009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22349
22350 * include/grub/parser.h (grub_parser_register): Document need
22351 of `name' parameter.
22352 * normal/main.c (grub_normal_read_line): Simplify prompt string.
22353 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
22354 "sh" to "grub".
22355
ea1dd8bf
RM
223562009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22357
22358 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
22359 `$(XGETTEXT)'.
22360 * include/grub/i18n.h (N_): New macro.
22361 * util/mkisofs/mkisofs.h: Likewise.
22362 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
22363 around N_().
22364 (usage): Use gettext() to translate help strings when printing them.
22365
0c140626
RM
223662009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22367
22368 Based on patch from Bean
22369 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
22370
22371 * video/efi_fb.c: New file.
22372 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
22373 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
22374 variables.
22375 * conf/x86_64-efi.rmk: Likewise.
22376
87d58298
RM
223772009-11-22 Robert Millan <rmh.grub@aybabtu.com>
22378
22379 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
22380 * util/i386/pc/grub-setup.c: Likewise.
22381
994cc3a3
ST
223822009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
22383
22384 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
22385 <hurd/fs.h>
22386 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
22387 file_get_storage_info to implement grub_guess_root_device.
22388
26a61d6a
FZ
223892009-11-21 Felix Zielcke <fzielcke@z-51.de>
22390
22391 * Makefile.in (target): Use make's builtin $(shell) function
22392 instead of calling directly $(SHELL) to create the locale directories,
22393 inside the $(foreach) function.
22394
74ff1dd5
FZ
223952009-11-21 Felix Zielcke <fzielcke@z-51.de>
22396
22397 * util/grub-mkrescue.in: Print an error and usage if output option
22398 has not been given.
22399
0b787d0e
FZ
224002009-11-21 Felix Zielcke <fzielcke@z-51.de>
22401
22402 Patch from Loïc Minier <loic.minier@ubuntu.com>.
22403 * util/grub.d/30_os-prober.in: Cope with Linux entries where
22404 root and /boot are on different devices.
22405
1164b270
RM
224062009-11-21 Robert Millan <rmh.grub@aybabtu.com>
22407
22408 Fix build for srcdir != objdir.
22409
22410 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
22411 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
22412 $(srcdir).
22413 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
22414 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
22415 reference for input.
22416
13774a2f
RM
224172009-11-21 Robert Millan <rmh.grub@aybabtu.com>
22418
22419 * util/grub-mkrescue.in: Use source directory direcly (without copiing
22420 or hardlinking it). Remove -J option, Joliet is not compatible with
22421 multiple source directories.
22422
efda854e
RM
224232009-11-21 Carles Pina i Estany <carles@pina.cat>
224242009-11-21 Robert Millan <rmh.grub@aybabtu.com>
22425
22426 * util/grub-mkrescue.in: Recognize `--override-directory' option.
22427 (process_input_dir): New function. Process an arbitrary input
22428 directory.
22429 Misc adjustments to support both "override mode" and system-wide mode.
22430
6c09890c
FZ
224312009-11-20 Felix Zielcke <fzielcke@z-51.de>
22432
22433 * configure.ac (UNIFONT_BDF): Rename to ...
22434 (FONT_SOURCE): ... this. Update all users.
22435
a797824f
FZ
224362009-11-20 Felix Zielcke <fzielcke@z-51.de>
22437
22438 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
22439 to the list of unifont files to look for.
22440
cd4f42b0
RM
224412009-11-19 Robert Millan <rmh.grub@aybabtu.com>
22442
22443 Patch from Joe Auricchio <jauricchio@gmail.com>
22444 * commands/minicmd.c (grub_mini_cmd_clear): New function.
22445 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
22446 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
22447
393c783d
FZ
224482009-11-19 Felix Zielcke <fzielcke@z-51.de>
22449
22450 * Makefile.in (install-local): Add a missing backslash.
22451
b2f1e327
FZ
224522009-11-19 Felix Zielcke <fzielcke@z-51.de>
22453
22454 * include/grub/x86_64/io.h: New file.
22455
f577f7a0
RM
224562009-11-19 Robert Millan <rmh.grub@aybabtu.com>
22457
22458 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
22459 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
22460 Include `"progname.h"'.
22461 (main): Initialize gettext.
22462 * util/i386/pc/grub-setup.c: Gettexttize.
22463 * util/i386/pc/grub-mkimage.c: Likewise.
22464
22465 * Makefile.in (po/*.po): Redefine as ...
22466 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
22467
3bc7896c
RM
22468 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
22469
c37943b6
RM
224702009-11-19 Robert Millan <rmh.grub@aybabtu.com>
22471
22472 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
22473 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
22474 (program_name): Remove.
22475 (main): Initialize gettext support.
6323f705
RM
22476 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
22477 Include `<libintl.h>'.
22478 (_): New macro.
c37943b6
RM
22479
22480 * util/mkisofs/eltorito.c: Gettexttize.
22481 * util/mkisofs/joliet.c: Likewise.
22482 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
22483 * util/mkisofs/multi.c: Likewise.
22484 * util/mkisofs/rock.c: Likewise.
22485 * util/mkisofs/tree.c: Likewise.
22486 * util/mkisofs/write.c: Likewise.
22487
3bc7896c
RM
22488 * po/POTFILES: Update with new files.
22489
5ce77c6e
RM
224902009-11-18 Robert Millan <rmh.grub@aybabtu.com>
22491
22492 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
22493 * util/mkisofs/iso9660.h: Likewise.
22494 * util/mkisofs/joliet.c: Likewise.
22495 * util/mkisofs/mkisofs.c: Likewise.
22496 * util/mkisofs/mkisofs.h: Likewise.
22497 * util/mkisofs/rock.c: Likewise.
22498 * util/mkisofs/tree.c: Likewise.
22499 * util/mkisofs/write.c: Likewise.
22500
22501 * util/mkisofs/eltorito.c (rcsid): Remove.
22502 * util/mkisofs/hash.c: Likewise.
22503 * util/mkisofs/joliet.c: Likewise.
22504 * util/mkisofs/name.c: Likewise.
22505 * util/mkisofs/rock.c: Likewise.
22506 * util/mkisofs/tree.c: Likewise.
22507 * util/mkisofs/write.c: Likewise.
22508
1dabbc77
RM
225092009-11-18 Robert Millan <rmh.grub@aybabtu.com>
22510
22511 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
22512 instead of static allocation.
22513 * util/mkisofs/match.h: Likewise.
22514
633877cb
RM
225152009-11-18 Robert Millan <rmh.grub@aybabtu.com>
22516
3bc7896c
RM
22517 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
22518 and `util/grub.d/10_linux.in'.
633877cb
RM
22519 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
22520 translatable Shell files.
22521
af1c0c85
RM
225222009-11-18 Robert Millan <rmh.grub@aybabtu.com>
22523
22524 * Makefile.in ($(srcdir)/aclocal.m4): New target.
22525
769ae37b
RM
225262009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22527
22528 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 22529 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
22530 * util/grub.d/10_kfreebsd.in (bindir): New variable.
22531 Add gettext initialization.
22532 (kfreebsd_entry): Make menuentry output translatable.
22533
225342009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22535
22536 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
22537 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
22538 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
22539 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
22540 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 22541 * po/LINGUAS: New file.
769ae37b
RM
22542
225432009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22544
22545 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
22546 other things).
22547 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
22548 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
22549 bindtextdomain() calls for gettext initialization.
22550
225512009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22552
22553 * gnulib/progname.c: New file (imported from Gnulib).
22554 * gnulib/progname.h: Likewise.
22555 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
22556 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
22557 (usage): Replace `progname' with `program_name'.
22558 (main): Use set_program_name() for program name initialization.
22559
225602009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22561
22562 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
22563 from here ...
22564 * Makefile.in (CPPFLAGS): ... to here.
22565
225662009-11-16 Robert Millan <rmh.grub@aybabtu.com>
22567
22568 * aclocal.m4: Move from here ...
22569 * acinclude.m4: ... to here.
22570 * autogen.sh: Add call to `aclocal'.
22571 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
22572
225732009-11-16 Robert Millan <rmh.grub@aybabtu.com>
22574
22575 * Makefile.in (CLEANFILES): Add `po/*.mo'.
22576 (LINGUAS): New variable.
22577 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
22578 (install-local): Install MO files.
22579 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
22580 * include/grub/i18n.h: New file.
3bc7896c
RM
22581 * po/POTFILES: New file.
22582 * po/ca.po: New file.
769ae37b
RM
22583 * util/grub.d/10_linux.in (bindir): New variable.
22584 Add gettext initialization.
22585 (linux_entry): Make menuentry output translatable.
22586 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
22587 (usage): Make --help output translatable.
22588 (main): Initialize gettext.
22589
02c0a6ad
RM
225902009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22591
22592 * import_gcry.py: New file (written by Vladimir with minor
22593 adjustments).
22594 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
22595 ciphers.
22596 * INSTALL: Document that Python is required for bootstrap.
22597
225982009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22599
22600 Import ciphers from libgcrypt 1.4.4.
22601
22602 * lib/libgcrypt/cipher/ChangeLog
22603 * lib/libgcrypt/cipher/ac.c
22604 * lib/libgcrypt/cipher/arcfour.c
22605 * lib/libgcrypt/cipher/bithelp.h
22606 * lib/libgcrypt/cipher/blowfish.c
22607 * lib/libgcrypt/cipher/camellia-glue.c
22608 * lib/libgcrypt/cipher/camellia.c
22609 * lib/libgcrypt/cipher/camellia.h
22610 * lib/libgcrypt/cipher/cast5.c
22611 * lib/libgcrypt/cipher/cipher.c
22612 * lib/libgcrypt/cipher/crc.c
22613 * lib/libgcrypt/cipher/des.c
22614 * lib/libgcrypt/cipher/dsa.c
22615 * lib/libgcrypt/cipher/ecc.c
22616 * lib/libgcrypt/cipher/elgamal.c
22617 * lib/libgcrypt/cipher/hash-common.c
22618 * lib/libgcrypt/cipher/hash-common.h
22619 * lib/libgcrypt/cipher/hmac-tests.c
22620 * lib/libgcrypt/cipher/md.c
22621 * lib/libgcrypt/cipher/md4.c
22622 * lib/libgcrypt/cipher/md5.c
22623 * lib/libgcrypt/cipher/primegen.c
22624 * lib/libgcrypt/cipher/pubkey.c
22625 * lib/libgcrypt/cipher/rfc2268.c
22626 * lib/libgcrypt/cipher/rijndael-tables.h
22627 * lib/libgcrypt/cipher/rijndael.c
22628 * lib/libgcrypt/cipher/rmd.h
22629 * lib/libgcrypt/cipher/rmd160.c
22630 * lib/libgcrypt/cipher/rsa.c
22631 * lib/libgcrypt/cipher/seed.c
22632 * lib/libgcrypt/cipher/serpent.c
22633 * lib/libgcrypt/cipher/sha1.c
22634 * lib/libgcrypt/cipher/sha256.c
22635 * lib/libgcrypt/cipher/sha512.c
22636 * lib/libgcrypt/cipher/tiger.c
22637 * lib/libgcrypt/cipher/twofish.c
22638 * lib/libgcrypt/cipher/whirlpool.c
22639
af2f93ac
RM
226402009-11-16 Robert Millan <rmh.grub@aybabtu.com>
22641
22642 Fix build for systems without error().
22643
22644 * gnulib/error.c: New file (imported from Gnulib).
22645 * gnulib/error.h: Likewise.
22646 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
22647 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
22648 (this variable is now used by error()).
22649
73fb3dd5
FZ
226502009-11-16 Felix Zielcke <fzielcke@z-51.de>
22651
814f5e96
FZ
22652 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
22653 instead of relying that char is signed.
73fb3dd5 22654
a691ca33
VS
226552009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
22656
22657 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
22658 blocksize different from specified.
22659 (grub_pxefs_read): Likewise.
22660
2af8f0f4
FZ
226612009-11-16 Felix Zielcke <fzielcke@z-51.de>
22662
22663 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
22664
22665 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
22666 (grub_ata_readwrite): Likewise. Update 2 format strings.
22667 (grub_atapi_read): Likewise.
22668
22669 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
22670 * conf/i386.rmk (pkglib_MODULES): ... to here ...
22671 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
22672 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
22673 (ata_mod_LDFLAGS): Move from here ...
22674 * conf/i386.rmk: ... to here ...
22675 * conf/x86_64-efi.rmk: ... and here.
22676 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
22677 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
22678
83bdecaf
RM
226792009-11-16 Robert Millan <rmh.grub@aybabtu.com>
22680
22681 Relicense multiboot.h, with RMS' blessing.
22682
22683 * include/multiboot.h: Change to X11 license.
22684
fd6fd3d7
RM
226852009-11-15 Robert Millan <rmh.grub@aybabtu.com>
22686
22687 Support --version in grub-mkisofs.
22688
22689 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
22690 (OPTION_VERSION): New macro.
22691 (ld_options): Recognize --version.
22692 (usage): Move `program_name' from here ...
22693 (program_name): ... to here. Add `static' qualifier.
22694 (main): Recognize `OPTION_VERSION'.
22695
16a88c49
FZ
226962009-11-15 Felix Zielcke <fzielcke@z-51.de>
22697
22698 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
22699 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
22700
a4158476
RM
227012009-11-14 Robert Millan <rmh.grub@aybabtu.com>
22702
22703 Fix help2man generation for mkisofs.
22704
22705 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
22706 (usage): Send output to stdout (rather than stderr).
22707
fc2208b0
RM
227082009-11-14 Robert Millan <rmh.grub@aybabtu.com>
22709
22710 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
22711 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
22712 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
22713 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
22714 (bin_SCRIPTS): Add `grub-mkfloppy'.
22715 (grub_mkfloppy_SOURCES): New variable.
22716
22717 * util/grub-mkrescue.in: New file.
22718 * util/i386/pc/grub-mkfloppy.in: New file.
22719
22720 * util/i386/coreboot/grub-mkrescue.in: Remove.
22721 * util/i386/pc/grub-mkrescue.in: Remove.
22722
8d0edf4a
RM
227232009-11-13 Robert Millan <rmh.grub@aybabtu.com>
22724
22725 * include/grub/multiboot.h (struct grub_multiboot_header): Move
22726 from here ...
22727 * include/multiboot.h (struct multiboot_header): ... to here. Update
22728 all users.
22729 * include/grub/multiboot.h (struct grub_multiboot_info): Move
22730 from here ...
22731 * include/multiboot.h (struct multiboot_info): ... to here. Update
22732 all users.
22733 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
22734 from here ...
22735 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
22736 Update all users.
22737 * include/grub/multiboot.h (struct grub_mod_list): Move
22738 from here ...
22739 * include/multiboot.h (struct multiboot_mod_list): ... to here.
22740 Update all users.
22741
a73f5969
RM
227422009-11-13 Robert Millan <rmh.grub@aybabtu.com>
22743
22744 * include/multiboot2.h (multiboot_word): Rename from this ...
22745 (multiboot2_word): ... to this. Update all users.
22746 (multiboot_header): Rename from this ...
22747 (multiboot2_header): ... to this. Update all users.
22748 (multiboot_tag_header): Rename from this ...
22749 (multiboot2_tag_header): ... to this. Update all users.
22750 (multiboot_tag_start): Rename from this ...
22751 (multiboot2_tag_start): ... to this. Update all users.
22752 (multiboot_tag_name): Rename from this ...
22753 (multiboot2_tag_name): ... to this. Update all users.
22754 (multiboot_tag_module): Rename from this ...
22755 (multiboot2_tag_module): ... to this. Update all users.
22756 (multiboot_tag_memory): Rename from this ...
22757 (multiboot2_tag_memory): ... to this. Update all users.
22758 (multiboot_tag_unused): Rename from this ...
22759 (multiboot2_tag_unused): ... to this. Update all users.
22760 (multiboot_tag_end): Rename from this ...
22761 (multiboot2_tag_end): ... to this. Update all users.
22762
1c8927f0
RM
227632009-11-13 Robert Millan <rmh.grub@aybabtu.com>
22764
22765 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
22766 this platform we should support Multiboot1 first.
22767
22768 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
22769 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
22770 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
22771
6e1e0d89
RM
227722009-11-12 Robert Millan <rmh.grub@aybabtu.com>
22773
22774 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
22775 of write calls (converting them to fwrite() if they aren't already).
22776 (get_torito_desc): Likewise.
22777 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
22778
7f2b34d8
RM
227792009-11-12 Robert Millan <rmh.grub@aybabtu.com>
22780
22781 * util/i386/pc/grub-install.in: Move from here ...
22782 * util/grub-install.in: ... to here. Update all users.
22783
c0ef3311
CW
227842009-11-11 Colin Watson <cjwatson@ubuntu.com>
22785
22786 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
22787
e1f240ff
RM
227882009-11-11 Robert Millan <rmh.grub@aybabtu.com>
22789
22790 Support for El Torito without floppy emulation.
22791
22792 * util/mkisofs/eltorito.c: Include `<errno.h>'.
22793 (init_boot_catalog): Improve error handling.
22794 (get_torito_desc): Don't use floppy emulation unless requested by
22795 user. Patch boot information table when requested via
22796 `-boot-info-table'.
22797 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
22798 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
22799 (use_boot_info_table): New variables.
22800 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
22801 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
22802 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
22803 `--eltorito-emul-floppy'.
22804 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
22805 and `OPTION_ELTORITO_EMUL_FLOPPY'.
22806 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
22807 (use_boot_info_table, get_731): New prototypes.
22808 * util/mkisofs/write.c (get_731): New function.
22809
af7d4de5
FZ
228102009-11-11 Felix Zielcke <fzielcke@z-51.de>
22811
22812 Fix the generation of the man page.
22813
22814 * util/pc/i386/grub-install.in: Source
22815 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
22816
2c55dbc0
RM
228172009-11-11 Robert Millan <rmh.grub@aybabtu.com>
22818
22819 Large file support for grub-mkisofs.
22820
22821 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
22822 * util/mkisofs/mkisofs.c (next_extent, last_extent)
22823 (session_start): Upgrade type to `uint64_t'. Update all users.
22824 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
22825 (struct directory_entry): Upgrade type of `starting_block' and
22826 `size' to `uint64_t'. Update all users.
22827 (struct deferred): Remove unused structure.
22828 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
22829 Update all users.
22830 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
22831 file is larger than `UINT32_MAX'.
22832 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
22833 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
22834 return value.
22835 (struct deferred_write): Upgrade type of `extent' and `size' to
22836 `uint64_t'. Update all users.
22837 (last_extent_written): Upgrade type to `uint64_t'. Update all
22838 users.
22839 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
22840 Update all users. Upgrade type of `remain' to `int64_t' and
22841 `use' to `size_t'. Use error() to handle fread() errors.
22842 (write_files): Rely on write_one_file() rather than calling
22843 xfwrite() directly.
22844
6a9cead5
FZ
228452009-11-09 Felix Zielcke <fzielcke@z-51.de>
22846
22847 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
22848
4825d790
RM
228492009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22850
22851 * util/mkisofs/fnmatch.c: Remove.
22852 * util/mkisofs/getopt1.c: Likewise.
22853 * util/mkisofs/getopt.c: Likewise.
22854 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
22855 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
22856 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
22857 `gnulib/getopt1.c' and `gnulib/getopt.c'.
22858 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
22859
22860 * configure.ac: Detect `mingw32msvc' host_os.
22861 Check for lstat(), getuid() and getgid().
22862
22863 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
22864 instances of `u_char' with `uint8_t'.
22865
22866 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
22867 [!HAVE_GETUID] (getuid): New function (stub).
22868 [!HAVE_GETGID] (getgid): Likewise.
22869 [!HAVE_LSTAT] (lstat): Likewise.
22870 [!S_IROTH] (S_IROTH): New macro (dummy).
22871 [!S_IRGRP] (S_IRGRP): Likewise.
22872
84b860d8
RM
228732009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22874
22875 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
22876 conditional expression).
22877
66e9b712
RM
228782009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22879
22880 Import from Gnulib.
22881
22882 * gnulib/fnmatch.c: New file.
22883 * gnulib/fnmatch.h: Likewise.
22884 * gnulib/fnmatch_loop.c: Likewise.
22885 * gnulib/getopt.c: Likewise.
22886 * gnulib/getopt.h: Likewise.
22887 * gnulib/getopt1.c: Likewise.
22888 * gnulib/getopt_int.h: Likewise.
22889 * gnulib/gettext.h: Likewise.
22890
34f4a5b0
RM
228912009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22892
22893 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
22894 * normal/handler.c (read_handler_list): Likewise.
22895
ac451143
RM
228962009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22897
22898 Misc cleanup.
22899
22900 * kern/command.c (grub_register_command_prio): Use
22901 grub_zalloc() instead of explicitly zeroing data.
22902 * kern/list.c: Include `<grub/mm.h>'.
22903 (grub_named_list_find): Replace `0' with `NULL'.
22904 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
22905 (fs_module_list): Change type to `grub_named_list_t'. Update all
22906 users.
22907 * normal/dyncmd.c (read_command_list): Add space between function
22908 call and parenthesis.
22909 * normal/handler.c (read_handler_list): Likewise.
22910
4089b167
RM
229112009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22912
22913 * normal/auth.c (punishment_delay): Moved from here ...
22914 (grub_auth_strcmp): ... to here (inside function).
22915
325f5037
RM
229162009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22917
22918 * include/grub/list.h (struct grub_named_list): Remove `const'
22919 qualifier from `name'.
22920 (struct grub_prio_list): Likewise.
22921
7aea29a3
RM
229222009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22923
22924 * normal/auth.c: Include `<grub/time.h>'.
22925 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
22926
3fd6f044
RM
229272009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22928
22929 * normal/auth.c (punishment_delay): New variable.
22930 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
22931 (grub_auth_check_authentication): Punish failed login attempts with
22932 an incremental (2^N) delay.
22933
a4cd68e4
RM
229342009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22935
22936 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
22937 path with $(srcdir).
22938
7ad12f43
VS
229392009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
22940
22941 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
22942
c1129f03
RM
229432009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22944
22945 * util/i386/coreboot/grub-mkrescue.in: New file.
22946 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
22947 variables.
22948
22949 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
22950 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
22951 * configure.ac: Add header and function checks to satisfy grub-mkisofs
22952 requirements.
22953 * util/mkisofs/defaults.h: New file.
22954 * util/mkisofs/eltorito.c: Likewise.
22955 * util/mkisofs/exclude.h: Likewise.
22956 * util/mkisofs/fnmatch.c: Likewise.
22957 * util/mkisofs/getopt.c: Likewise.
22958 * util/mkisofs/getopt1.c: Likewise.
22959 * util/mkisofs/hash.c: Likewise.
22960 * util/mkisofs/include/fctldefs.h: Likewise.
22961 * util/mkisofs/include/mconfig.h: Likewise.
22962 * util/mkisofs/include/prototyp.h: Likewise.
22963 * util/mkisofs/include/statdefs.h: Likewise.
22964 * util/mkisofs/iso9660.h: Likewise.
22965 * util/mkisofs/joliet.c: Likewise.
22966 * util/mkisofs/match.c: Likewise.
22967 * util/mkisofs/match.h: Likewise.
22968 * util/mkisofs/mkisofs.c: Likewise.
22969 * util/mkisofs/mkisofs.h: Likewise.
22970 * util/mkisofs/multi.c: Likewise.
22971 * util/mkisofs/name.c: Likewise.
22972 * util/mkisofs/rock.c: Likewise.
22973 * util/mkisofs/tree.c: Likewise.
22974 * util/mkisofs/write.c: Likewise.
22975
ec8bb77d
VS
229762009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
22977
22978 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
22979 being insecure.
22980
3716b12c
RM
229812009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22982
22983 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
22984 `grub-mkimage' (and use $0 when possible).
22985
b97b7b91
RM
229862009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22987
22988 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
22989 error message for excessively large memory map.
22990
04114812
RM
229912009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22992
22993 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
22994 executable bit.
22995
e4eb2373
RM
229962009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22997
22998 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
22999 message for coreboot users.
23000
c926e1d5 230012009-11-07 Robert Millan <rmh.grub@aybabtu.com>
23002
23003 Fix build with GNU gold.
23004
23005 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
23006 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
23007 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
23008 link addresses.
23009 * aclocal.m4: Likewise.
23010
86e5b1db 230112009-11-04 Felix Zielcke <fzielcke@z-51.de>
23012
23013 * configure.ac (AC_PREREQ): Bump to 2.59d.
23014 * INSTALL: Make it more clear when Autoconf and Ruby are
23015 needed and when to run `./autogen.sh'.
23016
246cd78f 230172009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
23018
23019 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
23020 OSes.
23021
4f9dfb37 230222009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23023
23024 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
23025
b82bd5e1 230262009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23027
23028 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
23029 giving it to GNU Mach.
23030
ff1a9bca 230312009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23032
23033 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
23034 GNU partition number to get internal GRUB partition number.
23035
61697d9c 230362009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23037
23038 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
23039 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
23040
a50569e1 230412009-11-01 Robert Millan <rmh.grub@aybabtu.com>
23042
23043 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
23044 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
23045 case.
23046
5b153867 230472009-11-01 Felix Zielcke <fzielcke@z-51.de>
23048
23049 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
23050
d9e2cd70 230512009-10-30 Robert Millan <rmh.grub@aybabtu.com>
23052
23053 Fix build problem.
23054
23055 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
23056 `-isystem=$(srcdir)/include'.
23057
805111a4 230582009-10-30 Robert Millan <rmh.grub@aybabtu.com>
23059
23060 * util/i386/pc/grub-install.in: Remove hint that device.map should be
23061 checked (grub-install doesn't currently rely on it).
23062
fa6e945f 230632009-10-29 Robert Millan <rmh.grub@aybabtu.com>
23064
23065 Revert SVN r2660.
23066
23067 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
23068 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
23069 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
23070 * conf/i386-ieee1275.rmk: Likewise.
23071 * conf/i386-pc.rmk: Likewise.
23072 * conf/powerpc-ieee1275.rmk: Likewise.
23073 * conf/sparc64-ieee1275.rmk: Likewise.
23074 * conf/x86_64-efi.rmk: Likewise.
23075
cee15086 230762009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23077
23078 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
23079
95b9239e 230802009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23081
23082 * include/grub/misc.h: Stop checking for APPLE_CC.
23083
2ed19dfd 230842009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23085
23086 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
23087 doesn't cause an infinite call loop.
23088
fdcdde19 230892009-10-28 Felix Zielcke <fzielcke@z-51.de>
23090
23091 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
23092 strings.
23093
cefabfe1 230942009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23095
23096 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
23097 variable.
23098 * Makefile.in: Likewise.
23099
ed96ab6d 231002009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23101
23102 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
23103
0579b753 231042009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23105
23106 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
23107
478df409 231082009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23109
23110 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
23111
083d1679 231122009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23113
23114 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
23115 from here ...
23116 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
23117
5947ae32 231182009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23119
23120 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
23121 in $(MAKEINFO) invocation. This makes it clear in output that
23122 errors are being ignored.
23123
94180ff6 231242009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23125
23126 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
23127 from here ...
23128 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
23129 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
23130 * conf/i386-ieee1275.rmk: Likewise.
23131 * conf/i386-pc.rmk: Likewise.
23132 * conf/powerpc-ieee1275.rmk: Likewise.
23133 * conf/sparc64-ieee1275.rmk: Likewise.
23134 * conf/x86_64-efi.rmk: Likewise.
23135
9031b03a 231362009-10-26 Colin Watson <cjwatson@ubuntu.com>
23137
23138 * util/grub-editenv.c (main): If only a command is given, use
23139 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
23140 (usage): FILENAME is now optional and has a default.
23141
e4f6809b 231422009-10-26 Colin Watson <cjwatson@ubuntu.com>
23143
23144 Improve grub-mkconfig performance when there are several menu
23145 entries on a single filesystem.
23146
23147 * util/grub.d/10_linux.in (linux_entry): Cache the output of
23148 prepare_grub_to_access_device.
23149 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23150 * util/grub.d/30_os-prober.in: Likewise.
23151
67937d4d 231522009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23153
23154 * util/grub.d/10_freebsd.in: Remove.
23155 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
23156 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
23157
ee3756cc 231582009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23159
5c35048e 23160 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 23161
4dea1c6f 231622009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23163
23164 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
23165 grub_util_error() call.
23166
042484d7 231672009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23168
23169 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
23170 `reserved_first_sector' member.
23171 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
23172 `reserved_first_sector' to 1.
23173 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
23174 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
23175 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
23176 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
23177 filesystems which begin at first sector.
23178 (options): New option --skip-fs-probe.
23179 (main): Handle --skip-fs-probe and pass it to setup().
23180
d64448a7 231812009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23182
23183 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
23184 (memset): Fix function prototype.
23185
508d42ec 231862009-10-25 Robert Millan <rmh.grub@aybabtu.com>
231872009-10-25 Vasily Averin <vvs@parallels.com>
23188
23189 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
23190 `dirent.direntlen == 0'.
23191
b240e30c 231922009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23193
23194 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
23195 `cpio'.
23196 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
23197
346e7fbe 231982009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23199
23200 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
23201 `__trampoline_setup' and `__ucmpdi2'.
23202 * include/grub/powerpc/libgcc.h: Only export symbols for functions
23203 that libgcc provides.
23204
cdb308b0 232052009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23206
23207 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
23208 * include/grub/sparc64/libgcc.h (memset): Likewise.
23209 * include/grub/misc.h (memset, memcmp): New function prototypes.
23210
fb26abc2 232112009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23212
23213 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
23214 `cpio'.
23215 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
23216
f6693890 232172009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23218
23219 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
23220 * docs/grub.cfg: Compensate for recent change in multiboot
23221 loader (since 2009-08-14 it won't pass filename to payload).
23222 * util/grub.d/10_hurd.in: Likewise.
23223
0933cdc0 232242009-10-21 Felix Zielcke <fzielcke@z-51.de>
23225
23226 * config.guess: Update to latest version from config git
23227 repository.
23228 * config.sub: Likewise.
23229
3b2fe8c2 232302009-10-20 Robert Millan <rmh.grub@aybabtu.com>
23231
23232 Fix build on sparc64.
23233
23234 * configure.ac: Perform checks for libgcc symbols before
23235 adding `-nostdlib' to LDFLAGS.
23236
46695a62 232372009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
23238
23239 Let user specify OpenBSD root device.
23240
23241 * loader/i386/bsd.c (openbsd_root): New variable.
23242 (openbsd_opts): New option 'root'.
23243 (OPENBSD_ROOT_ARG): New macro.
23244 (grub_openbsd_boot): Use 'openbsd_root'.
23245 (grub_cmd_openbsd): Fill 'openbsd_root'.
23246
d2b6b7fc 232472009-10-16 Robert Millan <rmh.grub@aybabtu.com>
23248
23249 * NEWS: Misc adjustments.
23250
421bd7ac 232512009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
23252
23253 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
23254
f1d29d87 232552009-10-16 Robert Millan <rmh.grub@aybabtu.com>
23256
23257 * configure.ac: Bump version to 1.97.
23258
6f3cd880 232592009-10-16 Colin Watson <cjwatson@ubuntu.com>
23260
23261 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
23262 -mno-3dnow on x86 architectures. Some toolchains enable these
23263 features by default, but they rely on registers that aren't enabled
23264 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
23265
035f7122 232662009-10-15 Robert Millan <rmh.grub@aybabtu.com>
23267
23268 Make entry text a bit more readable.
23269
23270 * util/grub.d/10_linux.in: Add `with' before `Linux'.
23271
44998e58 232722009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23273
23274 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
23275
cd2851b3 232762009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23277
23278 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
23279 operations.
23280
c6f3b249 232812009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23282
23283 * configure.ac: Add missing dollar.
23284
6b5886ba 232852009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23286
23287 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
23288
23289 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
23290 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
23291 exports.
23292 * include/grub/sparc64/libgcc.h: Likewise. Use
23293 preprocessor conditionals.
23294
e9d66f6d 232952009-10-14 Robert Millan <rmh.grub@aybabtu.com>
23296
23297 * conf/common.rmk (grub-dumpbios): Remove rule.
23298 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
23299 * util/grub-dumpbios.in: Remove file.
23300
9155bc17 233012009-10-14 Robert Millan <rmh.grub@aybabtu.com>
23302
23303 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
23304 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
23305
23306 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
23307 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
23308 users.
23309
23310 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
23311 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
23312 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
23313 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
23314 users.
23315
bf7f7a18 233162009-10-12 Robert Millan <rmh.grub@aybabtu.com>
23317
23318 * term/tparm.c: Switch to GPLv3.
23319
86564c26 233202009-10-09 Robert Millan <rmh.grub@aybabtu.com>
23321
23322 * include/grub/i386/cpuid.h: Add header protection.
23323
5c936493 233242009-10-09 Robert Millan <rmh.grub@aybabtu.com>
23325
23326 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
23327
23328 * include/grub/i386/cpuid.h: New file.
23329 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
23330 (has_longmode): Rename to ...
23331 (grub_cpuid_has_longmode): ... this. Update all users. Remove
23332 `static' attribute.
23333 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
23334 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
23335 on a CPU that doesn't implement AMD64 instruction set.
23336
186e7cf2 233372009-10-06 Colin Watson <cjwatson@ubuntu.com>
23338
23339 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
23340 that version.texi is rebuilt on version number changes.
23341
83b65c4a 233422009-10-06 Colin Watson <cjwatson@ubuntu.com>
23343
23344 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
23345 Fixes bug #27602.
23346
d244281c 233472009-10-06 Colin Watson <cjwatson@ubuntu.com>
23348
23349 * util/i386/pc/grub-install.in: Source
23350 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
23351 that the --grub-probe option will work.
23352 * util/sparc64/ieee1275/grub-install.in: Likewise.
23353
da25306d 233542009-10-05 Robert Millan <rmh.grub@aybabtu.com>
23355
23356 * configure.ac: Bump version to 1.97~beta4.
23357
e8ee83c0 233582009-10-03 Robert Millan <rmh.grub@aybabtu.com>
23359
23360 Resync grub-mkdevicemap in x86_64-efi.
23361
23362 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
23363 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
23364 `util/devicemap.c'.
23365
50dcabcf 233662009-10-01 Colin Watson <cjwatson@ubuntu.com>
23367
23368 * util/grub-editenv.c (create_envblk_file): Write new block with a
23369 .new suffix and then rename it into place, to ensure atomic
23370 creation.
23371
0e51c3a7 233722009-09-28 Robert Millan <rmh.grub@aybabtu.com>
23373
23374 Do not automatically install headers.
23375
23376 * Makefile.in (include_DATA): Remove. Update all users.
23377
31299a95 233782009-09-26 Robert Millan <rmh.grub@aybabtu.com>
23379
23380 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
23381 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
23382
23383 * util/osdetect.lua: Remove.
23384 * script/lua/lauxlib.c: Likewise.
23385 * script/lua/ldebug.c: Likewise.
23386 * script/lua/grub_main.c: Likewise.
23387 * script/lua/lauxlib.h: Likewise.
23388 * script/lua/ldebug.h: Likewise.
23389 * script/lua/ltablib.c: Likewise.
23390 * script/lua/liolib.c: Likewise.
23391 * script/lua/lstrlib.c: Likewise.
23392 * script/lua/lualib.h: Likewise.
23393 * script/lua/ldo.c: Likewise.
23394 * script/lua/ldump.c: Likewise.
23395 * script/lua/ldo.h: Likewise.
23396 * script/lua/loslib.c: Likewise.
23397 * script/lua/lundump.c: Likewise.
23398 * script/lua/grub_lib.c: Likewise.
23399 * script/lua/ldblib.c: Likewise.
23400 * script/lua/lundump.h: Likewise.
23401 * script/lua/lmem.c: Likewise.
23402 * script/lua/grub_lib.h: Likewise.
23403 * script/lua/lmathlib.c: Likewise.
23404 * script/lua/lstate.c: Likewise.
23405 * script/lua/ltm.c: Likewise.
23406 * script/lua/lvm.c: Likewise.
23407 * script/lua/lmem.h: Likewise.
23408 * script/lua/lstate.h: Likewise.
23409 * script/lua/ltm.h: Likewise.
23410 * script/lua/ltable.c: Likewise.
23411 * script/lua/lvm.h: Likewise.
23412 * script/lua/llex.c: Likewise.
23413 * script/lua/lgc.c: Likewise.
23414 * script/lua/grub_lua.h: Likewise.
23415 * script/lua/loadlib.c: Likewise.
23416 * script/lua/lfunc.c: Likewise.
23417 * script/lua/lopcodes.c: Likewise.
23418 * script/lua/lparser.c: Likewise.
23419 * script/lua/ltable.h: Likewise.
23420 * script/lua/llex.h: Likewise.
23421 * script/lua/lgc.h: Likewise.
23422 * script/lua/lfunc.h: Likewise.
23423 * script/lua/lbaselib.c: Likewise.
23424 * script/lua/lopcodes.h: Likewise.
23425 * script/lua/lparser.h: Likewise.
23426 * script/lua/lzio.c: Likewise.
23427 * script/lua/linit.c: Likewise.
23428 * script/lua/lobject.c: Likewise.
23429 * script/lua/llimits.h: Likewise.
23430 * script/lua/lstring.c: Likewise.
23431 * script/lua/lzio.h: Likewise.
23432 * script/lua/lapi.c: Likewise.
23433 * script/lua/lcode.c: Likewise.
23434 * script/lua/lua.h: Likewise.
23435 * script/lua/lobject.h: Likewise.
23436 * script/lua/lstring.h: Likewise.
23437 * script/lua/lapi.h: Likewise.
23438 * script/lua/lcode.h: Likewise.
23439 * script/lua/luaconf.h: Likewise.
23440
cb8a2c38 234412009-09-26 Colin Watson <cjwatson@ubuntu.com>
23442
23443 * docs/grub.texi (Command-line and menu entry commands): Document
23444 date and echo commands.
23445
6b9b6276 234462009-09-24 Pavel Roskin <proski@gnu.org>
23447
23448 * include/grub/kernel.h (struct grub_module_header): Remove
23449 `grub_module_header_types'. Make `type' unsigned. Make `size'
23450 32-bit on all platforms.
23451 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
23452 8-bit field. Use grub_host_to_target32() for `size'.
23453 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
23454 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
23455 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
23456
4e5a02a7 234572009-09-24 Robert Millan <rmh.grub@aybabtu.com>
23458
23459 Fix "lost keypress" bug in at_keyboard.
23460
23461 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
23462 Checks for readyness of input buffer (without flushing it).
23463 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
23464 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
23465
c6dcedf6 234662009-09-24 Robert Millan <rmh.grub@aybabtu.com>
23467
23468 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
23469 size check within GRUB_MACHINE_PCBIOS section.
23470
74c958b1 234712009-09-24 Robert Millan <rmh.grub@aybabtu.com>
23472
23473 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
23474 return value.
23475 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
23476 KEYBOARD_ISREADY check.
23477 (grub_at_keyboard_checkkey): Rename to ...
23478 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
23479 Remove gratuitous cast.
23480
ff420223 234812009-09-23 Colin Watson <cjwatson@ubuntu.com>
23482
23483 * configure.ac: Call AC_PROG_MKDIR_P.
23484 * Makefile.in (docs/stamp-vti): Create docs directory. Create
23485 version.texi in $(builddir) rather than $(srcdir).
23486 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
23487 to makeinfo's @include search path.
23488
d96875df 234892009-09-23 Felix Zielcke <fzielcke@z-51.de>
23490
23491 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
23492
9b3f8365 234932009-09-23 Felix Zielcke <fzielcke@z-51.de>
23494
23495 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
23496 for `*.dpkg-new'.
23497
c44c90db 234982009-09-21 Colin Watson <cjwatson@ubuntu.com>
23499
23500 Build info documentation. Some code borrowed from Automake.
23501
23502 * configure.ac: Check for makeinfo.
23503 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
23504 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
23505 docs/version.texi.
23506 (MOSTLYCLEANFILES): Add vti.tmp.
23507 (docs/version.texi, docs/stamp-vti): Update automatically.
23508 (docs/grub.info): Build info documentation. Use --force and ignore
23509 errors for now.
23510 (all-local): Add $(INFOS).
23511 (install-local): Install info files.
23512 (uninstall): Uninstall info files.
23513 * docs/version.texi: Remove from revision control. This file is
23514 automatically generated on build now.
23515 * gendistlist.sh: Add `*.info'.
23516
e0b37bb5 235172009-09-21 Felix Zielcke <fzielcke@z-51.de>
23518
23519 * kern/term.c: Fix indentation.
23520
5a78865b 235212009-09-21 Felix Zielcke <fzielcke@z-51.de>
23522
23523 * util/hostdisk.c: Fix a comment.
23524
dace7e8a 235252009-09-20 Robert Millan <rmh.grub@aybabtu.com>
23526
23527 Fix regression introduced in r2539.
23528
23529 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
23530 to 0xA1.
23531
a83d079b 235322009-09-19 Colin Watson <cjwatson@ubuntu.com>
23533
23534 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 23535 os-prober. Under normal operation, it does not print anything to
23536 stderr; if it does, we need to debug it, and throwing away stderr
23537 makes that excessively difficult.
a83d079b 23538
be94a509 235392009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
23540
23541 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
23542
63f745e8 235432009-09-16 Robert Millan <rmh.grub@aybabtu.com>
23544
23545 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
23546 AC_LANG_PROGRAM from autoconf.
23547 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
23548 prototypes (fixes warning).
23549
23550 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
23551 `--disable-werror' was used.
23552
bbb2a70f 235532009-09-16 Robert Millan <rmh.grub@aybabtu.com>
23554
23555 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
23556 uninitialized `lastaddr'.
23557
77c24f1d 235582009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23559
0f0b8c87 23560 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 23561
07197f23 235622009-09-14 Colin Watson <cjwatson@ubuntu.com>
23563
23564 * commands/test.c (get_fileinfo): Return immediately if
23565 grub_fs_probe fails.
23566
dabf1798 235672009-09-14 José Martínez <xosemp@gmail.com>
23568
23569 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
23570
d52109a7 235712009-09-14 Colin Watson <cjwatson@ubuntu.com>
23572
23573 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
23574 output.
23575
56532179 235762009-09-13 Robert Millan <rmh.grub@aybabtu.com>
23577
23578 * configure.ac: Remove --enable-grub-pe2elf. Only build
23579 grub-pe2elf when needed by the build system itself.
23580 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
23581
8ef070f5 235822009-09-12 Robert Millan <rmh.grub@aybabtu.com>
23583
23584 * configure.ac: Bump version to 1.97~beta3.
23585 * docs/version.texi: Likewise.
23586
61229557 235872009-09-12 Robert Millan <rmh.grub@aybabtu.com>
23588
23589 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
23590 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
23591 from here ...
23592 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
23593 (grub_linux_setup_video): ... to here (with some adjustments).
23594
5c9f8d84 235952009-09-12 Robert Millan <rmh.grub@aybabtu.com>
23596
23597 Fix memory corruption issue (spotted by Colin Watson).
23598
23599 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
23600 causing returned size to be stored in an incorrect memory location.
23601 Fix use of uninitialized value when storing the returned size.
23602
e8f5d6e9 236032009-09-12 Yves Blusseau <blusseau@zetam.org>
23604
23605 Change clean rules to properly remove files
23606
23607 * genmk.rb: add new clean rules
23608 * Makefile.in (clean): add the new targets
23609 (mostlyclean): likewise
23610
cda2a409 236112009-09-11 Colin Watson <cjwatson@ubuntu.com>
23612
23613 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
23614 to grub_uint64_t.
23615 * fs/ntfs.c (init_file): Understand 64-bit sizes for
23616 non-resident files.
23617
86695375 236182009-09-11 Colin Watson <cjwatson@ubuntu.com>
23619
23620 * configure.ac: Don't look for help2man when cross-compiling. Fixes
23621 part of bug #27349.
23622
8aa1541a 236232009-09-10 Felix Zielcke <fzielcke@z-51.de>
23624
23625 * util/grub-mkconfig.in: Make the created config mode 400 and
23626 print a warning if it fails.
23627
48d9bb0a 236282009-09-10 Robert Millan <rmh.grub@aybabtu.com>
23629
23630 * util/grub.d/40_custom.in: Ask user to type custom entries below
23631 comment, rather than below 'exec tail' line.
23632
3b0521be 236332009-09-10 Colin Watson <cjwatson@ubuntu.com>
23634
23635 * util/grub.d/40_custom.in: Make sure that the explanatory text is
23636 visible in grub.cfg.
23637
50051d55 236382009-09-10 Colin Watson <cjwatson@ubuntu.com>
23639
23640 * util/grub.d/40_custom.in: Make it a little clearer how to use this
23641 file.
23642
c0d34387 236432009-09-10 Felix Zielcke <fzielcke@z-51.de>
23644
23645 * docs/grub.cfg: Add an example menu entry for memtest86+.
23646
80a608f3 236472009-09-09 Felix Zielcke <fzielcke@z-51.de>
23648
a2094832 23649 * config.guess: Update to latest version from config git.
80a608f3 23650 * config.sub: Likewise.
23651
99423078 236522009-09-08 Colin Watson <cjwatson@ubuntu.com>
23653
23654 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
23655 unknown-command case. Fixes bug #27320.
23656
44454e4c 236572009-09-08 Felix Zielcke <fzielcke@z-51.de>
23658
23659 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
23660 `help' if the command exists.
23661
e30d87ad 236622009-09-06 Robert Millan <rmh.grub@aybabtu.com>
23663
23664 * INSTALL: Require GCC 4.1.3 or later.
23665
9a86f1ec 236662009-09-06 Yves Blusseau <blusseau@zetam.org>
23667
23668 * Makefile.in (RMKFILES): add i386-qemu.rmk
23669 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
23670 $(srcdir)/stamp-h.in
23671
7f26d466 236722009-09-05 Robert Millan <rmh.grub@aybabtu.com>
23673
23674 * util/grub-probe.c (probe): Comment out buggy codepath, which
23675 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
23676 should be re-enabled after 1.97.
23677
3a613259 236782009-09-05 Felix Zielcke <fzielcke@z-51.de>
23679
23680 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
23681 find searches for.
23682
197f76c7 236832009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
23684
23685 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
23686 unnecessary calls to grub_error.
23687
70ba68ce 236882009-09-04 Colin Watson <cjwatson@ubuntu.com>
23689
23690 * NEWS: Mention `keystatus' and Unicode fonts.
23691
4ff0d7a4 236922009-09-04 Robert Millan <rmh.grub@aybabtu.com>
23693
23694 * configure.ac: Bump version to 1.97~beta2.
23695 * docs/version.texi: Likewise.
23696
77c55a87 236972009-09-03 Colin Watson <cjwatson@ubuntu.com>
23698
23699 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
23700 containing unwind information in some cases where it previously did
23701 not. Use -fno-dwarf2-cfi-asm if available to restore the old
23702 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
23703 discussion.
23704
f79572cd 237052009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
23706
23707 Embedding loadenv module into grub-emu
23708
23709 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
23710 commands/loadenv.c
23711 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
23712 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
23713 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
23714 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
23715 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
23716 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
23717
93a81088 237182009-09-03 Magnus Granberg <zorry@ume.nu>
23719
23720 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
23721 include -fPIE in the default specs.
23722 * configure.ac: Check if pie_possible is yes and add -fno-PIE
23723 to TARGET_CFLAGS.
23724
160034b2 237252009-09-03 Felix Zielcke <fzielcke@z-51.de>
23726
23727 * INSTALL: Note that GNU Bison 2.3 or later is required.
23728
087c07c4 237292009-09-03 Colin Watson <cjwatson@ubuntu.com>
23730
23731 * kern/i386/pc/startup.S: Fix typo.
23732
cbf978c0 237332009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23734
23735 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
23736 according to GCS.
23737
237382009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 23739
23740 * docs/grub.texi (Naming convention): Describe one-based partition
23741 numbering.
23742 (Device syntax): Likewise.
23743 (File name syntax): Likewise.
23744 (Block list syntax): Likewise.
23745 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
23746 menu.lst.
23747 (File name syntax): Likewise.
23748 (Command-line and menu entry commands): Document acpi, blocklist,
23749 crc, export, insmod, keystatus, ls, set, and unset commands.
23750
f3e8cdfd 237512009-09-02 Colin Watson <cjwatson@ubuntu.com>
23752
23753 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
23754 to avoid implying that only one of --shift, --ctrl, or --alt may be
23755 used.
23756
c0bc232b 237572009-09-02 Colin Watson <cjwatson@ubuntu.com>
23758
23759 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
23760 rather than comparing against S_IFREG, which will almost never work.
23761
aa0f752d 237622009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
23763
23764 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
23765 (write_blocklists): Likewise.
23766
ecb3166a 237672009-09-01 Colin Watson <cjwatson@ubuntu.com>
23768
23769 * script/lua/grub_lua.h (fputs): Supply a format string as the first
23770 argument to grub_printf.
23771
c403a125 237722009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 23773
23774 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 23775 non GNU test.
31aba781 23776
b5e7312c 237772009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23778
23779 * kern/file.c (grub_file_read): Spelling fix
23780
fe00f472 237812009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23782
23783 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
23784 loading of headers in some cases.
23785
cc55302e 237862009-08-30 Robert Millan <rmh.grub@aybabtu.com>
23787
23788 * configure.ac: Bump version to 1.97~beta1.
23789 * docs/version.texi: Likewise.
23790
5c90cdd2 237912009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 23792
23793 * include/grub/i386/xnu.h: Add license header.
23794 include grub/err.h explicitly.
23795
c90edae4 237962009-08-29 Robert Millan <rmh.grub@aybabtu.com>
23797
23798 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
23799 to `ufs' in the vfs.root.mountfrom kernel parameter.
23800
d8888b5c 238012009-08-29 Robert Millan <rmh.grub@aybabtu.com>
23802
23803 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
23804
23805 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
23806 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
23807
23808 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
23809 `ARRAY_SIZE' macro.
23810
6f07b921 238112009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23812
23813 * kern/file.c (grub_file_read): Check offset.
23814 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
23815 * fs/jfs.c (grub_jfs_read_file): Likewise.
23816 * fs/ntfs.c (grub_ntfs_read): Likewise.
23817 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
23818 * fs/minix.c (grub_minix_read_file): Correct offset check.
23819 * fs/ufs.c (grub_ufs_read_file): Likewise.
23820
b4f34077 238212009-08-28 Colin Watson <cjwatson@ubuntu.com>
23822
23823 * term/i386/pc/console.c (bios_data_area): Cast
23824 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
23825
e7c69859 238262009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23827
23828 1-bit optimised blitters.
23829
23830 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
23831 prototype.
23832 (grub_video_fbblit_replace_24bit_1bit): Likewise.
23833 (grub_video_fbblit_replace_16bit_1bit): Likewise.
23834 (grub_video_fbblit_replace_8bit_1bit): Likewise.
23835 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
23836 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
23837 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
23838 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
23839 function.
23840 (grub_video_fbblit_replace_24bit_1bit): Likewise.
23841 (grub_video_fbblit_replace_16bit_1bit): Likewise.
23842 (grub_video_fbblit_replace_8bit_1bit): Likewise.
23843 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
23844 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
23845 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
23846 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
23847 when possible.
23848 * video/video.c (grub_video_get_blit_format): Return
23849 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
23850
a57da43f 238512009-08-28 Colin Watson <cjwatson@ubuntu.com>
23852
23853 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
23854 the first argument to grub_printf.
23855
4cbe67e5 238562009-08-28 Colin Watson <cjwatson@ubuntu.com>
238572009-08-28 Robert Millan <rmh.grub@aybabtu.com>
23858
23859 Add `getkeystatus' terminal method. Add a new `keystatus' command
23860 to query it.
23861
23862 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
23863 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
23864 modifier key bitmasks.
23865 (struct grub_term_input): Add `getkeystatus' member.
23866 (grub_getkeystatus): Add prototype.
23867 * kern/term.c (grub_getkeystatus): New function.
23868
23869 * include/grub/i386/pc/memory.h
23870 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
23871 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
23872 Data Area layout.
23873 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
23874 (grub_console_term_input): Set `getkeystatus' member.
23875 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
23876 constants.
23877 (grub_usb_keyboard_getreport): Likewise.
23878 (grub_usb_keyboard_checkkey): Likewise.
23879 (grub_usb_keyboard_getkeystatus): New function.
23880 (grub_usb_keyboard_term): Set `getkeystatus' member.
23881
23882 * commands/keystatus.c: New file.
23883 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
23884 (keystatus_mod_SOURCES): New variable.
23885 (keystatus_mod_CFLAGS): Likewise.
23886 (keystatus_mod_LDFLAGS): Likewise.
23887 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
23888 commands/keystatus.c.
23889 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23890 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23891 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23892 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23893 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23894 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 23895
6e2a9085 238962009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23897
23898 Split befs.mod and afs.mod into *_be.mod and *.mod
23899
23900 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
23901 (grub_fstest_SOURCES): Likewise.
23902 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
23903 (afs_be_mod_SOURCES): New variable.
23904 (afs_be_mod_CFLAGS): Likewise.
23905 (afs_be_mod_LDFLAGS): Likewise.
23906 (befs_be_mod_SOURCES): Likewise.
23907 (befs_be_mod_CFLAGS): Likewise.
23908 (befs_be_mod_LDFLAGS): Likewise.
23909 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
23910 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23911 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23912 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23913 (grub_emu_SOURCES): Likewise.
23914 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23915 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23916 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23917 * fs/afs_be.c: New file.
23918 * fs/befs_be.c: New file.
23919 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
23920 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
23921 (U16): Replaced with ...
23922 (grub_afs_to_cpu16): ...this. All users updated.
23923 (U32): Replaced with ...
23924 (grub_afs_to_cpu32): ...this. All users updated.
23925 (U64): Replaced with ...
23926 (grub_afs_to_cpu64): ...this. All users updated.
23927 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
23928 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 23929 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 23930 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
23931 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
23932 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
23933 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
23934 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
23935 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
23936 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
23937 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
23938
32a71655 239392009-08-26 Bean <bean123ch@gmail.com>
23940
23941 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
23942 64-bit number.
23943 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
23944 (grub_xfs_inode_block): Change return type to grub_uint64_t.
23945 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
23946
552bf6c5 239472009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23948
23949 NetBSD memory map support.
23950
23951 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
23952 (grub_netbsd_btinfo_mmap_header): New structure.
23953 (grub_netbsd_btinfo_mmap_entry): Likewise.
23954 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
23955
1ae2078c 239562009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23957
23958 Enable bsd.mod on coreboot.
23959
23960 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
23961 (bsd_mod_SOURCES): New variable.
23962 (bsd_mod_CFLAGS): Likewise.
23963 (bsd_mod_LDFLAGS): Likewise.
23964 (bsd_mod_ASFLAGS): Likewise.
23965 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
23966 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
23967
beefc598 239682009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23969
23970 Cleanup NetBSD root support.
23971
23972 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
23973 grub_bsd_get_device.
23974 Fix typo.
23975
3b76e68b 239762009-08-25 Felix Zielcke <fzielcke@z-51.de>
23977
23978 * util/grub.d/00_header.in: Move check for the video backend of
23979 gfxterm from here ...
23980 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
23981 a suitable video backend.
23982
aea664ea 239832009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23984
23985 Fix breakage in grub-setup.
23986
23987 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
23988 "msdos_partition_map".
23989
ff747d50 239902009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23991
23992 Fix breakage in normal/auth.c.
23993
23994 * normal/auth.c (grub_iswordseparator): New function.
23995
e7e1f93f 239962009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23997
23998 Authentication support.
23999
24000 * commands/password.c: New file.
24001 * conf/common.rmk (pkglib_MODULES): Add password.mod.
24002 (password_mod_SOURCES): New variable.
24003 (password_mod_CFLAGS): Likewise.
24004 (password_mod_LDFLAGS): Likewise.
24005 (normal_mod_SOURCES): Add normal/auth.c.
24006 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
24007 normal/auth.c.
24008 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24009 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24010 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24011 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24012 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24013 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24014 * include/grub/auth.h: New file.
24015 * include/grub/err.h (grub_err_t): New enum value
24016 GRUB_ERR_ACCESS_DENIED.
24017 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
24018 'users'.
24019 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
24020 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
24021 users updated.
24022 * normal/auth.c: New file.
24023 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
24024 (grub_cmdline_run): Don't allow to go to command line without
24025 authentication.
24026 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
24027 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
24028 menuentry without superuser rights.
24029 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
24030 user isn't a superuser.
24031
70f1161d 240322009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24033
24034 Save space by inlining misc.c functions.
24035
24036 * kern/misc.c (grub_iswordseparator): Made static.
24037 * kern/misc.c (grub_strcat): Moved from here ...
24038 * include/grub/misc.h (grub_strcat): ... here. Inlined.
24039 * kern/misc.c (grub_strncat): Moved from here ...
24040 * include/grub/misc.h (grub_strncat): ... here. Inlined.
24041 * kern/misc.c (grub_strcasecmp): Moved from here ...
24042 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
24043 * kern/misc.c (grub_strncasecmp): Moved from here ...
24044 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
24045 * kern/misc.c (grub_isalpha): Moved from here ...
24046 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
24047 * kern/misc.c (grub_isdigit): Moved from here ...
24048 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
24049 * kern/misc.c (grub_isgraph): Moved from here ...
24050 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
24051 * kern/misc.c (grub_tolower): Moved from here ...
24052 * include/grub/misc.h (grub_tolower): ... here. Inlined.
24053
48e40bff 240542009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24055
24056 * script/sh/function.c (grub_script_function_find): Cut error message
24057 not to flood terminal.
24058 * script/sh/lexer.c (grub_script_yylex): Remove command line length
24059 limit.
24060 * script/sh/script.c (grub_script_arg_add): Duplicate string.
24061
c385bfc3 240622009-08-24 Colin Watson <cjwatson@ubuntu.com>
24063
24064 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
24065 `report' grub_uint8_t *.
24066 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
24067 Use a 50-millisecond timeout rather than just repeating
24068 grub_usb_keyboard_getreport 50 times.
24069 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
24070
2d21e3e8 240712009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24072
24073 Rename *_partition_map to part_*
24074
24075 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
24076 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
24077 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
24078 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
24079 All users updated.
24080 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
24081 All users updated.
24082 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
24083 * util/grub-probe.c (probe_partmap): Don't transform partition name
24084 to get module name.
24085
dd103c4e 240862009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24087
24088 Fix OpenBSD and NetBSD support.
24089
24090 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
24091 memory address conflict.
24092 (OPENBSD_MMAP_ACPI): New definition.
24093 (OPENBSD_MMAP_NVS): Likewise.
24094 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
24095 and OPENBSD_MMAP_NVS.
24096 Add memory map terminator
24097 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 24098 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 24099
16c84d74 241002009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24101
24102 Let user specify NetBSD root device.
24103
24104 * loader/i386/bsd.c (netbsd_root): New variable.
24105 (netbsd_opts): New option 'root'.
24106 (NETBSD_ROOT_ARG): New macro.
24107 (grub_netbsd_boot): Use 'netbsd_root'.
24108 (grub_bsd_unload): Free 'netbsd_root'.
24109 (grub_cmd_netbsd): Fill 'netbsd_root'.
24110
adb29902 241112009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24112
24113 Support for 64-bit NetBSD.
24114
24115 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
24116 point when booting non-FreeBSD.
24117
f5ae9f74 241182009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24119
24120 Support --no-smp and --no-acpi for NetBSD.
24121
24122 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
24123 (NETBSD_AB_NOACPI): Likewise.
24124 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
24125 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
24126
de74f136 241272009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
24128
24129 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
24130 errors.
24131 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
24132 errors. Call grub_error when needed.
24133
e9a925da 241342009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
24135
24136 * commands/search.c (search_fs): Try searching without autoload first.
24137 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
24138 filesystem module explicitly for faster booting.
24139
5174302b 241402009-08-23 Colin Watson <cjwatson@ubuntu.com>
24141
24142 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
24143
c8c80635 241442009-08-23 Colin Watson <cjwatson@ubuntu.com>
24145
24146 * util/grub.d/30_os-prober.in: Disable os-prober if
24147 `GRUB_DISABLE_OS_PROBER' was set to true.
24148
71acf5e5 241492009-08-23 Robert Millan <rmh.grub@aybabtu.com>
24150
24151 * partmap/pc.c: Rename to ...
24152 * partmap/msdos.c: ... this. Update all users.
24153 (grub_pc_partition_map): Rename to ...
24154 (grub_msdos_partition_map): ... this. Update all users.
24155
24156 * parttool/pcpart.c: Rename to ...
24157 * parttool/msdospart.c: ... this. Update all users.
24158
24159 * include/grub/pc_partition.h: Rename to ...
24160 * include/grub/msdos_partition.h: ... this. Update all users.
24161 (grub_pc_partition_bsd_entry): Rename to ...
24162 (grub_msdos_partition_bsd_entry): ... this. Update all users.
24163 (grub_pc_partition_disk_label): Rename to ...
24164 (grub_msdos_partition_disk_label): ... this. Update all users.
24165 (grub_pc_partition_entry): Rename to ...
24166 (grub_msdos_partition_entry): ... this. Update all users.
24167 (grub_pc_partition_mbr): Rename to ...
24168 (grub_msdos_partition_mbr): ... this. Update all users.
24169 (grub_pc_partition): Rename to ...
24170 (grub_msdos_partition): ... this. Update all users.
24171 (grub_pc_partition_is_empty): Rename to ...
24172 (grub_msdos_partition_is_empty): ... this. Update all users.
24173 (grub_pc_partition_is_extended): Rename to ...
24174 (grub_msdos_partition_is_extended): ... this. Update all users.
24175 (grub_pc_partition_is_bsd): Rename to ...
24176 (grub_msdos_partition_is_bsd): ... this. Update all users.
24177
24178 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
24179 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
24180 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
24181 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
24182 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
24183 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
24184 (gpt_mod_LDFLAGS): Rename to ...
24185 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
24186 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
24187 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
24188 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
24189 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
24190 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
24191 (part_gpt_mod_LDFLAGS): ... this.
24192 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
24193 `pcpart.mod' to `msdospart.mod'.
24194 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
24195 to ...
24196 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
24197 (msdospart_mod_LDFLAGS): ... this.
24198
c11fded5 241992009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
24200
24201 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
24202 (openbsd_opts): Likewise.
24203 (netbsd_opts): Likewise.
24204 (freebsd_flags): Added 0 terminator.
24205 (openbsd_flags): Likewise.
24206 (netbsd_flags): Likewise.
24207 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
24208 (grub_cmd_freebsd): Transformed into extended command.
24209 (grub_cmd_openbsd): Likewise.
24210 (grub_cmd_netbsd): Likewise.
24211 (cmd_freebsd): Changed type to grub_extcmd_t.
24212 (cmd_openbsd): Likewise.
24213 (cmd_netbsd): Likewise.
24214 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
24215 grub_cmd_openbsd as extended commands.
24216 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
24217 cmd_netbsd and cmd_openbsd
24218
11d1c769 242192009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
24220
24221 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
24222
7a9094e5 242232009-08-21 Pavel Roskin <proski@gnu.org>
24224
5496c37e 24225 * Makefile.in (install-local): When checking if a file is in the
24226 build directory, use "test -e" to detect symlinks.
24227
7a9094e5 24228 * Makefile.in (install-local): Remove all files in
24229 $(DESTDIR)$(pkglibdir) before installing new files there.
24230
e53cea11 242312009-08-18 Felix Zielcke <fzielcke@z-51.de>
24232
24233 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
24234 grub-mkelfimage.
24235
9aced544 242362009-08-18 Felix Zielcke <fzielcke@z-51.de>
24237
24238 * util/grub-mkconfig.in: Don't use gfxterm by default if not
24239 explicitly specified by the user.
24240
b7da6bab 242412009-08-18 Pavel Roskin <proski@gnu.org>
24242
24243 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
24244 grub_uint8_t pointer for data.
24245 * include/grub/fbutil.h (struct grub_video_fbblit_info):
24246 Likewise.
24247 * video/fb/fbutil.c: Remove unnecessary casts.
24248
19f1b335 242492009-08-17 Michal Suchanek <hramrach@centrum.cz>
24250
24251 VBE cleanup.
24252
24253 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
24254 (grub_vbe_set_video_mode): Save active mode info
24255 only after setting the mode.
24256 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
24257 second argument.
24258
2f467aa9 242592009-08-17 Michal Suchanek <hramrach@centrum.cz>
24260
24261 Rename variables for clarity.
24262
24263 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
24264 (active_vbe_mode_info): ... this. All users updated.
24265 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
24266 All users updated.
24267 (initial_mode): Rename to ...
24268 (initial_vbe_mode): ... this. All users updated.
24269 (mode_in_use): Rename to ..
24270 (vbe_mode_in_use): ... this. All users updated.
24271 (mode_list): Rename to ..
24272 (vbe_mode_list): ... this. All users updated.
24273 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
24274 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
24275 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
24276 'mode_list_size' to 'vbe_mode_list_size'.
24277 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
24278 'best_mode_info' to 'best_vbe_mode_info' and
24279 'best_mode' to 'best_vbe_mode'
24280
6025fcd7 242812009-08-17 Michal Suchanek <hramrach@centrum.cz>
24282
24283 Remove duplicate grub_video_fb_get_video_ptr.
24284
24285 * include/grub/fbutil.h (get_data_ptr): Rename to ...
24286 (grub_video_fb_get_video_ptr): ... this.
24287 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
24288 * video/fb/fbutil.c: Add comment about addressing.
24289 (get_data_ptr): Rename to ...
24290 (grub_video_fb_get_video_ptr): ... this. All users updated.
24291 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
24292
cc8c6faf 242932009-08-17 Robert Millan <rmh.grub@aybabtu.com>
24294
24295 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
24296 grub_dprintf() that was just added.
24297
08aa61f0 242982009-08-17 Robert Millan <rmh.grub@aybabtu.com>
24299
24300 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
24301 (DEFAULT_VIDEO_MODE): Remove macros.
24302 (grub_linux_boot): Remove assumption that Linux has FB support,
24303 and use "text" as default video mode.
24304
7cef4f75 243052009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
24306
24307 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
24308 grub_dprintf.
24309 * fs/fat.c (grub_fat_read_data): Likewise.
24310
e1f39873 243112009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24312
24313 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
24314 payload.
24315 (grub_module): Likewise.
24316
c166d79e 243172009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24318
24319 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
24320 mbi->cmdline but free playground.
24321
c60cee8e 243222009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24323
24324 Handle group offset on UFS1.
24325
24326 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
24327 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
24328
c0d8b5d4 243292009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24330
24331 Split ufs.mod into ufs1.mod and ufs2.mod.
24332
24333 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
24334 (grub_fstest_SOURCES): Likewise.
24335 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
24336 (ufs_mod_SOURCES): Remove.
24337 (ufs_mod_CFLAGS): Likewise.
24338 (ufs_mod_LDFLAGS): Likewise.
24339 (ufs1_mod_SOURCES): New variable.
24340 (ufs1_mod_CFLAGS): Likewise.
24341 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 24342 (ufs2_mod_SOURCES): New variable.
24343 (ufs2_mod_CFLAGS): Likewise.
24344 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 24345 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
24346 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
24347 Likewise.
24348 (grub_emu_SOURCES): Likewise.
24349 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24350 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24351 (grub_setup_SOURCES): Likewise.
24352 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24353 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
24354 (grub_setup_SOURCES): Likewise.
24355 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
24356 Likewise.
24357 * fs/ufs2.c: New file.
24358 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
24359
d3539132 243602009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24361
24362 Framebuffer split.
24363
24364 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
24365 subsystem at the end.
24366 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
24367 (video_fb_mod_SOURCES): New variable.
24368 (video_fb_mod_CFLAGS): Likewise.
24369 (video_fb_mod_LDFLAGS): Likewise.
24370 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
24371 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
24372 * video/i386/pc/vbeblit.c: Moved from here ...
24373 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
24374 * video/i386/pc/vbefill.c: Moved from here ...
24375 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
24376 * video/i386/pc/vbeutil.c: Moved from here ...
24377 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
24378 * include/grub/i386/pc/vbeblit.h: Moved from here ...
24379 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
24380 * include/grub/i386/pc/vbefill.h: Moved from here ...
24381 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
24382 * include/grub/i386/pc/vbeutil.h: Moved from here ...
24383 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
24384 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
24385 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
24386 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
24387 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
24388 (grub_video_adapter): Added 'get_info_and_fini'.
24389 (grub_video_get_info_and_fini): New prototype.
24390 (grub_video_set_mode): make modestring const char *.
24391 * loader/i386/linux.c (grub_linux_setup_video): Use
24392 grub_video_get_info_and_fini.
24393 (grub_linux_boot): Move modesetting just before booting.
24394 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
24395 grub_video_get_info_and_fini.
24396 * video/i386/pc/vbe.c: Moved framebuffer part ...
24397 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
24398 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
24399 grub_video_fbstd_colors and grub_video_fb_set_palette.
24400 (grub_video_vbe_init): Clear 'framebuffer' variable and use
24401 grub_video_fb_init.
24402 (grub_video_vbe_fini): Use grub_video_fb_fini.
24403 (grub_video_vbe_setup): Use framebuffer.render_target instead of
24404 render_target and use grub_video_fb_set_active_render_target and
24405 grub_video_fb_set_palette.
24406 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
24407 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
24408 (grub_video_vbe_adapter): Use framebuffer.
24409 * video/video.c (grub_video_get_info_and_fini): New function.
24410 (grub_video_set_mode): Make modestring const char *.
24411 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
24412 values are already initialised.
24413
d404ee56 244142009-08-14 Pavel Roskin <proski@gnu.org>
24415
24416 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
24417 ABS and APPLE_CC.
24418 * boot/i386/pc/diskboot.S: Likewise.
24419 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
24420 sectors allow compilation on MacOSX.
24421 * conf/i386-pc.rmk: Enable unconditional compilation of
24422 lnxboot.img.
24423
9a10df16 244242009-08-13 Colin Watson <cjwatson@ubuntu.com>
24425
24426 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
24427 * util/grub.d/00_header.in: Enter interruptible sleep if
24428 GRUB_HIDDEN_TIMEOUT is set.
24429
be3c9ca7 244302009-08-13 Yves Blusseau <blusseau@zetam.org>
24431
24432 * include/grub/symbol.h: Add the LOCAL macro.
24433 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
24434 starting with "L_".
24435
1f9e557e 244362009-08-13 Pavel Roskin <proski@gnu.org>
24437
9ca62843 24438 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
24439 any modern compilers we support.
24440
1f9e557e 24441 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
24442 Use local labels starting with "L_" so that Apple assembler
24443 knows they are local.
24444
81623db6 244452009-08-10 Robert Millan <rmh.grub@aybabtu.com>
24446
24447 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
24448 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
24449 (bsd_kernel_types): ... this enum.
24450
24451 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
24452 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
24453 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
24454
24455 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
24456 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
24457 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
24458 messages.
24459
f5d35e7a 244602009-08-08 Robert Millan <rmh.grub@aybabtu.com>
24461
24462 * util/grub-dumpdevtree: Moved from here ...
24463 * util/i386/efi/grub-dumpdevtree: ... to here.
24464 (hexify): New function. Converts a string to its hex version.
24465 Generate hex versions of "efi" and "device-properties" by calling
24466 hexify() on the ASCII strings rather than by hardcoding numbers.
24467
d1e1d527 244682009-08-08 Robert Millan <rmh.grub@aybabtu.com>
24469
24470 * fs/jfs.c: Update copyright year.
24471
1ebbe064 244722009-08-08 Felix Zielcke <fzielcke@z-51.de>
24473
24474 * util/grub.d/00_header.in: Fix a comment.
24475 * util/grub.d/10_linux.in: Likewise.
24476 * util/grub.d/10_windows.in: Likewise.
24477 * util/grub.d/10_hurd.in: Likewise.
24478
a78c8d24 244792009-08-08 Felix Zielcke <fzielcke@z-51.de>
24480
24481 * util/grub-mkconfig.in: Allow the user to specify the used font
24482 with GRUB_FONT.
24483
29a6b9e8 244842009-08-08 Pavel Roskin <proski@gnu.org>
24485
b5f16cc4 24486 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
24487 available, xfs.mod needs it now.
24488
2f5cb827 24489 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
24490 the "g" modifier in sed when the intention is to strip something
24491 once. This fixes comparison of kernels with multiple dashes.
24492
29a6b9e8 24493 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
24494 on it. Add missing space before closing bracket. Fix
24495 misleading formatting.
24496
892a3d98 244972009-08-07 Robert Millan <rmh.grub@aybabtu.com>
24498
24499 * docs/grub.texi: Major overhaul. Remove all sections that are
24500 specific to GRUB Legacy, or mostly composed of Legacy-specific
24501 information.
24502
ed94253f 245032009-08-07 Robert Millan <rmh.grub@aybabtu.com>
24504
24505 * docs/version.texi: New file. Provides version information for
24506 grub.texi.
24507
126d6628 245082009-08-07 Robert Millan <rmh.grub@aybabtu.com>
24509
24510 * docs/grub.texi: Update CVS information to SVN.
24511 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
24512
998b5aa9 245132009-08-07 Felix Zielcke <fzielcke@z-51.de>
24514
24515 * util/grub-mkconfig.in: Remove a wrong `fi'.
24516
818e094a 245172009-08-07 Felix Zielcke <fzielcke@z-51.de>
24518
24519 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
24520 (grub_jfs_uuid): New function.
24521 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
24522
b969c52f 245232009-08-07 Felix Zielcke <fzielcke@z-51.de>
24524
24525 * util/grub-mkconfig_lib.in (font_path): Move the functionality
24526 of it to ...
24527 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
24528 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
24529
7a4894cc 245302009-08-07 Robert Millan <rmh.grub@aybabtu.com>
24531
24532 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
24533 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
24534 Update all users.
24535
24536 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
24537 not just "vmlinu[zx]".
24538 Moved from here ...
24539 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
24540 all users.
24541
24542 * util/grub.d/10_linux.in (find_latest): Moved from here ...
24543 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
24544 all users.
24545
4e2171f8 245462009-08-07 Robert Millan <rmh.grub@aybabtu.com>
24547
24548 * util/grub.d/10_freebsd.in: Use an absolute device path for
24549 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
24550
6dcfcb32 245512009-08-06 Felix Zielcke <fzielcke@z-51.de>
24552
24553 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
24554 handling of multiple abstraction modules.
24555
f56a8756 245562009-08-04 Robert Millan <rmh.grub@aybabtu.com>
24557
24558 Fix a bug resulting in black screen when loading Linux using a
24559 packed video mode.
24560
24561 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
24562 function.
24563
24564 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
24565 (grub_vbe_bios_getset_dac_palette_width): New function.
24566 (grub_vbe_bios_get_dac_palette_width)
24567 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
24568 grub_vbe_bios_getset_dac_palette_width()).
24569
24570 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
24571 check for return status.
24572 (grub_vbe_get_video_mode_info): When getting information for a packed
24573 mode (<= 8 bpp), obtain DAC palette width using
24574 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
24575 {red,green,blue}_mark_size.
24576
222671b2 245772009-08-04 Felix Zielcke <fzielcke@z-51.de>
24578
ecb1a6d9 24579 * commands/search.c (options): Fix help output to match actual code.
222671b2 24580
f84114f5 245812009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
24582
24583 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
24584 of homegrown code.
24585
bd288a20 245862009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 24587
24588 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
24589 on XFS or ReiserFS.
24590
8aab5e25 245912009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24592
24593 Support Apple partition map with sector size different from 512 bytes.
24594
24595 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
24596 (apple_partition_map_iterate): Respect 'aheader.blocksize'
24597 and 'apart.partmap_size'.
24598
6ad6258a 245992009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
246002009-08-01 Robert Millan <rmh.grub@aybabtu.com>
24601
24602 Fix cpuid command.
24603
24604 * commands/i386/cpuid.c (options): New variable.
24605 (grub_cmd_cpuid): Return real error.
24606 (GRUB_MOD_INIT(cpuid)): Declare options.
24607
67459bc6 246082009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
24609
24610 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
24611 valid.
24612
fbc6ab54 246132009-07-31 Bean <bean123ch@gmail.com>
24614
24615 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
24616 log2_inode.
24617 (grub_fshelp_node): Move inode field to the end.
24618 (grub_xfs_data): Remove inode field.
24619 (grub_xfs_inode_block): Calculate inode size using sblock.
24620 (grub_xfs_inode_offset): Likewise.
24621 (grub_xfs_read_inode): Calculate inode size using sblock.
24622 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
24623 (grub_xfs_iterate_dir): Calculate inode size using sblock.
24624 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
24625 to match inode size.
24626 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
24627 not accessible when data is null.
24628 (grub_xfs_open): Likewise.
24629
f45d6cfc 246302009-07-31 Bean <bean123ch@gmail.com>
24631
24632 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
24633 Don't change pv->disk if it's already set.
24634
24635 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
24636 (grub_raid_register): ... here.
24637 (grub_raid_rescan): Removed.
24638
24639 * include/grub/raid.h (grub_raid_rescan): Removed.
24640
24641 * util/grub-fstest.c: Remove include file <grub/raid.h>.
24642 (fstest): Replace grub_raid_rescan with module fini function followed
24643 by init function.
24644
24645 * util/grub-probe.c: Add include file <grub/raid.h>.
24646 (probe_raid_level): New function.
24647 (probe): Detect abstraction by walking the disk device, support two
24648 level of abstraction (LVM on RAID) when detecting partition map.
24649
24443b5a 246502009-07-31 Pavel Roskin <proski@gnu.org>
24651
24652 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
24653 to grub_zalloc(), it was erroneous.
24654 Reported by Bean <bean123ch@gmail.com>
24655
a275d9e7 246562009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
24657
24658 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 24659 embedding zone, not only the first one.
a275d9e7 24660
56c5a47f 246612009-07-29 Joe Auricchio <jauricchio@gmail.com>
24662
24663 * term/gfxterm.c (clear_char): New function.
24664 (grub_virtual_screen_setup): Use clear_char.
24665 (scroll_up): Likewise.
24666 (grub_virtual_screen_cls): Likewise.
24667
67bb323a 246682009-07-29 Felix Zielcke <fzielcke@z-51.de>
24669
24670 * util/deviceiter.c (get_acceleraid_disk_name): New static
24671 function.
24672 (grub_util_iterate_devices): Handle Accelraid devices.
24673 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
24674
388a7c75 246752009-07-28 Robert Millan <rmh.grub@aybabtu.com>
24676
24677 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
24678 separator for the suggested gfxpayload string (';' collides with the
24679 parser and needs escaping).
24680
3bb7abcf 246812009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
24682
24683 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
24684 Clear direction flag before jumping to OS.
24685 (grub_multiboot2_real_boot): Likewise.
24686
2ddd36d7 246872009-07-28 Felix Zielcke <fzielcke@z-51.de>
24688
24689 * util/i386/pc/grub-install: Fix parsing of --disk-module
24690 option.
24691
c521b62b 246922009-07-28 Felix Zielcke <fzielcke@z-51.de>
24693
24694 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
24695 when embedding.
24696
880e0a0c 246972009-07-26 Felix Zielcke <fzielcke@z-51.de>
24698
24699 * util/grub-mkconfig.in (package_version): New variable.
24700 Use it do display the version.
24701
2366e356 247022009-07-25 Felix Zielcke <fzielcke@z-51.de>
24703
24704 * kern/file.c (grub_file_open): Revert to previous check with
24705 grub_errno.
24706
7ad8c80e 247072009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
24708
24709 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
24710 from help line. It's out of sync with code.
24711
72b9658b 247122009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
24713
24714 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
24715 entries on failed boot.
24716
77435277 247172009-07-25 Felix Zielcke <fzielcke@z-51.de>
24718
24719 * kern/file.c (grub_file_open): Fix an error check.
24720
fcaa8b21 247212009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
24722
35d16c74 24723 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
24724 partition map couldn't be identified.
fcaa8b21 24725
48904cd1 247262009-07-23 Pavel Roskin <proski@gnu.org>
24727
ef3c317f 24728 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
24729 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
24730 case of little endian words becomes just an optimization.
24731 Respect const modifier.
ad8ea1f4 24732 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 24733
48904cd1 24734 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
24735 to avoid loss of upper bits if align is unsigned and shorter
24736 than addr.
24737
260c9a89 247382009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
24739
24740 UUID support for UFS
24741
24742 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
24743 (grub_ufs_uuid): New function.
24744 (grub_ufs_fs): add .uuid
24745
f76ce889 247462009-07-21 Pavel Roskin <proski@gnu.org>
24747
24748 * kern/dl.c (grub_dl_check_header): Make static.
24749
6a6cbcaf 247502009-07-21 Felix Zielcke <fzielcke@z-51.de>
24751
24752 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
24753 add drivemap for Vista. It breaks Windows 7.
24754
cffcddb2 247552009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
24756
24757 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
24758 128 bytes
24759
1ef44b80 247602009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24761
24762 Add BFS support
24763
24764 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
24765 (grub_fstest_SOURCES): Likewise.
24766 (pkglib_MODULES): Add befs.mod.
24767 (befs_mod_SOURCES): New variable.
24768 (befs_mod_CFLAGS): Likewise.
24769 (befs_mod_LDFLAGS): Likewise.
24770 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24771 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24772 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24773 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24774 (grub_setup_SOURCES): Likewise.
24775 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24776 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24777 (grub_setup_SOURCES): Likewise.
24778 * fs/befs.c: New file.
24779 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
24780 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
24781 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
24782 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
24783 (B_KEY_INDEX_ALIGN): New declaration.
24784 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
24785 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
24786 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
24787 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
24788 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
24789 (grub_afs_mount) [MODE_BFS]: Likewise.
24790 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
24791 (grub_afs_fs): Use GRUB_AFS_FSNAME
24792 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
24793 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
24794 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
24795 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
24796
4f253044 247972009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
24798
24799 * util/getroot.c (find_root_device): Add support for MacOSX.
24800 * util/hostdisk.c: Likewise.
24801
57a55913 248022009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24803
24804 * font/font.c (find_glyph): Check whether a font is present to avoid
24805 segmentation fault.
75421ca9 24806
248072009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 24808
24809 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
24810
e98cd0c2 248112009-07-20 Pavel Roskin <proski@gnu.org>
24812
24813 * configure.ac: Trim excessively wordy excuses.
24814
1d2d169a 248152009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24816
24817 Add symlink, mtime and label support to AtheFS.
24818
24819 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
24820 (grub_afs_iterate_dir): Handle symlinks.
24821 (grub_afs_open): Use grub_afs_read_symlink.
24822 (grub_afs_dir): Likewise.
24823 Pass mtime.
24824 (grub_afs_label): New function.
24825 (grub_afs_fs): Add grub_afs_label.
24826 (grub_afs_read_symlink): New function.
24827
186f3189 248282009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24829
24830 Fix AtheFS support.
24831
24832 * fs/afs.c: Fix comments style.
24833 (grub_afs_blockrun): Declare as packed.
24834 (grub_afs_datastream): Likewise.
24835 (grub_afs_bnode): Likewise.
24836 (grub_afs_btree): Likewise.
24837 (grub_afs_sblock): Likewise.
24838 Declare `name' as char.
24839 (grub_afs_inode): Declare as packed.
24840 Change void *vnode to grub_uint32_t unused.
24841 (grub_afs_iterate_dir): Check that key_size is positive.
24842 (grub_afs_mount): Don't read superblock twice.
75421ca9 24843 (grub_afs_dir): Don't free node in case of error,
186f3189 24844 grub_fshelp_find_file already handles this.
24845 (grub_afs_open): Likewise.
24846
5680109e 248472009-07-19 Pavel Roskin <proski@gnu.org>
24848
24849 * Makefile.in: Remove LIBLZO and enable_lzo.
24850 * conf/i386-pc.rmk: Remove lzo support.
24851 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
24852 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
24853 support.
24854 * kern/i386/pc/lzo1x.S: Remove.
24855 * kern/i386/pc/startup.S: Remove lzo support.
24856 * util/i386/pc/grub-mkimage.c: Likewise.
24857
ac70fa32 248582009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
24859
24860 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
24861 * fs/xfs.c (grub_xfs_dir): Likewise.
24862 * fs/afs.c (grub_afs_dir): Likewise.
24863 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
24864 (grub_iso9660_open): Likewise.
24865 * fs/jfs.c (grub_jfs_open): Likewise.
24866 * fs/ext2.c (grub_ext2_dir): Likewise.
24867 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
24868 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 24869
eab58da2 248702009-07-16 Pavel Roskin <proski@gnu.org>
24871
d2838156 24872 * configure.ac: Never add "-c" to CFLAGS.
24873
55c70904 24874 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
24875
43e6200c 24876 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
24877 grub_cv_cc_efiemu should be used.
24878
ce7a733d 24879 * configure.ac: Typo fixes.
24880
eab58da2 24881 * kern/mm.c (grub_zalloc): New function.
24882 (grub_debug_zalloc): Likewise.
24883 * include/grub/mm.h: Declare grub_zalloc() and
24884 grub_debug_zalloc().
24885 * util/misc.c (grub_zalloc): New function.
24886 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
24887 instead of grub_malloc(), remove unneeded initializations.
24888 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
24889 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
24890 * commands/parttool.c (grub_cmd_parttool): Likewise.
24891 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
24892 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
24893 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
24894 * disk/usbms.c (grub_usbms_finddevs): Likewise.
24895 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
24896 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
24897 (grub_cmd_efiemu_pnvram): Likewise.
24898 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
24899 * fs/iso9660.c (grub_iso9660_mount): Likewise.
24900 (grub_iso9660_iterate_dir): Likewise.
24901 * fs/jfs.c (grub_jfs_opendir): Likewise.
24902 * fs/ntfs.c (list_file): Likewise.
24903 (grub_ntfs_mount): Likewise.
24904 * kern/disk.c (grub_disk_open): Likewise.
24905 * kern/dl.c (grub_dl_load_core): Likewise.
24906 * kern/elf.c (grub_elf_file): Likewise.
24907 * kern/env.c (grub_env_context_open): Likewise.
24908 (grub_env_set): Likewise.
24909 (grub_env_set_data_slot): Likewise.
24910 * kern/file.c (grub_file_open): Likewise.
24911 * kern/fs.c (grub_fs_blocklist_open): Likewise.
24912 * loader/i386/multiboot.c (grub_module): Likewise.
24913 * loader/xnu.c (grub_xnu_create_key): Likewise.
24914 (grub_xnu_create_value): Likewise.
24915 * normal/main.c (grub_normal_add_menu_entry): Likewise.
24916 (read_config_file): Likewise.
24917 * normal/menu_entry.c (make_screen): Likewise.
24918 * partmap/sun.c (sun_partition_map_iterate): Likewise.
24919 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
24920 * script/sh/script.c (grub_script_parse): Likewise.
24921 * video/bitmap.c (grub_video_bitmap_create): Likewise.
24922 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
24923 * video/readers/png.c (grub_png_output_byte): Likewise.
24924 (grub_video_reader_png): Likewise.
24925
830afef7 249262009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 24927
24928 Enable all targets that can be built by default
24929
830afef7 24930 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 24931 grub-mkfont and grub-fstest if they can be built
24932
ee293aee 249332009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24934
24935 Fix hang and segmentation fault in grub-emu-usb
24936
24937 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
24938 * util/usb.c (grub_libusb_devices): likewise
24939 (grub_libusb_init): rename to ...
24940 (GRUB_MOD_INIT (libusb)):...this
24941 (grub_libusb_fini): rename to ..
24942 (GRUB_MOD_FINI (libusb)):...this
24943 * disk/usbms.c (grub_usbms_transfer): fix retry logic
24944 * include/grub/disk.h (grub_raid_init): removed, it's useless
24945 (grub_raid_fini): likewise
24946 (grub_lvm_init): likewise
24947 (grub_lvm_fini): likewise
24948 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
24949 by grub_init_all
24950
94414221 249512009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24952
24953 Fix libusb
24954
24955 * Makefile.in (LIBUSB): new macro
24956 * genmk.rb (Utility/print_tail): new method
24957 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
24958 (top level): call util.print_tail at the end.
24959
59ade63d 249602009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24961
24962 Make FreeBSD accept zpool.cache
24963
24964 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
24965 type is /boot/zfs/zpool.cache
24966
a58da8c7 249672009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24968
24969 Fix 64-bit efiemu
24970
24971 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
24972 correct wrong typedef
24973 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
24974
20591577 249752009-07-15 Pavel Roskin <proski@gnu.org>
24976
560ca572 24977 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
24978 * kern/disk.c (struct grub_disk_cache): Likewise.
24979
e8e8e4fd 24980 * commands/probe.c (options): Typo fix.
24981
fde24e10 24982 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
24983 Increase to 0x5a to accommodate FAT32. Adjust other offsets
24984 accordingly.
24985 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
24986
379c54c1 24987 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
24988 the end of "Error" to make the message more readable.
24989
7bd8f5bf 24990 * boot/i386/pc/boot.S (kernel_segment): Remove.
24991 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
24992 for destination.
24993
40b132c5 24994 * boot/i386/pc/boot.S (boot_version): Remove.
24995 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
24996 Remove.
24997
20591577 24998 * include/grub/i386/pc/boot.h: Sort all offsets.
24999 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
25000 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
25001 * boot/i386/pc/boot.S: Assert location of every offset listed in
25002 include/grub/i386/pc/boot.h.
25003
2df32b2c 250042009-07-13 Pavel Roskin <proski@gnu.org>
25005
44b5d879 25006 * include/grub/i386/coreboot/machine.h: Rename
25007 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
25008 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
25009 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
25010
17dc3751 25011 * kern/dl.c: Force native word size to suppress warnings when
25012 compiling grub-emu.
25013
2df32b2c 25014 * kern/device.c (grub_device_iterate): Change struct part_ent to
25015 hold the name, not a pointer to it. Use one grub_malloc() per
25016 partition, not two. Free partition_name if grub_malloc() fails.
25017 Set ents to NULL only before grub_partition_iterate() is called.
25018
75c59f59 250192009-07-11 Bean <bean123ch@gmail.com>
25020
25021 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
25022 childname.
25023
0ae1bf88 250242009-07-10 Bean <bean123ch@gmail.com>
250252009-07-10 Robert Millan <rmh.grub@aybabtu.com>
25026
25027 * kern/ieee1275/openfw.c (grub_children_iterate)
25028 (grub_devalias_iterate): Fix size evaluation for property or path
25029 strings, which was broken since r2132.
25030
8279cade 250312009-07-07 Pavel Roskin <proski@gnu.org>
25032
7d8a52d3 25033 * commands/search.c (search_file): Merge into ...
25034 (search_fs): ... this. Accept search type as argument.
25035 (grub_cmd_search): Pass search type to search_fs().
25036
25f9a05a 25037 * include/grub/util/console.h: New file.
25038 * util/console.c: Use it instead of grub/machine/console.h.
25039 * util/grub-emu.c: Likewise.
25040
8279cade 25041 * lib/arg.c (find_long_option): Remove.
25042 (find_long): Add `len' argument, make `s' const char *.
25043 (grub_arg_parse): Parse long options in place, not in a
25044 temporary buffer.
25045
4a11b60f 250462009-07-06 Pavel Roskin <proski@gnu.org>
25047
99f68041 25048 * commands/search.c (search_fs): Fix potential NULL pointer
25049 dereference.
25050
4a11b60f 25051 * commands/search.c (search_fs): Replace QUID macro with quid_fn
25052 function pointer.
25053
e110f4de 250542009-07-06 Daniel Mierswa <impulze@impulze.org>
25055
25056 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
25057 comparison.
25058
46eeb6a2 250592009-07-05 Pavel Roskin <proski@gnu.org>
25060
bab74958 25061 * include/grub/i386/linux.h (struct linux_kernel_params):
25062 Restore padding3, it's still needed.
25063
46eeb6a2 25064 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
25065 FreeBSD.
25066 * util/osdetect.lua: Likewise.
25067
b4a1dc79 250682009-07-05 Bean <bean123ch@gmail.com>
25069
25070 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
25071
25072 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
25073 (grub_lua_getenv): Likewise.
25074 (grub_lua_setenv): Likewise.
25075 (save_errno): New function.
25076 (push_result): Likewise.
25077 (grub_lua_enum_device): Likewise.
25078 (grub_lua_enum_file): Likewise.
25079 (grub_lua_file_open): Likewise.
25080 (grub_lua_file_close): Likewise.
25081 (grub_lua_file_seek): Likewise.
25082 (grub_lua_file_read): Likewise.
25083 (grub_lua_file_getline): Likewise.
25084 (grub_lua_file_getsize): Likewise.
25085 (grub_lua_file_getpos): Likewise.
25086 (grub_lua_file_eof): Likewise.
25087 (grub_lua_file_exist): Likewise.
25088 (grub_lua_add_menu): Likewise.
25089
25090 * script/lua/grub_lua.h (isupper): New inline function.
25091 (islower): Likewise.
25092 (ispunct): Likewise.
25093 (isxdigit): Likewise.
25094 (strcspn): Change to normal function.
25095 (strpbkr): New function declaration.
25096 (memchr): Likewise.
25097
25098 * script/lua/grub_main.c (scan_str): New function.
25099 (strcspn): Likewise.
25100 (strpbrk): Likewise.
25101 (memchr): Likewise.
25102
25103 * script/lua/linit.c (lualibs): Enable the string library.
25104
25105 * util/osdetect.lua: New file.
25106
2da92295 251072009-07-04 Robert Millan <rmh.grub@aybabtu.com>
25108
25109 * include/grub/i386/linux.h (struct linux_kernel_params): Add
25110 `capabilities' member.
25111
b2582ec9 251122009-07-02 Pavel Roskin <proski@gnu.org>
25113
25114 * genparttoollist.sh: Add missing newline at the end.
25115
32622956 251162009-07-01 Pavel Roskin <proski@gnu.org>
25117
87a7339e 25118 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
25119
d23af54e 25120 * util/hostdisk.c (open_device): Remove `const' from
25121 `sysctl_size', as sysctlbyname() can change it (in this case it
25122 doesn't actually happen).
25123
c94b18a9 25124 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
25125 using signed long int constants.
25126
c6cd3ef0 25127 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
25128 constant to avoid a warning on FreeBSD.
25129
0df63420 25130 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
25131 where it's needed.
25132
999577f1 25133 * Makefile.in: Install include/grub/machine symlink.
25134
6f41557f 25135 * Makefile.in: When installing symlinks, use "cp -fR", which
25136 works on FreeBSD and MacOSX.
25137 From Yves Blusseau <cl7m42e02@sneakemail.com>
25138
c8d22988 25139 * kern/dl.c (grub_dl_resolve_symbol): Make static.
25140 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
25141
1b96e952 25142 * util/misc.c: Move grub_reboot() and grub_halt() ...
25143 * util/grub-emu.c: ... here. Make main_env static.
25144 * include/grub/util/misc.h: Remove main_env.
25145
2ef0084d 25146 * kern/mm.c: Use correct format to print size_t.
25147
32622956 25148 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
25149 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
25150 * kern/powerpc/dl.c: Likewise.
25151 * kern/sparc64/dl.c: Likewise.
25152 * kern/x86_64/dl.c: Likewise.
25153
3f7f0cd0 251542009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25155
25156 Fix grub-emu build on sparc64-ieee1275.
25157
75421ca9 25158 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 25159 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
25160
211d06b5 251612009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25162
25163 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
25164 (grub_reboot, grub_halt): New functions.
25165
25166 * util/i386/pc/misc.c: Delete. Update all users.
25167 * util/sparc64/ieee1275/misc.c: Likewise.
25168 * util/powerpc/ieee1275/misc.c: Likewise.
25169
aaf53e3c 251702009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25171
25172 * conf/i386.rmk (setjmp_mod_SOURCES)
25173 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
25174 * conf/common.rmk (setjmp_mod_SOURCES)
25175 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
25176 to use $(target_cpu).
25177 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
25178 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
25179 * conf/powerpc-ieee1275.rmk: Likewise.
25180 * conf/sparc64-ieee1275.rmk: Likewise.
25181
25182 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
25183 $(target_cpu) for kern/$(target_cpu)/dl.c.
25184 * conf/i386-efi.rmk: Likewise.
25185 * conf/i386-ieee1275.rmk: Likewise.
25186 * conf/x86_64-efi.rmk: Likewise.
25187 * conf/i386-coreboot.rmk: Likewise.
25188 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
25189 $(target_cpu) for kern/$(target_cpu)/dl.c and for
25190 kern/$(target_cpu)/cache.S.
25191 * conf/sparc64-ieee1275.rmk: Likewise.
25192
a337130b 251932009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25194
25195 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
25196 type to `grub_uint8_t', and adjust `padding9' accordingly.
25197
c6fe4d53 251982009-06-29 Robert Millan <rmh.grub@aybabtu.com>
25199
b09db61d 25200 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
25201
c6fe4d53 25202 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
25203 assembly in final jump, using register constraints.
25204
b09db61d 25205 (grub_linux_boot): For text mode, initialize `have_vga' using
25206 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
25207
25208 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
25209 right before the final jump.
25210
25211 Set `video_mode' to 0x3.
25212
25213 Document initialization of `video_page', `video_mode' and
25214 `video_ega_bx'.
25215
28333ad0 252162009-06-29 Robert Millan <rmh.grub@aybabtu.com>
25217
25218 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
25219 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 25220 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 25221
02164e1b 252222009-06-29 Robert Millan <rmh.grub@aybabtu.com>
25223
25224 Fix build on Debian / sparc.
25225
25226 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
25227
18b6c557 252282009-06-28 Pavel Roskin <proski@gnu.org>
25229
85f2aab6 25230 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
25231 fix a warning.
25232
18b6c557 25233 * util/grub.d/10_linux.in: Match SUSE style initrd names.
25234
ad760f81 252352009-06-27 Robert Millan <rmh.grub@aybabtu.com>
25236
25237 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
25238 `err'.
25239
87a4623b 252402009-06-27 Robert Millan <rmh.grub@aybabtu.com>
25241
25242 Revert r2338.
25243
25244 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
25245 file can't be opened. grub_file_open() is already supposed to set
75421ca9 25246 grub_errno / grub_errmsg appropriately.
87a4623b 25247 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
25248
8231fb77 252492009-06-27 Pavel Roskin <proski@gnu.org>
252502009-06-27 Robert Millan <rmh.grub@aybabtu.com>
25251
25252 * include/grub/dl.h: Include grub/elf.h.
25253 (struct grub_dl): Add symtab field.
25254 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
25255 GRUB_MODULES_MACHINE_READONLY.
25256 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
25257 of the header for read-only modules.
25258 (grub_dl_unload): Free mod->symtab for read-only modules.
25259 * kern/i386/dl.c: Use mod->symtab.
25260 * kern/powerpc/dl.c: Likewise.
25261 * kern/sparc64/dl.c: Likewise.
25262 * kern/x86_64/dl.c: Likewise.
25263
25264 * conf/i386-qemu.rmk: New file.
25265 * kern/i386/qemu/startup.S: Likewise.
25266 * kern/i386/qemu/mmap.c: Likewise.
25267 * boot/i386/qemu/boot.S: Likewise.
25268 * include/grub/i386/qemu/time.h: Likewise.
25269 * include/grub/i386/qemu/serial.h: Likewise.
25270 * include/grub/i386/qemu/kernel.h: Likewise.
25271 * include/grub/i386/qemu/console.h: Likewise.
25272 * include/grub/i386/qemu/boot.h: Likewise.
25273 * include/grub/i386/qemu/init.h: Likewise.
25274 * include/grub/i386/qemu/machine.h: Likewise.
25275 * include/grub/i386/qemu/loader.h: Likewise.
25276 * include/grub/i386/qemu/memory.h: Likewise.
25277
25278 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
25279 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
25280 [qemu] (pkglib_IMAGES): Add `boot.img'.
25281 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
25282 [qemu] (boot_img_FORMAT): New variables.
25283 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
25284 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
25285 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
25286 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
25287 [qemu] (kernel_img_FORMAT): New variables.
25288
25289 * configure.ac: Recognise `i386-qemu'.
25290
25291 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
25292 (for no compression).
25293 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
25294 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
25295 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
25296 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
25297 ifdefs).
25298
97fe384e 252992009-06-27 Pavel Roskin <proski@gnu.org>
25300
25301 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
25302 read.
25303 * efiemu/prepare32.c: Likewise.
25304 * efiemu/prepare64.c: Likewise.
25305
c402ab17 253062009-06-26 Pavel Roskin <proski@gnu.org>
25307
25308 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
25309 * include/grub/elf.h: Define symbols without "32" or "64" based
25310 on GRUB_TARGET_WORDSIZE.
25311 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
25312 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
25313 ELF definitions.
25314 * efiemu/loadcore64.c: Likewise.
25315 * loader/i386/bsd32.c: Likewise.
25316 * loader/i386/bsd64.c: Likewise.
25317 * kern/dl.c: Remove own ELF definitions.
25318 * util/i386/efi/grub-mkimage.c: Likewise.
25319
9bbdfd4d 253202009-06-23 Robert Millan <rmh.grub@aybabtu.com>
25321
25322 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
25323 segment 0x0 unconditionally, because the reference generated by
25324 GAS is an absolute address.
25325
a42ce6e9 253262009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25327
25328 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
25329 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
25330
c952cf92 253312009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25332
25333 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
25334 indexes. Check for -f explicitly.
cc3752ad 25335 (search_file): Improve error message.
25336 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 25337
132a0a59 253382009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25339
25340 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
25341 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
25342
387a140c 253432009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25344
25345 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
25346 * conf/i386-ieee1275.rmk: Likewise.
25347 * conf/i386-coreboot.rmk: Likewise.
25348
25349 * kern/i386/pc/startup.S (grub_stop): Remove function.
25350 * kern/i386/ieee1275/startup.S: Likewise.
25351 * kern/i386/coreboot/startup.S: Likewise.
25352 * kern/i386/misc.S (grub_stop): New function.
25353
41da9665 253542009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25355
25356 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
25357 * kern/i386/realmode.S (real_to_prot): ... to here.
25358
bf337234 253592009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25360
25361 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
25362 with `kernel.img'.
25363 (kernel_elf_SOURCES): Rename to ...
25364 (kernel_img_SOURCES): ... this.
25365 (kernel_elf_HEADERS): Rename to ...
25366 (kernel_img_HEADERS): ... this. Update all users.
25367 (kernel_elf_ASFLAGS): Rename to ...
25368 (kernel_img_ASFLAGS): ... this.
25369 (kernel_elf_CFLAGS): Rename to ...
25370 (kernel_img_CFLAGS): ... this.
25371 (kernel_elf_LDFLAGS): Rename to ...
25372 (kernel_img_LDFLAGS): ... this.
25373 * conf/i386-coreboot.rmk: Likewise.
25374 * conf/powerpc-ieee1275.rmk: Likewise.
25375
25376 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
25377 with "kernel.img".
25378
f52196ff 253792009-06-21 Pavel Roskin <proski@gnu.org>
25380
c3cee413 25381 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
25382 to match nested functions.
25383 * loader/sparc64/ieee1275/linux.c: Likewise.
25384
f52196ff 25385 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
25386
58750afc 253872009-06-21 Robert Millan <rmh.grub@aybabtu.com>
25388
25389 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
25390 all i386 platforms.
25391
15355c7d 253922009-06-21 Robert Millan <rmh.grub@aybabtu.com>
25393
25394 Fix asm file handling on ELF, and remove workarounds.
25395
25396 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 25397 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 25398 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
25399 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
25400
3f3ec72b 254012009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
25402
25403 Load BSD ELF modules
25404
25405 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
25406 and loader/i386/bsd64.c
25407 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
25408 (FREEBSD_MODTYPE_ELF_MODULE): New definition
25409 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
25410 (grub_freebsd_load_elfmodule32): New declaration
25411 (grub_freebsd_load_elfmoduleobj64): Likewise
25412 (grub_freebsd_load_elf_meta32): Likewise
25413 (grub_freebsd_load_elf_meta64): Likewise
25414 (grub_freebsd_add_meta): Likewise
25415 (grub_freebsd_add_meta_module): Likewise
25416 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
25417 (grub_freebsd_add_meta_module): Likewise and move module-specific
25418 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
25419 (grub_cmd_freebsd): Add elf-kernel specific parts
25420 based on grub_freebsd_add_meta_module
25421 (grub_cmd_freebsd_module): Add type parsing moved from
25422 grub_freebsd_add_meta_module
25423 (grub_cmd_freebsd_module_elf): New function
25424 (cmd_freebsd_module_elf): New variable
25425 (GRUB_MOD_INIT): Register freebsd_module_elf
25426 * loader/i386/bsd32.c: New file
25427 * loader/i386/bsd64.c: Likewise
25428 * loader/i386/bsdXX.c: Likewise
25429 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
25430 (grub_elf64_load): Likewise
25431 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
25432 All users updated
25433 (grub_elf64_load_hook_t): Likewise
25434
0db15301 254352009-06-21 Colin Watson <cjwatson@ubuntu.com>
25436
25437 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
25438 variable.
25439 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
25440 don't write a menu entry for recovery mode.
25441
546796c1 254422009-06-20 Robert Millan <rmh.grub@aybabtu.com>
25443
25444 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
25445 after it's no longer needed.
25446
cd7310d5 254472009-06-20 Robert Millan <rmh.grub@aybabtu.com>
25448
25449 * include/grub/i386/loader.h (grub_linux_prot_size)
25450 (grub_linux_tmp_addr, grub_linux_real_addr)
25451 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
25452 GRUB_MACHINE_PCBIOS.
25453 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
25454 common grub_util_info() call to ...
25455 (generate_image): ... here.
25456 Fix use of uninitialized memory, comparison of signed with
25457 unsigned integers and memory leak.
25458 Remove bogus module address message.
25459
ab32d3b5 254602009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25461
25462 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
25463 grub_raid_register
25464 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
25465
024ef597 254662009-06-19 Pavel Roskin <proski@gnu.org>
25467
25468 * configure.ac: Remove stray AC_MSG_CHECKING.
25469
3ac72b51 254702009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
25471
25472 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 25473
e14cd814 254742009-06-18 Pavel Roskin <proski@gnu.org>
25475
25476 * conf/common.rmk: Add fs_file.mod.
25477 * disk/fs_file.c: New file.
25478 * include/grub/disk.h (enum grub_disk_dev_id): Add
25479 GRUB_DISK_DEVICE_FILE_ID.
25480
26586d98 254812009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
25482
25483 Fix build with Apple's toolchain. Part 2
25484
25485 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
25486 a fake start
25487
26de2bcd 254882009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
25489
25490 Fix build with Apple's toolchain. Part 1
25491
25492 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
25493 for long calls
25494 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 25495 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 25496 Apple's toolchain
25497
09b3490b 254982009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
25499
25500 Fix warnings
25501
25502 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
25503 (decomp_block): initialize ch
25504 use grub_memcpy instead of memcpy
25505
c22a006a 255062009-06-17 Pavel Roskin <proski@gnu.org>
25507
d3638678 25508 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
25509 version, use declarations needed to use vga_text as the startup
25510 console.
25511
c22a006a 25512 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
25513 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
25514 the kernel.
25515 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
25516 and grub_at_keyboard_fini(), it's done on module load and
25517 unload.
25518
05b129e0 255192009-06-17 Felix Zielcke <fzielcke@z-51.de>
25520
25521 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
25522 file can't be found.
25523 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
25524
cf24ed9e 255252009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
25526
25527 Fix newline handling
25528
25529 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 25530 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 25531 (grub_script_yylex): don't segfault on unterminated script
25532 newline terminates command and variable
25533
74aa8e4b 255342009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
25535
25536 avoid double grub_adjust_range call. Bug reported by David Simner
25537
25538 * kern/disk.c (grub_disk_write): change to raw disk access before
25539 calling disk_read
25540
1bd265f3 255412009-06-17 Colin Watson <cjwatson@ubuntu.com>
25542
25543 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
25544 spaces, for the benefit of help2man.
25545 * util/i386/efi/grub-mkimage.c (usage): Likewise.
25546
a2d08c06 255472009-06-16 Pavel Roskin <proski@gnu.org>
25548
25549 * kern/i386/halt.c: Include grub/machine/init.h.
25550 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
25551
b97bcb19 255522009-06-16 Felix Zielcke <fzielcke@z-51.de>
25553
25554 * util/grub.d/30_os-prober.in: Use ${root} in the generated
25555 drivemap menuentry.
25556
0644f96c 255572009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
25558
25559 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
25560 `echo' command.
25561
3ef17a2e 255622009-06-16 Pavel Roskin <proski@gnu.org>
25563
25564 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
25565 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
25566 save %dx, we only need %dl and we never change it.
25567 * boot/i386/pc/cdboot.S: Don't set the root drive.
25568 * boot/i386/pc/pxeboot.S: Likewise.
25569 * include/grub/i386/pc/boot.h: Remove
25570 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
25571 GRUB_BOOT_MACHINE_DRIVE_CHECK.
25572 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
25573 * kern/i386/pc/init.c (make_install_device): Remove references
25574 to grub_root_drive.
25575 * kern/i386/pc/startup.S: Likewise.
25576 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
25577
693fe637 255782009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
25579
25580 xnu_uuid command
25581
25582 * commands/xnu_uuid.c: new file
25583 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
25584 (xnu_uuid_mod_SOURCES): new variable
25585 (xnu_uuid_mod_CFLAGS): likewise
25586 (xnu_uuid_mod_LDFLAGS): likewise
25587 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
25588 * conf/i386-ieee1275.rmk: likewise
25589 * conf/i386-pc.rmk: likewise
25590 * conf/powerpc-ieee1275.rmk: likewise
25591 * conf/sparc64-ieee1275.rmk: likewise
25592 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
25593
c9da87d0 255942009-06-16 Pavel Roskin <proski@gnu.org>
25595
25596 * configure.ac: Avoid '==' in test command, it's not portable.
25597
9c6f4596 255982009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
25599
25600 Probe command
25601
25602 * commands/probe.c: new file
25603 * conf/common.rmk (pkglib_MODULES): add probe.mod
25604 (probe_mod_SOURCES): new variable
25605 (probe_mod_CFLAGS): likewise
25606 (probe_mod_LDFLAGS): likewise
25607 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
25608 * conf/i386-ieee1275.rmk: likewise
25609 * conf/i386-pc.rmk: likewise
25610 * conf/powerpc-ieee1275.rmk: likewise
25611 * conf/sparc64-ieee1275.rmk: likewise
25612
70b7f9fd 256132009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
25614
25615 Fix handling of string like \"hello\" and "a
25616 b"
25617
25618 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
25619 (grub_script_yylex): fix parsing of quoting, escaping and newline
25620
71c79a6b 256212009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
25622
dd74360c 25623 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 25624 handling
dd74360c 25625
0644f96c 256262009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 25627
25628 * util/grub-mkconfig.in: Fix parsing of --output option.
25629
e40893c3 256302009-06-12 Pavel Roskin <proski@gnu.org>
25631
25632 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
25633 genmk.rb don't need to be generated or installed.
25634
3a1acfe2 256352009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25636
25637 * commands/i386/pc/drivemap_int13h.S: add more comments
25638
3a4575d4 256392009-06-11 Pavel Roskin <proski@gnu.org>
25640
0658e928 25641 * Makefile.in (uninstall): Uninstall manuals.
25642
ca0388f0 25643 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
25644 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
25645 and update-grub_lib in two places.
25646 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
25647
e3b27c39 25648 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
25649 a compiler warning.
25650
3a4575d4 25651 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
25652 `entry_lo' to fix variable shadowing.
25653
af1f4f55 256542009-06-11 Christian Franke <franke@computer.org>
25655
25656 * kern/misc.c (__enable_execute_stack): Add missing return type
25657 to prevent gcc warning.
25658
5225e649 256592009-06-11 Felix Zielcke <fzielcke@z-51.de>
25660
25661 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
25662
7d83bd47 256632009-06-11 Pavel Roskin <proski@gnu.org>
25664
c1cb63ba 25665 * Makefile.in: Don't rely on any scripts being executable.
25666 Always use $(SHELL) to run shell scripts.
25667
7d83bd47 25668 * configure.ac: Always define ___main if using -nostdlib. This
25669 fixes tests on Cygwin.
25670
948f48e7 256712009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
25672
25673 UDF fix
25674
7d83bd47 25675 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 25676 is in bytes and not in blocks
7d83bd47 25677
8ada9bc1 256782009-06-11 Pavel Roskin <proski@gnu.org>
25679
25680 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
25681 warning.
25682
25ad2323 256832009-06-11 Felix Zielcke <fzielcke@z-51.de>
25684
25685 * util/grub.d/30_os-prober.in: Fix a comment. Source
25686 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
25687 to set the root device. Place drivemap command in the generated
25688 chain entry.
25689
e65acb0c 256902009-06-11 Pavel Roskin <proski@gnu.org>
25691
25692 * configure.ac: Remove host_m32. Issues with 64-bit utilities
25693 have long been resolved.
25694
f285fe2d 256952009-06-11 Colin Watson <cjwatson@ubuntu.com>
25696
bd47b0b5 25697 * util/grub.d/10_linux.in: Capitalise "Linux".
25698
f285fe2d 25699 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
25700
a0c62e4e 257012009-06-11 Pavel Roskin <proski@gnu.org>
25702
b6783cb2 25703 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
25704 fix a gcc warning and ensure that the function won't ever exit.
25705
dde032e8 25706 * kern/i386/ieee1275/init.c: Add missing prototype for
25707 grub_stop_floppy().
25708
22cd079d 25709 * loader/ieee1275/multiboot2.c [__i386__]: Include
25710 grub/cpu/multiboot.h.
25711
a0c62e4e 25712 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
25713 casts to short - they are not portable and cause warnings. Fix
25714 use of uninitialized values in input_buf. Use ARRAY_SIZE.
25715
63963d17 257162009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
25717
25718 Drivemap fixes
25719
25720 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
25721 new function
25722 (grub_get_root_biosnumber_saved): new variable
25723 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
25724 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 25725 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 25726 %dx after the call if necessary
25727 * conf/common.rmk (pkglib_MODULES): remove boot.mod
25728 (boot_mod_SOURCES): remove
25729 (boot_mod_CFLAGS): remove
25730 (boot_mod_LDFLAGS): remove
25731 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
25732 (boot_mod_SOURCES): new variable
25733 (boot_mod_CFLAGS): likewise
25734 (boot_mod_LDFLAGS): likewise
25735 * conf/i386-efi.rmk: likewise
25736 * conf/i386-ieee1275.rmk: likewise
25737 * conf/i386-pc.rmk: likewise
25738 * conf/powerpc-ieee1275.rmk: likewise
25739 * conf/sparc64-ieee1275.rmk: likewise
25740 * conf/x86_64-efi.rmk: likewise
25741 * include/grub/i386/pc/biosnum.h: new file
25742 * lib/i386/pc/biosnum.c: likewise
25743 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
25744 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
25745 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 25746
33abf7ae 257472009-06-10 Pavel Roskin <proski@gnu.org>
25748
5ac35b35 25749 * io/gzio.c (test_header): Don't reuse one buffer for all data.
25750 Use separate variables. Read only the file size at the end, but
25751 not the checksum that we don't use.
25752
5c5215d5 25753 * kern/file.c (grub_file_read): Use void pointer for the buffer.
25754 Adjust all callers.
25755
27d5fef7 25756 * kern/ieee1275/openfw.c: Remove libc includes.
25757 * kern/ieee1275/cmain.c: Likewise.
25758 * include/grub/ieee1275/ieee1275.h: Likewise.
25759
33abf7ae 25760 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
25761 compiler warnings.
25762
19d50c2b 257632009-06-10 Felix Zielcke <fzielcke@z-51.de>
25764
25765 * Makefile.in: Remove all trailing whitespace.
25766 * conf/i386-pc.rmk: Likewise.
25767 * conf/powerpc-ieee1275.rmk: Likewise.
25768 * conf/sparc64-ieee1275.rmk: Likewise.
25769 * docs/grub.texi: Likewise.
25770 * docs/texinfo.tex: Likewise.
25771 * disk/fs_uuid.c: Likewise.
25772 * disk/lvm.c: Likewise.
25773 * disk/scsi.c: Likewise.
25774 * disk/ata.c: Likewise.
25775 * disk/ieee1275/ofdisk.c: Likewise.
25776 * disk/i386/pc/biosdisk.c: Likewise.
25777 * disk/host.c: Likewise.
25778 * disk/raid.c: Likewise.
25779 * disk/efi/efidisk.c: Likewise.
25780 * disk/usbms.c: Likewise.
25781 * disk/memdisk.c: Likewise.
25782 * disk/loopback.c: Likewise.
25783 * kern/powerpc/dl.c: Likewise.
25784 * kern/device.c: Likewise.
25785 * kern/dl.c: Likewise.
25786 * kern/sparc64/dl.c: Likewise.
25787 * kern/ieee1275/ieee1275.c: Likewise.
25788 * kern/term.c: Likewise.
25789 * kern/fs.c: Likewise.
25790 * kern/i386/dl.c: Likewise.
25791 * kern/i386/pc/startup.S: Likewise.
25792 * kern/i386/pc/init.c: Likewise.
25793 * kern/i386/pc/mmap.c: Likewise.
25794 * kern/i386/pc/lzo1x.S: Likewise.
25795 * kern/i386/ieee1275/init.c: Likewise.
25796 * kern/i386/realmode.S: Likewise.
25797 * kern/i386/tsc.c: Likewise.
25798 * kern/partition.c: Likewise.
25799 * kern/corecmd.c: Likewise.
25800 * kern/file.c: Likewise.
25801 * kern/efi/efi.c: Likewise.
25802 * kern/efi/init.c: Likewise.
25803 * kern/efi/mm.c: Likewise.
25804 * kern/main.c: Likewise.
25805 * kern/err.c: Likewise.
25806 * kern/env.c: Likewise.
25807 * kern/disk.c: Likewise.
25808 * kern/generic/millisleep.c: Likewise.
25809 * kern/generic/rtc_get_time_ms.c: Likewise.
25810 * kern/misc.c: Likewise.
25811 * kern/parser.c: Likewise.
25812 * genmk.rb: Likewise.
25813 * configure.ac: Likewise.
25814 * boot/i386/pc/diskboot.S: Likewise.
25815 * boot/i386/pc/pxeboot.S: Likewise.
25816 * boot/i386/pc/boot.S: Likewise.
25817 * boot/i386/pc/lnxboot.S: Likewise.
25818 * boot/i386/pc/cdboot.S: Likewise.
25819 * parttool/pcpart.c: Likewise.
25820 * video/readers/tga.c: Likewise.
25821 * video/video.c: Likewise.
25822 * video/bitmap.c: Likewise.
25823 * lib/envblk.c: Likewise.
25824 * lib/i386/setjmp.S: Likewise.
25825 * fs/xfs.c: Likewise.
25826 * fs/afs.c: Likewise.
25827 * fs/fat.c: Likewise.
25828 * fs/ntfs.c: Likewise.
25829 * fs/udf.c: Likewise.
25830 * fs/affs.c: Likewise.
25831 * fs/iso9660.c: Likewise.
25832 * fs/hfs.c: Likewise.
25833 * fs/fshelp.c: Likewise.
25834 * fs/ext2.c: Likewise.
25835 * fs/jfs.c: Likewise.
25836 * fs/reiserfs.c: Likewise.
25837 * fs/hfsplus.c: Likewise.
25838 * fs/minix.c: Likewise.
25839 * fs/cpio.c: Likewise.
25840 * fs/sfs.c: Likewise.
25841 * fs/ufs.c: Likewise.
25842 * efiemu/prepare.c: Likewise.
25843 * efiemu/loadcore_common.c: Likewise.
25844 * efiemu/runtime/efiemu.sh: Likewise.
25845 * efiemu/runtime/efiemu.S: Likewise.
25846 * efiemu/runtime/efiemu.c: Likewise.
25847 * efiemu/pnvram.c: Likewise.
25848 * efiemu/main.c: Likewise.
25849 * efiemu/i386/pc/cfgtables.c: Likewise.
25850 * efiemu/i386/loadcore64.c: Likewise.
25851 * efiemu/i386/loadcore32.c: Likewise.
25852 * efiemu/loadcore.c: Likewise.
25853 * efiemu/symbols.c: Likewise.
25854 * efiemu/mm.c: Likewise.
25855 * include/grub/autoefi.h: Likewise.
25856 * include/grub/datetime.h: Likewise.
25857 * include/grub/term.h: Likewise.
25858 * include/grub/hfs.h: Likewise.
25859 * include/grub/lvm.h: Likewise.
25860 * include/grub/i386/tsc.h: Likewise.
25861 * include/grub/i386/linux.h: Likewise.
25862 * include/grub/i386/xnu.h: Likewise.
25863 * include/grub/i386/efiemu.h: Likewise.
25864 * include/grub/i386/pc/biosdisk.h: Likewise.
25865 * include/grub/i386/pc/memory.h: Likewise.
25866 * include/grub/i386/pc/vbe.h: Likewise.
25867 * include/grub/parttool.h: Likewise.
25868 * include/grub/video.h: Likewise.
25869 * include/grub/memory.h: Likewise.
25870 * include/grub/fs.h: Likewise.
25871 * include/grub/partition.h: Likewise.
25872 * include/grub/xnu.h: Likewise.
25873 * include/grub/efi/api.h: Likewise.
25874 * include/grub/efi/pe32.h: Likewise.
25875 * include/grub/efi/memory.h: Likewise.
25876 * include/grub/multiboot.h: Likewise.
25877 * include/grub/usbdesc.h: Likewise.
25878 * include/grub/multiboot2.h: Likewise.
25879 * include/grub/acpi.h: Likewise.
25880 * include/grub/efiemu/efiemu.h: Likewise.
25881 * include/grub/disk.h: Likewise.
25882 * include/grub/ieee1275/ieee1275.h: Likewise.
25883 * include/grub/net.h: Likewise.
25884 * include/grub/machoload.h: Likewise.
25885 * include/grub/macho.h: Likewise.
25886 * include/multiboot.h: Likewise.
25887 * genmoddep.awk: Likewise.
25888 * normal/main.c: Likewise.
25889 * normal/menu_entry.c: Likewise.
25890 * normal/menu_viewer.c: Likewise.
25891 * normal/completion.c: Likewise.
25892 * normal/cmdline.c: Likewise.
25893 * normal/misc.c: Likewise.
25894 * normal/datetime.c: Likewise.
25895 * bus/usb/usbtrans.c: Likewise.
25896 * bus/usb/ohci.c: Likewise.
25897 * bus/usb/uhci.c: Likewise.
25898 * bus/usb/usb.c: Likewise.
25899 * mmap/efi/mmap.c: Likewise.
25900 * mmap/i386/pc/mmap_helper.S: Likewise.
25901 * mmap/i386/pc/mmap.c: Likewise.
25902 * mmap/i386/mmap.c: Likewise.
25903 * mmap/i386/uppermem.c: Likewise.
25904 * mmap/mmap.c: Likewise.
25905 * commands/acpi.c: Likewise.
25906 * commands/echo.c: Likewise.
25907 * commands/blocklist.c: Likewise.
25908 * commands/loadenv.c: Likewise.
25909 * commands/usbtest.c: Likewise.
25910 * commands/boot.c: Likewise.
25911 * commands/parttool.c: Likewise.
25912 * commands/search.c: Likewise.
25913 * commands/cat.c: Likewise.
25914 * commands/i386/pc/play.c: Likewise.
25915 * commands/i386/pc/drivemap.c: Likewise.
25916 * commands/i386/pc/vbeinfo.c: Likewise.
25917 * commands/i386/pc/acpi.c: Likewise.
25918 * commands/i386/pc/vbetest.c: Likewise.
25919 * commands/ls.c: Likewise.
25920 * commands/cmp.c: Likewise.
25921 * commands/test.c: Likewise.
25922 * commands/efi/acpi.c: Likewise.
25923 * commands/gptsync.c: Likewise.
25924 * commands/help.c: Likewise.
25925 * partmap/amiga.c: Likewise.
25926 * partmap/apple.c: Likewise.
25927 * partmap/acorn.c: Likewise.
25928 * partmap/pc.c: Likewise.
25929 * partmap/sun.c: Likewise.
25930 * partmap/gpt.c: Likewise.
25931 * script/sh/lexer.c: Likewise.
25932 * script/sh/function.c: Likewise.
25933 * font/font.c: Likewise.
25934 * font/font_cmd.c: Likewise.
25935 * loader/powerpc/ieee1275/linux.c: Likewise.
25936 * loader/efi/chainloader.c: Likewise.
25937 * loader/multiboot_loader.c: Likewise.
25938 * loader/macho.c: Likewise.
25939 * loader/i386/multiboot.c: Likewise.
25940 * loader/i386/linux.c: Likewise.
25941 * loader/i386/pc/linux.c: Likewise.
25942 * loader/i386/pc/multiboot2.c: Likewise.
25943 * loader/i386/pc/chainloader.c: Likewise.
25944 * loader/i386/pc/xnu.c: Likewise.
25945 * loader/i386/bsd_trampoline.S: Likewise.
25946 * loader/i386/efi/linux.c: Likewise.
25947 * loader/i386/multiboot_elfxx.c: Likewise.
25948 * loader/i386/bsd_helper.S: Likewise.
25949 * loader/i386/bsd.c: Likewise.
25950 * loader/i386/linux_trampoline.S: Likewise.
25951 * loader/i386/xnu_helper.S: Likewise.
25952 * loader/i386/xnu.c: Likewise.
25953 * loader/i386/bsd_pagetable.c: Likewise.
25954 * loader/i386/multiboot_helper.S: Likewise.
25955 * loader/xnu.c: Likewise.
25956 * loader/xnu_resume.c: Likewise.
25957 * io/gzio.c: Likewise.
25958 * term/efi/console.c: Likewise.
25959 * term/terminfo.c: Likewise.
25960 * term/ieee1275/ofconsole.c: Likewise.
25961 * term/i386/pc/serial.c: Likewise.
25962 * term/i386/pc/vesafb.c: Likewise.
25963 * term/i386/pc/vga.c: Likewise.
25964 * term/usb_keyboard.c: Likewise.
25965 * term/gfxterm.c: Likewise.
25966 * aclocal.m4: Likewise.
25967 * util/lvm.c: Likewise.
25968 * util/grub.d/30_os-prober.in: Likewise.
25969 * util/grub.d/10_hurd.in: Likewise.
25970 * util/console.c: Likewise.
25971 * util/grub-macho2img.c: Likewise.
25972 * util/grub-probe.c: Likewise.
25973 * util/hostfs.c: Likewise.
25974 * util/i386/pc/grub-mkimage.c: Likewise.
25975 * util/i386/pc/grub-setup.c: Likewise.
25976 * util/i386/efi/grub-mkimage.c: Likewise.
25977 * util/grub-mkconfig.in: Likewise.
25978 * util/raid.c: Likewise.
25979 * util/resolve.c: Likewise.
25980 * util/grub-mkdevicemap.c: Likewise.
25981 * util/grub-emu.c: Likewise.
25982 * util/getroot.c: Likewise.
25983 * util/hostdisk.c: Likewise.
25984 * util/usb.c: Likewise.
25985 * util/grub-editenv.c: Likewise.
25986 * util/misc.c: Likewise.
25987
d2d49665 259882009-06-10 Felix Zielcke <fzielcke@z-51.de>
25989
25990 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
25991 `genparttoollist.sh'.
25992 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
25993 Add `*.sh' to the list find searches for and change `mdate.sh'
25994 to `mdate-sh'.
25995
fe052e37 259962009-06-10 Pavel Roskin <proski@gnu.org>
25997
2763ac18 25998 * include/grub/multiboot2.h: Provide compatibility defines for
25999 multiboot2.h.
26000 * include/multiboot2.h: Include stdint.h only if needed, using
26001 angle brackets.
26002 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
26003 grub/multiboot2.h.
26004 * loader/ieee1275/multiboot2.c: Likewise.
26005 * loader/multiboot2.c: Likewise.
26006 * loader/multiboot_loader.c: Likewise.
26007
437e6adc 26008 * configure.ac: Use -nostdlib when probing for the target. It
26009 should not be required to have libc for the target.
26010
06a6836c 26011 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
26012 they fail without libc headers for the target.
26013 * include/grub/powerpc/libgcc.h: Use weak attribute for all
26014 exports.
26015 * include/grub/sparc64/libgcc.h: Likewise. Don't use
26016 preprocessor conditionals.
26017
fe052e37 26018 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
26019 build system doesn't need to be aware of the tar.c internals.
26020
afd22553 260212009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 26022
afd22553 26023 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 26024
6b787c4f 260252009-06-09 Robert Millan <rmh.grub@aybabtu.com>
26026
26027 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
26028 disk limit to 26 for IDE, Virtio, Xen and SCSI.
26029
260302009-06-09 Felix Zielcke <fzielcke@z-51.de>
26031
26032 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 26033 aren't available if ata.mod gets used.
6b787c4f 26034
473d1e45 260352009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 26036
473d1e45 26037 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 26038 initialising controller.
473d1e45 26039 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 26040
255a27d4 260412009-06-08 Felix Zielcke <fzielcke@z-51.de>
26042
26043 * util/i386/pc/grub-install.in: Add a parameter --disk-module
26044 to choose between ata and biosdisk module on i386-pc.
26045
473d1e45 260462009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 26047
d55842d8 26048 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
26049 Subclass and Programming Interface fields in terms of the 3 byte
26050 Class Code register.
26051 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
26052
fa5db0b1 26053 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
26054 interface is OHCI. Add grub_dprintf for symmetry with
26055 bus/usb/uhci.c.
26056 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
26057 interface is UHCI. Add interf variable for programming
26058 interface. Print interface with class/subclass.
26059
c0947beb 26060 * bus/usb/ohci.c: Set interf with correct field.
26061
69da8877 26062 * bus/usb/uhci.c: Remove unneeded doubled lines.
26063 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
26064 Remove whitespace inside comment.
26065
9e172e30 260662009-06-08 Robert Millan <rmh.grub@aybabtu.com>
26067
26068 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
26069 as fallback an equivalent option without depth.
26070
de65ee2b 260712009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
26072
26073 Not fail if unable to retrieve C/H/S on LBA disks
26074
473d1e45 26075 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 26076 if unable to retrieve C/H/S on LBA disks
26077
b57ea2c9 260782009-06-08 Pavel Roskin <proski@gnu.org>
26079
26080 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
26081 about aliasing.
26082
af361263 260832009-06-08 Felix Zielcke <fzielcke@z-51.de>
26084
26085 * Makefile.in (uninstall): Remove all $lib_DATA files.
26086
4c9ec6b3 260872009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
26088
26089 Bugfix: install on partitionless device
26090
26091 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
26092 is a whole disk
26093
e76fc924 260942009-06-08 Felix Zielcke <fzielcke@z-51.de>
26095
26096 * Makefile.in (uninstall): Remove all $include_DATA files.
26097
ba5a0d05 260982009-06-08 Felix Zielcke <fzielcke@z-51.de>
26099
26100 * commands/true.c: New file. Implement the true and false commands.
26101 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
26102 (true_mod_SOURCES): New variable.
26103 (true_mod_CFLAGS): Likewise.
26104 (true_mod_LDFLAGS): Likewise.
26105
c8048e32 261062009-06-05 Colin D Bennett <colin@gibibit.com>
26107
26108 Optimized font character lookup using binary search instead of linear
26109 search. Fonts now are required to have the character index ordered by
26110 code point.
26111
26112 * font/font.c (load_font_index): Verify that fonts have ordered
26113 character indices.
26114 (find_glyph): Use binary search instead of linear search to find a
26115 character in a font.
26116
408305be 261172009-06-05 Michael Scherer <misc@mandriva.org>
26118
26119 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
26120 uses case sensitive btree.
26121 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
26122 only for case insensitive filesystems.
26123
8ee1e0d9 261242009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
26125
26126 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
26127 * conf/common.rmk (search_mod_CFLAGS): likewise
26128
a9966eb1 261292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26130
473d1e45 26131 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 26132 compensate a compiler bug
26133
9e7100fb 261342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26135
473d1e45 26136 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 26137 instead of '\b'
473d1e45 26138
ede21d71 261392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26140
26141 Definitions for creating asm symbols with Apple's CC
26142
26143 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
26144 [APPLE_CC] (VARIABLE): likewise
26145
9dbf7653 261462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26147
26148 Disable lnxboot.img when compiled
26149 with Apple's CC
26150
26151 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
26152 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
26153 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
26154 [! APPLE_CC] (CODE_LENG): skip
26155 [! APPLE_CC] (setup_sects): likewise
26156 [! APPLE_CC]: skip filling
473d1e45 26157
e93cdc3d 261582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26159
26160 Address in trampolines based on 32-bit registers when compiled
26161 with Apple's CC
26162
473d1e45 26163 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 26164 for addresses
26165 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
26166
6c688477 261672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26168
26169 Avoid aliases when compiling with Apple's CC for PCBIOS machine
26170
26171 * kern/misc.c [APPLE_CC] (memcpy): new function
26172 [APPLE_CC] (memmove): likewise
26173 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 26174 (memcpy): define alias conditionally on !APPLE_CC
6c688477 26175 (memset): likewise
26176 (abort): likewise
26177 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
26178 APPLE_CC are defined
26179 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
26180 (grub_assert_fail): make prototype conditional
26181
e37ffc5c 261822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26183
26184 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
26185
473d1e45 26186 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
26187 grub-macho2img
e37ffc5c 26188 (CLEANFILES): add grub-macho2img
26189 (grub_macho2img_SOURCES): new variable
26190 * kern/i386/pc/startup.S (bss_start): new variable
26191 (bss_end): likewise
26192 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
26193 * util/grub-macho2img.c: new file
26194
cf00df31 261952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26196
26197 Use objconv when compiling with Apple's CC
26198
26199 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
26200 (efiemu64.o): likewise
26201 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
26202 when compiling with Apple's CC
26203 (efiemu64_s.o): likewise
26204 * configure.ac: check for objconv when compiling with Apple's CC
26205 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 26206
d119a20c 262072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26208
26209 Define segment as well as section when compiling with
26210 Apple's CC
26211
26212 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
26213 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
26214 (efiemu_convert_pointer): likewise
26215 (efiemu_set_virtual_address_map): likewise
26216 (efiemu_convert_pointer): likewise
26217 (efiemu_getcrc32): likewise
26218 (init_crc32_table): likewise
26219 (reflect): likewise
26220 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
26221 (GRUB_MOD_DEP): likewise
473d1e45 26222
c8600122 262232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26224
26225 Allow a compilation without -mcmodel=large
26226
26227 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
26228 when compiled without -mcmodel=large
473d1e45 26229 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 26230 without -mcmodel=large
473d1e45 26231 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 26232 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 26233
e8df1d4e 262342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26235
26236 Remove nested functions in efiemu core
26237
26238 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 26239
cc6c3ac1 262402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26241
26242 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
26243
26244 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
26245 temporary storage
473d1e45 26246 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
26247 using Apple's CC
cc6c3ac1 26248 (grub_cpu_is_tsc_supported): likewise
26249 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 26250
3e325901 262512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26252
26253 Absolute addressing through constant with Apple's cc
26254
26255 * kern/i386/pc/startup.S: Define necessary constants
26256 and address through it when using ABS with Apple's CC
26257 * boot/i386/pc/diskboot.S: likewise
26258 * boot/i386/pc/boot.S: likewise
26259 * boot/i386/pc/lnxboot.S: likewise
26260 * boot/i386/pc/cdboot.S: likewise
26261 * mmap/i386/pc/mmap_helper.S: likewise
26262 * commands/i386/pc/drivemap_int13h.S: likewise
26263
2b167a72 262642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26265
26266 Check if compiler is apple cc
26267
26268 * Makefile.in (ASFLAGS): new variable
26269 (TARGET_ASFLAGS): likewise
26270 (TARGET_MODULE_FORMAT): likewise
26271 (TARGET_APPLE_CC): likewise
26272 (OBJCONV): likewise
26273 (TARGET_IMG_CFLAGS): likewise
26274 (TARGET_CPPFLAGS): add includedir
26275 * configure.ac: call grub_apple_cc and grub_apple_target_cc
26276 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
26277 Check for linker script only if compiler isn't Apple's CC
26278 (TARGET_MODULE_FORMAT): set
26279 (TARGET_APPLE_CC): likewise
26280 (TARGET_ASFLAGS): likewise
26281 (ASFLAGS): likewise
26282 Check for objcopy only if compiler isn't Apple's CC
26283 Check for BSS symbol only if compiler isn't Apple's CC
26284 * genmk.rb: adapt nm options if we use Apple's utils
26285 * aclocal.m4 (grub_apple_cc): new test
26286 (grub_apple_target_cc): likewise
473d1e45 26287
fb14123e 262882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26289
26290 Simplify sed expressions and improve awk
26291
26292 * Makefile.in (install-local): simplify sed expression
26293 * gencmdlist.sh: likewise
26294 * genmoddep.awk: avoid adding module as a dependency of itself
26295
5b889789 262962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26297
26298 Add missing start symbols
26299
26300 * boot/i386/pc/boot.S: add start
fb14123e 26301 * boot/i386/pc/pxeboot.S: likewise
473d1e45 26302
fd2bf2e3 263032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26304
26305 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 26306
26307 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 26308 (relocate_addresses): consider both r_addend and value at offset
26309 (make_mods_section): zerofill modinfo and header
26310 (convert_elf): write prefix here
473d1e45 26311
5389763d 263122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26313
26314 Use .asciz instead of .string
26315
26316 * i386/pc/diskboot.S: use .asciz instead of .string
26317 * i386/pc/boot.S: likewise
26318 * include/grub/dl.h (GRUB_MOD_DEP): likewise
26319 (GRUB_MOD_NAME): likewise
473d1e45 26320
3eb5ed4e 263212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26322
26323 gfxpayload support
26324
26325 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
26326 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
26327 (grub_video_setup): remove
26328 (grub_video_set_mode): new prototype
26329 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
26330 (vid_mode): remove
26331 (linux_vesafb_res): compile only on PCBIOS
26332 (grub_linux_boot): support gfxpayload
26333 * loader/i386/pc/xnu.c (video_hook): new function
26334 (grub_xnu_set_video): support gfxpayload
26335 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
26336 (DEFAULT_VIDEO_HEIGHT): likewise
26337 (DEFAULT_VIDEO_FLAGS): likewise
26338 (DEFAULT_VIDEO_MODE): new definition
26339 (video_hook): new function
26340 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 26341 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 26342 loading xnu
26343 * video/video.c (grub_video_setup): removed
473d1e45 26344 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 26345 grub_video_setup
26346
4b0e1143 263472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26348
26349 Avoid calling biosdisk in drivemap
26350
26351 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
26352 (revparse_biosdisk): likewise
26353 (list_mappings): derive name from id directly
26354 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 26355
fda6cb98 263562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26357
26358 Script fixes
26359
26360 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
26361 (grub_lexer_param): add tokenonhold
26362 (grub_script_create_cmdline): remove cmdline. All callers updated
26363 (grub_script_function_create): make functionname
26364 grub_script_arg. All callers updated
26365 (grub_script_execute_argument_to_string): new prototype
26366 * kern/parser.c (state_transitions): reorder
26367 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 26368 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 26369 make global
26370 (grub_script_execute_cmdline): use new format
26371 * script/sh/function.c (grub_script_function_create): make functionname
26372 grub_script_arg. All callers updated
473d1e45 26373 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 26374 (grub_script_yylex): remove
26375 (grub_script_yylex2): renamed to ...
26376 (grub_script_yylex): ...renamed
26377 parse the expressions like a${b}c
26378 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
26379 (GRUB_PARSER_TOKEN_VAR): remove
26380 (GRUB_PARSER_TOKEN_NAME): likewise
26381 ("if"): declare as typeless
26382 ("while"): likewise
26383 ("function"): likewise
26384 ("else"): likewise
26385 ("then"): likewise
26386 ("fi"): likewise
26387 (text): remove
26388 (argument): likewise
26389 (script): accept empty scripts and make exit on error
26390 (arguments): use GRUB_PARSER_TOKEN_ARG
26391 (function): likewise
26392 (command): move error handling to script
26393 (menuentry): move grub_script_lexer_ref before
473d1e45 26394 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 26395 argument. All callers updated
26396
f4448a07 263972009-06-04 Robert Millan <rmh.grub@aybabtu.com>
26398
26399 Prevent GRUB from probing floppies during boot.
26400
26401 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
26402 * commands/search.c (options): Add --no-floppy.
26403 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
26404 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
26405 --no-floppy when searching for UUIDs.
26406
2bf5885a 264072009-06-04 Robert Millan <rmh.grub@aybabtu.com>
26408
26409 Simplify the code duplication in commands/search.c.
26410
26411 * commands/search.c (search_label, search_fs_uuid): Merge into ...
26412 (search_fs): ... this. Update all users.
26413
f6fd460a 264142009-06-03 Felix Zielcke <fzielcke@z-51.de>
26415
26416 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
26417
cbb3c83e 264182009-05-28 Pavel Roskin <proski@gnu.org>
26419
57788cfd 26420 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
26421 Remove the original symlink explicitly.
26422
cbb3c83e 26423 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
26424 just one slash. That's how grub_fshelp_find_file() does it.
26425
cd0d5e30 264262009-05-26 Pavel Roskin <proski@gnu.org>
26427
f0f8bbe2 26428 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
26429 to `str'.
26430
cd0d5e30 26431 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
26432 possibly unused.
26433
8c2cab51 264342009-05-25 Christian Franke <franke@computer.org>
26435
26436 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
26437 register.
26438 (grub_atapi_identify): Add wait after drive select.
26439 (grub_ata_identify): Do more strict status register check before
26440 calling grub_atapi_identify (). Suppress error message if status
26441 register is 0x00 after command failure. Add status register
26442 check after PIO read to avoid bogus identify due to stuck DRQ.
26443 Thanks to Pavel Roskin for testing.
26444 (grub_device_initialize): Remove unsafe status register check.
26445 Thanks to 'phcoder' for problem report and patch.
26446 Prevent sign extension in debug message.
26447
230c0ad6 264482009-05-23 Colin D Bennett <colin@gibibit.com>
26449
26450 Cleaned up `include/grub/normal.h'. Grouped prototypes by
26451 definition file, and functions defined in `normal/menu.c' have had
26452 their prototypes moved to `include/grub/menu.h' for consistency.
26453
26454 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
26455 from normal.h.
26456 (grub_menu_get_entry): Likewise.
26457 (grub_menu_get_timeout): Likewise.
26458 (grub_menu_set_timeout): Likewise.
26459 (grub_menu_execute_entry): Likewise.
26460 (grub_menu_execute_with_fallback): Likewise.
26461 (grub_menu_entry_run): Likewise.
26462
26463 * include/grub/normal.h: Re-ordered and grouped function
26464 prototypes by file that the function is defined in.
26465 (grub_menu_execute_callback): Removed; moved to menu.h.
26466 (grub_menu_get_entry): Likewise.
26467 (grub_menu_get_timeout): Likewise.
26468 (grub_menu_set_timeout): Likewise.
26469 (grub_menu_execute_entry): Likewise.
26470 (grub_menu_execute_with_fallback): Likewise.
26471 (grub_menu_entry_run): Likewise.
26472 (grub_menu_addentry): Renamed from this ...
26473 (grub_normal_add_menu_entry): ... to this.
26474
26475 * normal/main.c (grub_menu_addentry): Renamed from this ...
26476 (grub_normal_add_menu_entry): ... to this.
26477
26478 * script/sh/execute.c (grub_script_execute_menuentry): Update
26479 reference to renamed grub_menu_addentry function.
26480
861f03a5 264812009-05-23 Felix Zielcke <fzielcke@z-51.de>
26482
26483 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
26484
96b1619a 264852009-05-22 Pavel Roskin <proski@gnu.org>
26486
bf6a5fb2 26487 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
26488 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
26489 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
26490 compiling for the i386 targets, but not for the utilities.
26491
96b1619a 26492 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
26493 to grub_uint8_t.
26494 (grub_root_drive): Likewise.
26495 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
26496 remove alignment.
26497 (grub_root_drive): Change size to byte.
26498 (grub_start_addr): Remove.
26499 (grub_end_addr): Likewise.
26500 (grub_apm_bios_info): Likewise.
26501
b729776b 265022009-05-21 Felix Zielcke <fzielcke@z-51.de>
26503
26504 * normal/i386: Remove.
26505 * normal/powerpc: Likewise.
26506 * normal/sparc64: Likewise.
26507 * normal/x86_64: Likewise.
26508
0a15ce80 265092009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
26510
26511 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 26512 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 26513 * loader/i386/xnu_helper.S: Likewise
d6da58e6 26514
33db9015 265152009-05-18 Colin D Bennett <colin@gibibit.com>
26516
d6da58e6 26517 Display error messages when parsing a Lua statement fails.
26518 Previously, executing a syntactically invalid statement like
26519 ")foo" or "bar;" would silently fail.
33db9015 26520
26521 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 26522 (grub_lua_parse_line): Improved reporting of Lua parser and
26523 execution errors.
33db9015 26524
46422c89 265252009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26526
26527 Remove -Werror which causes build to fail on some systems
26528
26529 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
26530 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
26531 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 26532
22f53a96 265332009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26534
26535 trampoline for linux on 64-bit platform
26536
18f547ad 26537 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
26538 loader/i386/efi/linux_trampoline.S
26539 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 26540 declaration
d6da58e6 26541 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
26542 here
22f53a96 26543 * loader/i386/linux_trampoline.S: moved here
d6da58e6 26544 * loader/i386/efi/linux.c (allocate_pages): reserve space for
26545 trampoline
22f53a96 26546 (jumpvector): removed
26547 (grub_linux_trampoline_start): new declaration
26548 (grub_linux_trampoline_end): likewise
26549 (grub_linux_boot): use trampoline when on 64-bit platform
26550 * loader/i386/linux.c: likewise
26551
cb5a0f40 265522009-05-16 Pavel Roskin <proski@gnu.org>
26553
26554 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
26555 const to avoid a warning.
26556 (grub_lua_setenv): Likewise.
26557 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
26558 lmsg to fix a warning.
26559
334f2c28 265602009-05-16 Felix Zielcke <fzielcke@z-51.de>
26561
26562 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 26563 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
26564 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
26565 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
26566 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
26567 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
26568 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
26569 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 26570
59e5d3ec 265712009-05-16 Felix Zielcke <fzielcke@z-51.de>
26572
26573 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
26574
9d87a1ba 265752009-05-16 Bean <bean123ch@gmail.com>
26576
26577 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
26578 (lua_mod_SOURCES): New variable.
26579 (lua_mod_CFLAGS): Likewise.
26580 (lua_mod_LDFLAGS): Likewise.
26581
26582 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
26583 (setjmp_mod_SOURCES): New variable.
26584 (setjmp_mod_CFLAGS): Likewise.
26585 (setjmp_LDFLAGS): Likewise.
26586
26587 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
26588 (setjmp_mod_SOURCES): New variable.
26589 (setjmp_mod_CFLAGS): Likewise.
26590 (setjmp_LDFLAGS): Likewise.
26591
26592 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
26593 (setjmp_mod_SOURCES): New variable.
26594 (setjmp_mod_CFLAGS): Likewise.
26595 (setjmp_LDFLAGS): Likewise.
26596
26597 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
26598 (setjmp_mod_SOURCES): New variable.
26599 (setjmp_mod_CFLAGS): Likewise.
26600 (setjmp_LDFLAGS): Likewise.
26601
26602 * normal/i386/setjmp.S: Moved from here ...
26603 * lib/i386/setjmp.S: ... Moved here
26604 * normal/x86_64/setjmp.S: Moved from here ...
26605 * lib/x86_64/setjmp.S: ... Moved here
26606 * normal/powerpc/setjmp.S: Moved from here ...
26607 * lib/powerpc/setjmp.S: ... Moved here
26608 * normal/sparc64/setjmp.S: Moved from here ...
26609 * lib/sparc64/setjmp.S: ... Moved here
26610
26611 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
26612 returns_twice in mingw.
26613
26614 * script/lua/grub_lib.c: New file.
26615 * script/lua/grub_lib.h: Likewise.
26616 * script/lua/grub_lua.h: Likewise.
26617 * script/lua/grub_main.c: Likewise.
26618 * script/lua/lapi.c: Likewise.
26619 * script/lua/lapi.h: Likewise.
26620 * script/lua/lauxlib.c: Likewise.
26621 * script/lua/lauxlib.h: Likewise.
26622 * script/lua/lbaselib.c: Likewise.
26623 * script/lua/lcode.c: Likewise.
26624 * script/lua/lcode.h: Likewise.
26625 * script/lua/ldblib.c: Likewise.
26626 * script/lua/ldebug.c: Likewise.
26627 * script/lua/ldebug.h: Likewise.
26628 * script/lua/ldo.c: Likewise.
26629 * script/lua/ldo.h: Likewise.
26630 * script/lua/ldump.c: Likewise.
26631 * script/lua/lfunc.c: Likewise.
26632 * script/lua/lfunc.h: Likewise.
26633 * script/lua/lgc.c: Likewise.
26634 * script/lua/lgc.h: Likewise.
26635 * script/lua/linit.c: Likewise.
26636 * script/lua/liolib.c: Likewise.
26637 * script/lua/llex.c: Likewise.
26638 * script/lua/llex.h: Likewise.
26639 * script/lua/llimits.h: Likewise.
26640 * script/lua/lmathlib.c: Likewise.
26641 * script/lua/lmem.c: Likewise.
26642 * script/lua/lmem.h: Likewise.
26643 * script/lua/loadlib.c: Likewise.
26644 * script/lua/lobject.c: Likewise.
26645 * script/lua/lobject.h: Likewise.
26646 * script/lua/lopcodes.c: Likewise.
26647 * script/lua/lopcodes.h: Likewise.
26648 * script/lua/loslib.c: Likewise.
26649 * script/lua/lparser.c: Likewise.
26650 * script/lua/lparser.h: Likewise.
26651 * script/lua/lstate.c: Likewise.
26652 * script/lua/lstate.h: Likewise.
26653 * script/lua/lstring.c: Likewise.
26654 * script/lua/lstring.h: Likewise.
26655 * script/lua/lstrlib.c: Likewise.
26656 * script/lua/ltable.c: Likewise.
26657 * script/lua/ltable.h: Likewise.
26658 * script/lua/ltablib.c: Likewise.
26659 * script/lua/ltm.c: Likewise.
26660 * script/lua/ltm.h: Likewise.
26661 * script/lua/lua.h: Likewise.
26662 * script/lua/luaconf.h: Likewise.
26663 * script/lua/lualib.h: Likewise.
26664 * script/lua/lundump.c: Likewise.
26665 * script/lua/lundump.h: Likewise.
26666 * script/lua/lvm.c: Likewise.
26667 * script/lua/lvm.h: Likewise.
26668 * script/lua/lzio.c: Likewise.
26669 * script/lua/lzio.h: Likewise.
26670
5e898c9d 266712009-05-16 Bean <bean123ch@gmail.com>
26672
26673 * include/grub/kernel.h (grub_module_header_types): Add type
26674 OBJ_TYPE_CONFIG.
26675
26676 * kern/main.c (grub_load_config): New function.
26677 (grub_main): Call grub_load_config to read boot config.
26678
26679 * grub-mkimage (generate_image): New parameter config_path.
26680 (options): New option --config.
26681 (main): Parse --config option, and pass it to generate_image.
26682
cf353a47 266832009-05-14 Christian Franke <franke@computer.org>
26684
26685 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
26686 This fixes build on Cygwin.
26687
3834887f 266882009-05-14 Pavel Roskin <proski@gnu.org>
26689
26690 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
26691 jump. This saves two bytes, so the typical case of 2 swapped
26692 drives would fit 32 bytes.
26693
8090fc01 266942009-05-13 Pavel Roskin <proski@gnu.org>
26695
ac963883 26696 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
26697 grub_uint32_t to avoid a warning.
26698
8090fc01 26699 * loader/i386/linux.c (allocate_pages): When assigning
26700 real_mode_mem, cast through grub_size_t to fix a warning. The
26701 code already makes sure that the value would fit a pointer.
26702 (grub_linux_setup_video): Cast render_target->data to
26703 grub_size_t to fix a warning.
26704
18f547ad 267052009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 26706
26707 * commands/i386/pc/drivemap.c: New file - implement drivemap
26708 command.
26709 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
26710 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
26711
6f6a8b28 267122009-05-13 Pavel Roskin <proski@gnu.org>
26713
26714 * util/i386/pc/grub-setup.c (setup): Remove unused variable
26715 embedding_area_exists.
26716
15fbf4c4 267172009-05-13 Robert Millan <rmh.grub@aybabtu.com>
26718
26719 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
26720 it easier to understand / work with.
59978c8a 26721 Improve warning messages for cases where there's no embedding area,
26722 or when it is too small (or core.img too large).
15fbf4c4 26723
238e871f 267242009-05-13 Pavel Roskin <proski@gnu.org>
26725
0ab3a9a4 26726 * loader/i386/pc/multiboot2.c: Add necessary includes for
26727 grub_multiboot2_real_boot().
26728
a2c8c5f8 26729 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
26730 PX record is always little-endian. We only need the lower 2
26731 bytes of the mode.
26732
faec96af 26733 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
26734 facilitate code reuse.
26735 (grub_cpio_mount): Use "struct head", not a char buffer. This
26736 fixes a warning reported by gcc 4.4.
26737
238e871f 26738 * kernel/disk.c (grub_disk_read): Use void pointer for the
26739 buffer.
26740 (grub_disk_write): Use const void pointer for the buffer.
26741 Adjust all callers. Remove unnecessary casts.
26742
901d2f0c 267432009-05-10 Robert Millan <rmh.grub@aybabtu.com>
26744
26745 * util/i386/pc/grub-install.in: Update copyright year.
26746
18f547ad 267472009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 26748
26749 gptsync
26750
26751 * commands/gptsync.c: new file
26752 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
26753 (gptsync_mod_SOURCES): new variable
26754 (gptsync_mod_CFLAGS): likewise
26755 (gptsync_mod_LDFLAGS): likewise
18f547ad 26756 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 26757 new definition
26758 (GRUB_PC_PARTITION_TYPE_HFS): likewise
26759 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
26760 * conf/i386-ieee1275.rmk: likewise
26761 * conf/i386-pc.rmk: likewise
26762 * conf/powerpc-ieee1275.rmk: likewise
26763
b4ba690a 267642009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
26765
26766 Fixed grub-emu
26767
26768 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
26769 (grub_dl_ref): likewise
26770
317e1a44 267712009-05-08 Robert Millan <rmh.grub@aybabtu.com>
26772
26773 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
26774 split in two functions (one for msdos and one for gpt).
26775
041b8094 267762009-05-08 Pavel Roskin <proski@gnu.org>
26777
752473c2 26778 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
26779 not modified.
26780
041b8094 26781 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
26782 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
26783 Initialize them with -1. Add sanity check for bad1. Eliminate
26784 nerr variable.
26785
172800ce 267862009-05-08 David S. Miller <davem@davemloft.net>
26787
26788 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
26789
29aa5e81 267902009-05-06 Robert Millan <rmh.grub@aybabtu.com>
26791
26792 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 26793 existence.
29aa5e81 26794
96613b62 267952009-05-05 Felix Zielcke <fzielcke@z-51.de>
26796
26797 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 26798 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 26799
eef73c8a 268002009-05-05 David S. Miller <davem@davemloft.net>
26801
26802 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
26803
119494b5 268042009-05-05 Pavel Roskin <proski@gnu.org>
26805
26806 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
26807 of grub_dl_ref() and grub_dl_unref().
26808 * commands/parttool.c: Remove preprocessor conditionals around
26809 grub_dl_ref() and grub_dl_unref().
26810 * fs/affs.c: Likewise.
26811 * fs/afs.c: Likewise.
26812 * fs/cpio.c: Likewise.
26813 * fs/ext2.c: Likewise.
26814 * fs/fat.c: Likewise.
26815 * fs/hfs.c: Likewise.
26816 * fs/hfsplus.c: Likewise.
26817 * fs/iso9660.c: Likewise.
26818 * fs/jfs.c: Likewise.
26819 * fs/minix.c: Likewise.
26820 * fs/ntfs.c: Likewise.
26821 * fs/reiserfs.c: Likewise.
26822 * fs/sfs.c: Likewise.
26823 * fs/udf.c: Likewise.
26824 * fs/ufs.c: Likewise.
26825 * fs/xfs.c: Likewise.
26826 * include/grub/dl.h: Likewise.
26827 * loader/xnu.c: Likewise.
26828
de5fd76e 268292009-05-04 Pavel Roskin <proski@gnu.org>
26830
26831 * commands/acpi.c: Remove unused variable my_mod.
26832 * partmap/amiga.c: Likewise.
26833 * partmap/apple.c: Likewise.
26834 * partmap/gpt.c: Likewise.
26835 * partmap/pc.c: Likewise.
26836 * partmap/sun.c: Likewise.
26837 * term/gfxterm.c: Likewise.
26838 * term/i386/pc/vesafb.c: Likewise.
26839 * term/i386/pc/vga.c: Likewise.
26840
983598ad 268412009-05-04 David S. Miller <davem@davemloft.net>
26842
26843 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
26844 pointer args to grub_ieee1275_get_property().
26845
8aadec43 26846 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
26847
9554b15e 26848 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
26849 devices, and do not traverse down under controller nodes.
26850
67e23c90 26851 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
26852 (grub_ofdisk_open): Use it to un-escape "," characters.
26853 * kern/disk.c (find_part_sep): New.
26854 (grub_disk_open): Use it to find the first non-escaped ','
26855 character in the disk name.
26856 * util/ieee1275/devicemap.c (escape_of_path): New.
26857 (grub_util_emit_devicemap_entry): Use it.
26858 * util/sparc64/ieee1275/grub-install.in: Update script to
26859 strip partition specifiers properly by not triggering on
26860 '\' escaped ',' characters.
26861
74bfdd2f 268622009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26863
26864 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
26865 to 0x300.
26866 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
26867 resolutions.
26868 (linux_vesafb_modes): Add a lot of additional modes to the list (based
26869 on documentation from Wikipedia).
26870
4241d2b1 268712009-05-04 Pavel Roskin <proski@gnu.org>
26872
26873 * disk/ata.c: Spelling fixes.
26874 * disk/raid.c: Likewise.
26875 * disk/usbms.c: Likewise.
26876 * disk/dmraid_nvidia.c: Likewise.
26877 * kern/ieee1275/openfw.c: Likewise.
26878 * kern/ieee1275/init.c: Likewise.
26879 * kern/ieee1275/cmain.c: Likewise.
26880 * boot/i386/pc/cdboot.S: Likewise.
26881 * video/readers/png.c: Likewise.
26882 * video/i386/pc/vbe.c: Likewise.
26883 * fs/udf.c: Likewise.
26884 * fs/hfs.c: Likewise.
26885 * fs/reiserfs.c: Likewise.
26886 * efiemu/runtime/efiemu.c: Likewise.
26887 * efiemu/main.c: Likewise.
26888 * efiemu/mm.c: Likewise.
26889 * include/grub/elf.h: Likewise.
26890 * include/grub/xnu.h: Likewise.
26891 * include/grub/usbdesc.h: Likewise.
26892 * include/grub/usb.h: Likewise.
26893 * include/grub/script_sh.h: Likewise.
26894 * include/grub/lib/LzmaEnc.h: Likewise.
26895 * include/grub/efiemu/efiemu.h: Likewise.
26896 * include/grub/command.h: Likewise.
26897 * normal/menu.c: Likewise.
26898 * normal/main.c: Likewise.
26899 * normal/datetime.c: Likewise.
26900 * bus/usb/uhci.c: Likewise.
26901 * mmap/i386/uppermem.c: Likewise.
26902 * mmap/mmap.c: Likewise.
26903 * commands/acpi.c: Likewise.
26904 * commands/test.c: Likewise.
26905 * partmap/apple.c: Likewise.
26906 * font/font.c: Likewise.
26907 * loader/sparc64/ieee1275/linux.c: Likewise.
26908 * loader/macho.c: Likewise.
26909 * loader/i386/bsd_trampoline.S: Likewise.
26910 * loader/i386/bsd.c: Likewise.
26911 * loader/xnu.c: Likewise.
26912 * term/i386/pc/vesafb.c: Likewise.
26913 * term/usb_keyboard.c: Likewise.
26914 * util/resolve.c: Likewise.
26915 * util/getroot.c: Likewise.
26916
0cfc0083 269172009-05-04 Felix Zielcke <fzielcke@z-51.de>
26918
26919 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
26920
7c1d00cd 269212009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26922
26923 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
26924 build error.
26925
b01f0548 269262009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26927
26928 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
26929 parameter only available on BIOS.
26930
ecc3eb22 269312009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
26932
26933 Removed wrong semicolon in declaration
26934
26935 * grub/misc.h (grub_dprintf): remove semicolon
26936
112972a9 269372009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26938
26939 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
26940 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
26941 is done by grub_cmd_linux() now).
26942 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
26943 restore video to text mode.
26944 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
26945 indicates lack of "vga=" parameter. "vga=0" is mapped to
26946 `GRUB_LINUX_VID_MODE_NORMAL'.
26947
afd5c115 269482009-05-04 Felix Zielcke <fzielcke@z-51.de>
26949
26950 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
26951 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
26952 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 26953 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 26954 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
26955 `grub_script.tab.c'.
26956
26957 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26958 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26959 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26960 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26961 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26962
faa517ce 26963 * Makefile.in: Remove duplicated 2008 in Copyright line.
26964
ae0c0bdc 269652009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26966
473d1e45 26967 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 26968 unconditionally.
26969 * include/grub/util/misc.h (grub_util_warn): New declaration.
26970
26971 * util/i386/pc/grub-install.in: Understand --force and pass it down
26972 to grub-setup.
26973
26974 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
26975 down to setup().
26976 (setup): Improve error messages and add warnings when requested to
26977 install in odd layouts. Refuse to install using blocklists unless
26978 --force was set.
26979
18f547ad 269802009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 26981
26982 * disk/raid.c (grub_raid_scan_device): Improve debug message.
26983
6d260daa 269842009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
26985
26986 Updated copyright year
26987
26988 * fs/hfsplus.c: updated copyright year
18f547ad 26989
69f853f8 269902009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
26991
26992 HFS+ UUID
26993
18f547ad 26994 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 26995 in the space previously used by unused3
26996 (grub_hfsplus_uuid): new function
26997 (grub_hfsplus_fs): added uuid field
26998
4c402e73 269992009-05-03 Pavel Roskin <proski@gnu.org>
27000
27001 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
27002 suppress warnings. It's no longer needed.
27003 * disk/host.c: Likewise.
27004 * disk/ata_pthru.c: Likewise.
27005 * disk/loopback.c: Likewise.
27006 * hook/datehook.c: Likewise.
27007 * parttool/pcpart.c: Likewise.
27008 * fs/i386/pc/pxe.c: Likewise.
27009 * fs/ntfscomp.c: Likewise.
27010 * efiemu/main.c: Likewise.
27011 * mmap/mmap.c: Likewise.
27012 * commands/crc.c: Likewise.
27013 * commands/hexdump.c: Likewise.
27014 * commands/hdparm.c: Likewise.
27015 * commands/acpi.c: Likewise.
27016 * commands/echo.c: Likewise.
27017 * commands/minicmd.c: Likewise.
27018 * commands/blocklist.c: Likewise.
27019 * commands/memrw.c: Likewise.
27020 * commands/loadenv.c: Likewise.
27021 * commands/usbtest.c: Likewise.
27022 * commands/lsmmap.c: Likewise.
27023 * commands/boot.c: Likewise.
27024 * commands/parttool.c: Likewise.
27025 * commands/configfile.c: Likewise.
27026 * commands/search.c: Likewise.
27027 * commands/ieee1275/suspend.c: Likewise.
27028 * commands/cat.c: Likewise.
27029 * commands/i386/pc/pxecmd.c: Likewise.
27030 * commands/i386/pc/play.c: Likewise.
27031 * commands/i386/pc/halt.c: Likewise.
27032 * commands/i386/pc/vbeinfo.c: Likewise.
27033 * commands/i386/pc/vbetest.c: Likewise.
27034 * commands/lspci.c: Likewise.
27035 * commands/date.c: Likewise.
27036 * commands/handler.c: Likewise.
27037 * commands/ls.c: Likewise.
27038 * commands/test.c: Likewise.
27039 * commands/cmp.c: Likewise.
27040 * commands/efi/loadbios.c: Likewise.
27041 * commands/efi/fixvideo.c: Likewise.
27042 * commands/halt.c: Likewise.
27043 * commands/help.c: Likewise.
27044 * commands/reboot.c: Likewise.
27045 * hello/hello.c: Likewise.
27046 * script/sh/main.c: Likewise.
27047 * loader/xnu.c: Likewise.
27048 * term/terminfo.c: Likewise.
27049 * term/i386/pc/serial.c: Likewise.
27050 * term/usb_keyboard.c: Likewise.
27051
515b5079 270522009-05-03 David S. Miller <davem@davemloft.net>
27053
27054 * normal/menu.c: Include grub/parser.h
27055
dfc31a22 270562009-05-03 Pavel Roskin <proski@gnu.org>
27057
2fee74f1 27058 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
27059 not char*.
27060 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
27061 Suggested by Javier Martín <lordhabbit@gmail.com>
27062
dfc31a22 27063 * util/i386/pc/grub-mkrescue.in: Allow for the case when
27064 efiemu??.o doesn't exist.
27065 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
27066 copying.
27067
18f547ad 270682009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 27069
27070 FreeBSD 64-bit support
27071
18f547ad 27072 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 27073 and loader/i386/bsd_trampoline.S
27074 (bsd_mod_ASFLAGS): new variable
27075 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
27076 (FREEBSD_MODTYPE_KERNEL64): likewise
27077 (grub_bsd64_trampoline_start): likewise
27078 (grub_bsd64_trampoline_end): likewise
27079 (grub_bsd64_trampoline_selfjump): likewise
27080 (grub_bsd64_trampoline_gdt): likewise
27081 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
27082 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
27083 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
27084 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 27085 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 27086 of "attrib" member
27087 * loader/i386/bsd_pagetable.c: new file
27088 * loader/i386/bsd_trampoline.S: likewise
27089 * loader/i386/bsd.c (ALIGN_QWORD): new macro
27090 (ALIGN_VAR): likewise
27091 (entry_hi): new variable
27092 (kern_end_mdofs): likewise
27093 (is_64bit): likewise
27094 (grub_freebsd_add_meta): use ALIGN_VAR
27095 (grub_e820_mmap): new declaration
27096 (grub_freebsd_add_mmap): new function
27097 (grub_freebsd_add_meta_module): support 64 bit kernels
27098 (grub_freebsd_list_modules): use ALIGN_VAR
27099 (gdt_descriptor): new declaration
27100 (grub_freebsd_boot): support 64 bit kernels
27101 (grub_bsd_elf64_hook): new function
27102 (grub_bsd_load_elf): support elf64
27103
038c5720 271042009-05-03 Bean <bean123ch@gmail.com>
27105
27106 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
27107 after we get the result of if statement.
27108
fc45fb58 271092009-05-03 Bean <bean123ch@gmail.com>
27110
27111 * Makefile.in (enable_efiemu): New variable.
27112
27113 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
27114 set.
27115 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
27116 path.
27117 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
27118 path, add -mno-red-zone option.
27119 (efiemu64_s.o): Likewise.
27120 (efiemu64.o): Use macro $^ for source file.
27121
27122 * configure.ac (--enable-efiemu): New option.
27123
bbee0f2b 271242009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
27125
27126 xnu support
27127
27128 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
27129 (pkglib_MODULES): add xnu.mod
27130 (xnu_mod_SOURCES): new variable
27131 (xnu_mod_CFLAGS): likewise
27132 (xnu_mod_LDFLAGS): likewise
27133 (xnu_mod_ASFLAGS): likewise
27134 * conf/i386-pc.rmk: likewise
27135 * conf/x86_64-efi.rmk: likewise
7dd4a573 27136 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 27137 new declaration
27138 * include/grub/i386/macho.h: new file
27139 * include/grub/i386/xnu.h: likewise
27140 * include/grub/macho.h: likewise
27141 * include/grub/machoload.h: likewise
27142 * include/grub/x86_64/macho.h: likewise
27143 * include/grub/x86_64/xnu.h: likewise
27144 * include/grub/xnu.h: likewise
27145 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
27146 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
27147 * loader/i386/efi/xnu.c: new file
27148 * loader/i386/pc/xnu.c: likewise
27149 * loader/i386/xnu.c: likewise
27150 * loader/i386/xnu_helper.S: likewise
27151 * loader/macho.c: likewise
27152 * loader/xnu.c: likewise
27153 * loader/xnu_resume.c: likewise
27154 * util/grub-dumpdevtree: likewise
27155 * include/grub/i386/pit.h: include grub/err.h
27156 (grub_pit_wait): export
27157 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 27158
5caf964d 271592009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
27160
27161 Efiemu
7dd4a573 27162
5caf964d 27163 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 27164 _linux_efi, linux_efi.
27165 new files in grub-emu
5caf964d 27166 new targets efiemu32.o and efiemu64.o
27167 * loader/linux_normal_efiemu.c: likewise
27168 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 27169 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 27170 files to copy
27171 * include/grub/autoefi.h: new file
7dd4a573 27172 * include/grub/i386/efiemu.h: likewise
5caf964d 27173 * include/grub/i386/pc/efiemu.h: likewise
27174 * include/grub/efi/api.h: add LL suffix when necessary
27175 new definitions relating to tables
27176 * include/grub/efiemu/efiemu.h: new file
27177 * include/grub/efiemu/runtime.h: likewise
27178 * efiemu/prepare.c: likewise
27179 * efiemu/loadcore_common.c: likewise
27180 * efiemu/loadcore64.c: likewise
27181 * efiemu/runtime/efiemu.sh: likewise
27182 * efiemu/runtime/efiemu.S: likewise
27183 * efiemu/runtime/efiemu.c: likewise
27184 * efiemu/runtime/config.h: likewise
27185 * efiemu/prepare32.c: likewise
27186 * efiemu/main.c: likewise
27187 * efiemu/modules/pnvram.c: likewise
27188 * efiemu/modules/i386: likewise
27189 * efiemu/modules/i386/pc: likewise
27190 * efiemu/modules/acpi.c: likewise
27191 * efiemu/i386/pc/cfgtables.c: likewise
27192 * efiemu/i386/loadcore64.c: likewise
27193 * efiemu/i386/loadcore32.c: likewise
27194 * efiemu/prepare64.c: likewise
27195 * efiemu/loadcore.c: likewise
27196 * efiemu/symbols.c: likewise
27197 * efiemu/mm.c: likewise
27198 * efiemu/loadcore32.c: likewise
7dd4a573 27199
272002009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 27201
27202 ACPI spoofing
27203
27204 * commands/acpi.c: new file
27205 * commands/i386/pc/acpi.c: likewise
27206 * commands/efi/acpi.c: likewise
27207 * include/grub/acpi.h: likewise
27208 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
27209 (acpi_mod_SOURCES): new variable
27210 (acpi_mod_CFLAGS): likewise
27211 (acpi_mod_LDFLAGS): likewise
27212 * conf/i386-efi.rmk: likewise
27213 * conf/x86_64-efi.rmk: likewise
27214
7dd4a573 272152009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 27216
27217 Missing part from mmap patch
27218
27219 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
27220 (grub_mmap_unregister)
27221 (grub_mmap_free_and_unregister): use grub_mmap_register
27222
7dd4a573 272232009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 27224
27225 Mmap services
27226
27227 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
27228 * loader/i386/linux.c (find_mmap_size): likewise
27229 (allocate_pages): likewise
27230 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
27231 (grub_fill_multiboot_mmap): likewise
27232 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
27233 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
27234 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
27235 (OPENBSD_MMAP_RESERVED): likewise
27236 * include/grub/i386/pc/memory.h: include grub/memory.h
27237 (grub_lower_mem): removed
27238 (grub_upper_mem): likewise
27239 (GRUB_MACHINE_MEMORY_ACPI): new definition
27240 (GRUB_MACHINE_MEMORY_NVS): likewise
27241 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
27242 (GRUB_MACHINE_MEMORY_HOLE): likewise
27243 (grub_machine_mmap_register): likewise
27244 (grub_machine_mmap_unregister): likewise
27245 (grub_machine_get_upper): likewise
27246 (grub_machine_get_lower): likewise
27247 (grub_machine_get_post64): likewise
27248 * include/grub/i386/efi/memory.h: new file
27249 * include/grub/x86_64/efi/memory.h: likewise
27250 * include/grub/efi/memory.h: likewise
27251 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
27252 (mmap_mod_SOURCES): new variable
27253 (mmap_mod_LDFLAGS): likewise
27254 (mmap_mod_ASFLAGS): likewise
27255 * conf/i386-coreboot.rmk: likewise
27256 * conf/i386-ieee1275.rmk: likewise
27257 * conf/i386-efi.rmk: likewise
27258 * conf/x86_64-efi.rmk: likewise
27259 * include/grub/types.h (UINT_TO_PTR): new macro
27260 (PTR_TO_UINT32): likewise
27261 (PTR_TO_UINT64): likewise
27262 * include/grub/memory.h: new file
27263 * mmap/i386/pc/mmap.c: likewise
27264 * mmap/i386/pc/mmap_helper.S: likewise
27265 * mmap/i386/uppermem.c: likewise
27266 * mmap/mmap.c: likewise
27267 * mmap/efi/mmap.c: likewise
7dd4a573 27268 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 27269 grub_upper_mem
27270 * kern/i386/pc/init.c (grub_lower_mem): removed variable
27271 (grub_upper_mem): likewise
27272 (grub_machine_init): don't use grub_upper_mem,
27273 make grub_lower_mem local
27274 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
27275 grub_mmap_iterate and grub_mmap_get_upper
27276 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
27277
d558e6b5 272782009-05-02 Bean <bean123ch@gmail.com>
27279
27280 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
27281 script/sh/parser.y.
27282 (pkglib_MODULES): Add normal.mod and sh.mod.
27283 (normal_SOURCES): New variable.
27284 (normal_mod_CFLAGS): Likewise.
27285 (normal_mod_LDFLAGS): Likewise.
27286 (sh_mod_SOURCES): Likewise.
27287 (sh_mod_CFLAGS): Likewise.
27288 (sh_mod_LDFLAGS): Likewise.
27289
27290 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
27291 script/sh/lexer.c_DEPENDENCIES.
27292 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
27293 kern/rescue_reader.c and kern/rescue_parser.c.
27294 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
27295 (grub_emu_SOURCES): Change source files.
27296 (pkglib_MODULES): Remove normal.mod.
27297 (normal_SOURCES): Removed.
27298 (normal_mod_CFLAGS): Likewise.
27299 (normal_mod_LDFLAGS): Likewise.
27300 * conf/i386-coreboot.rmk: Likewise.
27301 * conf/i386-efi.rmk: Likewise.
27302 * conf/i386-ieee1276.rmk: Likewise.
27303 * conf/powerpc-ieee1275.rmk: Likewise.
27304 * conf/sparc64-ieee1275.rmk: Likewise.
27305 * conf/x86_64-efi.rmk: Likewise.
27306
27307 * include/grub/command.h (grub_command_execute): New inline function.
27308
27309 * include/grub/menu.h (grub_menu_entry): Removed commands field.
27310
27311 * include/grub/normal.h: Remove <grub/setjmp.h>.
27312 (grub_fs_module_list): Moved to normal/autofs.c.
27313 (grub_exit_env): Removed.
27314 (grub_command_execute): Likewise.
27315 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
27316 parameter script.
27317 (read_command_list): New function declaration.
27318 (read_fs_list): Likewise.
27319
27320 * include/parser.h: Include <grub/reader.h>.
27321 (grub_parser_split_cmdline): Change type of getline parameter.
27322 (grub_parser): New structure.
27323 (grub_parser_class): New variable.
27324 (grub_parser_execute): New function declaration.
27325 (grub_register_rescue_parser): Likewise.
27326 (grub_parser_register): New inline function.
27327 (grub_parser_unregister): Likewise.
27328 (grub_parser_get_current): Likewise.
27329 (grub_parser_set_current): Likewise.
27330
27331 * include/grub/reader.h: New file.
27332 * kern/reader.c: Likewise.
27333 * kern/rescue_parser.c: Likewise.
27334 * kern/rescue_reader.c: Likewise.
27335 * normal/autofs.c: Likewise.
27336 * normal/dyncmd.c: Likewise.
27337
27338 * include/grub/rescue.h: Removed.
27339 * normal/command.h: Likewise.
27340
27341 * include/grub/script.h: Moved to ...
27342 * include/grub/script_sh.h: ... Moved here.
27343 * normal/execute.c: Moved to ...
27344 * script/sh/execute.c: ... Moved here.
27345 * normal/function.c: Moved to ...
27346 * script/sh/function.c: ... Moved here.
27347 * normal/lexer.c: Moved to ...
27348 * script/sh/lexer.c: ... Moved here.
27349 * normal/parser.y: Moved to ...
27350 * script/sh/parser.y: ... Moved here.
27351 * normal/script.c: Moved to ...
27352 * script/sh/script.c: ... Moved here.
27353
27354 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
27355 <grub/reader.h>.
27356 (grub_exit_env): Removed.
27357 (fs_module_list): Moved to normal/autofs.c.
27358 (grub_file_getline): Don't handle comment here.
27359 (free_menu): Skip removed field entry->commands.
27360 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
27361 script parameter.
27362 (read_config_file): Removed nested parameter, change getline function.
27363 (grub_enter_normal_mode): Removed.
27364 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
27365 (read_command_list): Likewise.
27366 (autoload_fs_module): Moved to normal/autofs.c.
27367 (read_fs_list): Likewise.
27368 (reader_nested): New variable.
27369 (grub_normal_execute): Run parser.sh to switch to sh parser.
27370 (grub_cmd_rescue): Removed.
27371 (cmd_normal): Removed.
27372 (grub_cmd_normal): Unregister itself at the beginning. Don't register
27373 rescue command.
27374 (grub_cmdline_run): New function.
27375 (grub_normal_reader_init): Likewise.
27376 (grub_normal_read_line): Likewise.
27377 (grub_env_write_pager): Likewise.
27378 (cmdline): New variable.
27379 (grub_normal_reader): Likewise.
27380 (GRUB_MOD_INIT): Register normal reader and set as current, register
27381 pager hook, register normal command with grub_register_command_prio,
27382 so that it won't show up in command.lst.
27383 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
27384 grub_fs_autoload_hook.
27385
27386 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
27387 (grub_menu_execute_entry): Replace grub_script_execute with
27388 grub_parser_execute, change parameter to grub_command_execute.
27389
27390 * normal/menu_text.c: Remove <grub/script.h>.
27391
27392 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
27393 and <grub/parser.h>.
27394 (run): Change editor_getline to use new parser interface. Change
27395 parameter to grub_command_execute.
27396
27397 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
27398 <grub/reader.h> and <grub/parser.h>.
27399 (grub_load_normal_mode): Execute normal command.
27400 (grub_main): Call grub_register_core_commands,
27401 grub_register_rescue_parser and grub_register_rescue_reader, use
27402 grub_reader_loop to enter input loop.
27403
7dd4a573 27404 * kern/parser.c (grub_parser_split_cmdline): Change type of
27405 getline parameter.
d558e6b5 27406 (grub_parser_class): New variable.
27407 (grub_parser_execute): New function.
27408
27409 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
27410 * loader/multiboot2.c: Likewise.
27411 * loader/sparc64/ieee1275/linux.c: Likewise.
27412
27413 * util/grub-emu.c (read_command_list): New dummy function.
27414
18db813d 274152009-05-02 Robert Millan <rmh.grub@aybabtu.com>
27416
27417 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
27418 count to 16 for CCISS and IDA.
27419
6c67de15 274202009-05-02 Robert Millan <rmh.grub@aybabtu.com>
27421
27422 * normal/menu_text.c (grub_wait_after_message): Print a newline
27423 after waiting for user input.
27424
27425 * loader/i386/linux.c: Include `<grub/normal.h>'.
27426 (grub_cmd_linux): Improve the error message about `ask' mode, by
27427 waiting for user input so it's not missed (we can do this, since
27428 user requested interaction).
27429
d9dc87b0 274302009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
27431
27432 Added missing lst to grub-mkrescue
27433
27434 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
27435 and ${input_dir}/parttool.lst
27436
ac8a2baa 274372009-04-30 David S. Miller <davem@davemloft.net>
27438
ad22a610 27439 * util/hostdisk.c (device_is_wholedisk): New function.
27440 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
27441 zero only if device_is_wholedisk() returns true.
27442
6966215d 27443 * util/hostdisk.c (convert_system_partition_to_system_disk):
27444 Handle virtual disk devices named /dev/vdiskX as found on sparc
27445 and powerpc.
27446
ac8a2baa 27447 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
27448 lettered partition specifier is found, convert to numbered.
27449
979b4fb4 274502009-04-29 David S. Miller <davem@davemloft.net>
27451
e2bf39b2 27452 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
27453 * include/grub/sparc64/ieee1275/memory.h: Likewise.
27454
3c64e104 27455 * normal/command.c: Add missing newline at end of file.
27456
979b4fb4 27457 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
27458 warnings.
27459 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
27460 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
27461 grub_ofdisk_read): Likewise, and deal similarly with the fact that
27462 ihandles have a 32-bit type but need to be stored in a "void *".
27463
136d9f82 274642009-04-28 Pavel Roskin <proski@gnu.org>
27465
9459c306 27466 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
27467 not disk. Adjust all dependencies.
2e08a26a 27468 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 27469 grub_disk_close().
27470
136d9f82 27471 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
27472 parent's partition, don't copy it by reference, as it gets freed
27473 on close.
27474
7dd4a573 274752009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 27476
27477 Preboot hooks support
27478
27479 * commands/boot.c (struct grub_preboot_t): new declaration
27480 (preboots_head): new variable
27481 (preboots_tail): likewise
27482 (grub_loader_register_preboot_hook): new function
27483 (grub_loader_unregister_preboot_hook): likewise
27484 (grub_loader_set): launch preboot hooks
27485 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
27486 (grub_loader_register_preboot_hook): new declaration
27487 (grub_loader_unregister_preboot_hook): likewise
27488
5af922b5 274892009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
27490
27491 Warning fix
27492
7dd4a573 27493 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 27494 calling grub_dprintf
27495
a5562c30 274962009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
27497
27498 Bug and warning fixes
27499
7dd4a573 27500 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 27501 declaration
27502 * commands/test.c (test_parse): fixed bug with file tests and corrected
27503 declaration of find_file
27504
4006f85c 275052009-04-26 Pavel Roskin <proski@gnu.org>
27506
27507 * Makefile.in: Don't install empty manual pages if help2man is
27508 missing. Use help2man option for output, not shell redirection.
27509
5c77c3de 275102009-04-26 David S. Miller <davem@davemloft.net>
27511
27512 * util/grub-mkdevicemap.c (make_device_map): Add missing
27513 NESTED_FUNC_ATTR to process_device().
27514
033b10a8 275152009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
27516
27517 Test command
27518
27519 * commands/test.c: rewritten to use bash-like test
27520
e4343593 275212009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
27522
27523 Parttool autoloading and improvements
27524
7dd4a573 27525 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 27526 (parttool.lst): new target
27527 * genmk.rb: generate parttool-*
27528 (CLEANFILES): add #{parttool}
27529 (PARTTOOLFILES): new variable
27530 * genparttoollist.sh: new file
7dd4a573 27531 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 27532 (grub_pcpart_type): likewise
27533 * commands/parttool.c (helpmsg): new variable
27534 (grub_cmd_parttool): output help if not enough arguments are supplied
27535 autoload modules
27536 (GRUB_MOD_INIT(parttool)): use helpmsg
27537
0d312500 275382009-04-24 David S. Miller <davem@davemloft.net>
27539
7dd4a573 27540 Avoiding opening same device multiple times in device iterator.
0d312500 27541
27542 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 27543 and use it to build a list of partitions in iterate_disk() and
0d312500 27544 iterate_partition().
27545
ac20caff 27546 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
27547 on disk->data.
27548
0dcf7495 27549 * disk/ieee1275/nand.c (grub_nand_iterate): Return
27550 grub_devalias_iterate() result instead of unconditional 0.
27551 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
27552 Also, capture hook return value, either directly or via
27553 grub_children_iterate(), and propagate to caller.
27554 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
27555 grub_children_iterate): Return value is now 'int' instead of
27556 'grub_err_t'.
27557 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
27558 like a proper iterator, stopping when hooks return non-zero.
27559 (grub_devalias_iterate): Likewise.
27560
c8c08833 275612009-04-23 David S. Miller <davem@davemloft.net>
27562
27563 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
27564
f01005a8 275652009-04-22 David S. Miller <davem@davemloft.net>
27566
27567 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
27568 is larger than address_cells, use that value for address_cells too.
27569
4e8269da 27570 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
27571 IEEE1275_MAX_PATH_LEN): Define.
27572 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
27573 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
27574 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
27575 'devtype'. Explicitly NULL terminate devalias expansion.
27576
a1447506 27577 * util/sparc64/ieee1275/misc.c: New file.
27578 * util/sparc64/ieee1275/grub-setup.c: New file.
27579 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
27580 * util/sparc64/ieee1275/grub-mkimage.c: New file.
27581 * util/sparc64/ieee1275/grub-install.in: New file.
27582 * util/ieee1275/ofpath.c: New file.
27583 * util/ieee1275/devicemap.c: New file.
27584 * util/devicemap.c: New file.
27585 * util/deviceiter.c: New file.
27586 * kern/sparc64/ieee1275/init.c: New file.
27587 * include/grub/util/ofpath.h: New file.
27588 * include/grub/util/deviceiter.h: New file.
27589 * util/grub-mkdevicemap.c: Include deviceiter.h.
27590 Implement using grub_util_emit_devicemap_entry and
27591 grub_util_iterate_devices.
27592 * conf/i386-corebook.rmk: Build util/deviceiter.c and
27593 util/devicemap.c into grub-mkdevicemap
27594 * conf/i386-efi.rmk: Likewise.
27595 * conf/i386-ieee1275.rmk: Likewise.
27596 * conf/i386-pc.rmk: Likewise.
27597 * conf/powerpc-ieee1275.rmk: Likewise.
27598 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
27599 images and installation utilities. Build kernel as image
27600 instead of as elf binary. Use common rules as much as possible.
27601
7dd4a573 276022009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 27603
27604 Correct GPT definition
27605
7dd4a573 27606 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 27607 of "attrib" member
27608
c6c5219f 276092009-04-19 Felix Zielcke <fzielcke@z-51.de>
27610
27611 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
27612
0552ff9f 276132009-04-19 David S. Miller <davem@davemloft.net>
27614
27615 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
27616 (grub_rescue_cmd_linux): Rename to...
27617 (grub_cmd_linux): and fix prototype.
27618 (grub_rescue_cmd_initrd): Rename to...
27619 (grub_cmd_initrd): and fix prototype.
27620 (cmd_linux, cmd_initrd): New.
27621 (GRUB_MOD_INIT(linux)): Use grub_register_command().
27622 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
27623
d1a282fc 276242009-04-17 Pavel Roskin <proski@gnu.org>
27625
07c5039f 27626 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
27627 format.
27628 (grub_ohci_transfer): Likewise.
27629
b012002d 27630 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
27631
1bc09c35 27632 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
27633 return without a value. Fix inconsistent indentation.
27634
e0ff9126 27635 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
27636 match struct grub_fs.
27637
d1a282fc 27638 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
27639 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
27640 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
27641 * commands/lspci.c (grub_lspci_iter): Likewise.
27642
a96df3f2 276432009-04-16 Bean <bean123ch@gmail.com>
27644
27645 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
27646 value.
27647
41bb0fe9 276482009-04-15 Pavel Roskin <proski@gnu.org>
27649
27650 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
27651 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
27652 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
27653 definitions.
27654
596c6970 276552009-04-15 Felix Zielcke <fzielcke@z-51.de>
27656
27657 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 27658 that no multiple data or metadata areas are supported and `Unknown
596c6970 27659 metadata header'.
27660
7dd4a573 276612009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 27662
27663 Move loader out of the kernel
27664
27665 * kern/loader.c: moved to ...
27666 * commands/boot.c: ... moved here
27667 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
27668 * commands/boot.c (grub_cmd_boot): moved here. All users updated
27669 * include/grub/kernel.h (grub_machine_fini): export
27670 * include/grub/loader.h (grub_loader_is_loaded): update declaration
27671 (grub_loader_set): likewise
27672 (grub_loader_unset): likewise
27673 (grub_loader_boot): likewise
27674 * conf/common.rmk: new module boot.mod
27675 (pkglib_MODULES): add boot.mod
27676 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
27677 (grub_emu_SOURCES): likewise
27678 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
27679 (grub_emu_SOURCES): likewise
27680 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
27681 (grub_emu_SOURCES): likewise
27682 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
27683 (grub_emu_SOURCES): likewise
27684 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
27685 (grub_emu_SOURCES): likewise
7dd4a573 27686 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
27687 (grub_emu_SOURCES): likewise
0d5d5653 27688 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 27689 (grub_emu_SOURCES): likewise
0d5d5653 27690
7dd4a573 276912009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 27692
27693 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 27694
5999d619 27695 * kern/misc.c (grub_itoa): Removed function
27696 (grub_ltoa): likewise
27697 (grub_vsprintf): use grub_lltoa
27698
7dd4a573 276992009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 27700
27701 Restore grub-emu
27702
27703 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
27704 * conf/i386-coreboot.rmk: likewise
27705 * conf/i386-ieee1275.rmk: likewise
27706 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 27707
20318222 277082009-04-15 Felix Zielcke <fzielcke@z-51.de>
27709
27710 * INSTALL: Add that `./autogen.sh' needs to be run before
27711 `./configure.'.
27712
d05f0df3 277132009-04-14 Bean <bean123ch@gmail.com>
27714
27715 * Makefile.in (pkglib_DATA): Add handler.lst.
27716 (handler.lst): New rule.
27717
27718 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
27719 * conf/i386-coreboot.rmk: Likewise.
27720 * conf/i386-ieee1275.rmk: Likewise.
27721 * conf/i386-efi.rmk: Likewise.
27722 * conf/x86_64-efi.rmk: Likewise.
27723 * conf/powerpc-ieee1275.rmk: Likewise.
27724 * conf/sparc64-ieee1275.rmk: Likewise.
27725
27726 * genhandlerlist.sh: New file.
27727
27728 * genmk.rb: Add rules to generate handler.lst.
27729
27730 * include/grub/normal.h (grub_file_getline): New function definition.
27731 (read_handler_list): Likewise.
27732 (free_handler_list): Likewise.
27733
27734 * include/grub/term.h (grub_term_register_input): Add name parameter
27735 for auto generation of handler.lst.
27736 (grub_term_register_output): Likewise.
27737
27738 * normal/handler.c: New file.
27739
27740 * normal/main.c (get_line): Renamed to grub_file_getline.
27741 (read_config_file): Use the newly renamed grub_file_getline.
27742 (read_command_list): Likewise.
27743 (read_fs_list): Likewise.
27744 (grub_normal_execute): Call read_handler_list to parse handler.lst.
27745 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
27746
27747 * term/efi/console.c (grub_console_init): Add name parameter for auto
27748 generation of handler.lst.
27749 * term/gfxterm.c: Likewise.
27750 * term/i386/pc/at_keyboard.c: Likewise.
27751 * term/i386/pc/console.c: Likewise.
27752 * term/i386/pc/serial.c: Likewise.
27753 * term/i386/pc/vesafb.c: Likewise.
27754 * term/i386/pc/vga.c: Likewise.
27755 * term/i386/pc/vga_text.c: Likewise.
27756 * term/ieee1275/ofconsole.c: Likewise.
27757 * term/usb_keyboard.c: Likewise.
27758
33c846be 277592009-04-14 Bean <bean123ch@gmail.com>
27760
27761 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
27762 properly with null character.
27763
4484e01e 277642009-04-14 Felix Zielcke <fzielcke@z-51.de>
27765
27766 * configure: Remove.
27767 * config.h.in: Likewise.
f93d668e 27768 * stamp-h.in: Likewise.
4484e01e 27769 * DISTLIST: Likewise.
27770 * conf/common.mk: Likewise.
27771 * conf/i386-coreboot.mk: Likewise.
27772 * conf/i386-efi.mk: Likewise.
27773 * conf/i386-ieee1275.mk: Likewise.
27774 * conf/i386.mk: Likewise.
27775 * conf/i386-pc.mk: Likewise.
27776 * conf/powerpc-ieee1275.mk: Likewise.
27777 * conf/sparc64-ieee1275.mk: Likewise.
27778 * conf/x86_64-efi.mk: Likewise.
27779
27780 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
27781 develop on GRUB.
27782
7dd4a573 277832009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 27784 David S. Miller <davem@davemloft.net>
27785
27786 * util/hostdisk.c (make_device_name): Fix buffer length
27787 calculations.
27788
e25b5a8c 277892009-04-14 Felix Zielcke <fzielcke@z-51.de>
27790
27791 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
27792 <sys/param.h> and <sys/sysctl.h>.
27793 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
27794 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
27795 opening the device and reset them afterwards.
27796
1f1f580c 277972009-04-13 Pavel Roskin <proski@gnu.org>
27798
27799 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
27800 Reported by John Stanley <jpsinthemix@verizon.net>
27801
7ebc2d6b 278022009-04-13 Robert Millan <rmh@aybabtu.com>
27803
27804 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 27805 that name for menuentries when appropriate.
7ebc2d6b 27806
d8ba3667 278072009-04-13 Felix Zielcke <fzielcke@z-51.de>
27808
27809 * util/grub.d/10_freebsd.in: Add a missing `fi'.
27810
cba416eb 278112009-04-13 Robert Millan <rmh@aybabtu.com>
27812
27813 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
27814 to Linux, simply abort telling the user it's no longer supported.
27815
a547a745 278162009-04-13 Felix Zielcke <fzielcke@z-51.de>
27817
27818 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 27819 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 27820 `freebsd_loadenv' only when devices.hints exist.
27821
232a769c 278222009-04-13 Pavel Roskin <proski@gnu.org>
27823
27824 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
27825
c3012039 278262009-04-13 Felix Zielcke <fzielcke@z-51.de>
27827
27828 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
27829 partition number.
27830 (grub_drive): Likewise.
27831
234022fe 278322009-04-13 David S. Miller <davem@davemloft.net>
27833
27834 * kern/sparc64/ieee1275/ieee1275.c: New file.
27835 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
27836 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
27837 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
27838 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
27839 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
27840 grub_ieee1275_alloc_physmem): Declare new exported functions.
27841
d8e1836c 27842 * include/grub/sparc64/ieee1275/loader.h: New file.
27843 * include/grub/sparc64/ieee1275/memory.h: Likewise.
27844 * include/grub/sparc64/kernel.h: Likewise.
27845 * loader/sparc64/ieee1275/linux.c: Likewise.
27846
96bd81ec 27847 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
27848 (grub_fstest_SOURCES): Likewise.
27849
6a4737e5 27850 * util/hostdisk.c (make_device_name): Do not make any assumptions
27851 about the length of drive names.
27852
1d7a72fd 27853 * kern/dl.c (grub_dl_load_file): Close file immediately when
27854 we are done using it.
27855
56bc2471 278562009-04-12 David S. Miller <davem@davemloft.net>
27857
27858 * kern/misc.c (grub_ltoa): Fix cast when handling negative
27859 values. Noticed by Pavel Roskin.
27860
df38d0bb 27861 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
27862 target compiler.
7dd4a573 27863
e382e93a 27864 * genmk.rb: Add more flexible image type specification, also
27865 pass --strip-unneeded to objcopy.
27866 * conf/i386-pc.rmk: Use *_FORMAT.
27867 * conf/i386-pc.mk: Rebuilt.
27868
f5dbbca9 27869 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
27870 (OFDISK_HASH_SZ): Define.
27871 (ofdisk_hash): New hash table.
27872 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
27873 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
27874 instead of device phandle which is not unique.
27875
91c88b12 27876 * kern/sparc64/ieee1275/init.c: Delete, replace with...
27877 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
27878 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
27879 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
27880 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
27881 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
27882 GRUB_KERNEL_MACHINE_DATA_END): Define.
27883 (grub_kernel_image_size, grub_total_module_size): Declare.
27884
5b5d4aa5 278852009-04-12 Pavel Roskin <proski@gnu.org>
27886
7dd4a573 27887 * configure.ac: Change the logic when we check for target tools.
27888 Do it when the target is specified and it's different from the
27889 specified value of the host.
5b5d4aa5 27890
c91e1793 278912009-04-11 Felix Zielcke <fzielcke@z-51.de>
27892
27893 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
27894 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
27895 GNU/kFreeBSD. Check if a device is a character device. Use
27896 DIOCGMEDIASIZE to get the size.
27897 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
27898 support for GNU/kFreeBSD.
27899 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
27900 is a character device instead of a block device. Add support for
27901 FreeBSD device names.
27902
27903 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
27904 is a character device instead of a block device.
27905
27906 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
27907 is a character device instead of a block device.
27908
b1ac8644 279092009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
27910
27911 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
27912 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
27913 FreeBSD. Check if a device is a character device. Use
27914 DIOCGMEDIASIZE to get the size.
27915 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
27916 support for FreeBSD.
27917 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
27918 is a character device instead of a block device. Add support for
27919 FreeBSD device names.
27920
27921 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
27922 a character device instead of a block device.
27923 (grub_util_check_char_device): New function.
27924
27925 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
27926 a character device instead of a block device.
27927
27928 * include/grub/util/getroot.h (grub_util_check_char_device): New
27929 prototype.
27930
a3f7515a 279312009-04-11 David S. Miller <davem@davemloft.net>
27932
27933 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
27934 static libgcc.
27935 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
27936 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
27937 function, if present.
27938 (__bswapdi2): Likewise.
27939
0d44993d 27940 * include/grub/sparc64/ieee1275/boot.h: New file.
27941 * boot/sparc64/ieee1275/boot.S: Likewise.
27942 * boot/sparc64/ieee1275/diskboot.S: Likewise.
27943
ed3d2bc2 27944 * kern/misc.c (grub_ltoa): New function.
27945 (grub_vsprintf): Use it to format 'long' integers.
27946
d3bfb59c 279472009-04-10 David S. Miller <davem@davemloft.net>
27948
27949 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
27950 slots are of type grub_ieee1275_cell_t.
27951 (grub_nand_read): Likewise.
27952 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
27953 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
27954 macros are used to compare values in arg/ret block of the call.
27955 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
27956 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
27957 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
27958 grub_ieee1275_instance_to_path, grub_ieee1275_write,
27959 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
27960 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
27961 grub_ieee1275_close, grub_ieee1275_set_property,
27962 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
27963 grub_ieee1275_cell_t.
27964 * kern/ieee1275/openfw.c (grub_map): Likewise.
27965 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
27966 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
27967
450e2238 27968 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
27969 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
27970 (grub_devalias_iterate): Likewise.
27971
7dd4a573 279722009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 27973
27974 UFS improvements
27975
27976 * fs/ufs.c (INODE_NBLOCKS): new definition
27977 (struct grub_ufs_dirent): added fields for non-BSD dirents
27978 (grub_ufs_get_file_block): fixed double indirect handling
27979 (grub_ufs_lookup_symlink): use more robust way to determine whether
27980 symlink is inline
27981 (grub_ufs_find_file): support for non-BSD dirents
27982 (grub_ufs_dir): support for non-BSD dirents
27983
e7e6862a 279842009-04-10 Bean <bean123ch@gnail.com>
27985
27986 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
27987 attribute, otherwise the size would be wrong for i386 platform.
27988
27989 * include/grub/pci.h (grub_pci_read_word): New inline function.
27990 (grub_pci_read_byte): Likewise.
27991 (grub_pci_write): Likewise.
27992 (grub_pci_write_word): Likewise.
27993 (grub_pci_write_byte): Likewise.
27994
27995 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
27996
27997 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
27998 (find_framebuf): Scan pci to locate the frame buffer address.
27999
28000 * commands/efi/fixvideo.c: New file.
28001
28002 * commands/efi/loadbios.c: Likewise.
28003
28004 * commands/memrw.c: Likewise.
28005
28006 * util/grub-dumpbios.in: Likewise.
28007
28008 * conf/common.rmk (grub-dumpbios): New utility.
28009 (pkglib_MODULES): New module memrw.mod.
28010 (memrw_mod_SOURCE): New macro.
28011 (memrw_mod_CFLAGS): Likewise.
28012 (memrw_mod_LDFLAGS): Likewise.
28013
7dd4a573 28014 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 28015 fixvideo.mod.
28016 (loadbios_mod_SOURCE): New macro.
28017 (loadbios_mod_CFLAGS): Likewise.
28018 (loadbios_mod_LDFLAGS): Likewise.
28019 (fixvideo_mod_SOURCE): Likewise.
28020 (fixvideo_mod_CFLAGS): Likewise.
28021 (fixvideo_mod_LDFLAGS): Likewise.
28022
7dd4a573 28023 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 28024 fixvideo.mod.
28025 (loadbios_mod_SOURCE): New macro.
28026 (loadbios_mod_CFLAGS): Likewise.
28027 (loadbios_mod_LDFLAGS): Likewise.
28028 (fixvideo_mod_SOURCE): Likewise.
28029 (fixvideo_mod_CFLAGS): Likewise.
28030 (fixvideo_mod_LDFLAGS): Likewise.
28031
af63ada2 280322009-04-08 Felix Zielcke <fzielcke@z-51.de>
28033
28034 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
28035
c2cdde70 280362009-04-07 David S. Miller <davem@davemloft.net>
28037
28038 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
28039 support for R_SPARC_OLO10 relocations. Fix compile warning for
28040 R_SPARC_WDISP30 case.
ea3f72cf 28041 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 28042
761319cf 280432009-04-06 Pavel Roskin <proski@gnu.org>
28044
1007d1f5 28045 * include/grub/misc.h (ARRAY_SIZE): New macro.
28046 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
28047 New macro.
28048 * loader/i386/linux.c (allocate_pages): Use free_pages().
28049 (grub_linux_unload): Don't use free_pages().
28050 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
28051 wrong index. Treat all other modes as text modes.
28052 (grub_cmd_linux): Initialize vid_mode unconditionally to
28053 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
28054
761319cf 28055 * commands/help.c (print_command_help): Use cmd->prio, not
28056 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
28057
ea761d40 280582009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 28059
ea761d40 28060 Parttool
28061
28062 * parttool/pcpart.c: new file
28063 * commands/parttool.c: likewise
28064 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
28065 (parttool_mod_SOURCES): new variable
28066 (parttool_mod_CFLAGS): likewise
28067 (parttool_mod_LDFLAGS): likewise
28068 (pcpart_mod_SOURCES): likewise
28069 (pcpart_mod_CFLAGS): likewise
28070 (pcpart_mod_LDFLAGS): likewise
7dd4a573 28071 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 28072 and parttool/pcpart.c
28073 * conf/i386-efi.rmk: likewise
28074 * conf/i386-ieee1275.rmk: likewise
28075 * conf/i386-pc.rmk: likewise
28076 * conf/powerpc-ieee1275.rmk: likewise
28077 * conf/sparc64-ieee1275.rmk: likewise
28078 * conf/x86_64-ieee1275.rmk: likewise
28079
05aaebfb 280802009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28081
28082 Support for mtime and further expandability of dir command
28083
28084 * include/grub/lib/datetime.h: moved to ...
7dd4a573 28085 * include/grub/datetime.h: ... moved here and added
05aaebfb 28086 declaration of grub_unixtime2datetime. All users updated
7dd4a573 28087 * include/grub/fs.h: new syntax for dir and mtime functions in
28088 struct grub_fs
05aaebfb 28089 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
28090 and GRUB_FSHELP_FLAGS_MASK
28091 * commands/ls.c (grub_ls_list_files): Write mtime in long format
28092 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
28093 (grub_ext2_mtime): new function
28094 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
28095 (grub_hfsplus_mtime): new function
28096 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
28097 (GRUB_UFS_ATTR_FILE): likewise
28098 (GRUB_UFS_ATTR_LNK): likewise
28099 (struct grub_ufs_sblock): new fields mtime
28100 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
28101 all users updated
28102 (grub_ufs_dir): mtime support
28103 (grub_ufs_mtime): new function
28104 * fs/affs.c (grub_affs_dir): use new dir syntax
28105 * fs/afs.c (grub_afs_dir): likewise
28106 * fs/cpio.c (grub_cpio_dir): likewise
28107 * fs/fat.c (grub_fat_find_dir): likewise
28108 * fs/hfs.c (grub_hfs_dir): likewise
28109 * fs/iso9660.c (grub_iso9660_dir): likewise
28110 * fs/jfs.c (grub_jfs_dir): likewise
28111 * fs/minix.c (grub_minix_dir): likewise
28112 * fs/ntfs.c (grub_ntfs_dir): likewise
28113 * fs/reiserfs.c (grub_reiserfs_dir): likewise
28114 * fs/sfs.c (grub_sfs_dir): likewise
28115 * fs/xfs.c (grub_xfs_dir): likewise
28116 * util/hostfs.c (grub_hostfs_dir): likewise
28117 * lib/datetime.c: moved to ...
28118 * normal/datetime.c: ... moved here
28119 (grub_unixtime2datetime): new function
28120 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 28121 * normal/completion.c (iterate_dir): use new dir syntax
28122 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 28123 last modification time of a volume
7dd4a573 28124 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 28125 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 28126 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 28127 (normal_mod_SOURCES): likewise
28128 (datetime_mod_SOURCES): Removed lib/datetime.c
28129 * conf/i386-efi.rmk: likewise
7dd4a573 28130 * conf/i386-ieee1275.rmk: likewise
05aaebfb 28131 * conf/i386-pc.rmk: likewise
28132 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 28133 * conf/sparc64-ieee1275.rmk: likewise
28134 * conf/x86_64-efi.rmk: likewise
05aaebfb 28135
8a7e1a14 281362009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28137
28138 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 28139
28140 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 28141 on grub_fat_find_dir
28142 (grub_fat_find_dir): use grub_fat_iterate_dir
28143 (grub_fat_label): likewise
28144
04186a9c 281452009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
28146
7dd4a573 28147 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 28148 and command.h
28149 remove extraneous kernel_elf_HEADERS
28150
da4c0bb6 281512009-04-04 Bean <bean123ch@gnail.com>
28152
28153 * include/grub/util/misc.h: Add dummy function fsync for mingw.
28154
28155 * util/misc.c: Likewise.
28156
54ad9555 281572009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
28158
28159 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
28160 instead of grub_printf.
28161
7a6bf9f2 281622009-04-03 Robert Millan <rmh@aybabtu.com>
28163
28164 * loader/i386/linux.c (grub_linux_setup_video): Fill
28165 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
28166 values from `mode info' structure instead of hardcoded
28167 values.
28168
3fcc2083 281692009-04-01 Pavel Roskin <proski@gnu.org>
28170
28171 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
28172 unused now.
28173 * genmk.rb: Likewise.
28174 * configure.ac: Likewise.
28175
5ec9740b 281762009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
28177
28178 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
28179 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
28180
5270cec8 281812009-04-01 David S. Miller <davem@davemloft.net>
28182
28183 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 28184 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 28185 (grub_setjmp): Mark with 'returns_twice' attribute.
28186 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
28187 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
28188 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
28189
9c3dd854 281902009-04-01 Robert Millan <rmh@aybabtu.com>
28191
28192 Reapply fix from 2008-07-28 which was accidentally reverted; also
28193 perform the same fix to a similar check in same function.
28194
28195 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
28196 with the same number are found, just use issue a warning with
28197 grub_dprintf(), as this error has been reported to be non-fatal.
28198
0d818b7e 281992009-03-31 Pavel Roskin <proski@gnu.org>
28200
28201 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
28202 for cross-compilation.
28203
95646d92 282042009-03-30 Robert Millan <rmh@aybabtu.com>
28205
28206 Fix i386-ieee1275 build.
28207
28208 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
28209 Remove declaration.
28210
6a003ed1 282112009-03-30 Pavel Roskin <proski@gnu.org>
28212
28213 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
28214 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
28215 zero-terminated, rely only on the strlen value. Fix comparison
28216 of strings differing in length.
28217
92f33540 282182009-03-30 Robert Millan <rmh@aybabtu.com>
28219
28220 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
28221 checking for abi version. Improve error messages on BIOS to notify
28222 user about `linux16' command.
28223
a8c48fd5 282242009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
28225
f968172e 28226 Leak fixes
a8c48fd5 28227
f968172e 28228 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
28229 in case of collision
28230 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 28231
9c323f09 282322009-03-29 Robert Millan <rmh@aybabtu.com>
28233
28234 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
28235 set `vid_mode' accordingly.
28236 (grub_linux_boot): Process `vid_mode' and set video mode.
28237
ae68f423 282382009-03-29 Robert Millan <rmh@aybabtu.com>
28239
28240 * util/grub.d/10_linux.in (linux_entry): New function.
28241 Factorize generation of Linux boot entries.
28242
5709cfc4 282432009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
28244
28245 Make the format of Environment Block plain text. The boot loader
28246 part is not tested well yet.
7dd4a573 28247
5709cfc4 28248 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
28249 (buffer): Removed.
28250 (envblk): Likewise.
28251 (usage): Remove "info" and "clear". Add "unset". Update the
28252 description of "set", as this does not delete variables any
28253 longer.
28254 (create_envblk_file): Complete rewrite.
28255 (open_envblk_file): Likewise.
28256 (cmd_info): Removed.
28257 (cmd_list): Likewise.
28258 (cmd_set): Likewise.
28259 (cmd_clear): Likewise.
28260 (list_variables): New function.
28261 (write_envblk): Likewise.
28262 (set_variables): Likewise.
28263 (unset_variables): Likewise.
28264 (main): Complete rewrite.
28265
28266 * commands/loadenv.c (buffer): Removed.
28267 (envblk): Likewise.
28268 (open_envblk_file): New function.
28269 (read_envblk_file): Complete rewrite.
28270 (grub_cmd_load_env): Likewise.
28271 (grub_cmd_list_env): Likewise.
28272 (struct blocklist): New struct.
28273 (free_blocklists): New function.
28274 (check_blocklists): Likewise.
28275 (write_blocklists): Likewise.
28276 (grub_cmd_save_env): Complete rewrite.
28277
28278 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
28279 a plain text signature.
28280 (GRUB_ENVBLK_MAXLEN): Removed.
28281 (struct grub_envblk): Complete rewrite.
28282 (grub_envblk_find): Removed.
28283 (grub_envblk_insert): Likewise.
28284 (grub_envblk_open): New prototype.
28285 (grub_envblk_set): Likewise.
28286 (grub_envblk_delete): Put const to VALUE.
28287 (grub_envblk_iterate): Put const to NAME and VALUE.
28288 (grub_envblk_close): New prototype.
28289 (grub_envblk_buffer): New inline function.
28290 (grub_envblk_size): Likewise.
28291
28292 * lib/envblk.c: Include grub/mm.h.
28293 (grub_env_find): Removed.
28294 (grub_envblk_open): New function.
28295 (grub_envblk_close): Likewise.
28296 (escaped_value_len): Likewise.
28297 (find_next_line): Likewise.
28298 (grub_envblk_insert): Removed.
28299 (grub_envblk_set): New function.
28300 (grub_envblk_delete): Complete rewrite.
28301 (grub_envblk_iterate): Likewise.
28302
a9368fd3 283032009-03-28 Robert Millan <rmh@aybabtu.com>
28304
28305 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
28306 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
28307 variables. Use 16-bit loader.
28308 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
28309 loader.
28310 * kern/i386/loader.S (grub_linux_boot): Rename to ...
28311 (grub_linux16_boot): ... this. Update all users.
28312 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
28313 (grub_linux_boot): ... this. Update all users.
28314
28315 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
28316 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
28317 commands to `linux16' and `initrd16'.
28318 (GRUB_MOD_FINI(linux)): Rename to ...
28319 (GRUB_MOD_FINI(linux16)): ... this.
28320
e4dd5a7e 283212009-03-24 Pavel Roskin <proski@gnu.org>
28322
28323 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
28324 not just for compilation.
28325
c04d6e05 283262009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
28327
28328 Move multiboot helper out of kernel
28329
28330 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
28331 `loader/i386/multiboot_helper.S'.
28332 * conf/i386-coreboot.rmk: Likewise
28333 * conf/i386-ieee1275.rmk: Likewise
28334
28335 * kern/i386/loader.S: Move multiboot helpers from here...
28336 * loader/i386/multiboot_helper.S: ...moved here
28337 * include/grub/i386/loader.h: Move declarations of multiboot
28338 helpers from here...
28339 * include/grub/i386/multiboot.h: ...moved here
28340 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
28341
42a5b3fc 283422009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
28343
28344 * kern/env.c (grub_env_context_open): Added an argument to specify
28345 whether a new context inherits exported variables from current
28346 one. This is useful when making a sandbox to interpret a config
28347 file.
28348 All callers updated.
28349
28350 * include/grub/env.h (grub_env_context_open): Updated the prototype.
28351
b28bbc4e 283522009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
28353
28354 * kern/env.c (grub_env_context_close): Fix memory leaks.
28355
f04f02e4 283562009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
28357
28358 * normal/main.c (grub_normal_execute): Added an argument
28359 BATCH to specify if an interactive interface should be provided
28360 after reading a config file.
28361 All callers updated.
28362 (read_command_list): Prevent being executed twice.
28363 (read_fs_list): Likewise.
28364
42a5b3fc 28365 * include/grub/normal.h (grub_normal_execute): Updated the
28366 prototype.
f04f02e4 28367
41473ac2 283682009-03-22 Pavel Roskin <proski@gno.org>
28369
fbc00b0c 28370 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
28371 _start.
28372 * kern/i386/pc/startup.S: Likewise.
28373 * kern/i386/efi/startup.S: Likewise.
28374 * kern/i386/ieee1275/startup.S: Likewise.
28375 * kern/i386/coreboot/startup.S: Likewise.
28376 * kern/x86_64/efi/startup.S: Likewise.
28377
41473ac2 28378 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
28379 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
28380 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
28381
2274cc8f 283822009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
28383
28384 Bugfixes in multiboot for bugs uncovered by solaris kernel.
28385
28386 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
28387 limit detection.
28388 Use vaddr of correct segment for entry_point.
28389
b1b797cb 283902009-03-21 Bean <bean123ch@gmail.com>
28391
28392 * commands/blocklist.c: Add include file <grub/command.h>, remove
28393 <grub/normal.h> and <grub/arg.h>.
28394 (grub_cmd_blocklist): Use the new command interface.
28395 (GRUB_MOD_INIT): Likewise.
28396 (GRUB_MOD_FINI): Likewise.
28397 * commands/boot.c: Likewise.
28398 * commands/cat.c: Likewise.
28399 * commands/cmp.c: Likewise.
28400 * commands/configfile.c: Likewise.
28401 * commands/crc.c: Likewise.
28402 * commands/echo.c: Likewise.
28403 * commands/halt.c: Likewise.
28404 * commands/handler.c: Likewise.
28405 * commands/hdparm.c: Likewise.
28406 * commands/help.c: Likewise.
28407 * commands/hexdump.c: Likewise.
28408 * commands/loadenv.c: Likewise.
28409 * commands/ls.c: Likewise.
28410 * commands/lsmmap.c: Likewise.
28411 * commands/lspci.c: Likewise.
28412 * commands/loadenv.c: Likewise.
28413 * commands/read.c: Likewise.
28414 * commands/reboot.c: Likewise.
28415 * commands/search.c: Likewise.
28416 * commands/sleep.c: Likewise.
28417 * commands/test.c: Likewise.
28418 * commands/usbtest.c: Likewise.
28419 * commands/videotest.c: Likewise.
28420 * commands/i386/cpuid.c: Likewise.
28421 * commands/i386/pc/halt.c: Likewise.
28422 * commands/i386/pc/play.c: Likewise.
28423 * commands/i386/pc/pxecmd.c: Likewise.
28424 * commands/i386/pc/vbeinfo.c: Likewise.
28425 * commands/i386/pc/vbetest.c: Likewise.
28426 * commands/ieee1275/suspend.c: Likewise.
28427 * disk/loopback.c: Likewise.
28428 * font/font_cmd.c: Likewise.
28429 * hello/hello.c: Likewise.
28430 * loader/efi/appleloader.c: Likewise.
28431 * loader/efi/chainloader.c: Likewise.
28432 * loader/i386/bsd.c: Likewise.
28433 * loader/i386/efi/linux.c: Likewise.
28434 * loader/i386/ieee1275/linux.c: Likewise.
28435 * loader/i386/linux.c: Likewise.
28436 * loader/i386/pc/chainloader.c: Likewise.
28437 * loader/i386/pc/linux.c: Likewise.
28438 * loader/powerpc/ieee1275/linux.c: Likewise.
28439 * loader/multiboot_loader.c: Likewise.
28440 * term/gfxterm.c: Likewise.
28441 * term/i386/pc/serial.c: Likewise.
28442 * term/terminfo.c: Likewise.
28443
28444 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
28445 * term/i386/pc/vga.c: Likewise.
28446 * video/readers/jpeg.c: Likewise.
28447 * video/readers/png.c: Likewise.
28448 * video/readers/tga.c: Likewise.
28449
28450 * util/grub-fstest (cmd_loopback): Removed.
28451 (cmd_blocklist): Likewise.
28452 (cmd_ls): Likewise.
28453 (grub_register_command): Likewise.
28454 (grub_unregister_command): Likewise.
28455 (execute_command): Use grub_command_find to locate command and execute
28456 it.
28457
28458 * include/grub/efi/chainloader.h: Removed.
28459 * loader/efi/chainloader_normal.c: Likewise.
28460 * loader/i386/bsd_normal.c: Likewise.
28461 * loader/i386/pc/chainloader_normal.c: Likewise.
28462 * loader/i386/pc/multiboot_normal.c: Likewise.
28463 * loader/linux_normal.c: Likewise.
28464 * loader/multiboot_loader_normal.c: Likewise.
28465 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
28466
28467 * gencmdlist.sh: Scan new registration command grub_register_extcmd
28468 and grub_register_command_p1.
28469
28470 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
28471 kern/command.c, lib/arg.c and commands/extcmd.c.
28472 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
28473 (minicmd_mod_SOURCES): New variable.
28474 (minicmd_mod_CFLAGS): Likewise.
28475 (minicmd_mod_LDFLAGS): Likewise.
28476 (extcmd_mod_SOURCES): Likewise.
28477 (extcmd_mod_CFLAGS): Likewise.
28478 (extcmd_mod_LDFLAGS): Likewise.
28479 (boot_mod_SOURCES): Removed.
28480 (boot_mod_CFLAGS): Likewise.
28481 (boot_mod_LDFLAGS): Likewise.
28482
28483 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
28484 kern/corecmd.c.
28485 (kernel_img_HEADERS): Add command.h.
28486 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
28487 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
28488 and lib/arg.c.
28489 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
28490 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
28491 remove the corresponding normal mode command.
28492 (normal_mod_SOURCES): Remove normal/arg.c.
28493 * conf/i386-coreboot.rmk: Likewise.
28494 * conf/i386-efi.rmk: Likewise.
28495 * conf/i386-ieee1275.rmk: Likewise.
28496 * conf/powerpc-ieee1275.rmk: Likewise.
28497 * conf/x86_64-efi.rmk: Likewise.
28498
28499 * include/grub/arg.h: Move from here ...
28500 * include/grub/lib/arg.h: ... to here.
28501
28502 * normal/arg.c: Move from here ...
28503 * lib/arg.c: ... to here.
28504
28505 * commands/extcmd.c: New file.
28506 * commands/minicmd.c: Likewise.
28507 * include/grub/command.h: Likewise.
28508 * include/grub/extcmd.h: Likewise.
28509 * kern/command.c: Likewise.
28510 * kern/corecmd.c: Likewise.
28511
28512 * kern/list.c (grub_list_iterate): Return int instead of void.
28513 (grub_list_insert): New function.
28514 (grub_prio_list_insert): Likewise.
28515
28516 * kern/rescue.c (grub_rescue_command): Removed.
28517 (grub_rescue_command_list): Likewise.
28518 (grub_rescue_register_command): Likewise.
28519 (grub_rescue_unregister_command): Likewise.
28520 (grub_rescue_cmd_boot): Move to minicmd.c
28521 (grub_rescue_cmd_help): Likewise.
28522 (grub_rescue_cmd_info): Likewise.
28523 (grub_rescue_cmd_boot): Likewise.
28524 (grub_rescue_cmd_testload): Likewise.
28525 (grub_rescue_cmd_dump): Likewise.
28526 (grub_rescue_cmd_rmmod): Likewise.
28527 (grub_rescue_cmd_lsmod): Likewise.
28528 (grub_rescue_cmd_exit): Likewise.
28529 (grub_rescue_print_devices): Moved to corecmd.c.
28530 (grub_rescue_print_files): Likewise.
28531 (grub_rescue_cmd_ls): Likewise.
28532 (grub_rescue_cmd_insmod): Likewise.
28533 (grub_rescue_cmd_set): Likewise.
28534 (grub_rescue_cmd_unset): Likewise.
7d074e3c 28535 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 28536 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 28537 commands, remove grub_rescue_register_command calls.
b1b797cb 28538
7d074e3c 28539 * normal/command.c (grub_register_command): Removed.
b1b797cb 28540 (grub_unregister_command): Likewise.
28541 (grub_command_find): Likewise.
28542 (grub_iterate_commands): Likewise.
28543 (rescue_command): Likewise.
28544 (export_command): Moved to corecmd.c.
28545 (set_command): Removed.
28546 (unset_command): Likewise.
28547 (insmod_command): Likewise.
28548 (rmmod_command): Likewise.
28549 (lsmod_command): Likewise.
28550 (grub_command_init): Likewise.
28551
28552 * normal/completion.c (iterate_command): Use cmd->prio to check for
28553 active command.
28554 (complete_arguments): Use grub_extcmd_t structure to find options.
28555 (grub_normal_do_completion): Change function grub_iterate_commands to
28556 grub_command_iterate.
28557
28558 * normal/execute.c (grub_script_execute_cmd): No need to parse
28559 argument here.
28560
28561 * normal/main.c (grub_dyncmd_dispatcher): New function.
28562 (read_command_list): Register unload commands as dyncmd.
28563 (grub_cmd_normal): Use new command interface, register rescue,
28564 unregister normal at entry, register normal, unregister rescue at exit.
28565
28566 * include/grub/list.h (grub_list_test_t): New type.
28567 (grub_list_iterate): Return int instead of void.
28568 (grub_list_insert): New function.
28569 (GRUB_AS_NAMED_LIST_P): New macro.
28570 (GRUB_AS_PRIO_LIST): Likewise.
28571 (GRUB_AS_PRIO_LIST_P): Likewise.
28572 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
28573 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
28574 (grub_prio_list): New structure.
28575 (grub_prio_list_insert): New function.
28576 (grub_prio_list_remove): New inline function.
28577
28578 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
28579 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
28580 (GRUB_COMMAND_FLAG_MENU): Likewise.
28581 (GRUB_COMMAND_FLAG_BOTH): Likewise.
28582 (GRUB_COMMAND_FLAG_TITLE): Likewise.
28583 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
28584 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
28585 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
28586 (grub_command): Likewise.
28587 (grub_register_command): Likewise.
28588 (grub_command_find): Likewise.
28589 (grub_iterate_commands): Likewise.
28590 (grub_command_init): Likewise.
28591 (grub_arg_parse): Likewise.
28592 (grub_arg_show_help): Likewise.
28593
28594 * include/grub/rescue.h (grub_rescue_register_command): Removed.
28595 (grub_rescue_unregister_command): Likewise.
28596
28597 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
28598 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
28599 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
28600
28601 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
28602 grub_rescue_cmd_initrd.
28603 * include/grub/i386/loader.h: Likewise.
28604 * include/grub/x86_64/loader.h: Likewise.
28605
28606 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
28607
1f4147aa 286082009-03-21 Bean <bean123ch@gmail.com>
28609
28610 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
28611 instead of stat in mingw environment.
28612
28613 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
28614
28615 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
28616
28617 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
28618 AC_CONFIG_LINKS.
28619
2156d5ba 286202009-03-21 Bean <bean123ch@gmail.com>
28621
28622 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
28623 out of range error.
28624
177b82ca 286252009-03-18 Michel Dänzer <michel@daenzer.net>
28626
28627 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
28628 checking inode flags for EXT4_EXTENTS_FLAG.
28629
14aad807 286302009-03-18 Robert Millan <rmh@aybabtu.com>
28631
28632 * loader/i386/linux.c: Include `<grub/video.h>' and
28633 `<grub/i386/pc/vbe.h>'..
28634 (grub_linux_setup_video): New function. Loosely based on the EFI one.
28635 (grub_linux32_boot): Attempt to configure video settings with
28636 grub_linux_setup_video().
28637 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
28638 to avoid grub_console_fini() which would step out of graphical mode
28639 unconditionally.
28640
8cf83a27 286412009-03-14 Robert Millan <rmh@aybabtu.com>
28642
28643 Fix build on powerpc.
28644 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
28645
40164e75 286462009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
28647
28648 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
28649 background image command.
28650
c58bc32a 286512009-03-12 Colin D Bennett <colin@gibibit.com>
28652
28653 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
28654 (grub_gfxterm_putchar): Extract pairs of identical calls to
28655 draw_cursor out of conditional blocks.
28656
5415144a 286572009-03-11 Pavel Roskin <proski@gnu.org>
28658
28659 * fs/hfs.c (grub_hfs_strncasecmp): New function.
28660 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
28661
6394042e 286622009-03-11 Robert Millan <rmh@aybabtu.com>
28663
28664 * loader/i386/multiboot_elfxx.c
28665 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
28666
b7b50e5f 286672009-03-11 Felix Zielcke <fzielcke@z-51.de>
28668
28669 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
28670 `kern/handler.c'.
28671
1ca7fc96 286722009-03-11 Robert Millan <rmh@aybabtu.com>
28673
28674 * loader/i386/multiboot.c (code_size): New variable.
28675 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 28676 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 28677 4-byte alignment to MBI and others by increasing
7d074e3c 28678 `boot_loader_name_length' appropriately.
1ca7fc96 28679
28680 * loader/i386/multiboot_elfxx.c
28681 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
28682
a83ea1d2 286832009-03-09 Felix Zielcke <fzielcke@z-51.de>
28684
28685 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
28686 `fs/ext2.c'.
28687
aa9f3bff 286882009-03-08 Robert Millan <rmh@aybabtu.com>
28689
28690 Make loader/i386/linux.c usable on i386-pc again.
28691
28692 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
28693 memory to heap.
28694 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
28695 `#error' stanza.
28696
d8b3b60e 286972009-03-07 Bean <bean123ch@gmail.com>
28698
28699 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
28700 allocation.
28701
b362c9e9 287022009-03-06 Robert Millan <rmh@aybabtu.com>
28703
28704 Fix display issue on terminals with screen size other than 80x25
28705 (e.g. gfxterm with resolution higher than 640x480).
28706
28707 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 28708 position relative to the center of the terminal instead of relying
b362c9e9 28709 on a hardcoded offset.
28710
9304eef1 287112009-03-04 Robert Millan <rmh@aybabtu.com>
28712
28713 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
28714 installed.
28715
28716 * Makefile.in (host_kernel): New variable.
28717 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
28718 scripts instead of just the windows one.
28719 * configure.ac: Initialize and AC_SUBST `host_kernel'.
28720
eabc95fb 287212009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 28722
28723 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
28724 `kern/handler.c'.
28725 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28726 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28727 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28728 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28729 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28730 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28731
ceb1223c 287322009-03-04 Felix Zielcke <fzielcke@z-51.de>
28733
28734 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
28735 or if there's no space for the disk label and print the partition number on a
28736 invalid magic.
28737
4910684a 287382009-03-04 Felix Zielcke <fzielcke@z-51.de>
28739
28740 * util/misc.c: Include <time.h>.
28741 (grub_millisleep): New function.
28742
7e9ca17a 287432009-03-04 Bean <bean123ch@gmail.com>
28744
28745 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
28746 another option -mno-red-zone.
28747
28748 * commands/handler.c: Change module description.
28749
28750 * kern/handler.c: Add missing space at the end of description line.
28751
28752 * kern/list.c: Likewise.
28753
f501677c 287542009-03-03 Robert Millan <rmh@aybabtu.com>
28755
28756 Move more components to the relocation area, and fix mbi pointer
28757 handling to use the destination rather than the origin (thanks to
28758 Vladimir Serbinenko for spotting).
28759
28760 * loader/i386/multiboot.c (mbi_dest): New variable.
28761 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
28762 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
28763 relocation area.
28764
9902d047 287652009-03-01 Bean <bean123ch@gmail.com>
28766
50fb7002 28767 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 28768 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
28769 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
28770 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
28771
28772 * loader/i386/efi/linux.c (acpi_guid): New variable.
28773 (acpi_guid): Likewise.
28774 (EBDA_SEG_ADDR): New constant.
28775 (LOW_MEM_ADDR): Likewise.
28776 (FAKE_EBDA_SEG): Likewise.
28777 (fake_bios_data): New function.
28778 (grub_linux_boot): Call fake_bios_data.
28779
71b9f361 287802009-03-01 Bean <bean123ch@gmail.com>
28781
28782 * commands/terminal.c: Removed.
28783
28784 * commands/handler.c: New file.
28785
28786 * include/grub/list.h: Likewise.
28787
28788 * include/grub/handler.h: Likewise.
28789
28790 * kern/list.c: Likewise.
28791
28792 * kern/handler.c: Likewise.
28793
28794 * kern/term.h: Include header file <grub/handler.h>.
28795 (grub_term_input): Move next field to the beginning.
28796 (grub_term_output): Likewise.
28797 (grub_term_input_class): New variable.
28798 (grub_term_output_class): Likewise.
28799 (grub_term_register_input): Changed to inline function.
28800 (grub_term_register_output): Likewise.
28801 (grub_term_unregister_input): Likewise.
28802 (grub_term_unregister_output): Likewise.
28803 (grub_term_set_current_input): Likewise.
28804 (grub_term_set_current_output): Likewise.
28805 (grub_term_get_current_input): Likewise.
28806 (grub_term_get_current_output): Likewise.
28807 (grub_term_iterate_input): Removed.
28808 (grub_term_iterate_output): Likewise.
28809
28810 * kern/term.c (grub_term_list_input): Removed.
28811 (grub_term_list_output): Likewise.
28812 (grub_term_input_class): New variable.
28813 (grub_term_output_class): Likewise.
50fb7002 28814 (grub_cur_term_input): Change variable as macro.
71b9f361 28815 (grub_cur_term_output): Likewise.
28816 (grub_term_register_input): Removed.
28817 (grub_term_register_output): Likewise.
28818 (grub_term_unregister_input): Likewise.
28819 (grub_term_unregister_output): Likewise.
28820 (grub_term_set_current_input): Likewise.
28821 (grub_term_set_current_output): Likewise.
28822 (grub_term_iterate_input): Likewise.
28823 (grub_term_iterate_output): Likewise.
28824 (grub_term_get_current_input): Likewise.
28825 (grub_term_get_current_output): Likewise.
28826
28827 * util/grub-editenv.c: Include header file <grub/handler.h>.
28828 (grub_term_get_current_input): Removed.
28829 (grub_term_get_current_output): Likewise.
28830 (grub_term_input_class): New variable.
50fb7002 28831 (grub_term_output_class): Likewise.
71b9f361 28832
28833 * util/grub-fstest.c (grub_term_get_current_input): Removed.
28834 (grub_term_get_current_output): Likewise.
28835 (grub_term_input_class): New variable.
50fb7002 28836 (grub_term_output_class): Likewise.
71b9f361 28837
28838 * util/grub-probe.c (grub_term_get_current_input): Removed.
28839 (grub_term_get_current_output): Likewise.
28840 (grub_term_input_class): New variable.
50fb7002 28841 (grub_term_output_class): Likewise.
71b9f361 28842
28843 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
28844 (grub_term_get_current_output): Likewise.
28845 (grub_term_input_class): New variable.
50fb7002 28846 (grub_term_output_class): Likewise.
71b9f361 28847
28848 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
28849 (terminal_mod_SOURCES): Likewise.
28850 (terminal_mod_CFLAGS): Likewise.
28851 (terminal_mod_LDFLAGS): Likewise.
28852
28853 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
28854 handler.c.
28855 (kernel_img_SOURCES): Add list.c and handler.c.
28856 (kernel_img_HEADERS): Add list.h and handler.h.
28857
28858 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
28859 handler.c.
28860 (kernel_mod_SOURCES): Add list.c and handler.c.
28861 (kernel_mod_HEADERS): Add list.h and handler.h.
28862
28863 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
28864 handler.c.
28865 (kernel_elf_SOURCES): Add list.c and handler.c.
28866 (kernel_elf_HEADERS): Add list.h and handler.h.
28867
28868 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
28869 handler.c.
28870 (kernel_elf_SOURCES): Add list.c and handler.c.
28871 (kernel_elf_HEADERS): Add list.h and handler.h.
28872
28873 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
28874 handler.c.
28875 (kernel_mod_SOURCES): Add list.c and handler.c.
28876 (kernel_mod_HEADERS): Add list.h and handler.h.
28877
28878 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
28879 handler.c.
28880 (kernel_elf_SOURCES): Add list.c and handler.c.
28881 (kernel_elf_HEADERS): Add list.h and handler.h.
28882
8a31787f 288832009-02-27 Robert Millan <rmh@aybabtu.com>
28884
28885 Factorize elf32 / elf64 code in Multiboot loader. This will
28886 prevent it from getting out of sync again.
28887
28888 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
28889 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
28890 grub_multiboot_load_elf64): Move from here ...
28891 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
28892 grub_multiboot_load_elf): ... to here (new file).
28893
51cd3dfc 288942009-02-27 Robert Millan <rmh@aybabtu.com>
28895
28896 * util/grub.d/10_linux.in: Rename "single-user mode" to
28897 "recovery mode".
28898
6e8c9c3a 288992009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
28900
28901 Don't leak in SCSI code.
28902 * disk/scsi.c (grub_scsi_close): free `scsi'.
28903
4b6bf4f9 289042009-02-27 Robert Millan <rmh@aybabtu.com>
28905
28906 * loader/i386/pc/multiboot.c: Move from here ...
28907 * loader/i386/multiboot.c: ... to here. Update all users.
28908
b9413424 289092009-02-27 Robert Millan <rmh@aybabtu.com>
28910
28911 Patch from Alexandre Bique <bique.alexandre@gmail.com>
28912 * util/i386/pc/grub-setup.c (setup): Fix directory path.
28913
50fb7002 289142009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 28915
28916 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
28917 b-tree.
28918
8cc50345 289192009-02-27 Robert Millan <rmh@aybabtu.com>
28920
28921 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
28922 `0x' qualifier as 0 when base is specified as parameter).
28923
6e09b8b7 289242009-02-24 Bean <bean123ch@gmail.com>
28925
28926 * configure.ac: Check for -mcmodel=large in x86_64 target.
28927
28928 * include/grub/efi/api.h (efi_call_10): New macro.
28929 (efi_wrap_10): New function.
28930
28931 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
28932 (GRUB_PE32_REL_BASED_HIGH): Likewise.
28933 (GRUB_PE32_REL_BASED_LOW): Likewise.
28934 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
28935 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
28936 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
28937 (GRUB_PE32_REL_BASED_SECTION): Likewise.
28938 (GRUB_PE32_REL_BASED_REL): Likewise.
28939 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
28940 (GRUB_PE32_REL_BASED_DIR64): Likewise.
28941 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
28942
28943 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
28944 issue.
28945
28946 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
28947 (efi_wrap_10): New function.
28948
28949 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
28950
28951 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
28952 MB/MBP model (NV chipset).
28953 (devdata_devs): Add devpath_5 to the list.
28954
28955 * load/i386/efi/linux.c (video_base): Remove variable.
28956 (RGB_MASK): New macro.
28957 (RGB_MAGIC): Likewise.
28958 (LINE_MIN): Likewise.
28959 (LINE_MAX): Likewise.
28960 (FBTEST_STEP): Likewise.
28961 (FBTEST_COUNT): Likewise.
28962 (fb_list): New variable.
28963 (grub_find_video_card): Remove function.
28964 (find_framebuf): New function.
28965 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
28966 line length.
28967
28968 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
28969 problem for x86_64.
28970
74b21bee 289712009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
28972
28973 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
28974
28975 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
28976 coding tool name.
28977
a455f472 289782009-02-22 Robert Millan <rmh@aybabtu.com>
28979
28980 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
28981 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
28982 in our relocation, instead of using it directly from heap. Also
28983 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
28984
6374daf3 289852009-02-21 Robert Millan <rmh@aybabtu.com>
28986
28987 Implement USB keyboard support (based on patch by Marco Gerards)
28988
28989 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
28990 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
28991 (usb_keyboard_mod_LDFLAGS): New variables.
28992
28993 * term/usb_keyboard.c: New file.
28994
8fa4ea70 289952009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28996
28997 Corrected wrong declaration
28998
28999 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
29000
353976ac 290012009-02-14 Christian Franke <franke@computer.org>
29002
29003 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
29004 (grub_lspci_iter): Print class code and programming interface byte.
29005
6aa1169b 290062009-02-14 Christian Franke <franke@computer.org>
29007
29008 * gendistlist.sh: Ignore `.svn' directories.
29009
265372ca 290102009-02-14 Felix Zielcke <fzielcke@z-51.de>
29011
29012 * fs/fat.c: Add 2009 to Copyright line.
29013
9ff516f3 290142009-02-14 Christian Franke <franke@computer.org>
29015
29016 * commands/hdparm.c: New file. Provides `hdparm' command
29017 which sends ATA commands via grub_disk_ata_pass_through ().
29018
29019 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
29020
29021 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
29022 and <grub/cpu/io.h> to include/grub/ata.h.
29023 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
29024 (GRUB_CDROM_SECTOR_SIZE): Remove.
29025 (GRUB_ATA_*): Move to include/grub/ata.h.
29026 (GRUB_ATAPI_*): Likewise.
29027 (enum grub_ata_commands): Likewise.
29028 (enum grub_ata_timeout_milliseconds): Likewise.
29029 (struct grub_ata_device): Likewise.
29030 (grub_ata_regset): Likewise.
29031 (grub_ata_regget): Likewise.
29032 (grub_ata_regset2): Likewise.
29033 (grub_ata_regget2): Likewise.
29034 (grub_ata_check_ready): Likewise.
29035 (grub_ata_wait_not_busy): Remove static, exported in
29036 include/grub/ata.h.
29037 (grub_ata_wait_drq): Likewise.
29038 (grub_ata_pio_read): Likewise.
29039
29040 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
29041 function for hdparm.mod.
29042
29043 * include/grub/ata.h: New file, contains declarations from
29044 disk/ata.c.
29045 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
29046
29047 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
29048 (grub_disk_ata_pass_through): New exported variable.
29049
29050 * kern/disk.c (grub_disk_ata_pass_through): New variable.
29051
772e23da 290522009-02-13 Colin D Bennett <colin@gibibit.com>
29053
29054 Support multiple fallback entries, and provide an API to support
29055 executing default+fallback menu entries. Renamed the `terminal' menu
29056 viewer to `text'.
29057
29058 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
29059 variable declaration.
29060 (grub_menu_execute_callback): New structure declaration.
29061 (grub_menu_execute_callback_t): New typedef.
29062 (grub_menu_execute_with_fallback): New function declaration.
29063 (grub_menu_get_entry): Likewise.
29064 (grub_menu_get_timeout): Likewise.
29065 (grub_menu_set_timeout): Likewise.
29066
29067 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
29068
29069 * normal/menu.c (grub_wait_after_message): Moved to
29070 `normal/menu_text.c'.
29071 (draw_border): Likewise.
29072 (print_message): Likewise.
29073 (print_entry): Likewise.
29074 (print_entries): Likewise.
29075 (grub_menu_init_page): Likewise.
29076 (get_entry_number): Likewise.
29077 (print_timeout): Likewise.
29078 (run_menu): Likewise.
29079 (grub_menu_execute_entry): Likewise.
29080 (show_text_menu): Likewise.
29081 (get_and_remove_first_entry_number): New function.
29082 (grub_menu_execute_with_fallback): Likewise.
29083 (get_entry): Renamed to ...
29084 (grub_menu_get_entry): .. this and made it global.
29085 (get_timeout): Renamed to ...
29086 (grub_menu_get_timeout): ... this and made it global.
29087 (set_timeout): Renamed to ...
29088 (grub_menu_set_timeout): ... this and made it global.
29089 (grub_normal_terminal_menu_viewer): Renamed to ...
29090 (grub_normal_text_menu_viewer): ... this.
29091
29092 * normal/menu_text.c: New file. Extracted text-menu-specific code
29093 from normal/menu.c.
29094
29095 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
29096 (normal_mod_SOURCES): Likewise.
29097
29098 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29099 (normal_mod_SOURCES): Likewise.
29100
29101 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29102 (normal_mod_SOURCES): Likewise.
29103
29104 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
29105 (normal_mod_SOURCES): Likewise.
29106
29107 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29108 (normal_mod_SOURCES): Likewise.
29109
29110 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29111 (normal_mod_SOURCES): Likewise.
29112
29113 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29114 (normal_mod_SOURCES): Likewise.
29115
16ac430e 291162009-02-11 Robert Millan <rmh@aybabtu.com>
29117
29118 * util/grub.d/00_header.in: Update old reference to `font' command.
29119
06ff20fc 291202009-02-10 Felix Zielcke <fzielcke@z-51.de>
29121
29122 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
29123
29124 Based on patch from Javier Martín.
29125
96da9407 291262009-02-09 Felix Zielcke <fzielcke@z-51.de>
29127
29128 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 29129 to avoid false positives with FAT.
96da9407 29130 (grub_fstest_SOURCES): Likewise.
29131 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29132 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29133 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29134 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29135 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29136 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29137
6dca6fe4 291382009-02-09 Felix Zielcke <fzielcke@z-51.de>
29139
06ff20fc 29140 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 29141 bpb.version_specific.fat12_or_fat16.fstype and
29142 bpb.version_specific.fat32.fstype.
29143
2550c62f 291442009-02-08 Robert Millan <rmh@aybabtu.com>
29145
be110b30 29146 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 29147
56978920 291482009-02-08 Robert Millan <rmh@aybabtu.com>
29149
29150 * Makefile.in (host_os, host_cpu): New variables.
29151 (target_os): Remove. Update all users.
29152
d64399b5 291532009-02-08 Marco Gerards <marco@gnu.org>
29154
29155 * Makefile.in (enable_grub_emu_usb): New variable.
29156 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
29157 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
29158 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
29159 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
29160 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
29161 `usbtest.mod' and `usbms.mod'.
29162 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
29163 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
29164 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
29165 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
29166 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
29167 variables.
29168
29169 * disk/usbms.c: New file.
29170
29171 * include/grub/usb.h: Likewise.
29172
29173 * include/grub/usbtrans.h: Likewise.
29174
29175 * include/grub/usbdesc.h: Likewise.
29176
29177 * bus/usb/usbtrans.c: Likewise.
29178
29179 * bus/usb/ohci.c: Likewise.
29180
29181 * bus/usb/uhci.c: Likewise.
29182
29183 * bus/usb/usbhub.c: Likewise.
29184
29185 * bus/usb/usb.c: Likewise.
29186
29187 * commands/usbtest.c: Likewise.
29188
29189 * util/usb.c: Likewise.
50fb7002 29190
d64399b5 29191 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
29192
29193 * configure.ac: Test for libusb presence.
50fb7002 29194
d64399b5 29195 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
29196
2b40d6bb 291972009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
29198
29199 * kern/mm.c: Add more comments.
29200
73a4ce81 292012009-02-08 Robert Millan <rmh@aybabtu.com>
29202
29203 Patch from Javier Martín.
29204 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
29205 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
29206
f821ce59 292072009-02-08 Robert Millan <rmh@aybabtu.com>
29208
29209 * fs/cpio.c: Split tar functionality to ...
29210 * fs/tar.c: ... here (new file). Update all users.
29211
aebfc4b0 292122009-02-07 Robert Millan <rmh@aybabtu.com>
29213
29214 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
29215 backward-incompatible features.
29216
29217 Based on patch from Javier Martín, with some adjustments.
29218
50fb7002 292192009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 29220
29221 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
29222
0bb5115e 292232009-02-07 Robert Millan <rmh@aybabtu.com>
29224
29225 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
29226 position of `disk/lvm.c' to ensure grub_init_all() always picks it
29227 after the RAID stuff.
29228
38a0f8e7 292292009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
29230
50fb7002 29231 Fixes problem when running vbetest command as reported by
38a0f8e7 29232 Vladimir Serbinenko <phcoder@gmail.com>.
29233
29234 * (grub_vbe_set_video_mode): Fixed problem with text modes.
29235
3143cc1c 292362009-02-04 Felix Zielcke <fzielcke@z-51.de>
29237
29238 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
29239 /dev/md/NpN style mdraid devices.
29240
9cba6fce 292412009-02-03 Felix Zielcke <fzielcke@z-51.de>
29242
29243 * util/unifont2pff.rb: Remove.
29244
e507a2c1 292452009-02-03 Felix Zielcke <fzielcke@z-51.de>
29246
29247 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
29248 `#'.
29249
d2c2b4cd 292502009-02-03 Felix Zielcke <fzielcke@z-51.de>
29251
29252 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
29253 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29254 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29255 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29256 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29257 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29258 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29259
b4315fb0 292602009-02-02 Christian Franke <franke@computer.org>
29261
29262 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
29263
de3aa260 292642009-02-01 Felix Zielcke <fzielcke@z-51.de>
29265
7c3ff286 29266 * INSTALL: Note that we now require at least autoconf 2.59 and
29267 that LZO is optional.
de3aa260 29268
825a182b 292692009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
29270
29271 Base on patch on bug #24154 created by Tomas Tintera
29272 <trosos@seznam.cz>.
29273
29274 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
29275
a69ef770 292762009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
29277
7c3ff286 29278 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 29279 <bero@arklinux.org>.
29280
29281 * normal/parser.y (script_init): Add missing semicolon.
29282
6fa42fa6 292832009-01-31 Colin D Bennett <colin@gibibit.com>
29284
7c3ff286 29285 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 29286 (free_menu_entry_classes): Added.
29287 (grub_normal_menu_addentry): Added class property handling.
29288 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
29289 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
29290
29291 * normal/menu_viewer.c: New file.
29292
29293 * normal/menu.c (run_menu_entry): Renamed to ...
29294 (grub_menu_execute_entry): ... this and made it as global.
29295 (grub_menu_run): Renamed to ...
29296 (show_text_menu): ... this and made it local.
29297 (show_text_menu): Adapt to new function names.
29298 (grub_normal_terminal_menu_viewer): New global variable.
29299
29300 * include/grub/menu.h: New file.
29301
29302 * include/grub/menu_viewer.h: New file.
29303
29304 * include/grub/normal.h: Added include to grub/menu.h.
29305 (grub_menu_entry): Moved to include/grub/menu.h.
29306 (grub_menu_entry_t): Likewise.
29307 (grub_menu): Likewise.
29308 (grub_menu_t): Likewise.
29309 (grub_normal_terminal_menu_viewer): Added.
29310 (grub_menu_execute_entry): Likewise.
29311 (grub_menu_run): Removed.
29312
29313 * DISTLIST: Added include/grub/menu.h.
29314 Added include/grub/menu_viewer.h.
29315 Added normal/menu_viewer.c.
29316
293172009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
29318
29319 * normal/execute.c (grub_script_execute_menuentry): Changed to use
29320 arglist for menutitle arguments.
29321
29322 * normal/main.c (grub_normal_menu_addentry): Likewise.
29323
29324 * normal/parser.y (menuentry): Likewise.
29325
29326 * normal/script.c (grub_script_create_cmdmenu): Likewise.
29327
29328 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
29329 (grub_script_create_cmdmenu): Likewise.
29330
29331 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
29332
29333 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
29334 changes.
29335
29336 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
29337
29338 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
29339
29340 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
29341
29342 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
29343
29344 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
29345
29346 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
29347
56192c23 293482009-01-30 Christian Franke <franke@computer.org>
29349
29350 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
29351 in option help text.
29352
d72521b3 293532009-01-27 Pavel Roskin <proski@gnu.org>
29354
29355 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
29356
994b5e84 293572009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
29358
29359 * commands/lsmmap.c: Add include to grub/machine/memory.h.
29360
29361 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
29362
29363 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
29364 unregister function.
29365
6a7eab2c 293662009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
29367
29368 * disk/scsi.c (grub_scsi_read): Fix sign problem.
29369
29370 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
29371
29372 * util/grub-mkfont.c (usage): Fix typo.
29373
29374 * util/elf/grub-mkimage.c (load_modules): Fix warning.
29375
1806b56e 293762009-01-26 Daniel Mierswa <impulze@impulze.org>
29377
3fb18f09 29378 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
29379
336e1fb9 29380 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
29381
1806b56e 29382 * kern/misc.c (grub_strcasecmp): New function.
29383 (grub_strcasecmp): Use grub_size_t instead of int for length.
29384 Fix return value.
29385 * include/grub/misc.h: Update function prototypes.
29386
580b2a0f 293872009-01-26 Robert Millan <rmh@aybabtu.com>
29388
29389 * configure.ac: Fix cross-compilation check.
ef257b36 29390
d31c24f1 293912009-01-22 Christian Franke <franke@computer.org>
29392
29393 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
29394 (precision) digit string. Allow `.format2' without `format1' (width).
29395 Limit input chars for `%s' output to `format2' if specified. This is
29396 compatible with standard printf ().
29397
3138b44c 293982009-01-22 Christian Franke <franke@computer.org>
29399
29400 * disk/ata.c (grub_ata_wait_status): Replace by ...
29401 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
29402 other status bits may be invalid while BSY is asserted.
29403 (grub_ata_check_ready): New function.
29404 (grub_ata_cmd): Removed.
29405 (grub_ata_wait_drq): New function.
29406 (grub_ata_strncpy): Remove inline.
29407 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
29408 and error check now done by grub_ata_wait_drq ().
29409 (grub_ata_pio_write): Likewise.
29410 (grub_atapi_identify): Set DEV before check for !BSY. Use
29411 grub_ata_wait_drq () to wait for data.
29412 (grub_ata_device_initialize): Add status register check to
29413 detect missing SATA slave devices. Add debug messages.
29414 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
29415 (grub_atapi_packet): Set DEV before check for !BSY. Replace
29416 transfer loop by grub_ata_pio_write ().
29417 (grub_ata_identify): Set DEV before check for !BSY. Use
29418 grub_ata_wait_drq () to wait for data.
ef257b36 29419 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 29420 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
29421 read/write in one loop. Fix invalid command on write. Fix incomplete
29422 command on (size % batch) == 0. Add missing error check after write of
29423 last block. Add debug messages.
29424 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
29425
59a64ef6 294262009-01-19 Christian Franke <franke@computer.org>
29427
29428 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
29429 (GRUB_ATAPI_IREASON_*): Likewise.
29430 (grub_ata_pio_write): Fix timeout error return.
29431 (grub_atapi_identify): Add grub_ata_wait () after cmd.
29432 (grub_atapi_wait_drq): New function.
29433 (grub_atapi_packet): New parameter `size'.
29434 Use grub_atapi_wait_drq () and direct write instead of
29435 grub_ata_pio_write ().
29436 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
29437 reads the number of bytes requested by the device for each DRQ
29438 assertion.
29439 (grub_atapi_write): Remove old implementation, return not
29440 implemented instead.
29441
1cfe20b3 294422009-01-19 Christian Franke <franke@computer.org>
29443
29444 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
29445 of 512 to calculate data size.
29446 (grub_scsi_read12): Likewise.
29447 (grub_scsi_write10): Likewise.
29448 (grub_scsi_write12): Likewise.
29449 (grub_scsi_read): Adjust size according to blocksize.
29450 Add checks for invalid blocksize and unaligned transfer.
29451
bee5fe5d 294522009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
29453
29454 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
29455
ef257b36 29456 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 29457 width glyphs.
29458
3e643f8c 294592009-01-19 Robert Millan <rmh@aybabtu.com>
29460
29461 * config.guess: Update to latest version from config git.
29462 * config.sub: Likewise.
29463
4fa80998 294642009-01-17 Felix Zielcke <fzielcke@z-51.de>
29465
29466 * Makefile.in: Change font compilation to use new grub-mkfont instead
29467 of java version.
29468
29469 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
29470 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
29471 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
29472 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
29473 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
29474 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
29475 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
29476 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
29477 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
29478
7086085b 294792009-01-16 Christian Franke <franke@computer.org>
29480
29481 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
29482 (enum grub_ata_timeout_milliseconds): New enum.
29483 (grub_ata_wait_status): Add parameter milliseconds.
29484 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
29485 recovery from timed-out commands.
29486 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
29487 return grub_errno instead of REG_ERROR.
29488 (grub_ata_pio_write): Add parameter milliseconds.
29489 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
29490 Pass milliseconds to grub_ata_wait_status () and
29491 grub_ata_pio_read ().
29492 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
29493 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
29494 grub_ata_wait_status (). Fix IDENTIFY timeout check.
29495 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
29496 It is not suitable for device detection, because DEV bit is ignored,
29497 the command may run too long, and not all devices set the signature
29498 properly.
29499 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
29500 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
29501 Fix device selection, DEV bit must be set first to address the registers
29502 of the correct device.
29503 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
29504 grub_ata_pio_read/write ().
29505 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
29506 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
29507
4a412913 295082009-01-13 Carles Pina i Estany <carles@pina.cat>
29509
29510 * util/grub-editenv.c (main): Use fseeko(), not fseek().
29511
7795c55e 295122009-01-13 Bean <bean123ch@gmail.com>
d913988c 29513
29514 * util/grub-mkfont.c (write_font): forget to remove some debug code.
29515
7795c55e 295162009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 29517
29518 * Makefile.in: (enable_grub_mkfont): New variable.
29519 (freetype_cflags): Likewise.
29520 (freetype_libs): Likewise.
29521
29522 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
29523 (grub_mkfont_SOURCES): New variable.
29524 (grub_mkfont_CFLAGS): Likewise.
29525 (grub_mkfont_LDFLAGS): Likewise.
29526
29527 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
29528 library if `--enable-grub-mkfont' is requested.
29529 (enable_grub_mkfont): New variable.
29530 (freetype_cflags): Likewise.
29531 (freetype_libs): Likewise.
29532
29533 * util/grub-mkfont.c: New file.
29534
093af1fe 295352009-01-12 Christian Franke <franke@computer.org>
29536
29537 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
29538 mode check. Fix setting of compat_use[].
29539
f36cc108 295402009-01-10 Robert Millan <rmh@aybabtu.com>
29541
29542 Update a few copyright years which we forgot to do in 2008 (only for
29543 files whose changes made in 2008 were copyright-significant)
29544
29545 * Makefile.in: Add 2008 to Copyright line.
29546 * disk/ieee1275/ofdisk.c: Likewise.
29547 * disk/efi/efidisk.c: Likewise.
29548 * kern/dl.c: Likewise.
29549 * kern/sparc64/ieee1275/init.c: Likewise.
29550 * kern/mm.c: Likewise.
29551 * kern/efi/mm.c: Likewise.
29552 * boot/i386/pc/boot.S: Likewise.
29553 * genfslist.sh: Likewise.
29554 * fs/iso9660.c: Likewise.
29555 * fs/hfs.c: Likewise.
29556 * fs/jfs.c: Likewise.
29557 * fs/minix.c: Likewise.
29558 * fs/ufs.c: Likewise.
29559 * gensymlist.sh.in: Likewise.
29560 * genkernsyms.sh.in: Likewise.
29561 * include/grub/misc.h: Likewise.
29562 * include/grub/types.h: Likewise.
29563 * include/grub/symbol.h: Likewise.
29564 * include/grub/elf.h: Likewise.
29565 * include/grub/kernel.h: Likewise.
29566 * include/grub/disk.h: Likewise.
29567 * include/grub/dl.h: Likewise.
29568 * include/grub/i386/linux.h: Likewise.
29569 * include/grub/i386/pc/biosdisk.h: Likewise.
29570 * include/grub/efi/api.h: Likewise.
29571 * include/grub/efi/pe32.h: Likewise.
29572 * include/grub/util/misc.h: Likewise.
29573 * normal/execute.c: Likewise.
29574 * normal/arg.c: Likewise.
29575 * normal/completion.c: Likewise.
29576 * normal/lexer.c: Likewise.
29577 * normal/parser.y: Likewise.
29578 * normal/misc.c: Likewise.
29579 * commands/i386/pc/vbeinfo.c: Likewise.
29580 * commands/hexdump.c: Likewise.
29581 * commands/terminal.c: Likewise.
29582 * commands/ls.c: Likewise.
29583 * commands/help.c: Likewise.
29584 * partmap/pc.c: Likewise.
29585 * loader/efi/chainloader.c: Likewise.
29586 * loader/multiboot_loader.c: Likewise.
29587 * loader/i386/pc/multiboot2.c: Likewise.
29588 * term/efi/console.c: Likewise.
29589 * term/i386/pc/serial.c: Likewise.
29590 * util/lvm.c: Likewise.
29591 * util/console.c: Likewise.
29592 * util/i386/efi/grub-mkimage.c: Likewise.
29593 * util/raid.c: Likewise.
29594
7f02114b 295952009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
29596
29597 * commands/videotest.c: Removed include to grub/machine/memory.h.
29598
29599 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
29600 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
29601 (video_mod_SOURCES): Removed.
29602 (video_mod_CFLAGS): Likewise.
29603 (video_mod_LDFLAGS): Likewise.
29604 (gfxterm_mod_SOURCES): Likewise.
29605 (gfxterm_mod_CFLAGS): Likewise.
29606 (gfxterm_mod_LDFLAGS): Likewise.
29607 (videotest_mod_SOURCES): Likewise.
29608 (videotest_mod_CFLAGS): Likewise.
29609 (videotest_mod_LDFLAGS): Likewise.
29610 (bitmap_mod_SOURCES): Likewise.
29611 (bitmap_mod_CFLAGS): Likewise.
29612 (bitmap_mod_LDFLAGS): Likewise.
29613 (tga_mod_SOURCES): Likewise.
29614 (tga_mod_CFLAGS): Likewise.
29615 (tga_mod_LDFLAGS): Likewise.
29616 (jpeg_mod_SOURCES): Likewise.
29617 (jpeg_mod_CFLAGS): Likewise.
29618 (jpeg_mod_LDFLAGS): Likewise.
29619 (png_mod_SOURCES): Likewise.
29620 (png_mod_CFLAGS): Likewise.
29621 (png_mod_LDFLAGS): Likewise.
29622
29623 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
29624 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
29625 (video_mod_SOURCES): Added.
29626 (video_mod_CFLAGS): Likewise.
29627 (video_mod_LDFLAGS): Likewise.
29628 (videotest_mod_SOURCES): Likewise.
29629 (videotest_mod_CFLAGS): Likewise.
29630 (videotest_mod_LDFLAGS): Likewise.
29631 (bitmap_mod_SOURCES): Likewise.
29632 (bitmap_mod_CFLAGS): Likewise.
29633 (bitmap_mod_LDFLAGS): Likewise.
29634 (tga_mod_SOURCES): Likewise.
29635 (tga_mod_CFLAGS): Likewise.
29636 (tga_mod_LDFLAGS): Likewise.
29637 (jpeg_mod_SOURCES): Likewise.
29638 (jpeg_mod_CFLAGS): Likewise.
29639 (jpeg_mod_LDFLAGS): Likewise.
29640 (png_mod_SOURCES): Likewise.
29641 (png_mod_CFLAGS): Likewise.
29642 (png_mod_LDFLAGS): Likewise.
29643 (gfxterm_mod_SOURCES): Likewise.
29644 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 29645 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 29646
29647 * term/gfxterm.c: Removed include to grub/machine/memory.h,
29648 grub/machine/console.h.
29649
644fff97 296502009-01-04 Jerone Young <jerone@gmail.com>
29651
29652 Make on screen instructions clearer
29653
29654 Based on patch created by Jidanni <jidanni@jidanni.org>
29655
29656 * normal/menu.c: print clearer instructions on the screen
29657
1e901a75 296582009-01-02 Colin D Bennett <colin@gibibit.com>
29659
29660 New font engine.
34c44600 29661
1e901a75 29662 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
29663 build system and fixed gfxterm.c to work with different sized fonts.
29664
29665 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 29666
1e901a75 29667 * configure: Re-generated.
34c44600 29668
1e901a75 29669 * DISTLIST: Removed font/manager.c.
29670 Added font/font.c.
29671 Added font/font_cmd.c.
34c44600 29672
1e901a75 29673 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
29674 compilation.
34c44600 29675
1e901a75 29676 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 29677
29678 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 29679
29680 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 29681
1e901a75 29682 * normal/menu.c: Likewise.
34c44600 29683
1e901a75 29684 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
29685 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 29686
1e901a75 29687 * include/grub/font.h: Replaced with new file.
34c44600 29688
1e901a75 29689 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
29690 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
29691 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
29692 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
29693 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 29694 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 29695 fg_red, fg_green, fg_blue, fg_alpha.
29696 (grub_video_adapter): Removed blit_glyph.
34c44600 29697 (grub_video_blit_glyph): Removed.
29698
1e901a75 29699 * font/manager.c: Removed file.
34c44600 29700
29701 * font/font.c: New file.
29702
1e901a75 29703 * font/font_cmd.c: Likewise.
34c44600 29704
1e901a75 29705 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 29706
1e901a75 29707 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
29708 (grub_video_vbe_map_rgba): Likewise.
29709 (grub_video_vbe_unmap_color_int): Likewise.
29710 (grub_video_vbe_blit_glyph): Removed.
29711 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 29712
1e901a75 29713 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
29714 (get_pixel): Likewise.
34c44600 29715 (set_pixel): Likewise.
29716
1e901a75 29717 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 29718
1e901a75 29719 * term/gfxterm.c: Adapted to new font engine.
34c44600 29720
1e901a75 29721 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 29722
1e901a75 29723 * term/i386/pc/vga.c: Likewise.
34c44600 29724
1e901a75 29725 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 29726
1e901a75 29727 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 29728
1e901a75 29729 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 29730
1e901a75 29731 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 29732
1e901a75 29733 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 29734
1e901a75 29735 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 29736
1e901a75 29737 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 29738
1e901a75 29739 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 29740
1e901a75 29741 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
29742
29743 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 29744
1e901a75 29745 * util/grub-mkconfig_lib.in: Changed font extension.
29746
278922e8 297472008-12-28 Felix Zielcke <fzielcke@z-51.de>
29748
29749 * util/getroot.c (grub_util_get_grub_dev): Add support for
29750 /dev/md/dNNpNN style partitionable mdraid devices.
29751
3ced05cf 297522008-12-12 Alex Smith <alex@alex-smith.me.uk>
29753
29754 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
29755 at a time limit of the PXE TFTP API correctly.
29756 (grub_pxefs_close): Likewise.
29757
7fd0ee30 297582008-11-29 Robert Millan <rmh@aybabtu.com>
29759
34c44600 29760 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 29761 grub_ata_device_initialize() calls.
29762
34c44600 297632008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 29764
29765 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
29766 iteration failed.
29767 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
29768
89313780 297692008-11-28 Robert Millan <rmh@aybabtu.com>
29770
29771 Fix build on powerpc-ieee1275. Based on patch created by
29772 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
29773 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
29774 `kern/ieee1275/mmap.c'.
29775 * include/grub/powerpc/ieee1275/memory.h: New file.
29776
15257703 29777 Provide grub-install on coreboot.
29778 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
29779 (grub_install_SOURCES): New variable.
29780 * util/i386/pc/grub-install.in: Add a few condition checks to make it
29781 usable on coreboot.
29782
9fc5388a 297832008-11-25 Felix Zielcke <fzielcke@z-51.de>
29784
29785 * util/grub-fstest.c (grub_term_get_current_input): Change return type
29786 to `grub_term_input_t'.
29787 (grub_term_get_current_output): Change return type to
29788 `grub_term_output_t'.
29789
bc3a2f31 297902008-11-22 Robert Millan <rmh@aybabtu.com>
29791
34c44600 29792 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 29793 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
29794 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
29795 grub_vga_text_cls().
29796
80fc88f2 29797 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 29798 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 29799
cbf36fd3 29800 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
29801 to 0x200000 (avoids trouble with some OFW implementations, and matches
29802 with the one in Yaboot).
29803 Reported by Manoel Abranches
29804
73e8e268 298052008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 29806
29807 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
29808 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
29809
73e8e268 29810 * util/grub-mkconfig_lib.in (grub_warn): New function.
29811 (convert_system_path_to_grub_path): Use grub_warn() when issuing
29812 warnings, to obtain consistent formatting.
29813 * util/grub.d/00_header.in: Likewise.
29814 * util/update-grub_lib.in: Likewise.
29815
e94045a1 29816 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 29817 Move comment text to `#error' stanza.
e94045a1 29818
79d29fd7 29819 Harmonize ieee1275's grub_available_iterate() with the generic
29820 grub_machine_mmap_iterate() interface (fixes a recently-introduced
29821 build problem on i386-ieee1275):
29822 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
29823 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
29824 parameter `type'. Update all users of this function.
29825 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
29826 `kern/ieee1275/mmap.c'.
29827 * kern/ieee1275/init.c
29828 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
29829 with ...
29830 (grub_machine_mmap_iterate): ... this.
29831 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
29832 return type to `grub_err_t'. Update all implementations of this
29833 function prototype.
29834 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
29835 Likewise.
29836
60d6b16e 29837 Add `lsmmap' command (lists firmware-provided memory map):
29838 * commands/lsmmap.c: New file.
29839 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
29840 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
29841 variables.
29842 * conf/powerpc-ieee1275.rmk: Likewise.
29843 * conf/i386-coreboot.rmk: Likewise.
29844 * conf/i386-ieee1275.rmk: Likewise.
29845
ebaaf49b 298462008-11-19 Robert Millan <rmh@aybabtu.com>
29847
29848 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 29849 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
29850 constraints to initrd allocation (based on code from
29851 loader/i386/pc/linux.c). Without them, initrd was allocated too high
29852 for Linux to find it.
ebaaf49b 29853
dfab719f 298542008-11-14 Robert Millan <rmh@aybabtu.com>
29855
29856 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
29857 order to cope with duplicate slashes.
29858
10fc3eb9 298592008-11-14 Robert Millan <rmh@aybabtu.com>
29860
29861 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
29862 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
29863 don't want to mess with lower memory, because it is used in the Linux
29864 loader.
29865
29866 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 29867 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 29868 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
29869 is in our heap (probably as a result of it being corrupted during
2f2a3442 29870 decompression). Add #error instance with comment to explain why this
29871 loader isn't currently usable on PC/BIOS.
10fc3eb9 29872
e2e07847 298732008-11-14 Robert Millan <rmh@aybabtu.com>
29874
29875 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 29876 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 29877
fe8e8d69 298782008-11-12 Robert Millan <rmh@aybabtu.com>
29879
29880 Make loader/i386/linux.c buildable on i386-pc (although disabled).
29881
29882 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
29883 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
29884 from here ...
29885 * include/grub/i386/pc/memory.h: ... to here.
29886
976b07d0 298872008-11-12 Robert Millan <rmh@aybabtu.com>
29888
29889 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
29890 split).
29891
29892 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
29893 (grub_console_cur_color, grub_console_real_putchar)
29894 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
29895 (grub_console_setcolorstate, grub_console_setcolor)
29896 (grub_console_getcolor): Move from here ...
29897 * include/grub/i386/vga_common.h: ... to here (new file).
29898
29899 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
29900 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
29901 `<grub/i386/io.h>'.
29902 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
29903 `<grub/i386/vga_common.h>'.
29904
76679cd3 299052008-11-12 Robert Millan <rmh@aybabtu.com>
29906
29907 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
29908 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
29909 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
29910 variables.
29911 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
29912 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
29913
29914 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
29915 grub_console_init() with call to grub_vga_text_init().
29916 (grub_machine_fini): Replace call to
29917 grub_console_fini() with call to grub_vga_text_fini() and
29918 grub_at_keyboard_fini().
29919
29920 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
29921 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
29922 (grub_console_setcolorstate, grub_console_setcolor)
29923 (grub_console_getcolor): New function prototypes.
29924
29925 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
29926 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
29927 (grub_vga_text_setcursor): Static-ize.
29928 (grub_vga_text_term): New structure.
29929 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
29930
29931 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
29932 (grub_console_cur_color, grub_console_standard_color)
29933 (grub_console_normal_color, grub_console_highlight_color)
29934 (map_char, grub_console_putchar, grub_console_getcharwidth)
29935 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
29936 (grub_console_getcolor): Move from here ...
29937 * term/i386/vga_common.c: ... to here (same function names).
29938
95b841d3 299392008-11-12 Robert Millan <rmh@aybabtu.com>
29940
29941 Use newly-added Multiboot support in coreboot.
29942
29943 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
29944 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
29945
29946 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
29947 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
29948 (codestart): Store the MBI in `startup_multiboot_info' when we're
29949 being loaded using Multiboot.
29950
29951 * kern/i386/coreboot/init.c (grub_machine_init): Move
29952 grub_at_keyboard_init() call to beginning of function (useful for
29953 debugging). Call grub_machine_mmap_init() before attempting to use
29954 grub_machine_mmap_iterate().
29955 (grub_lower_mem, grub_upper_mem): Move from here ...
29956 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
29957 here (new file).
29958
29959 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
29960 function prototype.
29961
761ca975 299622008-11-12 Robert Millan <rmh@aybabtu.com>
29963
29964 Fix a regression introduced by the at_keyboard.mod split. Because
29965 some terminals are default on some platforms and non-default on
29966 others, the first terminal being registered determines which is
29967 going to be default.
29968
29969 * kern/term.c (grub_term_register_input): If this is the first
29970 terminal being registered, set it as the current one.
29971 (grub_term_register_output): Likewise.
29972
29973 * term/efi/console.c (grub_console_init): Do not call
29974 grub_term_set_current_output() or grub_term_set_current_input().
29975 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
29976 * term/i386/pc/console.c (grub_console_init): Likewise.
29977 (grub_console_fini): Do not call grub_term_set_current_input()
29978 (but leave grub_term_set_current_output() to restore text mode).
29979
6c529df7 299802008-11-10 Robert Millan <rmh@aybabtu.com>
29981
29982 * util/grub.d/00_header.in: Add backward compatibility check for
29983 versions of terminal.mod that don't understand `terminal_input' or
29984 `terminal_output'.
29985
132e4113 299862008-11-09 Robert Millan <rmh@aybabtu.com>
29987
29988 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
29989 `terminal_input' / `terminal_output', not `terminal'.
29990
ac293d50 299912008-11-08 Robert Millan <rmh@aybabtu.com>
29992
29993 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 29994 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 29995
0025933a 299962008-11-08 Robert Millan <rmh@aybabtu.com>
29997
29998 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 29999 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 30000 members. Update all users.
30001 * util/console.c (grub_ncurses_term): Split in ...
30002 (grub_ncurses_term_input): ... this, and ...
30003 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 30004 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 30005
37c86336 300062008-11-08 Robert Millan <rmh@aybabtu.com>
30007
30008 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
30009 (PKGDATA): Add $(pkgdata_SRCDIR).
30010 (pkglib_BUILDDIR): New variable.
30011 (pkgdata_SRCDIR): New variable.
30012 (build_env.mk): New target.
30013 (include_DATA): New variable.
30014 (install-local): Install $(include_DATA) files in $(includedir).
30015
b6c15a2d 300162008-11-07 Pavel Roskin <proski@gnu.org>
30017
d99d46f1 30018 * gendistlist.sh: Use C locale for sorting to ensure consistent
30019 output on all systems.
30020
b6c15a2d 30021 * util/grub.d/00_header.in: Remove incorrect space before
30022 "serial".
30023
c32ee8c9 300242008-11-07 Robert Millan <rmh@aybabtu.com>
30025
30026 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
30027 per specification.
30028 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
30029 * loader/multiboot_loader.c (find_multi_boot2_header): New function
30030 (based on find_multi_boot1_header).
30031 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
30032 using find_multi_boot2_header(), and abort if neither Multiboot or
30033 Multiboot headers were found.
30034
651c29b7 300352008-11-07 Robert Millan <rmh@aybabtu.com>
30036
30037 Modularize at_keyboard.mod:
30038
30039 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
30040 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
30041 (at_keyboard_mod_LDFLAGS): New variables.
30042
30043 Actual terminal split:
30044
30045 * include/grub/term.h (struct grub_term): Split in ...
30046 (struct grub_term_input): ... this, and ...
30047 (struct grub_term_output): ... this. Update all users.
30048 (grub_term_set_current): Split in ...
30049 (grub_term_set_current_input): ... this, and ...
30050 (grub_term_set_current_output): ... this.
30051 (grub_term_get_current): Split in ...
30052 (grub_term_get_current_input): ... this, and ...
30053 (grub_term_get_current_output): ... this.
30054 (grub_term_register): Split in ...
30055 (grub_term_register_input): ... this, and ...
30056 (grub_term_register_output): ... this.
30057 (grub_term_unregister): Split in ...
30058 (grub_term_unregister_input): ... this, and ...
30059 (grub_term_unregister_output): ... this.
30060 (grub_term_iterate): Split in ...
30061 (grub_term_iterate_input): ... this, and ...
30062 (grub_term_iterate_output): ... this.
30063
30064 * kern/term.c (grub_term_list): Split in ...
30065 (grub_term_list_input): ... this, and ...
30066 (grub_term_list_output): ... this. Update all users.
30067 (grub_cur_term): Split in ...
30068 (grub_cur_term_input): ... this, and ...
30069 (grub_cur_term_output): ... this. Update all users.
30070 (grub_term_set_current): Split in ...
30071 (grub_term_set_current_input): ... this, and ...
30072 (grub_term_set_current_output): ... this.
30073 (grub_term_get_current): Split in ...
30074 (grub_term_get_current_input): ... this, and ...
30075 (grub_term_get_current_output): ... this.
30076 (grub_term_register): Split in ...
30077 (grub_term_register_input): ... this, and ...
30078 (grub_term_register_output): ... this.
30079 (grub_term_unregister): Split in ...
30080 (grub_term_unregister_input): ... this, and ...
30081 (grub_term_unregister_output): ... this.
30082 (grub_term_iterate): Split in ...
30083 (grub_term_iterate_input): ... this, and ...
30084 (grub_term_iterate_output): ... this.
30085
30086 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
30087 a check for input and one for output (and only attempt to get keys
30088 from user when input works).
30089
30090 * util/grub-probe.c (grub_term_get_current): Split in ...
30091 (grub_term_get_current_input): ... this, and ...
30092 (grub_term_get_current_output): ... this.
30093 * util/grub-fstest.c: Likewise.
30094 * util/i386/pc/grub-setup.c: Likewise.
30095 * util/grub-editenv.c: Likewise.
30096
30097 Portability adjustments:
30098
30099 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
30100 `term/i386/pc/at_keyboard.c'.
30101 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
30102 grub_keyboard_controller_init() (now handled by terminal .init).
30103 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
30104 grub_at_keyboard_init().
30105 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
30106 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
30107 at_keyboard.mod via input terminal interface).
30108 * include/grub/i386/coreboot/console.h: Convert into a stub for
30109 `<grub/i386/pc/console.h>'.
30110
30111 Migrate full terminals to new API:
30112
30113 * term/efi/console.c (grub_console_term): Split into ...
30114 (grub_console_term_input): ... this, and ...
30115 (grub_console_term_output): ... this. Update all users.
30116 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
30117 (grub_ofconsole_init): Split into ...
30118 (grub_ofconsole_init_input): ... this, and ...
30119 (grub_ofconsole_init_output): ... this.
30120 (grub_ofconsole_term): Split into ...
30121 (grub_ofconsole_term_input): ... this, and ...
30122 (grub_ofconsole_term_output): ... this. Update all users.
30123 * term/i386/pc/serial.c (grub_serial_term): Split into ...
30124 (grub_serial_term_input): ... this, and ...
30125 (grub_serial_term_output): ... this. Update all users.
30126 * term/i386/pc/console.c (grub_console_term): Split into ...
30127 (grub_console_term_input): ... this, and ...
30128 (grub_console_term_output): ... this. Update all users.
30129 (grub_console_term_input): Only enable it on PC/BIOS platform.
30130 (grub_console_init): Remove grub_keyboard_controller_init() call.
30131
30132 Migrate input terminals to new API:
30133
30134 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
30135 `i386' and `i386/pc' to enable build on x86_64 (this driver is
30136 i386-specific anyway).
30137 (grub_console_checkkey): Rename to ...
30138 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
30139 users.
30140 (grub_keyboard_controller_orig): New variable.
30141 (grub_console_getkey): Rename to ...
30142 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
30143 users.
30144 (grub_keyboard_controller_init): Static-ize. Save original
30145 controller value so that it can be restored ...
30146 (grub_keyboard_controller_fini): ... here (new function).
30147 (grub_at_keyboard_term): New structure.
30148 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
30149 functions.
30150
30151 Migrate output terminals to new API:
30152
30153 * term/i386/pc/vga.c (grub_vga_term): Change type to
30154 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
30155 members. Update all users.
30156 * term/gfxterm.c (grub_video_term): Change type to
30157 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
30158 members. Update all users.
30159 * include/grub/i386/pc/console.h (grub_console_checkkey)
30160 (grub_console_getkey): Do not export (no longer needed by gfxterm,
30161 etc).
30162
30163 Migrate `terminal' command and userland tools to new API:
30164
30165 * commands/terminal.c (grub_cmd_terminal): Split into ...
30166 (grub_cmd_terminal_input): ... this, and ...
30167 (grub_cmd_terminal_output): ... this.
30168 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
30169 `terminal_input' and `terminal_output'.
30170 * util/grub.d/00_header.in: Adjust `terminal' calls to new
30171 `terminal_input' / `terminal_output' API.
30172 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
30173 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
30174 provided ${GRUB_TERMINAL}, convert it).
30175
96e5d876 301762008-11-04 Robert Millan <rmh@aybabtu.com>
30177
30178 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
30179 for FreeBSD.
30180 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
30181
556f3775 301822008-11-03 Bean <bean123ch@gmail.com>
30183
30184 * kern/elf.c (grub_elf32_load): Revert to previous code.
30185 (grub_elf64_load): Likewise.
30186
30187 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
30188
926b9823 301892008-11-01 Robert Millan <rmh@aybabtu.com>
30190
30191 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
30192 (TARGET_CPPFLAGS): Likewise.
30193 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
30194
1432e958 301952008-11-01 Carles Pina i Estany <carles@pina.cat>
30196
30197 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
30198
dba3f844 301992008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 30200
30201 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
30202 addition of objects until the code is not going to be able to fail.
30203
dba3f844 302042008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 30205
30206 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
30207 (add a missing NULL check, and correct them by moving the pointer
30208 operations after the actual check).
30209
7ab28c21 302102008-10-29 Robert Millan <rmh@aybabtu.com>
30211
30212 * util/i386/pc/grub-install.in: Handle empty string as output from
30213 make_system_path_relative_to_its_root().
30214
1b7748eb 302152008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
30216
30217 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
30218 circular metadata worst case scenario. If the metadata is circular
30219 then copy the wrap in place.
30220 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
30221 project lib/format_text/layout.h
30222 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
30223
c9618ab2 302242008-10-03 Felix Zielcke <fzielcke@z-51.de>
30225
7a36edca 30226 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 30227
bf981c62 302282008-10-03 Felix Zielcke <fzielcke@z-51.de>
30229
30230 * util/update-grub_lib.in: Mention filename in warning message.
30231
6d994591 302322008-09-29 Felix Zielcke <fzielcke@z-51.de>
30233
30234 * NEWS: Update for rename of update-grub to grub-mkconfig.
30235
18ade780 302362008-09-29 Felix Zielcke <fzielcke@z-51.de>
30237
30238 * util/update-grub_lib.in: Copy to ...
30239 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 30240 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 30241 * util/update-grub.in: Rename to ...
30242 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
30243 option. Add `--output' option to allow users to specify the generated
30244 configuration file. Default to stdout.
30245 (update_grub_dir): Rename to ...
30246 (grub_mkconfig_dir): ... this.
30247 (grub_cfg): Default to an empty string.
30248 * conf/common.rmk (update-grub): Rename to ...
30249 (grub-mkconfig): ... this.
30250 (update-grub_lib): Copy to ...
30251 (grub-mkconfig_lib): ... this.
30252 (update-grub_SCRIPTS): Copy to ...
30253 (grub-mkconfig_SCRIPTS): ... this. Update all users.
30254 (update-grub_DATA): Rename to ...
30255 (grub-mkconfig_DATA): ... this.
30256
556ce6ac 302572008-09-28 Robert Millan <rmh@aybabtu.com>
30258
30259 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
30260 to `modified'. Add the real `created' field.
30261 (grub_iso9660_uuid): Use `modified' rather than `created' for
30262 constructing the UUID.
30263
302642008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 30265
30266 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
30267 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
30268
92274e85 302692008-09-28 Bean <bean123ch@gmail.com>
30270
30271 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
30272 Thanks to Christian Franke for finding this bug.
30273
add6f17a 302742008-09-25 Robert Millan <rmh@aybabtu.com>
30275
30276 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
30277 instances of grub_util_get_disk_name() (see previous commit).
30278
d2a367b8 302792008-09-25 Robert Millan <rmh@aybabtu.com>
30280
30281 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
30282 `util/i386/get_disk_name.c'.
30283 * conf/i386-efi.rmk: Likewise.
30284 * conf/x86_64-efi.rmk: Likewise.
30285 * conf/i386-coreboot.rmk: Likewise.
30286 * conf/i386-ieee1275.rmk: Likewise.
30287 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
30288 `util/ieee1275/get_disk_name.c'.
30289 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
30290 * util/ieee1275/get_disk_name.c: Remove file.
30291 * util/i386/get_disk_name.c: Remove file.
30292 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
30293 "hd%d" for device.map entries, rather than using
30294 grub_util_get_disk_name().
30295
81a06771 302962008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 30297
30298 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
30299 warning.
30300 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
30301
5a004279 303022008-09-24 Carles Pina i Estany <carles@pina.cat>
30303
30304 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
30305 Changed to 0x5100.
30306 (GRUB_TERM_PPAGE): Changed to 0x4900.
30307
397093d3 303082008-09-24 Robert Millan <rmh@aybabtu.com>
30309
30310 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
30311 macros (they were i386-pc specific).
30312 * include/grub/sparc64/ieee1275/console.h: Likewise.
30313 * include/grub/efi/console.h: Likewise.
30314
a91b6c7c 303152008-09-22 Bean <bean123ch@gmail.com>
30316
30317 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
30318 resident and in attribute list.
30319
30320 * include/grub/ntfs.h (BMP_LEN): Removed.
30321
c40fd116 303222008-09-22 Bean <bean123ch@gmail.com>
30323
81a06771 30324 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 30325 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
30326
30327 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
30328 error occurs, as grub_disk_open will call grub_disk_close, which will
30329 call p->close (scsi).
30330
81a06771 303312008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 30332
30333 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
30334 (AC_PREREQ): Bumped to 2.59.
30335 (AC_TRY_COMPILE): Replace obsolete macro with ...
30336 (AC_COMPILE_IFELSE): ... this.
30337 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
30338 (AC_LINK_IFELSE): ... this.
30339
5dc43410 303402008-09-21 Felix Zielcke <fzielcke@z-51.de>
30341
30342 * autogen.sh: Add a call to `gendistlist.sh'.
30343
9035dce4 303442008-09-19 Christian Franke <franke@computer.org>
30345
30346 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
30347 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
30348 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
30349 Export __enable_execute_stack() to modules.
30350 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
30351 New function.
30352
7fd75377 303532008-09-09 Felix Zielcke <fzielcke@z-51.de>
30354
040030b3 30355 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
30356 Sort the list.
30357
303582008-09-09 Felix Zielcke <fzielcke@z-51.de>
30359
30360 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 30361 #include <grub/util/hostdisk.h>.
30362
89d5ffcf 303632008-09-08 Robert Millan <rmh@aybabtu.com>
30364
30365 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
30366 segments when their filesz is zero (grub_file_read() interprets
81a06771 30367 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 30368 Use `lowest_segment' rather than 0 for calculating the current
30369 segment load address.
30370
40da438f 303712008-09-08 Robert Millan <rmh@aybabtu.com>
30372
30373 * util/hostdisk.c (open_device): Replace a grub_util_info() call
30374 with grub_dprintf("hostdisk", ...), as it was so verbose that it
30375 clobbered useful information.
30376
ddbf5556 303772008-09-08 Robert Millan <rmh@aybabtu.com>
30378
30379 * include/grub/util/biosdisk.h: Move to ...
30380 * include/grub/util/hostdisk.h: ... here. Update all users.
30381 * util/biosdisk.c: Move to ...
30382 * util/hostdisk.c: ... here. Update all users.
30383
783d0f48 303842008-09-07 Robert Millan <rmh@aybabtu.com>
30385
30386 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
30387 variables.
30388 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
30389 and length can be stored directly in the `mbi->mmap_addr' and
30390 `mbi->mmap_length' struct fields.
30391
548e2ea5 303922008-09-07 Robert Millan <rmh@aybabtu.com>
30393
30394 * conf/i386.rmk: New file. Provides declaration for building
30395 `cpuid.mod'.
30396 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
30397 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
30398 variables.
30399 Include `conf/i386.mk'.
30400 * conf/i386-efi.rmk: Likewise.
30401 * conf/x86_64-efi.rmk: Likewise.
30402 * conf/i386-coreboot.rmk: Likewise.
30403 * conf/i386-ieee1275.rmk: Likewise.
30404
0ea85a37 304052008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
30406
30407 Based on patch created by Colin D Bennett <colin@gibibit.com>.
30408 Adds optimization support for BGR based modes.
30409
30410 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
30411 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
30412 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
30413 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
30414 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
30415 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
30416 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
30417 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
30418 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
30419 (grub_video_i386_vbeblit_index_index): Likewise.
30420 (grub_video_i386_vbeblit_replace_directN): Added.
30421 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
30422 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
30423 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
30424 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
30425 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
30426 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 30427 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 30428 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
30429 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
30430 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
30431 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
30432 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
30433 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
30434
30435 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
30436 (grub_video_i386_vbefill_R8G8B8): Likewise.
30437 (grub_video_i386_vbefill_index): Likewise.
30438 (grub_video_i386_vbefill_direct32): Added.
30439 (grub_video_i386_vbefill_direct24): Likewise.
30440 (grub_video_i386_vbefill_direct16): Likewise.
30441 (grub_video_i386_vbefill_direct8): Likewise.
30442
81a06771 30443 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 30444 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
30445 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
30446 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
30447 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
30448 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 30449
0ea85a37 30450 * video/video.c (grub_video_get_blit_format): Updated to use new
30451 blit formats. Added handling for 16 bit color modes.
81a06771 30452
30453 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 30454 fillers.
30455 (common_blitter): Updated to use new blitters.
30456
30457 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
30458 Removed.
30459 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
30460 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
30461 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
30462 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
30463 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
30464 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
30465 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
30466 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
30467 (grub_video_i386_vbeblit_index_index): Likewise.
30468 (grub_video_i386_vbeblit_replace_directN): Added.
30469 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
30470 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
30471 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
30472 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
30473 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
30474 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
30475 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
30476 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
30477 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
30478 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
30479 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
30480 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
30481 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 30482
0ea85a37 30483 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
30484 (grub_video_i386_vbefill_R8G8B8): Likewise.
30485 (grub_video_i386_vbefill_index): Likewise.
30486 (grub_video_i386_vbefill_direct32): Added.
30487 (grub_video_i386_vbefill_direct24): Likewise.
30488 (grub_video_i386_vbefill_direct16): Likewise.
30489 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 30490
0ea85a37 30491 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
30492 types.
81a06771 30493
0ea85a37 30494 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
30495 types.
81a06771 30496
0ea85a37 30497 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
30498 blitter types.
81a06771 30499
0ea85a37 30500 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
30501 types.
30502
e8a83df6 305032008-09-06 Felix Zielcke <fzielcke@z-51.de>
30504
30505 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
30506 RAID level 1.
30507
6bcd8ee5 305082008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 30509
6bcd8ee5 30510 * fs/iso9660.c (grub_iso9660_date): New structure.
30511 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
30512 (grub_iso9660_uuid): New function.
c375ae58 30513
59261157 305142008-09-05 Bean <bean123ch@gmail.com>
30515
30516 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
30517
30518 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
30519 insensitive bit for names in Win32 and Win32 & DOS namespace.
30520
30521 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
30522
30523 * include/grub/types.h (LONG_MAX): Likewise.
30524
58b6645a 305252008-09-04 Felix Zielcke <fzielcke@z-51.de>
30526
4ee55921 30527 * util/getroot.c: Include <config.h>.
30528 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
30529 add support for /dev/md/N devices and handle LVM double dash escaping.
30530
305312008-09-04 Felix Zielcke <fzielcke@z-51.de>
30532
30533 * config.guess: Update to latest version from config git.
30534 * config.sub: Likewise.
58b6645a 30535
9124f65d 305362008-09-03 Robert Millan <rmh@aybabtu.com>
30537
30538 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
30539 `disk->total_sectors'.
30540
81a06771 305412008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 30542
30543 * include/grub/normal.h: Fixed incorrect comment for
30544 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
30545
81a06771 305462008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 30547
30548 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
30549 values with defines.
30550
30551 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
30552 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
30553 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
30554 (GRUB_VBE_MODEATTR_COLOR): Likewise.
30555 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
30556 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
30557 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
30558 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
30559 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
30560 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
30561 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
30562 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
30563 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
30564 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
30565 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
30566 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
30567 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
30568 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
30569 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
30570
93d5cbf8 305712008-08-31 Robert Millan <rmh@aybabtu.com>
30572
30573 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
30574 declaration.
30575 (grub_multiboot): Fix a few warnings.
30576
21751d50 305772008-08-31 Robert Millan <rmh@aybabtu.com>
30578
30579 * loader/i386/pc/multiboot.c: Update comment not to say that
30580 boot_device support is unimplemented.
30581
e27a75c5 305822008-08-31 Robert Millan <rmh@aybabtu.com>
30583
30584 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
30585 or memory map support are unimplemented.
30586
81a06771 305872008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 30588
30589 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
30590
81a06771 305912008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 30592
30593 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
30594 total video memory in 'vbeinfo' output; show color format details for
30595 each video mode.
30596
7c5d8d95 305972008-08-30 Pavel Roskin <proski@gnu.org>
30598
30599 * util/genmoddep.c: Remove for real this time.
30600 * DISTLIST: Remove util/genmoddep.c.
30601
4cebd25a 306022008-08-30 Robert Millan <rmh@aybabtu.com>
30603
30604 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
30605 as required by Multiboot spec (it was already 4-byte aligned, but
30606 only by chance).
30607
b497a269 306082008-08-29 Pavel Roskin <proski@gnu.org>
30609
e3925185 30610 * kern/powerpc/ieee1275/crt0.S: Rename to ...
30611 * kern/powerpc/ieee1275/startup.S: ... this.
30612 * conf/powerpc-ieee1275.rmk: Adjust for the above.
30613 * DISTLIST: Likewise.
30614
b497a269 30615 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
30616 grub/cpu/kernel.h. Add start label for consistency with other
30617 platforms. Add grub_prefix immediately after start. Add jump
30618 to the code after grub_prefix.
30619 * include/grub/powerpc/kernel.h: Provide valid values for
30620 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
30621
6e5a42fe 306222008-08-29 Bean <bean123ch@gmail.com>
30623
30624 * configure.ac: Change host_os to cygwin for mingw.
30625 (asprintf): New check for function.
30626
30627 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
30628 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
30629
30630 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 30631 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 30632 sync, sleep and grub_util_get_disk_size for mingw.
30633
30634 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
30635 to get size in mingw.
30636 (open_device): Use flag O_BINARY if it's defined.
30637 (find_root_device): Add dummy code for mingw.
30638
30639 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
30640 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
30641 (get_scsi_disk_name): Return 0 for mingw.
30642
30643 * util/hostfs.c: #include <grub/util/misc.h>.
30644 (grub_hostfs_open): Use "rb" flag to open file, use
30645 grub_util_get_disk_size to get disk size for mingw.
30646
30647 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
30648 (asprintf): New function if HAVE_ASPRINTF is not set.
30649 (sync): New function for mingw.
30650 (sleep): Likewise.
30651 (grub_util_get_disk_size): Likewise.
30652
ab3f2673 306532008-08-28 Pavel Roskin <proski@gnu.org>
30654
30655 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
30656 kern/time.c.
30657
1c282483 306582008-08-28 Robert Millan <rmh@aybabtu.com>
30659
30660 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
30661
678e849c 306622008-08-28 Robert Millan <rmh@aybabtu.com>
30663
30664 Change find_grub_drive() syntax so it doesn't prevent it from
30665 detecting NULL names as errors.
30666
30667 * util/biosdisk.c (find_grub_drive): Move free slot search code
30668 from here ...
30669 (find_free_slot): ... to here.
30670 (read_device_map): Use find_free_slot() to search for free slots.
30671
965c75ca 306722008-08-27 Marco Gerards <marco@gnu.org>
30673
30674 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
30675 (scsi_mod_SOURCES): New variable.
30676 (scsi_mod_CFLAGS): Likewise
30677 (scsi_mod_LDFLAGS): Likewise.
30678
30679 * disk/scsi.c: New file.
30680
30681 * include/grub/scsi.h: Likewise.
30682
30683 * include/grub/scsicmd.h: Likewise.
30684
30685 * disk/ata.c: Include <grub/scsi.h>.
30686 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
30687 instead.
30688 (grub_ata_iterate): Skip ATAPI devices.
30689 (grub_ata_open): Only handle ATAPI devices.
30690 (struct grub_atapi_read): Removed.
30691 (grub_atapi_readsector): Likewise.
30692 (grub_ata_read): No longer handle ATAPI devices.
30693 (grub_ata_write): Likewise.
30694 (grub_atapi_iterate): New function.
30695 (grub_atapi_read): Likewise.
30696 (grub_atapi_write): Likewise.
30697 (grub_atapi_open): Likewise.
30698 (grub_atapi_close): Likewise.
30699 (grub_atapi_dev): New variable.
30700 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
30701 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
30702
30703 * include/grub/disk.h (enum grub_disk_dev_id): Add
30704 `GRUB_DISK_DEVICE_SCSI_ID'.
30705
c07ae501 307062008-08-26 Robert Millan <rmh@aybabtu.com>
30707
30708 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
30709 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
30710 descriptive.
30711
5ed20adc 307122008-08-23 Bean <bean123ch@gmail.com>
30713
30714 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
30715 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
30716 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
30717 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
30718 dm_nv.mod.
30719 (raid5rec_mod_SOURCES): New macro.
30720 (raid5rec_mod_CFLAGS): Likewise.
30721 (raid5rec_mod_LDFLAGS): Likewise.
30722 (raid6rec_mod_SOURCES): Likewise.
30723 (raid6rec_mod_CFLAGS): Likewise.
30724 (raid6rec_mod_LDFLAGS): Likewise.
30725 (mdraid_mod_SOURCES): Likewise.
30726 (mdraid_mod_CFLAGS): Likewise.
30727 (mdraid_mod_LDFLAGS): Likewise.
30728 (dm_nv_mod_SOURCES): Likewise.
30729 (dm_nv_mod_CFLAGS): Likewise.
30730 (dm_nv_mod_LDFLAGS): Likewise.
30731
30732 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
30733 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
30734 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
30735
30736 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
30737 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
30738
30739 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30740
30741 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30742
30743 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30744
30745 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30746
30747 * disk/raid5_recover.c: New file.
30748
30749 * disk/raid6_recover.c: Likewise.
30750
30751 * disk/mdraid_linux.c: Likewise.
30752
30753 * disk/dmraid_nvidia.c: Likewise.
30754
30755 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
30756 ULONG_MAX.
30757
30758 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
30759 calculate the size of raid device.
30760 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
30761 different layout of raid5.
30762 (grub_raid_scan_device): Remove code specific to mdraid.
30763 (grub_raid_list): New variable.
30764 (free_array): New function.
30765 (grub_raid_register): Likewise.
30766 (grub_raid_unregister): Likewise.
30767 (grub_raid_rescan): Likewise.
30768 (GRUB_MOD_INIT): Don't iterate device here.
30769 (GRUB_MOD_FINI): Use free_array to release resource.
30770
30771 * include/grub/raid.h: Remove macro and structure specific to mdraid.
30772 (grub_raid5_recover_func_t): New function variable type.
30773 (grub_raid6_recover_func_t): Likewise.
30774 (grub_raid5_recover_func): New variable.
30775 (grub_raid6_recover_func): Likewise.
30776 (grub_raid_register): New function.
30777 (grub_raid_unregister): Likewise.
30778 (grub_raid_rescan): Likewise.
30779 (grub_raid_block_xor): Likewise.
30780
30781 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
30782 (CMD_CRC): New macro.
30783 (part): Removed.
30784 (read_file): Handle device as well as file.
30785 (cmd_crc): New function.
30786 (fstest): Handle multiple disks.
30787 (options): Remove part, raw and long, add root and diskcount.
30788 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 30789 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 30790 add handling for the new options, support multiple disks.
30791
30792 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
30793
29c18915 307942008-08-23 Bean <bean123ch@gmail.com>
30795
30796 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
30797
30798 * genfslist.sh: Ignore kernel.mod.
30799
30800 * genpartmaplist.sh: Likewise.
30801
8415f261 308022008-08-23 Robert Millan <rmh@aybabtu.com>
30803
30804 * util/getroot.c (find_root_device): Skip anything that starts with
30805 a dot, not just directories. This avoids things like /dev/.tmp.md0.
30806
d5a7dc5b 308072008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 30808
d5a7dc5b 30809 * util/update-grub.in (GRUB_GFXMODE): Export variable.
30810 * util/grub.d/00_header.in: Allow the administrator to change default
30811 gfxmode via ${GRUB_GFXMODE}.
30812
380cfbb4 308132008-08-21 Felix Zielcke <fzielcke@z-51.de>
30814
30815 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
30816
c9baafe7 308172008-08-21 Robert Millan <rmh@aybabtu.com>
30818
30819 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
30820 loader.
30821 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
30822 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
30823
e290bef2 308242008-08-20 Carles Pina i Estany <carles@pina.cat>
30825
30826 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
30827 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
30828
f9dbfc96 308292008-08-19 Robert Millan <rmh@aybabtu.com>
30830
30831 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
30832 (struct grub_virtual_screen): Remove `cursor_color'.
30833 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
30834 initialization.
30835 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
30836
dd6bd6ab 308372008-08-18 Robert Millan <rmh@aybabtu.com>
30838
30839 Unify (identical) linux_normal.c files.
30840 * loader/i386/efi/linux_normal.c: Move from here ...
30841 * loader/linux_normal.c: ... to here. Update all users.
30842 * loader/i386/pc/linux_normal.c: Delete. Update all users.
30843 * loader/i386/ieee1275/linux_normal.c: Likewise.
30844
7f42f83e 308452008-08-18 Robert Millan <rmh@aybabtu.com>
30846
30847 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
30848 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
30849 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
30850 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
30851 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
30852 New macros.
30853 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
30854 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
30855 (GRUB_LINUX_CL_END_OFFSET): ... to here.
30856 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
30857 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
30858 (GRUB_EFI_CL_END_OFFSET): Rename to ...
30859 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
30860 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
30861 Initialize `params->video_cursor_x' and `params->video_cursor_y'
30862 portably using grub_getxy().
30863 Replace `-EFI' with `-bzImage' in boot message.
30864
38487ddb 308652008-08-17 Robert Millan <rmh@aybabtu.com>
30866
30867 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
30868
deceb3ec 308692008-08-17 Robert Millan <rmh@aybabtu.com>
30870
30871 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
30872
30873 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
30874 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
30875 (grub_machine_mmap_iterate): New function declaration.
30876 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
30877 structure.
30878 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
30879 macros.
30880
30881 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
30882 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
30883 Move e820 parsing from here ...
30884 * kern/i386/pc/mmap.c: New file.
30885 (grub_machine_mmap_iterate): ... to here.
30886
30887 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
30888 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
30889 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
30890 (grub_available_iterate): Redeclare to return `void', and redeclare
30891 its hook to use grub_uint64_t as addr and size parameters, and rename
30892 to ...
30893 (grub_machine_mmap_iterate): ... this. Update all users.
30894
30895 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
30896 to make it more readable. Rename to ...
30897 (grub_machine_mmap_iterate): ... this.
30898
30899 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
30900 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
30901 (grub_multiboot): Allocate an extra region after the payload, and fill
30902 it with a Multiboot memory map. Adjust a.out loader to calculate size
30903 with the extra space.
30904 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
30905 with the extra space.
30906
f8aa0f43 309072008-08-17 Carles Pina i Estany <carles@pina.cat>
30908
9807deb9 30909 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 30910
605f5bb6 309112008-08-17 Felix Zielcke <fzielcke@z-51.de>
30912
30913 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
30914 mdate-sh to the list `find' searches for.
30915 * DISTLIST: Regenerated.
30916
210db6c6 309172008-08-16 Felix Zielcke <fzielcke@z-51.de>
30918
30919 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
30920 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 30921 genmoddep.awk, gensymlist.sh.in.
30922 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 30923 * DISTLIST: Regenerated.
48cdbfd4 30924 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 30925
1082b929 309262008-08-16 Robert Millan <rmh@aybabtu.com>
30927
30928 * disk/raid.c (grub_raid_init): Handle/report errors set by
30929 grub_device_iterate().
30930 * disk/lvm.c (grub_lvm_init): Likewise.
30931
42ce5170 309322008-08-15 Bean <bean123ch@gmail.com>
30933
30934 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30935 and datehook.mod.
30936 (datetime_mod_SOURCES): New macro.
30937 (datetime_mod_CFLAGS): Likewise.
30938 (datetime_mod_LDFLAGS): Likewise.
30939 (date_mod_SOURCES): Likewise.
30940 (date_mod_CFLAGS): Likewise.
30941 (date_mod_LDFLAGS): Likewise.
30942 (datehook_mod_SOURCES): Likewise.
30943 (datehook_mod_CFLAGS): Likewise.
30944 (datehook_mod_LDFLAGS): Likewise.
30945
30946 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30947 and datehook.mod.
30948 (datetime_mod_SOURCES): New macro.
30949 (datetime_mod_CFLAGS): Likewise.
30950 (datetime_mod_LDFLAGS): Likewise.
30951 (date_mod_SOURCES): Likewise.
30952 (date_mod_CFLAGS): Likewise.
30953 (date_mod_LDFLAGS): Likewise.
30954 (datehook_mod_SOURCES): Likewise.
30955 (datehook_mod_CFLAGS): Likewise.
30956 (datehook_mod_LDFLAGS): Likewise.
30957
30958 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30959 and datehook.mod.
30960 (datetime_mod_SOURCES): New macro.
30961 (datetime_mod_CFLAGS): Likewise.
30962 (datetime_mod_LDFLAGS): Likewise.
30963 (date_mod_SOURCES): Likewise.
30964 (date_mod_CFLAGS): Likewise.
30965 (date_mod_LDFLAGS): Likewise.
30966 (datehook_mod_SOURCES): Likewise.
30967 (datehook_mod_CFLAGS): Likewise.
30968 (datehook_mod_LDFLAGS): Likewise.
30969
30970 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30971 and datehook.mod.
30972 (datetime_mod_SOURCES): New macro.
30973 (datetime_mod_CFLAGS): Likewise.
30974 (datetime_mod_LDFLAGS): Likewise.
30975 (date_mod_SOURCES): Likewise.
30976 (date_mod_CFLAGS): Likewise.
30977 (date_mod_LDFLAGS): Likewise.
30978 (datehook_mod_SOURCES): Likewise.
30979 (datehook_mod_CFLAGS): Likewise.
30980 (datehook_mod_LDFLAGS): Likewise.
30981
30982 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30983 and datehook.mod.
30984 (datetime_mod_SOURCES): New macro.
30985 (datetime_mod_CFLAGS): Likewise.
30986 (datetime_mod_LDFLAGS): Likewise.
30987 (date_mod_SOURCES): Likewise.
30988 (date_mod_CFLAGS): Likewise.
30989 (date_mod_LDFLAGS): Likewise.
30990 (datehook_mod_SOURCES): Likewise.
30991 (datehook_mod_CFLAGS): Likewise.
30992 (datehook_mod_LDFLAGS): Likewise.
30993
30994 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
30995
30996 * commands/date.c: New file.
30997
30998 * hook/datehook.c: Likewise.
30999
31000 * include/grub/lib/datetime.h: Likewise.
31001
31002 * include/grub/i386/cmos.h: Likewise.
31003
31004 * lib/datetime.c: Likewise.
31005
31006 * lib/i386/datetime.c: Likewise.
31007
31008 * lib/efi/datetime.c: Likewise.
31009
0e9242da 310102008-08-14 Robert Millan <rmh@aybabtu.com>
31011
31012 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
31013 (grub_mkelfimage_SOURCES): New variable.
31014 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
31015
31016 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
31017 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
31018 * conf/powerpc-ieee1275.rmk: Likewise.
31019 * conf/i386-ieee1275.rmk: Likewise.
31020
31021 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
31022 * kern/i386/coreboot/init.c: Likewise.
31023
31024 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
31025 with `<grub/cpu/kernel.h>'.
31026 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
31027 to ...
31028 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
31029 * kern/i386/coreboot/startup.S: Likewise.
31030
31031 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
31032 (GRUB_MOD_GAP): Remove.
31033 * include/grub/powerpc/kernel.h: New file.
31034 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
31035 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
31036 * include/grub/i386/kernel.h: New file.
31037 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
31038 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
31039 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
31040
31041 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
31042 `grub-mkelfimage'.
31043 Use --directory when invoking grub_mkimage.
31044
31045 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
31046 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
31047 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
31048 and GRUB_KERNEL_CPU_PREFIX.
31049
b86408f8 310502008-08-14 Felix Zielcke <fzielcke@z-51.de>
31051
d5e619ca 31052 * include/grub/err.h (grub_err_printf): New function prototype.
31053 * util/misc.c (grub_err_printf): New function.
31054 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
31055 grub_printf.
31056 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 31057
7161f0e0 310582008-08-13 Robert Millan <rmh@aybabtu.com>
31059
31060 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
31061
a1967522 310622008-08-13 Robert Millan <rmh@aybabtu.com>
31063
31064 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
31065 boot entry.
31066
371458b5 310672008-08-12 Robert Millan <rmh@aybabtu.com>
31068
31069 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
31070 of the relocation code from here ...
31071 (grub_multiboot): ... to here.
31072 (forward_relocator, backward_relocator): Move from here ...
31073 * kern/i386/loader.S (grub_multiboot_forward_relocator)
31074 (grub_multiboot_backward_relocator): ... to here.
31075 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
31076 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
31077 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
31078 (grub_multiboot_forward_relocator_end)
31079 (grub_multiboot_backward_relocator)
31080 (grub_multiboot_backward_relocator_end): New variables.
31081
05f9452b 310822008-08-12 Bean <bean123ch@gmail.com>
31083
31084 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
31085
20024ab0 310862008-08-11 Robert Millan <rmh@aybabtu.com>
31087
31088 * kern/i386/linuxbios/startup.S: Move from here ...
31089 * kern/i386/coreboot/startup.S: ... to here.
31090
31091 * kern/i386/linuxbios/init.c: Move from here ...
31092 * kern/i386/coreboot/init.c: ... to here.
31093
31094 * kern/i386/linuxbios/table.c: Move from here ...
31095 * kern/i386/coreboot/mmap.c: ... to here.
31096
31097 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
31098
e352e9cd 310992008-08-11 Robert Millan <rmh@aybabtu.com>
31100
31101 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
31102 errors. Leave it to the upper layer to handle them.
31103
2d05bc6a 311042008-08-09 Christian Franke <franke@computer.org>
31105
31106 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
31107 * conf/common.rmk: Install `grub-pe2elf' only if requested.
31108 Install `grub.d/10_windows' only on Cygwin.
31109 * configure.ac: Add subst of `target_os'.
31110 Check `target_os' also before setting TARGET_OBJ2ELF.
31111 Add `--enable-grub-pe2elf'.
31112
042bd419 311132008-08-08 Robert Millan <rmh@aybabtu.com>
31114
31115 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
31116 (grub_last_time): Change type to grub_uint64_t.
31117 (grub_disk_open): Migrate code from to using grub_get_time_ms().
31118 (grub_disk_close): Likewise.
31119
31120 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
31121 (run_menu): Migrate code from to using grub_get_time_ms().
31122
31123 * util/misc.c (grub_get_time_ms): New function.
31124
7f280db5 311252008-08-08 Marco Gerards <marco@gnu.org>
31126
31127 * disk/ata.c (grub_ata_regget): Change return type to
31128 `grub_uint8_t'.
31129 (grub_ata_regget2): Likewise.
31130 (grub_ata_wait_status): New function.
31131 (grub_ata_wait_busy): Removed function, updated all users to use
31132 `grub_ata_wait_status'.
31133 (grub_ata_wait_drq): Likewise.
31134 (grub_ata_cmd): New function.
31135 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
31136 error handling.
31137 (grub_ata_pio_write): Add error handling.
31138 (grub_atapi_identify): Likewise.
31139 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
31140 handling.
31141 (grub_ata_identify): Use `grub_ata_cmd' and improve error
31142 handling. Actually use the detected registers. Reorder the
31143 detection logic such that it is easier to read.
31144 (grub_ata_pciinit): Do not assign the same ID to each controller.
31145 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
31146 handling.
31147 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
31148
31149 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
31150
1fbc5e66 311512008-08-08 Marco Gerards <marco@gnu.org>
31152
31153 * NEWS: Update.
31154
819ce6c0 311552008-08-07 Bean <bean123ch@gmail.com>
31156
31157 * include/grub/x86_64/pci.h: New file.
31158
5c41d44d 311592008-08-07 Christian Franke <franke@computer.org>
31160
31161 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
31162 (TIMER2_GATE): Likewise.
31163 (grub_pit_wait): Add enable/disable of the timer2 gate
31164 bit of port 0x61. This fixes a possible infinite loop.
31165
5ebc275d 311662008-08-07 Bean <bean123ch@gmail.com>
31167
31168 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
31169 kern/i386/tsc.c and kern/i386/pit.c.
31170
31171 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
31172 x86_64 platform.
31173
31174 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
31175 <grub/i386/tsc.h>.
31176
31177 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
31178
e383b3d0 311792008-08-07 Bean <bean123ch@gmail.com>
31180
31181 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
31182
31183 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
31184
31185 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
31186 multiple inclusion. Add #include <grub/types.h>.
31187
1cbb58ac 311882008-08-06 Christian Franke <franke@computer.org>
31189
31190 * conf/common.rmk: Build and install `10_windows'.
31191 * util/grub.d/10_windows.in: New script.
31192
337f5a1e 311932008-08-06 Pavel Roskin <proski@gnu.org>
31194
31195 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
31196
057bc4ac 311972008-08-06 Robert Millan <rmh@aybabtu.com>
31198
31199 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
31200 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
31201
2b99f123 312022008-08-06 Bean <bean123ch@gmail.com>
31203
31204 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
31205 (grub_pxefs_fs_int): Remove dummy definition.
31206 (grub_pxefs_open): Use data->block_size to store the current block
31207 size setting.
31208 (grub_pxefs_read): Use block size stored in data->block_size. As the
31209 value of grub_pxe_blksize can be changed after the file is opened.
31210
9f0234cb 312112008-08-06 Bean <bean123ch@gmail.com>
31212
31213 * fs/i386/pc/pxe.c (curr_file): new variable.
31214 (grub_pxefs_open): Simply the handling of pxe file system. Don't
31215 require the dummy internal file system anymore.
31216 (grub_pxefs_read): Removed.
31217 (grub_pxefs_close): Likewise.
31218 (grub_pxefs_fs_int): Likewise.
31219 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
31220 connection when we switch file.
31221 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
31222
a55d42e0 312232008-08-06 Robert Millan <rmh@aybabtu.com>
31224
31225 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
31226 `halt.mod'.
31227 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
31228 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
31229
31230 * kern/i386/halt.c: New file.
31231 * kern/i386/reboot.c: Likewise.
31232 * include/grub/i386/reboot.h: Likewise.
31233 * include/grub/i386/halt.h: Likewise.
31234
31235 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
31236 Include `<grub/cpu/halt.h>'.
31237 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
31238 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
31239
31240 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
31241 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
31242 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
31243 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
31244 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
31245 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
31246 from here ...
31247 * include/grub/i386/at_keyboard.h: ... to here.
31248
24371d26 312492008-08-05 Robert Millan <rmh@aybabtu.com>
31250
31251 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
31252 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
31253 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
31254 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
31255 `kern/generic/millisleep.c'.
31256
31257 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
31258 instead of grub_get_rtc().
31259 (grub_tsc_init): Initialize `tsc_boot_time'.
31260
31261 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
31262 (grub_machine_init): Use grub_tsc_init() rather than
31263 installing an RTC-based handler via grub_install_get_time_ms().
31264
31265 * kern/i386/pit.c: New file.
31266 * include/grub/i386/pit.h: Likewise.
31267
9e7007b3 312682008-08-05 Bean <bean123ch@gmail.com>
31269
31270 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
31271
31272 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
31273 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
31274 (pxe_mod_SOURCES): New macro.
31275 (pxe_mod_CFLAGS): Likewise.
31276 (pxe_mod_LDFLAGS): Likewise.
31277 (pxecmd_mod_SOURCES): Likewise.
31278 (pxecmd_mod_CFLAGS): Likewise.
31279 (pxecmd_mod_LDFLAGS): Likewise.
31280
31281 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
31282 (grub_pxe_call): Likewise.
31283
31284 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
31285
31286 * commands/i386/pc/pxecmd.c: New file.
31287
9f0234cb 31288 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 31289
31290 * include/grub/i386/pc/pxe.h: Likewise.
31291
6977d49f 312922008-08-05 Bean <bean123ch@gmail.com>
31293
31294 * util/console.c (grub_console_cur_color): New variable.
31295 (grub_console_standard_color): Likewise.
31296 (grub_console_normal_color): Likewise.
31297 (grub_console_highlight_color): Likewise.
31298 (color_map): Likewise.
31299 (use_color): Likewise.
31300 (NUM_COLORS): New macro.
31301 (grub_ncurses_setcolorstate): Handle color properly.
31302 (grub_ncurses_setcolor): Don't change color here, just remember the
31303 settings, color will be set in grub_ncurses_setcolorstate.
31304 (grub_ncurses_getcolor): New function.
31305 (grub_ncurses_init): Initialize color pairs.
31306 (grub_ncurses_term): New member grub_ncurses_getcolor.
31307
9c2ff3ee 313082008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 31309
9c2ff3ee 31310 High resolution timer support. Implemented for x86 CPUs using TSC.
31311 Extracted generic grub_millisleep() so it's linked in only as needed.
31312 This requires a Pentium compatible CPU; if the RDTSC instruction is
31313 not supported, then it falls back on the generic grub_get_time_ms()
31314 implementation that uses the machine's RTC.
31315
31316 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
31317 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
31318 `kern/generic/millisleep.c'.
31319
31320 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
31321 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
31322
31323 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
31324 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
31325
31326 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
31327
31328 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31329 `kern/generic/millisleep.c'.
31330
31331 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
31332
31333 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
31334
31335 * kern/generic/rtc_get_time_ms.c: New file.
31336
31337 * kern/generic/millisleep.c: New file.
337f5a1e 31338
9c2ff3ee 31339 * kern/misc.c: Don't include
31340 <kern/time.h> anymore.
31341 (grub_millisleep_generic): Removed.
31342
31343 * commands/sleep.c (grub_interruptible_millisleep): Uses
31344 grub_get_time_ms() instead of grub_get_rtc().
31345
31346 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
31347 function.
31348 (grub_cpu_is_cpuid_supported): New inline function.
31349 (grub_cpu_is_tsc_supported): New inline function.
31350 (grub_tsc_init): New function prototype.
31351 (grub_tsc_get_time_ms): New function prototype.
31352
31353 * kern/i386/tsc.c (grub_get_time_ms): New file.
31354
31355 * include/grub/time.h: Include <grub/types.h.
31356 (grub_millisleep_generic): Removed.
31357 (grub_get_time_ms): New prototype.
31358 (grub_install_get_time_ms): New prototype.
31359 (grub_rtc_get_time_ms): New prototype.
31360
31361 * kern/time.c (grub_get_time_ms): New function.
31362 (grub_install_get_time_ms): New function.
31363
31364 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
31365 <grub/time.h> anymore.
31366 (grub_millisleep): Removed.
31367 (grub_machine_init): Call grub_tsc_init.
31368
31369 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
31370 get_time_ms() implementation.
31371
31372 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
31373 (ieee1275_get_time_ms): New function.
31374 (grub_machine_init): Install get_time_ms() implementation.
31375
31376 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
31377 (grub_machine_init): Call grub_tsc_init().
31378 (grub_millisleep): Removed.
bf06a93f 31379
9c2ff3ee 31380 * kern/ieee1275/init.c (grub_millisleep): Removed.
31381 (grub_machine_init): Install ieee1275_get_time_ms()
31382 implementation.
31383 (ieee1275_get_time_ms): New function.
31384 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
31385 real work.
31386
9ec92aaf 313872008-08-05 Marco Gerards <marco@gnu.org>
31388
31389 * disk/ata.c: Include <grub/pci.h>.
31390 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
31391 (grub_ata_initialize): Rewritten.
31392 (grub_ata_device_initialize): New function.
31393
8d23f507 313942008-08-04 Pavel Roskin <proski@gnu.org>
31395
31396 * kern/main.c: Include grub/mm.h.
31397
5e15ee3d 313982008-08-04 Robert Millan <rmh@aybabtu.com>
31399
31400 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
31401 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
31402 corruption problem).
31403
a9053f8f 314042008-08-04 Robert Millan <rmh@aybabtu.com>
31405
31406 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
31407 warnings introduced in my last commit.
31408
dd19c7d7 314092008-08-03 Robert Millan <rmh@aybabtu.com>
31410
31411 Make PCI available on all i386 architectures.
31412
31413 * include/grub/i386/pc/pci.h: Move from here ...
31414 * include/grub/i386/pci.h: ... to here.
31415
31416 * include/grub/i386/pc/pci.h: Remove.
31417 * include/grub/i386/efi/pci.h: Remove.
31418 * include/grub/x86_64/efi/pci.h: Remove.
31419
31420 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
31421 `<grub/cpu/pci.h>'.
31422
31423 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
31424 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
31425 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
31426
31427 * conf/i386-ieee1275.rmk: Likewise.
31428
e14a6184 314292008-08-03 Robert Millan <rmh@aybabtu.com>
31430
31431 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
31432 (grub_console_setcursor): Make it possible to set cursor off.
31433
52768e37 314342008-08-03 Robert Millan <rmh@aybabtu.com>
31435
31436 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
31437 of modules instead of assuming which platform provides what.
31438 * util/update-grub.in: Likewise.
31439
2d52f57f 314402008-08-03 Robert Millan <rmh@aybabtu.com>
31441
31442 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
31443 instead of `grub_install_dos_part' to determine whether a drive needs
31444 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 31445 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 31446
2a5cd121 314472008-08-02 Robert Millan <rmh@aybabtu.com>
31448
31449 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
31450
93808428 314512008-08-02 Robert Millan <rmh@aybabtu.com>
31452
31453 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
31454 of informational grub_dprintf() calls.
31455
3bd0a12a 314562008-08-02 Robert Millan <rmh@aybabtu.com>
31457
31458 * disk/memdisk.c (memdisk_size): Don't initialize.
31459 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
31460
31461 * include/grub/i386/pc/kernel.h
31462 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
31463 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
31464 (grub_memdisk_image_size, grub_arch_memdisk_addr)
31465 (grub_arch_memdisk_size): Remove.
31466
31467 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
31468 field (was only used to transfer a constant). Add `type' field to
31469 support multiple module types.
31470 (grub_module_iterate): New function.
31471
31472 * kern/device.c (grub_device_open): Do not hide error messages
31473 when grub_disk_open() fails. Use grub_print_error() instead.
31474
31475 * kern/i386/pc/init.c (grub_arch_modules_addr)
31476 (grub_arch_memdisk_size): Remove functions.
31477 (grub_arch_modules_addr): Return the module address in high memory
31478 (now that it isn't copied anymore).
31479
31480 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
31481 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
31482 decompression routine (grub_total_module_size already includes that
31483 now). Don't copy modules back to low memory.
31484
31485 * kern/main.c: Include `<grub/mm.h>'.
31486 (grub_load_modules): Split out (and use) ...
31487 (grub_module_iterate): ... this function, which iterates through
31488 module objects and runs a hook.
31489 Comment out grub_mm_init_region() call, as it would cause non-ELF
31490 modules to be overwritten.
31491
31492 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
31493 the memdisk image in its own region, make it part of the module list.
31494 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
31495 (main): Parse --memdisk|-m option, and pass user-provided path as
31496 parameter to generate_image().
31497 (add_segments): Pass `memdisk_path' down to load_modules().
31498 (load_modules): Embed memdisk image in module section when requested.
31499 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
31500 `header.type' instead of `header.offset'.
31501
31502 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
31503 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
31504 (memdisk_mod_LDFLAGS): New variables.
31505 * conf/i386-coreboot.rmk: Likewise.
31506 * conf/i386-ieee1275.rmk: Likewise.
31507
a927cc73 315082008-08-02 Robert Millan <rmh@aybabtu.com>
31509
31510 * loader/i386/pc/multiboot.c (playground, forward_relocator)
31511 (backward_relocator): New variables. Used to allocate and relocate
31512 the payload, respectively.
31513 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 31514 address, install the appropriate relocator code in each bound of
a927cc73 31515 the payload, and set the entry point such that
31516 grub_multiboot_real_boot() will jump to one of them.
31517
31518 * kern/i386/loader.S (grub_multiboot_payload_size)
31519 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
31520 (grub_multiboot_payload_entry_offset): New variables.
31521 (grub_multiboot_real_boot): Set cpu context to what the relocator
31522 expects, and jump to the relocator instead of the payload.
31523
31524 * include/grub/i386/loader.h (grub_multiboot_payload_size)
31525 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
31526 (grub_multiboot_payload_entry_offset): Export.
31527
b15d8a0c 315282008-08-01 Bean <bean123ch@gmail.com>
31529
31530 * normal/menu_entry.c (editor_getline): Don't return the original
31531 string as result, as it will be released by lexer once it has done
31532 using it.
31533
cdfb3d22 315342008-08-01 Robert Millan <rmh@aybabtu.com>
31535
31536 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
31537 within menuentries, not before them.
31538 util/grub.d/10_hurd.in: Likewise.
31539
9175e93d 315402008-08-01 Bean <bean123ch@gmail.com>
31541
31542 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
31543 (bufio_mod_SOURCES): New macro.
31544 (bufio_mod_CFLAGS): Likewise.
31545 (bufio_mod_LDFLAGS): Likewise.
31546
31547 * include/grub/bufio.h: New file.
31548
31549 * io/bufio.c: Likewise.
31550
31551 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
31552 (grub_video_reader_png): Use grub_buffile_open to open file.
31553
31554 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
31555 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
31556
31557 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
31558 (grub_video_reader_tga): Use grub_buffile_open to open file.
31559
31560 * font/manager.c: Include <grub/bufio.h>.
31561 (add_font): Use grub_buffile_open to open file.
31562
3d8383e7 315632008-07-31 Robert Millan <rmh@aybabtu.com>
31564
31565 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
31566 ELF segments, use a macro for arbitrarily accessing any of them instead
31567 of preparing a pointer that allows access to one at a time.
31568 (grub_multiboot_load_elf64): Likewise.
31569
16e641b6 315702008-07-31 Bean <bean123ch@gmail.com>
31571
31572 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
31573 GRUB_KERNEL_MACHINE_DATA_END.
31574
59198b72 315752008-07-30 Robert Millan <rmh@aybabtu.com>
31576
31577 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
31578 Increase from 0x50 to 0x60.
31579 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
31580 use UUIDs to identify the root drive for them. If that's not
31581 possible, abort.
31582 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
31583 check, for cross-disk installs.
31584
ae88bca3 315852008-07-30 Robert Millan <rmh@aybabtu.com>
31586
31587 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
31588 is non-empty, use it to set the `prefix' environment variable instead
31589 of the usual approach.
31590 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
31591 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
31592 environment variable instead of dummy make_install_device().
31593
31594 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
31595 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 31596 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 31597
31598 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
31599 New variable reference.
31600 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
31601 New macro. Defines offset of `grub_prefix' within startup.S (relative
31602 to `start').
31603 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
31604 section within startup.S (relative to `start').
31605 * include/grub/i386/coreboot/kernel.h: Likewise.
31606
31607 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
31608 Overwrite grub_prefix with its contents, at the beginning of the
31609 first segment.
31610 (main): Understand -p|--prefix.
31611
14f41dd1 316122008-07-30 Robert Millan <rmh@aybabtu.com>
31613
31614 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
31615
4ca049a3 316162008-07-30 Robert Millan <rmh@aybabtu.com>
31617
31618 * term/i386/pc/vga_text.c (grub_console_cls): Use
31619 grub_console_gotoxy() to go back to beginning of the screen.
31620 Found by Patrick Georgi <patrick.georgi@coresystems.de>
31621
2921d337 316222008-07-29 Christian Franke <franke@computer.org>
31623
31624 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
31625 Add conversion of emulated mount points on Cygwin.
31626
b609876d 316272008-07-29 Christian Franke <franke@computer.org>
31628
31629 * util/update-grub.in: Add a check for admin
31630 group on Cygwin.
31631 Remove old `grub.cfg.new' before creation.
31632 Add `-f' to `mv' to handle the different filesystem
31633 semantics of Windows.
31634
e93e4679 316352008-07-29 Bean <bean123ch@gmail.com>
31636
31637 * normal/main.c (get_line): Fix buffer overflow bug.
31638
41694fd0 316392008-07-28 Robert Millan <rmh@aybabtu.com>
31640
31641 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
31642 (struct grub_apple_header): New struct. Describes the layout of
31643 the partmap header.
31644 (apple_partition_map_iterate): Check the header magic as well as the
31645 partition magic (which was already being checked).
31646
cfd0b4e6 316472008-07-28 Pavel Roskin <proski@gnu.org>
31648
31649 * genmk.rb: Add a warning to the beginning of the output that
31650 it's a generated file and should not be edited.
31651
93cce016 316522008-07-28 Robert Millan <rmh@aybabtu.com>
31653
31654 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
31655 with the same number are found, just use issue a warning with
31656 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 31657
cd1df915 316582008-07-27 Robert Millan <rmh@aybabtu.com>
31659
31660 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
31661 information.
31662
b70a8427 316632008-07-27 Bean <bean123ch@gmail.com>
31664
31665 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
31666 (grub_fat_find_dir): Ignore case when comparing filename.
31667
8f5e379f 316682008-07-27 Bean <bean123ch@gmail.com>
31669
31670 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
31671 smallino, as it's more descriptive, and i8count can be confused with
31672 the other field count.
31673 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
31674 inode type.
31675
a85cd5a0 316762008-07-27 Bean <bean123ch@gmail.com>
31677
31678 * commands/crc.c: New file.
31679
31680 * lib/crc.c: Likewise.
31681
31682 * include/grub/lib/crc.h: Likewise.
31683
31684 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
31685
31686 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
31687 (hexdump): Move this function to ...
31688
31689 * lib/hexdump.c: ... here.
31690
31691 * include/grub/hexdump.h: Renamed to ...
31692
31693 * include/grub/lib/hexdump.h: ... this.
31694
31695 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
31696
31697 * util/grub-editenv.c: Likewise.
31698
31699 * include/envblk.h: Renamed to ...
31700
31701 * include/lib/envblk.h: ... this.
31702
31703 * util/envblk.c: Renamed to ...
31704
31705 * lib/envblk.c: ... this.
31706
31707 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
31708 lib/hexdump.c.
31709 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
31710 (pkglib_MODULES): Add crc.mod.
31711 (hexdump_mod_SOURCES): Add lib/hexdump.c.
31712 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
31713 (crc_mod_SOURCES): New macro.
31714 (crc_mod_CFLAGS): Likewise.
31715 (crc_mod_LDFLAGS): Likewise.
31716
31717 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
31718
31719 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31720
31721 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31722
31723 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31724
31725 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31726
c298def0 317272008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 31728
31729 * commands/help.c: Include <grub/term.h>.
31730 (TERM_WIDTH): Removed. Updated all users.
31731
cc349fb3 317322008-07-27 Pavel Roskin <proski@gnu.org>
31733
31734 * util/getroot.c (find_root_device): Rephrase a comment to avoid
31735 spurious warnings about a comment within a comment.
31736
9051607e 317372008-07-25 Robert Millan <rmh@aybabtu.com>
31738
31739 * util/getroot.c (find_root_device): Skip devices that match
31740 /dev/dm-[0-9]. This lets the real device be found for any type of
31741 abstraction (LVM, EVMS, RAID..).
31742 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
31743 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
31744 device is found first, find_root_device() will now skip it.
31745
01453bfc 317462008-07-24 Pavel Roskin <proski@gnu.org>
31747
31748 * include/grub/types.h: Use __builtin_bswap32() and
31749 __builtin_bswap64() with gcc 4.3 and newer.
31750
6af9849f 317512008-07-24 Christian Franke <franke@computer.org>
31752
3a0fa256 31753 * util/i386/pc/grub-install.in: If `--debug' is specified,
31754 pass `--verbose' to grub-setup.
31755 Abort script if make_system_path_relative_to_its_root() fails.
31756
7810e747 317572008-07-24 Bean <bean123ch@gmail.com>
31758
31759 * configure.ac: Fixed a bug caused by the previous cygwin patch,
31760 variable `target_platform' should be `platform'.
31761
42290e17 317622008-07-24 Bean <bean123ch@gmail.com>
31763
51cc5193 31764 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 31765 (grub_png_init_fixed_block): New function.
31766 (grub_png_decode_image_data): Handle fixed huffman code compression.
31767
2a8a80e4 317682008-07-24 Bean <bean123ch@gmail.com>
31769
31770 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
31771 (grub_pe2elf_SOURCES): New macro.
31772 (CLEANFILES): Add grub-pe2elf.
31773
31774 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
31775 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
31776 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
31777 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
31778 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
31779 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
31780 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
31781 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
31782 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
31783 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
31784 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
31785 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
31786 (GRUB_PE32_DT_FUNCTION): Likewise.
31787 (GRUB_PE32_REL_I386_DIR32): Likewise.
31788 (GRUB_PE32_REL_I386_REL32): Likewise.
31789 (grub_pe32_symbol): New structure.
31790 (grub_pe32_reloc): Likewise.
31791
31792 * util/grub-pe2elf.c: New file.
31793
31794 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
31795 start symbol in non pc platform.
31796
31797 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
31798
31799 The following patches are from Christian Franke.
31800
31801 * include/grub/dl.h: Remove .previous, gas supports this only
31802 for ELF format.
31803
31804 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
31805 Remove .type, gas supports this only for ELF format.
31806
31807 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
31808 nullbytes in symbol table. This fixes an infinite loop if table is
31809 zero filled.
31810
31811 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
31812 TARGET_IMG_LDFLAGS and EXEEXT.
31813
31814 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
31815 TARGET_IMG_LDFLAGS_AC.
31816 (grub_CHECK_STACK_ARG_PROBE): New function.
31817
31818 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
31819
31820 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
31821
31822 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
31823 to set TARGET_IMG_LD* accordingly.
31824 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
31825 Add call to grub_CHECK_STACK_ARG_PROBE.
31826 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
31827
31828 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
31829
31830 * genmk.rb: Add EXEEXT to CLEANFILES.
31831
12ccdb75 318322008-07-23 Robert Millan <rmh@aybabtu.com>
31833
31834 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
31835 define the codes for arrows and lines used for the menu).
31836 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
31837 as well.
31838
31839 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
31840 fonts, because the latter are too slow.
31841
18eeaf04 318422008-07-21 Bean <bean123ch@gmail.com>
31843
31844 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
31845 a20. Run keyboard test last, as it will cause macbook to halt.
31846
b095e2ad 318472008-07-18 Pavel Roskin <proski@gnu.org>
31848
31849 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
31850 load foreign architecture modules correctly anyway. Keep
31851 support for loading host architecture modules, whether we
31852 compile them or not.
31853
737feb35 318542008-07-17 Pavel Roskin <proski@gnu.org>
31855
3f4ce737 31856 * configure.ac: Use -m32 or -m64 regardless of whether we had to
31857 change target_cpu. The compiler default can mismatch target_cpu
31858 in any case.
31859
4ad2d049 31860 * disk/efi/efidisk.c: Fix format warnings on x86_64.
31861 * kern/efi/efi.c: Likewise.
31862
f6130a12 31863 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
31864 target compiler is functional.
31865 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
31866 are set up.
31867
58393a2d 31868 * configure.ac: Default to efi platform for x86_64-apple. Allow
31869 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
31870 adjustments from the rest, only do them if target is not
31871 explicitly given. Merge other adjustments with the final sanity
31872 check. Remove an extraneous check for supported CPU. Be
31873 specific which CPU and which platform is not supported.
31874
737feb35 31875 * configure.ac: Default to pc platform for x86_64.
31876
546f966a 318772008-07-17 Robert Millan <rmh@aybabtu.com>
31878
31879 Partial LinuxBIOS -> Coreboot rename.
31880
31881 * conf/i386-linuxbios.rmk: Renamed to ...
31882 * conf/i386-coreboot.rmk: ... this.
31883 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
31884 * configure.ac: Accept "coreboot" as input platform (but maintain
31885 compatibility with "linuxbios").
31886 * include/grub/i386/linuxbios: Renamed to ...
31887 * include/grub/i386/coreboot: ... this.
31888
20011694 318892008-07-17 Bean <bean123ch@gmail.com>
31890
31891 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 31892 (appleldr_mod_SOURCE): New variable.
20011694 31893 (appleldr_mod_CFLAGS): Likewise.
31894 (appleldr_mod_LDFLAGS): Likewise.
31895 (pci_mod_SOURCES): Likewise.
31896 (pci_mod_CFLAGS): Likewise.
31897 (pci_mod_LDFLAGS): Likewise.
31898 (lspci_mod_SOURCES): Likewise.
31899 (lspci_mod_CFLAGS): Likewise.
31900 (lspci_mod_LDFLAGS): Likewise.
31901
31902 * conf/x86_64-efi.rmk: New file.
31903
31904 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
31905 macro.
31906 (grub_efidisk_write): Likewise.
31907
31908 * include/efi/api.h (efi_call_0): New macro.
31909 (efi_call_1): Likewise.
31910 (efi_call_2): Likewise.
31911 (efi_call_3): Likewise.
31912 (efi_call_4): Likewise.
31913 (efi_call_5): Likewise.
31914 (efi_call_6): Likewise.
31915
31916 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
31917 grub_rescue_cmd_chainloader.
31918
31919 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
31920 (grub_pe32_optional_header): Change some fields based on i386 or
31921 x86_64 platform.
31922 (GRUB_PE32_PE32_MAGIC): Likewise.
31923
31924 * include/grub/efi/uga_draw.h: New file.
31925
31926 * include/grub/elf.h (STN_ABS): New constant.
31927 (R_X86_64_NONE): Relocation constant for x86_64.
31928 (R_X86_64_64): Likewise.
31929 (R_X86_64_PC32): Likewise.
31930 (R_X86_64_GOT32): Likewise.
31931 (R_X86_64_PLT32): Likewise.
31932 (R_X86_64_COPY): Likewise.
31933 (R_X86_64_GLOB_DAT): Likewise.
31934 (R_X86_64_JUMP_SLOT): Likewise.
31935 (R_X86_64_RELATIVE): Likewise.
31936 (R_X86_64_GOTPCREL): Likewise.
31937 (R_X86_64_32): Likewise.
31938 (R_X86_64_32S): Likewise.
31939 (R_X86_64_16): Likewise.
31940 (R_X86_64_PC16): Likewise.
31941 (R_X86_64_8): Likewise.
31942 (R_X86_64_PC8): Likewise.
31943
31944 * include/grub/i386/efi/pci.h: New file.
31945
31946 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
31947 Change it value based on platform.
31948 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
31949 (GRUB_E820_RAM): Likewise.
31950 (GRUB_E820_RESERVED): Likewise.
31951 (GRUB_E820_ACPI): Likewise.
31952 (GRUB_E820_NVS): Likewise.
31953 (GRUB_E820_EXEC_CODE): Likewise.
31954 (GRUB_E820_MAX_ENTRY): Likewise.
31955 (grub_e820_mmap): New structure.
31956 (linux_kernel_header): Change the efi field according to different
31957 kernel version, also field from linux_kernel_header.
31958
31959 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
31960
31961 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
31962 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
31963 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
31964 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
31965 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
31966 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
31967 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
31968 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
31969 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
31970 (GRUB_PCI_ADDR_IO_MASK): Likewise.
31971
31972 * include/grub/x86_64/efi/kernel.h: New file.
31973
31974 * include/grub/x86_64/efi/loader.h: Likewise.
31975
31976 * include/grub/x86_64/efi/machine.h: Likewise.
31977
31978 * include/grub/x86_64/efi/pci.h: Likewise.
31979
31980 * include/grub/x86_64/efi/time.h: Likewise.
31981
31982 * include/grub/x86_64/linux.h: Likewise.
31983
31984 * include/grub/x86_64/setjmp.h: Likewise.
31985
31986 * include/grub/x86_64/time.h: Likewise.
31987
31988 * include/grub/x86_64/types.h: Likewise.
31989
31990 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
31991 GRUB_TARGET_SIZEOF_VOID_P.
31992
31993 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
31994 (grub_efi_locate_handle): Likewise.
31995 (grub_efi_open_protocol): Likewise.
31996 (grub_efi_set_text_mode): Likewise.
31997 (grub_efi_stall): Likewise.
31998 (grub_exit): Likewise.
31999 (grub_reboot): Likewise.
32000 (grub_halt): Likewise.
32001 (grub_efi_exit_boot_services): Likewise.
32002 (grub_get_rtc): Likewise.
32003
32004 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
32005 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
32006 (grub_efi_allocate_pages): Wrap efi calls.
32007 (grub_efi_free_pages): Wrap efi calls.
32008 (grub_efi_get_memory_map): Wrap efi calls.
32009
32010 * kern/x86_64/dl.c: New file.
32011
32012 * kern/x86_64/efi/callwrap.S: Likewise.
32013
32014 * kern/x86_64/efi/startup.S: Likewise.
32015
32016 * loader/efi/appleloader.c: Likewise.
32017
32018 * loader/efi/chainloader.c (cmdline): New variable.
32019 (grub_chainloader_unload): Wrap efi calls.
32020 (grub_chainloader_boot): Likewise.
32021 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
32022 command line.
32023
32024 * loader/efi/chainloader_normal.c (chainloader_command):
32025 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
32026 command line.
32027
32028 * loader/i386/efi/linux.c (allocate_pages): Change allocation
32029 method.
32030 (grub_e820_add_region): New function.
32031 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
32032 booting.
32033 (grub_find_video_card): New function.
32034 (grub_linux_setup_video): New function.
32035 (grub_rescue_cmd_linux): Probe for video information.
32036
32037 * normal/x86_64/setjmp.S: New file.
32038
32039 * term/efi/console.c (map_char): New function.
32040 (grub_console_putchar): Map unicode char.
32041 (grub_console_checkkey): Wrap efi calls.
32042 (grub_console_getkey): Likewise.
32043 (grub_console_getwh): Likewise.
32044 (grub_console_gotoxy): Likewise.
32045 (grub_console_cls): Likewise.
32046 (grub_console_setcolorstate): Likewise.
32047 (grub_console_setcursor): Likewise.
32048
32049 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
32050
59652a20 320512008-07-16 Pavel Roskin <proski@gnu.org>
32052
ef294055 32053 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
32054 format strings.
32055
59652a20 32056 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
32057 pointer, not an integer. This fixes a warning and prevents
32058 precision loss on 64-bit systems.
32059 (relocate_addresses): Remove unneeded cast.
32060
afc3b5d7 320612008-07-15 Pavel Roskin <proski@gnu.org>
32062
506b2b3e 32063 * kern/i386/ieee1275/init.c: Include grub/cache.h.
32064
62ead89c 32065 * term/ieee1275/ofconsole.c: Disable code unused on i386.
32066
c4cd51d7 32067 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
32068 Fix comparison between signed and unsigned.
32069
0d3d8f28 32070 * include/grub/i386/ieee1275/console.h: Declare
32071 grub_console_init() and grub_console_fini().
32072
8804b286 32073 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
32074 It's empty and unused.
32075
ee01cf35 32076 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
32077 beginning to avoid warnings with some compilers.
32078
afc3b5d7 32079 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
32080 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
32081
e4e8eaa5 320822008-07-14 Pavel Roskin <proski@gnu.org>
32083
407aceb4 32084 * kern/env.c (grub_register_variable_hook): Don't copy empty
32085 string, it leaks memory. Pass "" to grub_env_set(), it should
32086 handle constant strings.
32087
e4e8eaa5 32088 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
32089 * commands/cmp.c (grub_cmd_cmp): Likewise.
32090 * kern/dl.c (grub_dl_flush_cache): Likewise.
32091 (grub_dl_load_core): Likewise.
32092 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
32093 (grub_elf64_load_phdrs): Likewise.
32094
d4e2dad3 320952008-07-13 Pavel Roskin <proski@gnu.org>
32096
32097 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
32098 between signed and unsigned.
32099 (LzmaEnc_Finish): Fix warning about an unused parameter.
32100
aa24b516 321012008-07-13 Bean <bean123ch@gmail.com>
32102
32103 * Makefile.in (enable_lzo): New rule.
32104
32105 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
32106
32107 * configure.ac (ENABLE_LZO): New option --enable-lzo.
32108
32109 * boot/i386/pc/lnxboot.S: #include <config.h>.
32110
32111 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 32112 its value according to the compression algorithm used, lzo or lzma.
aa24b516 32113
32114 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
32115 compression algorithm according to configure macro.
32116
32117 * kern/i386/pc/startup.S (codestart): Likewise.
32118
32119 * kern/i386/pc/lzma_decode.S: New file.
32120
32121 * include/grub/lib/LzFind.h: Likewise.
32122
32123 * include/grub/lib/LzHash.h: Likewise.
32124
32125 * include/grub/lib/LzmaDec.h: Likewise.
32126
32127 * include/grub/lib/LzmaEnc.h: Likewise.
32128
32129 * include/grub/lib/LzmaTypes.h: Likewise.
32130
32131 * lib/LzFind.c: Likewise.
32132
32133 * lib/LzmaDec.c: Likewise.
32134
32135 * lib/LzmaEnc.c: Likewise.
32136
4ae821ac 321372008-07-13 Bean <bean123ch@gmail.com>
32138
32139 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
32140 (grub_ext4_extent_header): New structure.
32141 (grub_ext4_extent): Likewise.
32142 (grub_ext4_extent_idx): Likewise.
32143 (grub_ext4_find_leaf): New function.
32144 (grub_ext2_read_block): Handle extents.
32145
9a745147 321462008-07-12 Robert Millan <rmh@aybabtu.com>
32147
32148 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
32149
d49a4cf6 321502008-07-11 Robert Millan <rmh@aybabtu.com>
32151
32152 * util/grub.d/40_custom.in: New file. Example on how to add custom
32153 entries to /etc/grub.d.
32154 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
32155 40_custom (implicitly, by merging all the grub.d rules).
32156
947414b4 321572008-07-11 Pavel Roskin <proski@gnu.org>
32158
0059cf6f 32159 * commands/read.c (grub_getline): Fix invalid memory access.
32160 Don't add newline to the variable value.
32161
947414b4 32162 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
32163 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
32164 (serial_hw_get_port): Check validity of the port number.
32165 (grub_cmd_serial): Check return value of serial_hw_get_port().
32166
62a02d00 321672008-07-07 Pavel Roskin <proski@gnu.org>
32168
32169 * boot/i386/pc/diskboot.S (notification_string): Replace
32170 "Loading kernel" with just "loading". This is shorter, less
32171 confusing and saves a few bytes for possible future changes.
32172
3e5581b0 321732008-07-05 Pavel Roskin <proski@gnu.org>
32174
ea387a48 32175 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
32176 size for ATAPI devices, they are undefined. Output sector
32177 number in decimal form.
32178
3e5581b0 32179 * disk/ata.c: Use named constants for status bits.
32180
fdecb8fd 321812008-07-04 Pavel Roskin <proski@gnu.org>
32182
bcd35b90 32183 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
32184 grub_addr_t before casting it to the void pointer to fix a
32185 warning. Non-addressable regions are discarded earlier.
32186 (grub_arch_modules_addr): Cast _end to grub_addr_t.
32187 * kern/i386/linuxbios/table.c: Include grub/misc.h.
32188 (check_signature): Don't shadow table_header.
32189 (grub_linuxbios_table_iterate): Cast numeric constants to
32190 grub_linuxbios_table_header_t.
32191 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
32192 grub_stop().
32193
af58ab3d 32194 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
32195 prevent warnings.
32196
1759aa57 32197 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
32198 pointer, which can cause warnings. Support 64-bit addresses.
32199
fdecb8fd 32200 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
32201 of sizeof(long). This fixes PowerPC image generation on x86_64.
32202
8516d2a8 322032008-07-04 Robert Millan <rmh@aybabtu.com>
32204
32205 This fixes a performance issue when pc & gpt partmap iterators
32206 didn't abort iteration even after our hook found what it was
fe987087 32207 looking for (often causing expensive probes of non-existent drives).
8516d2a8 32208
32209 Some callers relied on previous buggy behaviour, since they would
34c44600 32210 raise an error when their own hooks caused early abortion of its
8516d2a8 32211 iteration.
32212
32213 * kern/device.c (grub_device_open): Improve error message.
32214 * disk/lvm.c (grub_lvm_open): Likewise.
32215 * disk/raid.c (grub_raid_open): Likewise.
32216
32217 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
32218 when hook requests it, independently of grub_errno.
32219 (pc_partition_map_probe): Do not fail when find_func() caused
32220 early abortion of pc_partition_map_iterate().
32221
32222 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
32223 when hook requests it, independently of grub_errno.
32224 (gpt_partition_map_probe): Do not fail when find_func() caused
32225 early abortion of gpt_partition_map_iterate().
32226
32227 * kern/partition.c (grub_partition_iterate): Abort parent iteration
32228 when hook requests it, independently of grub_errno. Do not fail when
32229 part_map_iterate_hook() caused early abortion of p->iterate().
32230
32231 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
32232 when grub_partition_iterate() returned with non-zero.
32233
277d0de9 322342008-07-03 Pavel Roskin <proski@gnu.org>
32235
32236 * disk/ata.c (grub_ata_pio_write): Check status before writing,
32237 like we do in grub_ata_pio_read().
32238 (grub_ata_readwrite): Always write individual sectors. Fix the
32239 sector count for the remainder.
32240 (grub_ata_write): Enable writing to ATA devices. Correctly
32241 report error for ATAPI devices.
32242
d4c9b428 322432008-07-02 Pavel Roskin <proski@gnu.org>
32244
e43fc690 32245 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
32246 warning.
32247
f707af42 32248 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
32249 for every read sector, we already increment it for the whole
32250 batch. This fixes reading more than 256 sectors at once.
32251
11e16b15 32252 * util/grub-editenv.c (cmd_info): Cast argument to long
32253 explicitly. ptrdiff_t reduces to int on i386.
32254
cbabfdd4 32255 * util/grub-editenv.c (main): Be specific which parameter is
32256 missing.
32257
b8fbce0a 32258 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
32259 (memdisk): Make memdisk_orig_addr a pointer.
32260
c9c8e606 32261 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
32262 for file offsets, use grub_off_t instead. Fix printf format
32263 warnings.
32264
ca62e598 32265 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
32266 there. Real unexpected warnings should not drown in the noise
32267 about known problems.
32268
ce8d1766 32269 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
32270 grub_disk_addr_t for memory addresses.
32271
00c7a56a 32272 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
32273 explicitly to fix a warning.
32274
08d3ef09 32275 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
32276
cb71ba20 32277 * Makefile.in (MODULE_LDFLAGS): New variable.
32278 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
32279 the linker accepts --build-id=none.
32280 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
32281 MODULE_LDFLAGS.
32282 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
32283
d4c9b428 32284 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
32285 those in Linux XFS code. Provide a way to access 64-bit parent
32286 inode.
32287 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
32288 the end of struct grub_xfs_dir_header.
32289
d4156eee 322902008-07-02 Bean <bean123ch@gmail.com>
32291
32292 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
32293 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
32294 and GRUB_IEEE1275_FLAG_NO_ANSI.
32295
32296 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
32297 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
32298 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
32299
32300 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
32301 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
32302
32303 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
32304 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
32305
32306 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
32307 esc sequence on non ANSI terminal.
32308 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
32309
32310 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
32311 beginning of file.
32312
2270f77b 323132008-07-02 Bean <bean123ch@gmail.com>
32314
32315 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
32316 (grub_editenv_SOURCES): New variable.
32317 (pkglib_MODULES): Add loadenv.mod.
32318 (loadenv_mod_SOURCES): New variable.
32319 (loadenv_mod_CFLAGS): Likewise.
32320 (loadenv_mod_LDFLAGS): Likewise.
32321
32322 * include/grub/envblk.h: New file.
32323
32324 * util/envblk.c: New file.
32325
32326 * util/grub-editenv.c: New file.
32327
32328 * commands/loadenv.c: New file.
32329
0e9e51ec 323302008-07-01 Pavel Roskin <proski@gnu.org>
32331
d89b7634 32332 * include/multiboot2.h (struct multiboot_tag_module): Use char,
32333 not unsigned char. This fixes warnings and is consistent with
32334 other tags.
32335
bf1835b1 32336 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
32337
8222a04b 32338 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
32339
6a42d99d 32340 * term/tparm.c (analyze): Always set *popcount.
32341
10b159d1 32342 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
32343 cast to fix a warning.
32344
b8789f6c 32345 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
32346 cast to suppress a warning.
32347
29d7e38a 32348 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
32349 grub_fshelp_read_file() expects.
32350
f341f669 32351 * fs/fat.c: Fix UUID calculation on big-endian systems. We
32352 write uuid as a 32-bit value in CPU byte order, so declare and
32353 use it as such.
32354
0e9e51ec 32355 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
32356 long if the format specifier expects it.
32357 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
32358 * partmap/pc.c (pc_partition_map_iterate): Likewise.
32359 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
32360 long to fix a warning.
32361 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
32362 grub_dprintf() arguments to fix warnings.
32363
3aefa857 323642008-06-30 Pavel Roskin <proski@gnu.org>
32365
56c7668b 32366 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
32367 install_bsd_part immediately before core.img is embedded or
32368 modified on disk. This fixes core.img verification if core.img
32369 cannot be embedded.
32370
3aefa857 32371 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
32372 core_path to calculate the blocklist.
32373 Patch from Javier Martín <lordhabbit@gmail.com>
32374
5444088d 323752008-06-29 Robert Millan <rmh@aybabtu.com>
32376
32377 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
32378 block to disk block.
32379 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
32380 Patch from Niels Böhm <bitbucket@arcor.de>
32381
674835c8 323822008-06-29 Robert Millan <rmh@aybabtu.com>
32383
32384 * util/update-grub_lib.in (font_path): Search for fonts in
32385 /boot/grub first, which is more likely to be readable (we aren't
32386 deciding where fonts live, just looking for them).
32387
f527dbc8 323882008-06-26 Pavel Roskin <proski@gnu.org>
32389
6c2d8df6 32390 * util/biosdisk.c (read_device_map): Don't leave dead map
32391 entries for devices failing stat() check.
32392
f527dbc8 32393 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
32394 core_path_dev for the core.img path on the target device.
32395
aebe3d13 323962008-06-26 Robert Millan <rmh@aybabtu.com>
32397
32398 * disk/fs_uuid.c: New file.
32399 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
32400 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
32401 (fs_uuid_mod_LDFLAGS): New variables.
32402 * include/grub/disk.h (grub_disk_dev_id): Add
32403 `GRUB_DISK_DEVICE_UUID_ID'.
32404 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
32405 implement iterate().
32406
37aaf354 324072008-06-26 Robert Millan <rmh@aybabtu.com>
32408
32409 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
32410 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
32411 Linux image includes no initrd.
32412
25ff262a 324132008-06-21 Javier Martín <lordhabbit@gmail.com>
32414
32415 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
32416 call to resolve the core image location that effectively appended the
32417 name twice.
32418
76a2bd44 324192008-06-21 Robert Millan <rmh@aybabtu.com>
32420
32421 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
32422 call from here ...
32423
32424 * util/grub.d/10_hurd.in: ... to here ...
32425 * util/grub.d/10_linux.in: ... and here.
32426
650e1c79 324272008-06-19 Robert Millan <rmh@aybabtu.com>
32428
fe987087 32429 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 32430 after it has been set by grub_machine_set_prefix().
32431
6ce63911 324322008-06-19 Robert Millan <rmh@aybabtu.com>
32433
32434 * commands/search.c (search_label, search_fs_uuid, search_file): Print
32435 search result when not saving to variable, not the other way around.
32436 When saving to variable, abort iteration as soon as a match is found.
32437
73940cec 324382008-06-19 Robert Millan <rmh@aybabtu.com>
32439
32440 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
32441 check for partition that provides /boot/grub. Its logic is flawed,
32442 as it prevents prepare_grub_to_access_device() from being called
32443 multiple times.
32444
3c62a39d 324452008-06-19 Robert Millan <rmh@aybabtu.com>
32446
32447 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
32448 "insmod" command directly when abstraction modules are needed,
fe987087 32449 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 32450 since it had already been processed).
32451
47395a42 324522008-06-19 Pavel Roskin <proski@gnu.org>
32453
32454 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
32455 changed. This is needed in case GRUB_LIBDIR changes.
32456 * conf/i386-ieee1275.rmk: Likewise.
32457 * conf/i386-linuxbios.rmk: Likewise.
32458 * conf/i386-pc.rmk: Likewise.
32459 * conf/powerpc-ieee1275.rmk: Likewise.
32460
a145ac2d 324612008-06-18 Pavel Roskin <proski@gnu.org>
32462
32463 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
32464 kernel_elf_symlist.c to symlist.c for consistency with other
32465 architectures. Update all users.
32466 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
32467
7847c51e 324682008-06-18 Robert Millan <rmh@aybabtu.com>
32469
32470 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
32471 it in prefix.
32472
32473 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
32474 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
32475 a RAID device, run setup() for all members independently on whether
32476 LVM abstraction is being used.
32477 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
32478 If grub-mkimage has set `*install_dos_part == -2', don't override this
32479 value.
32480 Perform *install_dos_part adjustments independently on whether
32481 we're embedding or not.
32482 Clarify error message when image is too big for embedding.
32483 Remove duplicate *install_dos_part stanza.
32484
b23e5644 324852008-06-17 Robert Millan <rmh@aybabtu.com>
32486
32487 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
32488 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
32489 variables.
32490 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
32491 values in grub_ofconsole_normal_color and
32492 grub_ofconsole_highlight_color (they're not directly related to
32493 background and foreground).
32494 (grub_ofconsole_setcolorstate): Extract background and foreground
32495 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
32496
0aac2f79 324972008-06-17 Robert Millan <rmh@aybabtu.com>
32498
32499 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
32500 /boot/grub for the check in last commit, not /boot (they could be
32501 different partitions).
32502
3cca7ef3 325032008-06-16 Robert Millan <rmh@aybabtu.com>
32504
32505 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
32506 asked to setup access for the same partition that provides /boot,
32507 don't bother using UUIDs since our root already has the value we
32508 want.
32509
347396d8 325102008-06-16 Robert Millan <rmh@aybabtu.com>
32511
32512 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
32513 I2O devices.
32514 Patch from Sven Mueller <sven@debian.org>.
32515
991477f8 325162008-06-16 Robert Millan <rmh@aybabtu.com>
32517
32518 * util/update-grub.in: Check for $EUID instead of $UID.
32519 Reported by Vincent Zweije.
32520
d31a32a1 325212008-06-16 Bean <bean123ch@gmail.com>
32522
fe987087 32523 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 32524 (grub_ext2_read_block): Likewise.
32525 (grub_ext2_read_inode): Likewise.
32526 (grub_ext2_mount): Likewise.
32527 (grub_ext2_close): Likewise.
32528 (grub_ext3_get_journal): Removed.
32529
fe987087 32530 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 32531 (grub_reiserfs_read_symlink): Likewise.
32532 (grub_reiserfs_mount): Likewise.
32533 (grub_reiserfs_open): Likewise.
32534 (grub_reiserfs_read): Likewise.
32535 (grub_reiserfs_close): Likewise.
32536 (grub_reiserfs_get_journal): Removed.
32537
32538 * fs/fshelp.c (grub_fshelp_read): Removed.
32539 (grub_fshelp_map_block): Likewise.
32540
32541 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
32542 (grub_fshelp_journal): Likewise.
32543 (grub_fshelp_read): Likewise.
32544 (grub_fshelp_map_block): Likewise.
32545
3540a760 325462008-06-16 Pavel Roskin <proski@gnu.org>
32547
32548 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
32549 floating point anymore.
32550 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
32551
95614c84 325522008-06-15 Pavel Roskin <proski@gnu.org>
32553
32554 * commands/ls.c (grub_ls_list_files): Use integer calculations
32555 for human readable format, avoid floating point use.
32556 * kern/misc.c (grub_ftoa): Remove.
32557 (grub_vsprintf): Remove floating point support.
32558
50465dd6 325592008-06-15 Robert Millan <rmh@aybabtu.com>
32560
fe6b695a 32561 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 32562 devices.
32563 Reported by Max Vozeler.
32564
a9207284 325652008-06-15 Robert Millan <rmh@aybabtu.com>
32566
32567 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
32568 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
32569 skipped later.
32570 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
32571 the beginning of the prefix.
32572
32573 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
32574 It is assumed that if we have a memdisk, grub-mkimage has set
32575 grub_prefix to include the "(memdisk)" drive in it.
32576
a7cbd45a 325772008-06-15 Robert Millan <rmh@aybabtu.com>
32578
32579 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
32580 Initialize keyboard controller after registering the terminal, so that
32581 grub_printf() can be called from grub_keyboard_controller_init().
32582
21cf716a 325832008-06-15 Robert Millan <rmh@aybabtu.com>
32584
32585 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
32586 extent-btree which is written as big endian on disk.
32587 Reported by Alain Greppin <al@chilibi.org>.
32588
23a64d8e 325892008-06-14 Robert Millan <rmh@aybabtu.com>
32590
32591 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
32592 * util/i386/pc/grub-install.in (modules): Likewise.
32593
d687651c 325942008-06-13 Pavel Roskin <proski@gnu.org>
32595
32596 * commands/ls.c (grub_ls_list_files): Fix format warnings.
32597
dfe9ddd4 325982008-06-13 Bean <bean123ch@gmail.com>
32599
32600 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
32601
32602 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
32603
32604 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
32605 to indicate sparse block.
32606
16ae7781 326072008-06-12 Pavel Roskin <proski@gnu.org>
32608
e6d1a308 32609 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
32610 number, grub_fshelp_read() does it for us.
32611
16ae7781 32612 * fs/fshelp.c (grub_fshelp_read): New function. Implement
32613 linear disk read with journal translation.
32614 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
32615 * include/grub/fshelp.h: Declare grub_fshelp_read().
32616
40fd3a2b 326172008-06-09 Pavel Roskin <proski@gnu.org>
32618
32619 * fs/minix.c (grub_minix_mount): Handle error reading
32620 superblock.
32621
f5679726 326222008-06-08 Robert Millan <rmh@aybabtu.com>
32623
32624 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
32625 don't append the RAID prefix afterwards.
32626 Reported by Clint Adams.
32627
ce525529 326282008-06-08 Robert Millan <rmh@aybabtu.com>
32629
32630 Based on description from Pavel:
32631 * kern/disk.c (grub_disk_check_range): Rename to ...
32632 (grub_disk_adjust_range): ... this. Add a comment explaining the
32633 tasks performed by this function.
32634
ad4936a0 326352008-06-08 Robert Millan <rmh@aybabtu.com>
32636
32637 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
32638 `num_serial' (for consistency with other variables).
32639 (struct grub_ntfs_data): Add `uuid' member.
32640 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
32641 (grub_ntfs_uuid): New function.
32642 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
32643
dc20b0f9 326442008-06-07 Pavel Roskin <proski@gnu.org>
32645
32646 * util/biosdisk.c (open_device): Revert last change to the
32647 function, it broke installation. The sector needs to be
32648 different dependent on which device is opened.
32649
c5e3cfba 326502008-06-06 Robert Millan <rmh@aybabtu.com>
32651
32652 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
32653 rest of GRUB, and breakage doesn't happen if its value were modified.
32654
32655 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
32656 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
32657 a constant (same value).
32658 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
32659 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
32660
26a1f8c4 326612008-06-06 Robert Millan <rmh@aybabtu.com>
32662
32663 * util/biosdisk.c (open_device): Do not modify sector offset when
32664 accessing a partition. kern/disk.c already handles this for us.
32665
25d6b327 326662008-06-06 Robert Millan <rmh@aybabtu.com>
32667
32668 * util/grub-emu.c (grub_machine_init): Move code in this function from
32669 here ...
32670 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
32671 segfault in case grub_printf() is called).
32672
32673 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
32674 grub_probe. Update all users not to explicitly add it again.
32675 (grub_device): New variable; contains corresponding device for grubdir.
32676 (fs_module, partmap_module, devabstraction_module): Pass
32677 `--device ${grub_device}' to grub_probe to avoid traversing /dev
32678 every time.
32679
9ece62fb 326802008-06-05 Robert Millan <rmh@aybabtu.com>
32681
32682 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
32683 is found, print it (same layout as with labels).
32684
1ad36d37 326852008-06-04 Robert Millan <rmh@aybabtu.com>
32686
32687 * util/biosdisk.c (get_drive): Rename to ...
32688 (find_grub_drive): ... this. Update all users.
32689
32690 (get_os_disk): Rename to ...
32691 (convert_system_partition_to_system_disk): ... this. Update all users.
32692
32693 (find_drive): Rename to ...
32694 (find_system_device): ... this. Update all users.
32695
e6a30859 326962008-06-04 Robert Millan <rmh@aybabtu.com>
32697
32698 * util/biosdisk.c (get_os_disk): Handle IDA devices.
32699 * util/grub-mkdevicemap.c (get_mmc_disk_name)
32700 (make_device_map): Likewise.
32701
00c108a4 327022008-06-01 Robert Millan <rmh@aybabtu.com>
32703
32704 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
32705 before dereferencing it.
32706
32707 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
32708 union with fat12/fat16-specific ones. Add some new fields, including
32709 `num_serial' for both versions.
32710 (struct grub_fat_data): Add `uuid' member.
32711 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
32712 names. Initialize `data->uuid' using `num_serial'.
32713 (grub_fat_uuid): New function.
32714 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
32715
32716 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
32717 (grub_reiserfs_uuid): New function.
32718 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
32719 member.
32720
32721 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
32722 (grub_xfs_uuid): New function.
32723 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
32724
1385c5bb 327252008-06-01 Robert Millan <rmh@aybabtu.com>
32726
32727 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
32728 code that is backward compatible with pre-uuid search command.
32729
c682dfd7 327302008-05-31 Robert Millan <rmh@aybabtu.com>
32731
32732 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
32733 floppies after everything else, to ensure floppy drive isn't accessed
32734 unnecessarily (patch from Bean).
32735
b7db5d47 327362008-05-31 Robert Millan <rmh@aybabtu.com>
32737
32738 * commands/search.c (search_label, search_fs_uuid, search_file): Do
32739 not print device names when we were asked to set a variable.
32740
6e037aa9 327412008-05-31 Robert Millan <rmh@aybabtu.com>
32742
32743 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
32744 using "cursor-on" and "cursor-off" commands (understood at least by
32745 the Open Firmware flavour on OLPC).
32746
41305bc8 327472008-05-31 Michael Gorven <michael@gorven.za.net>
32748
32749 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
32750 on and off sequences.
32751
69ba137e 327522008-05-31 Robert Millan <rmh@aybabtu.com>
32753
32754 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
32755 * util/update-grub.in: Likewise.
32756
520ae21b 327572008-05-30 Pavel Roskin <proski@gnu.org>
32758
32759 * util/biosdisk.c (linux_find_partition): Simplify logic and
32760 make the code more universal. Keep special processing for
32761 devfs, but use a simple rule for all other devices. If the
32762 device ends with a number, append 'p' and the partition number.
32763 Otherwise, append only the partition number.
32764
5786569b 327652008-05-30 Robert Millan <rmh@aybabtu.com>
32766
32767 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
32768 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
32769 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
32770 the `root' parameter to Linux.
32771
51500452 327722008-05-30 Robert Millan <rmh@aybabtu.com>
32773
32774 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
32775 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
32776 --fs_uuid with --fs-uuid.
32777 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
32778 all filesystems support them).
32779
811d3878 327802008-05-30 Robert Millan <rmh@aybabtu.com>
32781
32782 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 32783 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 32784
cab63c95 327852008-05-30 Robert Millan <rmh@aybabtu.com>
32786
32787 * util/grub.d/00_header.in: Remove obsolete comment referencing
32788 convert_system_path_to_grub_path().
32789 * util/update-grub.in: Likewise.
32790 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
32791 (convert_system_path_to_grub_path): Add a warning message explaining
32792 that this function is deprecated. Rely on is_path_readable_by_grub()
32793 for the readability checks.
32794 (font_path): Use is_path_readable_by_grub() for the readability
32795 check rather than convert_system_path_to_grub_path().
32796
972e2f7a 327972008-05-30 Robert Millan <rmh@aybabtu.com>
32798
32799 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
32800 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
32801 converting it first.
32802 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
32803 grub.cfg for access to font file, and afterwards call it again to set
32804 the root device.
32805
62191274 328062008-05-30 Robert Millan <rmh@aybabtu.com>
32807
32808 * commands/search.c (options): Add --fs_uuid option.
32809 (search_fs_uuid): New function.
32810 (grub_cmd_search): Fix --set argument passing.
32811 Use search_fs_uuid() when requested via --fs_uuid.
32812 (grub_search_init): Update help message.
32813 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
32814 and redeclare it as an array of 16-bit words.
32815 (grub_ext2_uuid): New function.
32816 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
32817 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
32818 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
32819 (GRUB_DEVICE_BOOT_UUID): New variables.
32820 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
32821 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
32822 whenever possible.
32823 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
32824 just assume `root' variable has the right value.
32825 * util/grub.d/10_linux.in: Likewise.
32826 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
32827 via PRINT_FS_UUID.
32828 (main): Recognise `-t fs_uuid' argument.
32829
01b73ec8 328302008-05-30 Robert Millan <rmh@aybabtu.com>
32831
32832 * util/biosdisk.c (map): Redefine structure to hold information
32833 about GRUB drive name.
fe6b695a 32834 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 32835 drive names.
32836 (call_hook): Remove.
32837 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
32838 member. Assume drive has partitions.
32839 (grub_util_biosdisk_open): Access device names via `.device' struct
32840 member.
32841 (open_device): Likewise.
32842 (find_drive): Likewise.
32843 (read_device_map): Adjust map[] usage to match the new struct
32844 definition. Don't check for duplicates (still possible, but not cheap
32845 anymore).
32846 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
32847 (make_device_name): Remove assumption of BIOS-like drive names.
32848
22f16596 328492008-05-30 Pavel Roskin <proski@gnu.org>
32850
32851 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
32852 compiling execute.c doesn't need grub_script.tab.h anymore.
32853 (normal/command.c_DEPENDENCIES): Likewise.
32854 (normal/function.c_DEPENDENCIES): Likewise.
32855 * conf/i386-ieee1275.rmk: Likewise.
32856 * conf/i386-linuxbios.rmk: Likewise.
32857 * conf/i386-pc.rmk: Likewise.
32858 * conf/powerpc-ieee1275.rmk: Likewise.
32859 * conf/sparc64-ieee1275.rmk: Likewise.
32860
528ad8f2 328612008-05-29 Pavel Roskin <proski@gnu.org>
32862
d1dff95d 32863 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
32864 when scanning metadata for volume group name.
32865
528ad8f2 32866 * include/grub/script.h: Don't include grub_script.tab.h. It's
32867 a generated file, which may only be included from the files with
32868 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
32869 use union YYSTYPE, as the later allows forward declaration.
32870 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
32871
47248e08 328722008-05-29 Robert Millan <rmh@aybabtu.com>
32873
32874 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
32875 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
32876 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
32877 (grub_console_checkkey): Add grub_dprintf() call to report unknown
32878 scan codes.
32879
ee632529 328802008-05-29 Robert Millan <rmh@aybabtu.com>
32881
32882 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
32883 control key combinations.
32884
eee96e08 328852008-05-29 Robert Millan <rmh@aybabtu.com>
32886
32887 * util/powerpc/ieee1275/grub-install.in: Move from here ...
32888 * util/ieee1275/grub-install.in: ... to here.
32889 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
32890 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
32891 (grub_install_SOURCES): Likewise.
32892
da9a6a94 328932008-05-29 Robert Millan <rmh@aybabtu.com>
32894
32895 * fs/affs.c: Update copyright year.
32896 * fs/ext2.c: Likewise.
32897 * fs/fshelp.c: Likewise.
32898 * fs/hfsplus.c: Likewise.
32899 * fs/ntfs.c: Likewise.
32900 * fs/xfs.c: Likewise.
32901 * include/grub/fshelp.h: Likewise.
32902 * util/grub-mkdevicemap.c: Likewise.
32903
12e65f3a 329042008-05-28 Robert Millan <rmh@aybabtu.com>
32905
32906 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
32907 might need to be fatfs to support some firmware implementations
32908 (e.g. OFW or EFI).
32909
23023641 329102008-05-28 Robert Millan <rmh@aybabtu.com>
32911
32912 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
32913 devices.
32914 * util/grub-mkdevicemap.c (get_mmc_disk_name)
32915 (make_device_map): Likewise.
32916
887d2619 329172008-05-20 Bean <bean123ch@gmail.com>
32918
32919 * fs/fshelp.c (grub_fshelp_map_block): New function.
32920 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
32921 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
32922
32923 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
32924 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
32925 (grub_fshelp_journal): New structure.
32926 (grub_fshelp_map_block): New function prototype.
32927 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
32928 (grub_fshelp_map_block): Likewise.
32929
32930 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
32931 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
32932 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
32933 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
32934 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
32935 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
32936 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
32937 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
32938 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
32939 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
32940 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
32941 (grub_ext2_sblock): New members for journal support.
32942 (grub_ext3_journal_header): New structure.
32943 (grub_ext3_journal_revoke_header): Likewise.
32944 (grub_ext3_journal_block_tag): Likewise.
32945 (grub_ext3_journal_sblock): Likewise.
32946 (grub_fshelp_node): New members logfile and journal.
32947 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
32948 grub_fshelp_map_block to get real block number.
32949 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
32950 number.
32951 (grub_ext2_read_inode): Likewise.
32952 (grub_ext3_get_journal): New function.
32953 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
32954 (grub_ext2_close): Release memory used by journal.
32955
32956 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
32957 (REISERFS_MAGIC_DESC_BLOCK): New macro.
32958 (grub_reiserfs_transaction_header): Renamed to
32959 grub_reiserfs_description_block, replace field data with real_blocks.
32960 (grub_reiserfs_commit_block): New structure.
32961 (grub_reiserfs_data): New member journal.
32962 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
32963 number.
32964 (grub_reiserfs_read_symlink): Likewise.
32965 (grub_reiserfs_iterate_dir): Likewise.
32966 (grub_reiserfs_open): Likewise.
32967 (grub_reiserfs_read): Likewise.
32968 (grub_reiserfs_get_journal): New function.
32969 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
32970 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
32971 using grub_reiserfs_get_journal.
32972 (grub_reiserfs_close): Release memory used by journal.
32973
32974 * fs/affs.c (grub_affs_read_block): Change block type to
32975 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
32976
32977 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
32978
32979 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
32980
32981 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
32982
32983 * fs/udf.c (grub_udf_read_block): Change block type to
32984 grub_disk_addr_t. Use type cast to avoid warning.
32985
32986 * fs/xfs.c (grub_xfs_read_block): Likewise.
32987
b7c6bed5 329882008-05-16 Christian Franke <franke@computer.org>
32989
32990 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
32991 to ensure that break with ESC will always work.
32992 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
32993 Remove ESC from keyboard queue.
32994
eedf167f 329952008-05-16 Christian Franke <franke@computer.org>
32996
32997 * util/biosdisk.c: [__CYGWIN__] Add includes.
32998 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
32999 (get_os_disk): Move variable declarations to OS specific
33000 parts to avoid warning.
33001 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
33002 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
33003 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
33004 Cygwin.
33005 * util/getroot.c: [__CYGWIN__] Add includes.
33006 (strip_extra_slashes): Fix "/" case.
33007 [__CYGWIN__] (get_win32_path): New function.
33008 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
33009 [__CYGWIN__] (find_root_device): Disable.
33010 [__CYGWIN__] (get_bootsec_serial): New function.
33011 [__CYGWIN__] (find_cygwin_root_device): Likewise.
33012 [__linux__] (grub_guess_root_device): Add early returns to simplify
33013 structure.
33014 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
33015 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
33016 check for Linux only.
33017
a079699e 330182008-05-15 Bean <bean123ch@gmail.com>
33019
33020 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
33021 keyboard hang problem in apple's intel mac.
33022
1cf4059a 330232008-05-09 Robert Millan <rmh@aybabtu.com>
33024
33025 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
33026 devices.
33027 * util/grub-mkdevicemap.c (get_virtio_disk_name)
33028 (make_device_map): Likewise.
33029 Reported by Aurelien Jarno <aurel32@debian.org>
33030
ed759390 330312008-05-07 Ian Campbell <ijc@hellion.org.uk>
33032
33033 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
33034 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
33035 (make_device_map): Output entries for xvd type disks.
33036
b56c4eaa 330372008-05-07 Robert Millan <rmh@aybabtu.com>
33038
33039 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
33040 devices.
33041 * util/grub-mkdevicemap.c (get_cciss_disk_name)
33042 (make_device_map): Likewise.
33043 Reported by Roland Dreier <rdreier@cisco.com>
33044
7f8866ed 330452008-05-07 Robert Millan <rmh@aybabtu.com>
33046
33047 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
33048 grub_strstr() call. Correct a few mistakes in failure path handling.
33049
b0346e0f 330502008-05-06 Robert Millan <rmh@aybabtu.com>
33051
33052 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
33053 Do not print a trailing slash (therefore, the root directory is an
33054 empty string).
33055 (convert_system_path_to_grub_path): Do not remove trailing slash
33056 from make_system_path_relative_to_its_root() output.
33057
33058 * util/i386/pc/grub-install.in: Add trailing slash to output from
33059 make_system_path_relative_to_its_root().
33060
6cf12cbd 330612008-05-06 Robert Millan <rmh@aybabtu.com>
33062
33063 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
33064 ensures that output lines aren't intermangled with those sent to
33065 stderr (via grub_util_info()).
33066 * util/grub-probe.c (grub_refresh): Likewise.
33067 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
33068
0fbb3117 330692008-05-05 Christian Franke <franke@computer.org>
33070
33071 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
33072 Add Cygwin device names.
33073 (get_ide_disk_name) [__CYGWIN__]: Likewise.
33074 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
33075 (check_device): Return error instead of success on empty name.
33076 (make_device_map): Move label inside linux specific code to
33077 prevent compiler warning.
33078
8124cdb7 330792008-04-30 Robert Millan <rmh@aybabtu.com>
33080
33081 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
33082 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
33083 first boot option.
33084 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
33085
094c01d0 330862008-04-29 Robert Millan <rmh@aybabtu.com>
33087
33088 * docs/grub.cfg: New file (example GRUB configuration).
33089
f4b1fc02 330902008-04-26 Robert Millan <rmh@aybabtu.com>
33091
329ce2a5 33092 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
33093 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
33094 and `disk/ieee1275/nand.c'.
f4b1fc02 33095
25f16ec1 330962008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 33097
25f16ec1 33098 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
33099 i386-linuxbios.
33100
33101 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
33102 change the buffer size to 4096 for cdrom device.
33103
33104 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
33105 and nand.mod.
33106 (_linux_mod_SOURCES): New variable.
33107 (_linux_mod_CFLAGS): Likewise.
33108 (_linux_mod_LDFLAGS): Likewise.
33109 (linux_mod_SOURCES): Likewise.
33110 (linux_mod_CFLAGS): Likewise.
33111 (linux_mod_LDFLAGS): Likewise.
33112 (nand_mod_SOURCES): Likewise.
33113 (nand_mod_CFLAGS): Likewise.
33114 (nand_mod_LDFLAGS): Likewise.
33115
33116 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
33117 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
33118 type property. (nand device in olpc don't have this property)
33119
33120 * include/grub/disk.h (grub_disk_dev_id): New macro
33121 GRUB_DISK_DEVICE_NAND_ID.
33122
33123 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
33124 function prototype.
33125 (grub_rescue_cmd_initrd): Likewise.
33126
33127 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
33128 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
33129 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 33130
25f16ec1 33131 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
33132 GRUB_MACHINE_IEEE1275 is defined.
33133
33134 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
33135 Use NESTED_FUNC_ATTR attribute on the hook parameter.
33136
33137 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
33138 on nested function heap_init.
33139 (grub_upper_mem): New variable for i386-ieee1275.
33140 (grub_get_extended_memory): New function for i386-ieee1275.
33141 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
33142
33143 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
33144 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
33145 property.
f19dbdb7 33146
25f16ec1 33147 * loader/i386/ieee1275/linux.c: New file.
33148
33149 * loader/i386/ieee1275/linux_normal.c: New file.
33150
33151 * disk/ieee1275/nand.c: New file.
33152
e89d61e9 331532008-04-18 Thomas Schwinge <tschwinge@gnu.org>
33154
33155 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
33156 value.
33157 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
33158
602566f6 331592008-04-18 Robert Millan <rmh@aybabtu.com>
33160
33161 Restructures early code path on ieee1275 to unify grub_main() as
33162 the first C function that is executed in every platform.
33163
33164 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
33165 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
33166 cmain().
33167 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
33168 * kern/ieee1275/cmain.c (cmain): Rename to ...
33169 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
33170 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
33171 at the beginning.
33172
57490c2b 331732008-04-18 Robert Millan <rmh@aybabtu.com>
33174
33175 * util/update-grub.in: Fix syntax error when setting
33176 `GRUB_PRELOAD_MODULES'.
33177 Reported by Stephane Chazelas <stephane@artesyncp.com>
33178
1977517d 331792008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
33180
33181 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
33182 section into account, newer toolchains generate unique build ids
33183 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 33184 we want build ids to be preserved
1977517d 33185 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
33186 far from other sections don't cause the raw binary images grow
33187 size
33188
bfb1f1a2 331892008-04-15 Robert Millan <rmh@aybabtu.com>
33190
33191 * disk/lvm.c: Update copyright year.
33192 * kern/misc.c: Likewise.
33193
01979850 331942008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
33195
33196 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 33197 there is no memory left for physical volume name.
01979850 33198
0a1150e2 331992008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
33200
33201 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
33202 volume name mapping to support bigger than 9 character names properly.
33203
82ead3fe 332042008-04-13 Robert Millan <rmh@aybabtu.com>
33205
33206 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
33207 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
33208
e54a72f5 332092008-04-13 Christian Franke <franke@computer.org>
33210
33211 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
33212 to create a floppy emulation boot CD when non emulation mode
33213 does not work.
33214 Enable Joliet CD filesystem extension.
33215
9fe86034 332162008-04-13 Robert Millan <rmh@aybabtu.com>
33217
33218 * kern/misc.c (grub_strncat): Fix off-by-one error.
33219 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
33220
33221 * kern/env.c (grub_env_context_close): Clear current context, not
33222 previous one.
33223 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
33224
33225 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
33226
7ceeee39 332272008-04-13 Robert Millan <rmh@aybabtu.com>
33228
33229 Improve robustness when handling LVM.
33230
33231 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 33232 (and leave `*p' unmodified).
7ceeee39 33233 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
33234 through it.
33235 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
33236 iterating through it.
33237 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
33238 through it.
fe6b695a 33239 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 33240 when due) on each grub_lvm_getvalue() or grub_strstr() call.
33241 Don't assume `vg->pvs != NULL' when iterating through it.
33242
58cd3d85 332432008-04-13 Robert Millan <rmh@aybabtu.com>
33244
33245 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
33246 * genmk.rb (partmap): New variable.
33247 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
33248 (#{partmap}): New target rule.
33249 * genpartmaplist.sh: New file.
33250 * Makefile.in (pkglib_DATA): Add partmap.lst.
33251 (partmap.lst): New target rule.
33252 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
33253 modules (including all partition maps), instead of preloading them.
33254
78b51059 332552007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
33256
33257 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
33258 `linux-boot-prober' (if installed) to detect other operating
33259 systems which are installed on the computer and add them to
33260 the boot menu.
33261 * conf/common.rmk: Build and install 30_os-prober.
33262
a91627b4 332632008-04-12 Robert Millan <rmh@aybabtu.com>
33264
33265 * kern/powerpc/ieee1275/init.c: Move from here ...
33266 * kern/ieee1275/init.c: ... to here. Update all users.
33267
33268 * kern/powerpc/ieee1275/cmain.c: Move from here ...
33269 * kern/ieee1275/cmain.c: ... to here. Update all users.
33270
33271 * kern/powerpc/ieee1275/openfw.c: Move from here ...
33272 * kern/ieee1275/openfw.c: ... to here. Update all users.
33273
33274 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
33275 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
33276
322562ea 332772008-04-10 Pavel Roskin <proski@gnu.org>
33278
33279 * configure.ac: Always use "_cv_" in cache variables for
33280 compatibility with Autoconf 2.62.
33281
a02a73c5 332822008-04-07 Robert Millan <rmh@aybabtu.com>
33283
33284 Revert grub/machine/init.h addition by Pavel (since it breaks on
33285 i386-ieee1275 and others):
33286 * util/i386/pc/misc.c: Remove grub/machine/init.h.
33287 * util/powerpc/ieee1275/misc.c: Likewise.
33288
25c024b1 332892008-04-07 Robert Millan <rmh@aybabtu.com>
33290
33291 * util/grub-probe.c (probe): Improve error message.
33292
3cbd2f98 332932008-04-07 Robert Millan <rmh@aybabtu.com>
33294
33295 * util/biosdisk.c (read_device_map): Skip devices that don't exist
33296 (this prevents the presence of a bogus entry from ruining the whole
33297 thing).
33298
87a297bf 332992008-04-06 Pavel Roskin <proski@gnu.org>
33300
36747a62 33301 * util/biosdisk.c: Include grub/util/biosdisk.h.
33302 * util/grub-fstest.c (execute_command): Make static.
33303 * util/grub-mkdevicemap.c (check_device): Likewise.
33304 * util/i386/pc/misc.c: Include grub/machine/init.h.
33305 * util/powerpc/ieee1275/misc.c: Likewise.
33306 * util/lvm.c: Include grub/util/lvm.h.
33307 * util/misc.c: Include grub/kernel.h, grub/misc.h and
33308 grub/cache.h.
33309 * util/raid.c: Include grub/util/raid.h.
33310 (grub_util_getdiskname): Make static.
33311
87a297bf 33312 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
33313 grub_hostfs_fini(), as they are called from grub_init_all() and
33314 grub_fini_all() respectively. This fixes an infinite loop in
33315 grub-fstest due to double registration of hostfs.
33316 Reported by Christian Franke <Christian.Franke@t-online.de>
33317
f6ce7629 333182008-04-05 Pavel Roskin <proski@gnu.org>
33319
33320 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
33321 all 8 functions. Otherwise, probe function 0 only.
33322
070e49e4 333232008-04-04 Pavel Roskin <proski@gnu.org>
33324
8b088a4c 33325 * commands/lspci.c (grub_lspci_iter): Print the bus number
33326 correctly.
33327
4f657021 33328 * commands/lspci.c (grub_pci_classes): Fix typos.
33329 (grub_lspci_iter): Don't print func twice. Print vendor ID
33330 before device ID, as it's normally done.
33331
070e49e4 33332 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
33333 Fix signedness warnings.
33334 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
33335 Likewise.
33336 * util/ieee1275/get_disk_name.c: Include config.h so that
33337 _GNU_SOURCE is defined and getline() is declared. Mark an
33338 unused argument as such. Fix a signedness warning.
33339
ba7328dc 333402008-04-02 Pavel Roskin <proski@gnu.org>
33341
26887f22 33342 * genkernsyms.sh.in: Use more robust assignments for CC and
33343 srcdir. Quote srcdir.
33344 * gensymlist.sh.in: Likewise. Assert at the compile time that
33345 the symbol table is not empty.
33346
ba7328dc 33347 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
33348 * fs/cpio.c (grub_cpio_read): Likewise.
33349
0f582c6b 333502008-04-01 Pavel Roskin <proski@gnu.org>
33351
4b6e1995 33352 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
33353 * disk/host.c (grub_host_open): Likewise.
33354 * disk/loopback.c (grub_loopback_open): Likewise.
33355 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
33356 disk->id as in disk/host.c, not a multi-character constant.
33357
828a2768 33358 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
33359 later is obsolete, potentially dangerous and sets a bad example.
33360 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
33361 * util/misc.c (grub_util_get_image_size): Likewise.
33362
2bb4fb47 33363 * disk/loopback.c (options): Improve help for "--partitions".
33364
0f582c6b 33365 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
33366 options to align them with the short options, e.g. "echo -e".
33367
a33224e0 333682008-03-31 Bean <bean123ch@gmail.com>
33369
33370 * video/reader/png.c (grub_png_data): New member is_16bit and
33371 image_data.
33372 (grub_png_decode_image_header): Detect 16 bit png image.
33373 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
33374 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
33375 (grub_video_reader_png): Release memory occupied by image_data.
33376
33377 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
33378 4096 bytes.
33379 (grub_nfs_mount): Skip the test for sector per cluster.
33380
33381 * include/grub/ntfs.h (MAX_SPC): Removed.
33382
86cb4f54 333832008-03-31 Bean <bean123ch@gmail.com>
33384
33385 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
33386 (grub_probe_SOURCES): Add fs/afs.c.
33387 (grub_fstest_SOURCES): Likewise.
33388 (afs_mod_SOURCES): New variable.
33389 (afs_mod_CFLAGS): Likewise.
33390 (afs_mod_LDFLAGS): Likewise.
33391
33392 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
33393 (grub_emu_SOURCES): Likewise.
33394
33395 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33396
33397 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33398
33399 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33400
33401 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33402
33403 * fs/afs.c: New file.
33404
17c74c21 334052008-03-30 Pavel Roskin <proski@gnu.org>
33406
4cb68e89 33407 * disk/host.c: Include grub/misc.h to fix a warning.
33408 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
33409 warnings about implicit declarations.
33410
8790bb04 33411 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
33412 variable.
33413 * include/grub/i386/loader.h: Change declaration of
33414 grub_linux_boot() to match what grub_loader_set() expects.
33415 * util/getroot.c (grub_guess_root_device): Return const char* to
33416 fix a warning.
33417 * util/grub-probe.c (probe): Fix a warning about uninitialized
33418 abstraction_name variable.
33419 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
33420 second argument as unused to fix a warning.
33421
9a3f3296 33422 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
33423 missing grub_error() call.
33424
0ecef90d 33425 * util/update-grub_lib.in: Define datarootdir, since Autoconf
33426 2.60 and newer uses it to define datadir.
33427
0bf6d401 33428 * commands/sleep.c: Fix warning about implicit declaration.
33429 * disk/memdisk.c: Likewise.
33430 * loader/aout.c: Likewise.
33431 * loader/i386/bsd_normal.c: Likewise.
33432 * util/grub-probe.c: Likewise.
33433
7cdacf97 33434 * commands/i386/cpuid.c (has_longmode): Make static.
33435 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
33436 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
33437
17c74c21 33438 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
33439 GDT. This is more robust, as %ds can change.
33440 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
33441 calling real_to_prot().
33442 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
33443
80a3e68b 334442008-03-28 Pavel Roskin <proski@gnu.org>
33445
33446 * kern/i386/pc/startup.S: Assert that uncompressed functions
33447 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
33448 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
33449 code, as they push parts of the code (error handlers) beyond
33450 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
33451 code as correctness and size.
33452
77bcd272 334532008-03-28 Pavel Roskin <proski@gnu.org>
33454
33455 * kern/i386/pc/startup.S
33456 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
33457 data block address to the real mode, keep offset minimal. This
33458 works around a bug in AWARD BIOS on old Athlon systems, which
33459 makes CD detection hang.
33460
c5dfd43b 334612008-03-26 Pavel Roskin <proski@gnu.org>
33462
33463 * normal/color.c (grub_parse_color_name_pair): Make `name' a
33464 const.
33465 * include/grub/normal.h: Add grub_parse_color_name_pair()
33466 declaration.
33467
bf962df2 334682008-03-24 Bean <bean123ch@gmail.com>
33469
33470 * disk/i386/pc/biosdisk.c (cd_start): Removed.
33471 (cd_count): Removed.
33472 (cd_drive): New variable.
33473 (grub_biosdisk_get_drive): Don't check for (cdN) device.
33474 (grub_biosdisk_call_hook): Likewise.
33475 (grub_biosdisk_iterate): Change cdrom detection method.
33476 (grub_biosdisk_open): Replace cd_start with cd_drive.
33477 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
33478 detect cdrom device.
33479
33480 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
33481 Removed.
33482 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
33483 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
33484 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
33485 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
33486 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
33487 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
33488 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
33489 (grub_biosdisk_cdrp): New structure.
33490 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
33491
33492 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
33493
33494 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
33495 device.
33496
33497 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
33498 New function.
33499
68e7fc7a 335002008-03-20 Robert Millan <rmh@aybabtu.com>
33501
33502 Remove 2 TiB limit in ata.mod.
33503 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
33504 (grub_ata_dumpinfo): Print sector count with 0x%llx.
33505 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
33506 grub_uint64_t instead of grub_uint32_t.
33507
38ad2cf5 335082008-03-05 Bean <bean123ch@gmail.com>
33509
33510 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
33511 (grub_multiboot): Set boot device.
33512
33513 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
33514
2b89344e 335152008-03-02 Bean <bean123ch@gmail.com>
33516
33517 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
33518 symlink_buffer.
33519
87a95d1f 335202008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
33521
33522 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
33523 texinfo.tex.
33524
33525 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
33526 modified.
33527
33528 * docs/fdl.texi: New file.
f19dbdb7 33529
87a95d1f 33530 * docs/mdate-sh: New file. Copied from gnulib.
33531 * docs/texinfo.tex: Likewise.
33532
33533 * config.guess: Updated from gnulib.
33534 * install-sh: Likewise.
33535
7dc15d8e 335362008-02-28 Robert Millan <rmh@aybabtu.com>
33537
33538 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
33539 (aout_mod_SOURCES): New variable.
33540 (aout_mod_CFLAGS): Likewise.
33541 (aout_mod_LDFLAGS): Likewise.
33542
33543 * conf/i386-ieee1275.rmk: Likewise.
33544
b00ab696 335452008-02-28 Robert Millan <rmh@aybabtu.com>
33546
33547 * util/update-grub.in: Reorganise terminal validity check. Accept
33548 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
33549 Based on suggestion by Franklin PIAT.
33550
79ca2d78 335512008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
33552
33553 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
33554 function.
33555 * util/getroot.c (grub_util_check_block_device): New function that
33556 returns the given argument if it is a block device and returns NULL else.
33557 * util/grub-probe.c (argument_is_device): New variable.
33558 (probe): Promote device_name from a variable to an argument. Receive
33559 device_name from grub_util_check_block_device() if path is NULL and from
33560 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 33561 (options): Introduce new parameter '-d, --device'.
79ca2d78 33562 (main): Add description of the new parameter to the help screen.
33563 Rename path variable to argument. Set argument_is_device if the '-d'
33564 option is given. Pass argument to probe() depending on
33565 argument_is_device.
33566
0d16e571 335672008-02-24 Bean <bean123ch@gmail.com>
33568
33569 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
33570 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
33571 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
33572 (GRUB_ISO9660_VOLDESC_PART): Likewise.
33573 (GRUB_ISO9660_VOLDESC_END): Likewise.
33574 (grub_iso9660_primary_voldesc): New member escape.
33575 (grub_iso9660_data): New member joliet.
33576 (grub_iso9660_convert_string): New function.
33577 (grub_iso9660_mount): Detect joliet extension.
33578 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
33579 (grub_iso9660_iso9660_label): Likewise.
33580
33581 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
33582 (grub_setup_SOURCES): Add fs/udf.c.
33583 (grub_fstest_SOURCES): Likewise.
33584 (udf_mod_SOURCES): New variable.
33585 (udf_mod_CFLAGS): Likewise.
33586 (udf_mod_LDFLAGS): Likewise.
33587
33588 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
33589 (grub_emu_SOURCES): Likewise.
33590
33591 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33592
33593 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33594
33595 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33596
33597 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33598
33599 * fs/udf.c: New file.
33600
8a594a17 336012008-02-24 Robert Millan <rmh@aybabtu.com>
33602
33603 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
33604 (normal/lexer.c_DEPENDENCIES): New variables.
33605 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
33606 (normal/lexer.c_DEPENDENCIES): Likewise.
33607 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
33608 (normal/lexer.c_DEPENDENCIES): Likewise.
33609 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
33610 (normal/lexer.c_DEPENDENCIES): Likewise.
33611 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
33612 (normal/lexer.c_DEPENDENCIES): Likewise.
33613 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
33614 (normal/lexer.c_DEPENDENCIES): Likewise.
33615
2dc33c03 336162008-02-23 Robert Millan <rmh@aybabtu.com>
33617
33618 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
33619 since they were intended to be in hex. This didn't break previously
33620 because of a bug in gpt_partition_map_iterate() (see below).
33621
33622 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
33623 when checking the validity of GPT header.
33624 Remove `partno', since it always provides the same information as `i'.
33625
f6f4cfb0 336262008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
33627
33628 * include/grub/efi/time.h: Fix a wrong comment.
33629
79ff665f 336302008-02-19 Pavel Roskin <proski@gnu.org>
33631
33632 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
33633 message.
33634
d38e24c2 336352008-02-19 Bean <bean123ch@gmail.com>
33636
33637 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
33638 (aout_mod_SOURCES): New variable.
33639 (aout_mod_CFLAGS): Likewise.
33640 (aout_mod_LDFLAGS): Likewise.
33641 (_bsd_mod_SOURCES): New variable.
33642 (_bsd_mod_CFLAGS): Likewise.
33643 (_bsd_mod_LDFLAGS): Likewise.
33644 (bsd_mod_SOURCES): New variable.
33645 (bsd_mod_CFLAGS): Likewise.
33646 (bsd_mod_LDFLAGS): Likewise.
33647
33648 * include/grub/aout.h: New file.
33649
33650 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
33651
33652 * include/grub/i386/bsd.h: New file.
33653
33654 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
33655 to make it public.
33656
33657 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
33658 function is called, so that it's possible to change it inside the hook.
33659 (grub_elf64_load): Likewise.
33660 (grub_elf_file): Don't close the file if elf header is not found.
33661 (grub_elf_close): Close the file if grub_elf_file fails (The new
33662 grub_elf_file won't close it).
33663 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
33664 (grub_elf64_size): Likewise.
33665
33666 * kern/i386/loader.S (grub_unix_real_boot): New function.
33667
33668 * loader/aout.c: New file.
33669
33670 * loader/i386/bsd.c: New file.
33671
33672 * loader/i386/bsd_normal.c: New file.
33673
33674 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
33675
33676 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 33677 can test other formats.
d38e24c2 33678
b93bdb0f 336792008-02-19 Robert Millan <rmh@aybabtu.com>
33680
33681 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
33682 (grub_gpt_partition_type_empty): Redefine with macro from
33683 `<grub/gpt_partition.h>'.
33684 (gpt_partition_map_iterate): Adjust partition type comparison.
33685
33686 Export `entry' as partmap-specific `part.data' struct.
33687 (grub_gpt_header, grub_gpt_partentry): Move from here ...
33688
33689 * include/grub/gpt_partition.h (grub_gpt_header)
33690 (grub_gpt_partentry): ... to here (new file).
33691
33692 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
33693
33694 (grub_gpt_partition_type_bios_boot): New const variable, defined
33695 with macro from `<grub/gpt_partition.h>'.
33696
33697 (setup): Replace `first_start' with `embed_region', which keeps
33698 track of the embed region (and is partmap-agnostic).
33699
33700 Replace find_first_partition_start() with find_usable_region(),
33701 which finds a usable region for embedding using partmap-specific
33702 knowledge (supports PC/MSDOS and GPT).
33703
33704 Fix all assumptions that the embed region start at sector 1, using
33705 `embed_region.start' from now on. Similarly, use `embed_region.end'
33706 rather than `first_start' to calculate available size.
33707
33708 In grub_util_info() message, replace "into after the MBR" with an
33709 indication of the specific sector our embed region starts at.
33710
66cb40f6 337112008-02-19 Robert Millan <rmh@aybabtu.com>
33712
33713 * DISTLIST: Replace `commands/ieee1275/halt.c' and
33714 `commands/ieee1275/reboot.c' with `commands/halt.c' and
33715 `commands/reboot.c'.
33716 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
33717 (halt_mod_SOURCES): Likewise.
33718 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
33719 (halt_mod_SOURCES): Likewise.
33720
b7202015 337212008-02-17 Christian Franke <franke@computer.org>
33722
33723 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
33724
32b0fc49 337252008-02-17 Robert Millan <rmh@aybabtu.com>
33726
33727 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
33728 set `first_start' to 0 for non-PC/MSDOS partition maps.
33729
aca63502 337302008-02-16 Robert Millan <rmh@aybabtu.com>
33731
33732 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
33733 do not assume partition map is PC/MSDOS before performing checks that
33734 are specific to that layout.
33735
0de8be86 337362008-02-13 Robert Millan <rmh@aybabtu.com>
33737
33738 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
33739 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
33740 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
33741
c3db8364 337422008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
33743
33744 * configure.ac: Only a cosmetic change on the handling of
33745 -fno-stack-protector.
33746
f714229e 337472008-02-12 Alexandre Boeglin <alex@boeglin.org>
33748
c3db8364 33749 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
33750 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
33751 reboot.c.
f714229e 33752 (grub_install_SOURCES): Add halt.mod and reboot.mod.
33753 (halt_mod_SOURCES): New variable.
33754 (halt_mod_CFLAGS): Likewise.
33755 (halt_mod_LDFLAGS): Likewise.
33756 (reboot_mod_SOURCES): Likewise.
33757 (reboot_mod_CFLAGS): Likewise.
33758 (reboot_mod_LDFLAGS): Likewise.
33759
c3db8364 33760 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
33761 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
33762 reboot.c.
f714229e 33763 (halt_mod_SOURCES): Likewise.
33764 (reboot_mod_SOURCES): Likewise.
33765
c3db8364 33766 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
33767 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 33768 (reboot_mod_SOURCES): Likewise.
33769
33770 * commands/i386/pc/reboot.c: merge this file ...
33771
33772 * commands/ieee1275/reboot.c: ... and this file ...
33773
33774 * commands/reboot.c: ... to this file.
c3db8364 33775 Add some precompiler directive to include the correct header for
33776 each machine.
f714229e 33777
33778 * commands/ieee1275/halt.c: move this file ...
33779
33780 * commands/halt.c: ... to here.
c3db8364 33781 Add some precompiler directive to include the correct header for
33782 each machine.
f714229e 33783
33784 * include/grub/efi/efi.h (grub_reboot): New function declaration.
33785 (grub_halt): Likewise.
33786
33787 * kern/efi/efi.c (grub_reboot): New function.
33788 (grub_halt): Likewise.
33789
c74493e0 337902008-02-12 Robert Millan <rmh@aybabtu.com>
33791
33792 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
33793 /dev (like it is done for /dev/mapper). This doesn't provide support
33794 for EVMS, but at least it is now easy to identify the problem when it
33795 arises.
33796
d0db4b04 337972008-02-11 Robert Millan <rmh@aybabtu.com>
33798
33799 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
33800 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
33801 comparing it with -1, not 0.
33802
bf748642 338032008-02-10 Robert Millan <rmh@aybabtu.com>
33804
33805 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
33806 `disk/lvm.c'.
33807 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33808 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
33809
33810 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
33811 `disk/lvm.c' to the end of the list.
33812 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33813 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33814
b5db202a 338152008-02-10 Robert Millan <rmh@aybabtu.com>
33816
33817 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
33818 grub_print_error() instead. This will let user know why we're entering
33819 rescue mode.
33820 Based on suggestions from Sam Morris.
33821
83abee31 338222008-02-10 Alexandre Boeglin <alex@boeglin.org>
33823
33824 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
33825 on remaining N args, instead of "--" arg N times.
33826
78d5a08b 338272008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
33828
33829 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
33830 (fill_with_default_glyph): Changed to use unknown_glyph for fill
33831 pattern for unknown glyphs.
33832
68807e5f 338332008-02-09 Robert Millan <rmh@aybabtu.com>
33834
33835 * configure.ac: Probe for `help2man'.
33836 * Makefile.in (builddir): New variable.
33837 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
33838 or otherwise add a few flags/options to it.
33839 (install-local): For every executable utility or script that is
33840 installed, invoke $(HELP2MAN) to install a manpage based on --help
33841 output.
33842
33843 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
33844 that it doesn't prevent --help from working in build tree.
33845
33846 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
33847 with `bug-grub@gnu.org'.
33848 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
33849 * util/update-grub.in (usage): New function.
33850 Implement proper argument check, with support for --help and --version
33851 (as well as existing -y).
33852
338532008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 33854
33855 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
33856 avoid overwriting previous output.
33857 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
33858
c1962162 338592008-02-09 Robert Millan <rmh@aybabtu.com>
33860
33861 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
33862 drawing the menu.
33863
3dac2e3f 338642008-02-09 Robert Millan <rmh@aybabtu.com>
33865
33866 * commands/sleep.c: New file.
33867 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
33868 (sleep_mod_SOURCES): New variable.
33869 (sleep_mod_CFLAGS): Likewise.
33870 (sleep_mod_LDFLAGS): Likewise.
33871
7a634e08 338722008-02-09 Robert Millan <rmh@aybabtu.com>
33873
33874 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
33875 situations in which we can deduce the RAID size and the superblock
33876 doesn't match it.
33877
b92f0c18 338782008-02-09 Robert Millan <rmh@aybabtu.com>
33879
33880 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
33881 and return a grub_diskmemberlist_t composed of LVM physical volumes.
33882 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
33883
33884 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
33885 and return a grub_diskmemberlist_t composed of physical array members.
33886 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
33887
33888 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
33889 prototype.
33890 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
33891 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
33892 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
33893
33894 * util/grub-probe.c (probe): Move partmap probing code from here ...
33895 (probe_partmap): ... to here.
33896 (probe): Use probe_partmap() once for the disk we're probing, and
33897 additionally, when such disk contains a memberlist() struct member,
33898 once for each disk that is contained in the structure returned by
33899 memberlist().
33900
91a4bf68 339012008-02-09 Robert Millan <rmh@aybabtu.com>
33902
33903 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
33904 environment variable to 'all' in order to obtain debug output from
33905 non-util/ code.
33906 * util/i386/pc/grub-setup.c (main): Likewise.
33907
a96f9caa 339082008-02-08 Robert Millan <rmh@aybabtu.com>
33909
33910 * disk/raid.c (grub_raid_scan_device): Check for
33911 `array->device[sb.this_disk.number]' rather than for
33912 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 33913 guaranteed to be accessible.
a96f9caa 33914
b37a9222 339152008-02-08 Robert Millan <rmh@aybabtu.com>
33916
33917 * disk/raid.c: Update copyright.
33918 * fs/cpio.c: Likewise.
33919 * include/grub/raid.h: Likewise.
33920 * loader/i386/pc/multiboot.c: Likewise.
33921 * util/hostfs.c: Likewise.
33922
5626aee1 339232008-02-08 Robert Millan <rmh@aybabtu.com>
33924
33925 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
33926 to a grub_disk_t array.
33927 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
33928 `device[x]'.
33929 (grub_raid_scan_device): Replace `device[x].name' accesses with
33930 `device[x]->name'. Simplify initialization of `array->device[x]'.
33931
554f0187 339322008-02-08 Robert Millan <rmh@aybabtu.com>
33933
33934 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
33935 grub_dprintf() calls.
33936 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
33937 error message.
33938
1ec8425d 339392008-02-07 Christian Franke <franke@computer.org>
33940
33941 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
33942 instead of fseek and ftell to support large files.
33943 (grub_hostfs_read): Likewise.
33944
f2156fda 339452008-02-07 Robert Millan <rmh@aybabtu.com>
33946
33947 Patch from Jeroen Dekkers.
33948 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 33949 failure, since successfully reading all array members might not be
f2156fda 33950 required.
33951
9216e0e7 339522008-02-06 Robert Millan <rmh@aybabtu.com>
33953
33954 * util/grub-probe.c (probe): Simplify partmap probing (with the
33955 assumption that the first word up to the underscore equals to
33956 the module name).
33957
b0dfd29a 339582008-02-06 Christian Franke <franke@computer.org>
33959
33960 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
33961 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
33962 last block of a cpio or tar stream.
33963 Check for "TRAILER!!!" instead of any empty data
33964 block to detect last block of a cpio stream.
33965 (grub_cpio_dir): Fix constness of variable np.
33966 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
33967 cpio or tar trailer is detected. This fixes a crash
33968 on open of a non existing file.
33969
c32865bf 339702008-02-05 Bean <bean123ch@gmail.com>
33971
33972 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
33973 address of entry.
33974 (grub_multiboot_load_elf64): Likewise.
33975 (grub_multiboot): Initialize mbi structure.
33976
33977 * util/grub-fstest.c: Don't include unused header file script.h.
33978
fe6b695a 33979 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 33980 of file.
33981 (grub_fstest_SOURCES): Likewise.
33982
409480b7 339832008-02-05 Robert Millan <rmh@aybabtu.com>
33984
33985 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
33986 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
33987 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
33988 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
33989
33990 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
33991 (translation_table): Replace hardcoded values with macros
33992 provided by `<grub/term.h>'.
33993
33994 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
33995 (keyboard_map): Correct/add a few values, with macros provided
33996 by `<grub/term.h>'.
33997 (keyboard_map_shift): Zero values that don't differ from their
33998 `keyboard_map' equivalents.
33999 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
34000 Discard the second scan code that is always sent by Caps lock.
34001 Only use `keyboard_map_shift' when it provides a non-zero value,
34002 otherwise fallback to `keyboard_map'.
34003
99fadbaa 340042008-02-04 Bean <bean123ch@gmail.com>
34005
34006 * Makefile.in (enable_grub_fstest): New variable.
34007
34008 * conf/common.rmk (grub_fstest_init.lst): New rule.
34009 (grub_fstest_init.h): Likewise.
34010 (grub_fstest_init.c): Likewise.
34011 (util/grub-fstest.c_DEPENDENCIES): New variable.
34012 (grub_fstest_SOURCES): Likewise.
34013
34014 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
34015
34016 * util/grub-fstest.c: New file.
34017
bf567c50 340182008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34019
34020 Make grub-setup handle a separate root device.
f19dbdb7 34021
bf567c50 34022 * util/i386/pc/grub-setup.c (setup): Always open the root device,
34023 so that the root device can be compared with the destination
34024 device.
34025 When embedding the core image, if the root and destination devices
34026 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
34027 0xFF.
34028 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 34029
9be6b98b 340302008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34031
34032 Add support for having a grub directory in a different drive. This
34033 is still only the data handling part.
f19dbdb7 34034
9be6b98b 34035 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
34036 (codestart): Save %dh in GRUB_ROOT_DRIVE.
34037 (grub_root_drive): New variable.
34038
34039 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
34040 instead of GRUB_BOOT_DRIVE to construct a device name. Set
34041 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
34042 as it was.
34043
34044 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
34045
34046 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
34047 macro.
34048 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
34049
34050 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
34051 is bogus, because PXE booting does not specify any drive
34052 correctly.
34053
34054 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
34055 am not sure if this is really correct.
34056
34057 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
34058 is always identical to the boot drive when booting from a CD.
34059
34060 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
34061 longer.
34062 (root_drive): New variable.
34063 (real_start): Unconditionally set %dh to ROOT_DRIVE.
34064 (setup_sectors): Push %dx right after popping it, because %dh will
34065 be modified later.
34066 (copy_buffer): Restore %dx.
34067
e0ca0677 340682008-02-03 Robert Millan <rmh@aybabtu.com>
34069
34070 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
34071 use `cdboot.img' for cdrom images.
34072
3b3f6629 340732008-02-03 Robert Millan <rmh@aybabtu.com>
34074
34075 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
34076 only setup gfxterm when `font' command has succeeded.
34077
d42b3672 340782008-02-03 Robert Millan <rmh@aybabtu.com>
34079
34080 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
34081 (grub_rescue_cmd_multiboot_loader)
34082 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
34083
fa370ea6 340842008-02-03 Pavel Roskin <proski@gnu.org>
34085
e0c5dacb 34086 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 34087 %edx and %esi from stack only after grub_gate_a20() is called.
34088 grub_gate_a20() clobbers %edx.
34089
f2a76e1d 340902008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34091
34092 * configure.ac (AC_INIT): Bumped to 1.96.
34093
34094 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
34095 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
34096 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
34097 video/readers/png.c.
34098
90fd32d1 340992008-02-03 Bean <bean123ch@gmail.com>
9be665dd 34100
34101 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
34102 (cdboot_img_SOURCES): New variable.
34103 (cdboot_img_ASFLAGS): New variable.
34104 (cdboot_img_LDFLAGS): New variable.
34105
34106 * boot/i386/pc/cdboot.S: New file.
34107
34108 * disk/i386/pc/biosdisk.c (cd_start): New variable.
34109 (cd_count): Likewise.
34110 (grub_biosdisk_get_drive): Add support for cd device.
34111 (grub_biosdisk_call_hook): Likewise.
34112 (grub_biosdisk_iterate): Likewise.
34113 (grub_biosdisk_open): Likewise.
34114 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
34115 (grub_biosdisk_rw): Support reading from cd device.
34116 (GRUB_MOD_INIT): Iterate cd devices.
34117
34118 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
34119 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
34120 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
34121
34122 * kern/i386/pc/init.c (make_install_device): Check for cd device.
34123
4020aa53 341242008-02-02 Robert Millan <rmh@aybabtu.com>
34125
34126 * commands/read.c: New file.
34127 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
34128 (read_mod_SOURCES): New variable.
34129 (read_mod_CFLAGS): Likewise.
34130 (read_mod_LDFLAGS): Likewise.
34131
e03a1132 341322008-02-02 Robert Millan <rmh@aybabtu.com>
34133
34134 * normal/main.c (grub_normal_execute): Check for `menu->size' when
34135 determining whether menu has to be displayed.
34136
58c69220 341372008-02-02 Marco Gerards <marco@gnu.org>
34138
34139 * bus/pci.c: New file.
34140
34141 * include/grub/pci.h: Likewise.
34142
34143 * include/grub/i386/pc/pci.h: Likewise.
34144
34145 * commands/lspci.c: Likewise.
34146
34147 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
34148 `lspci.mod'.
34149 (pci_mod_SOURCES): New variable.
34150 (pci_mod_CFLAGS): Likewise.
34151 (pci_mod_LDFLAGS): Likewise.
34152 (lspci_mod_SOURCES): Likewise.
34153 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 34154 (lspci_mod_LDFLAGS): Likewise.
58c69220 34155
c004e1b4 341562008-02-02 Bean <bean123ch@gmail.com>
34157
34158 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
34159 (grub_ufs_get_file_block): Fix indirect block calculation problem.
34160
34161 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
34162 (grub_xfs_btree_node): New structure.
34163 (grub_xfs_btree_root): New structure.
34164 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
34165 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
34166 (GRUB_XFS_EXTENT_BLOCK): Likewise.
34167 (GRUB_XFS_EXTENT_SIZE): Likewise.
34168 (grub_xfs_read_block): Support btree format type.
34169 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
34170 Use directory block as basic unit.
34171
34172 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
34173
34174 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
34175 __attribute__ ((__regparm__ (1))).
34176
f95562bf 341772008-02-01 Robert Millan <rmh@aybabtu.com>
34178
34179 Correct a mistake in previous commit.
34180
34181 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
34182 top.
34183 (normal/command.c_DEPENDENCIES): New variable.
34184
7d31f41f 341852008-02-01 Robert Millan <rmh@aybabtu.com>
34186
34187 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
34188 top.
34189 (normal/command.c_DEPENDENCIES): New variable.
34190 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
34191 * conf/i386-ieee1275.rmk: Likewise.
34192 * conf/i386-linuxbios.rmk: Likewise.
34193 * conf/i386-pc.rmk: Likewise.
34194 * conf/sparc64-ieee1275.rmk: Likewise.
34195 * conf/powerpc-ieee1275.rmk: Likewise.
34196 (grub_emu_SOURCES): Add `fs/fshelp.c'.
34197
34198 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
34199
60b6be74 342002008-02-01 Robert Millan <rmh@aybabtu.com>
34201
34202 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
34203 call at beginning of function.
34204
078522ab 342052008-01-31 Pavel Roskin <proski@gnu.org>
34206
34207 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 34208 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
34209 (grub_mkrescue_SOURCES): Likewise.
078522ab 34210 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
34211
ccaa8a5f 342122008-01-30 Robert Millan <rmh@aybabtu.com>
34213
34214 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
34215 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
34216 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
34217 (grub_probe_SOURCES): ... to here.
34218
34219 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
34220 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
34221 * conf/i386-ieee1275.rmk: Likewise.
34222 * conf/i386-linuxbios.rmk: Likewise.
34223 * conf/powerpc-ieee1275.rmk: Likewise.
34224
ae5a9cd7 342252008-01-30 Tristan Gingold <gingold@free.fr>
34226
34227 * kern/rescue.c: Silently accept empty lines.
34228
70bc2ef2 342292008-01-29 Bean <bean123ch@gmail.com>
34230
34231 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
34232 (real_code_2): Code cleanup and change comment style.
34233 (move_memory): Avoid using 32-bit address mode.
34234
6a4d50ea 342352008-01-29 Bean <bean123ch@gmail.com>
34236
34237 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
34238 (png_mod_SOURCES): New variable.
34239 (png_mod_CFLAGS): Likewise.
34240 (png_mod_LDFLAGS): Likewise.
34241
34242 * video/readers/png.c: New file.
34243
11cc30ac 342442008-01-28 Robert Millan <rmh@aybabtu.com>
34245
34246 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
34247 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
34248 `ifndef GRUB_MOD_GAP' hack.
34249 * util/elf/grub-mkimage.c (add_segments): Likewise.
34250
3abc589f 342512008-01-27 Robert Millan <rmh@aybabtu.com>
34252
34253 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
34254 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 34255 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 34256
e1907778 342572008-01-27 Robert Millan <rmh@aybabtu.com>
34258
34259 Get grub-emu to build again (including parallel builds).
34260
34261 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
34262 Split into ...
34263 (util/grub-emu.c_DEPENDENCIES): ... this, ...
34264 (normal/execute.c_DEPENDENCIES): ... this, ...
34265 (grub-emu_DEPENDENCIES): ... and this.
34266
34267 * conf/i386-efi.rmk: Likewise.
34268 * conf/i386-linuxbios.rmk: Likewise.
34269 * conf/i386-ieee1275.rmk: Likewise.
34270 * conf/powerpc-ieee1275.rmk: Likewise.
34271 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
34272
2216b101 342732008-01-27 Robert Millan <rmh@aybabtu.com>
34274
34275 * NEWS: Add a few items.
34276
f75172d9 342772008-01-27 Robert Millan <rmh@aybabtu.com>
34278
34279 Fix parallel builds with grub-emu. Based on earlier commit for
34280 grub-probe and grub-setup.
34281
34282 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34283 (util/grub-emu.c_DEPENDENCIES): ... this.
34284 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34285 (util/grub-emu.c_DEPENDENCIES): ... this.
34286 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34287 (util/grub-emu.c_DEPENDENCIES): ... this.
34288 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34289 (util/grub-emu.c_DEPENDENCIES): ... this.
34290 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34291 (util/grub-emu.c_DEPENDENCIES): ... this.
34292
3f51de77 342932008-01-27 Pavel Roskin <proski@gnu.org>
34294
34295 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
34296 to create a gap between _end and the modules added to the image
34297 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
34298 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
34299 * util/elf/grub-mkimage.c (add_segments): Likewise.
34300
2033f53e 343012008-01-26 Pavel Roskin <proski@gnu.org>
34302
34303 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
34304 just return an error.
34305
22da1f6f 343062008-01-26 Bean <bean123ch@gmail.com>
34307
34308 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
34309 (grub_reiserfs_get_item): Save offset of the next item.
34310 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
34311
2a9525e6 343122008-01-25 Robert Millan <rmh@aybabtu.com>
34313
34314 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
34315 make all filesystem sources appear together (possibly fixing omissions
34316 while at it).
34317 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34318 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34319 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34320 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34321
34322 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
34323 add `kern/file.c'.
34324 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
34325 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
34326 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
34327 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
34328
34329 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
34330 (probe): Add a sanity check to make sure of our ability to read
34331 requested files when probing for filesystem type.
34332
34333 * genmk.rb: Update copyright year (2007).
34334
34335 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
34336 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
34337 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
34338 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
34339 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
34340 : Remove function prototypes.
34341
b95f71b5 343422008-01-25 Robert Millan <rmh@aybabtu.com>
34343
34344 Revert my previous commits (based on wrong assumption of how grub_errno
34345 works).
34346
fe6b695a 34347 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 34348 * kern/file.c (grub_file_open): Likewise.
34349
d08bbb49 343502008-01-24 Pavel Roskin <proski@gnu.org>
34351
34352 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
34353 that hang if GRUB tries to setup colors.
34354 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
34355 colors for firmwares that don't support it.
34356 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
34357 Recognize Open Hack'Ware, set flags to work around its
34358 limitations.
34359
605e36ed 343602008-01-24 Robert Millan <rmh@aybabtu.com>
34361
34362 * kern/file.c (grub_file_open): Do not account previous failures of
34363 unrelated functions when grub_errno is checked for.
34364 Reported by Oleg Strikov.
34365
bac332a1 343662008-01-24 Bean <bean123ch@gmail.com>
34367
34368 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
34369 (grub_ufs_sblock): New member volume name.
34370 (grub_ufs_find_file): Fix string copy bug.
34371 (grub_ufs_label): Implement this function properly.
34372
34373 * fs/hfs.c (grub_hfs_cnid_type): New enum.
34374 (grub_hfs_iterate_records): Use the correct file number for extents
34375 and catalog file. Fix problem in next index calculation.
34376 (grub_hfs_find_node): Replace recursive function call with loop.
34377 (grub_hfs_iterate_dir): Replace recursive function call with loop.
34378
15c80c09 343792008-01-23 Robert Millan <rmh@aybabtu.com>
34380
34381 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
34382 `<grub/symbol.h>' and `<grub/multiboot.h>'.
34383 (grub_multiboot2_real_boot): New function prototype.
34384
34385 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
34386 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
34387
34388 * kern/i386/ieee1275/init.c (grub_os_area_addr)
34389 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
34390
305338fd 343912008-01-23 Robert Millan <rmh@aybabtu.com>
34392
34393 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
34394 #ifdef'ed out grub_printf().
34395
3ea52685 343962008-01-23 Robert Millan <rmh@aybabtu.com>
34397
34398 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
34399 grub_dprintf calls, since they make "debug=all" mode unusable.
34400 (grub_console_checkkey): Likewise.
34401
5882ae4b 344022008-01-23 Robert Millan <rmh@aybabtu.com>
34403
34404 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
34405 `term/i386/pc/at_keyboard.c'.
34406 (pkglib_MODULES): Add `serial.mod'.
34407 (serial_mod_SOURCES): New variable.
34408 (serial_mod_CFLAGS): Likewise.
34409 (serial_mod_LDFLAGS): Likewise.
34410
34411 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
34412 `<grub/powerpc/ieee1275/console.h>'.
34413 (grub_keyboard_controller_init): New function prototype.
34414 (grub_console_checkkey): Likewise.
34415 (grub_console_getkey): Likewise.
34416
34417 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
34418 keyboard on i386.
34419
34420 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
34421 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
34422
06ab5303 344232008-01-23 Robert Millan <rmh@aybabtu.com>
34424
34425 * kern/i386/pc/init.c (make_install_device): When memdisk image is
34426 present, "(memdisk)/boot/grub" becomes the default prefix.
34427
34428 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
34429 a memdisk tarball with all the modules. Add --overlay=DIR option that
34430 allows users to overlay additional files into the image.
34431
dbb475a4 344322008-01-23 Robert Millan <rmh@aybabtu.com>
34433
34434 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
34435 and `machine/memory.h'.
34436 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
34437 (_multiboot_mod_SOURCES): New variable.
34438 (_multiboot_mod_CFLAGS): Likewise.
34439 (_multiboot_mod_LDFLAGS): Likewise.
34440 (multiboot_mod_SOURCES): Likewise.
34441 (multiboot_mod_CFLAGS): Likewise.
34442 (multiboot_mod_LDFLAGS): Likewise.
34443
34444 * include/grub/i386/ieee1275/loader.h: New file.
34445
34446 * include/grub/i386/ieee1275/machine.h: Likewise.
34447
34448 * include/grub/i386/ieee1275/memory.h: Likewise.
34449
34450 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
34451 variable declaration.
34452 (grub_os_area_size): Likewise.
34453
34454 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
34455 (grub_lower_mem, grub_upper_mem): New variables.
34456 (grub_stop_floppy): New function (just to make
34457 grub_multiboot2_real_boot() happy).
34458
34459 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
34460 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
34461 (grub_stop): New function.
34462 Include `"../realmode.S"' and `"../loader.S"'.
34463
34464 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
34465 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
34466
34467 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
34468 rely on grub_multiboot2_real_boot() for final boot.
34469
25638629 344702008-01-22 Robert Millan <rmh@aybabtu.com>
34471
34472 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
34473 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
34474 device that doesn't look like an SD card.
34475 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
34476 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
34477 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
34478 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
34479 found.
34480
9dad816d 344812008-01-22 Robert Millan <rmh@aybabtu.com>
34482
34483 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
34484 avoid claiming over our own code.
34485
34842f2d 344862008-01-22 Bean <bean123ch@gmail.com>
34487
34488 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
34489 (jpeg_mod_SOURCES): New variable.
34490 (jpeg_mod_CFLAGS): Likewise.
34491 (jpeg_mod_LDFLAGS): Likewise.
34492
34493 * video/readers/jpeg.c : New file.
34494
44023a28 344952008-01-22 Bean <bean123ch@gmail.com>
34496
34497 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
34498 there are no more items.
34499
bc2d8ac6 345002008-01-21 Robert Millan <rmh@aybabtu.com>
34501
34502 * kern/mm.c (grub_mm_init_region): Improve debug message.
34503
261bd4bc 345042008-01-21 Robert Millan <rmh@aybabtu.com>
34505
34506 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
34507 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
34508 address.
34509 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
34510 a C macro.
34511 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
34512 Indicates start of upper memory.
34513 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
34514 (generate_image): Abort when image size is big enough to corrupt
34515 upper memory.
34516
34517 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
34518 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
34519 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
34520 instead of hardcoding 0xA0000.
34521 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
34522 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
34523 instead of hardcoding 0xA0000.
34524
f970b55e 345252008-01-21 Robert Millan <rmh@aybabtu.com>
34526
34527 * disk/memdisk.c (memdisk_size): New variable.
34528 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
34529 `memdisk_size'.
34530 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
34531 image to dynamic memory.
34532 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
34533 `memdisk_size'. Free memdisk block.
34534
1a8b0526 345352008-01-21 Robert Millan <rmh@aybabtu.com>
34536
34537 Fix detection of very small filesystems (like tar).
34538
34539 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
34540 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
34541 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
34542 a problem with this disk).
34543
6e9b4aab 345442008-01-21 Robert Millan <rmh@aybabtu.com>
34545
34546 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
34547 on grub_biosdisk_rw_standard() error.
34548
0d8837b2 345492008-01-21 Robert Millan <rmh@aybabtu.com>
34550
34551 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
34552 recent changes.
34553 * kern/elf.c: Likewise.
34554 * kern/ieee1275/ieee1275.c: Likewise.
34555 * kern/powerpc/ieee1275/openfw.c: Likewise.
34556 * term/ieee1275/ofconsole.c: Likewise.
34557
ffd36e34 345582008-01-21 Robert Millan <rmh@aybabtu.com>
34559
34560 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
34561
3f0093d0 34562 * include/grub/kernel.h (grub_arch_memdisk_addr)
34563 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 34564
3f0093d0 34565 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
34566 (grub_arch_memdisk_size): ... to here.
ffd36e34 34567
6c391b21 345682008-01-21 Robert Millan <rmh@aybabtu.com>
34569
34570 Mostly based on bugfix from Bean.
34571
34572 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
34573 attribute with hook() parameter.
34574 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
34575 declaration.
34576 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
34577 attribute with hook() parameter.
34578 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
34579 declaration.
34580
55a581dc 345812008-01-21 Robert Millan <rmh@aybabtu.com>
34582
34583 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
34584 (pkglib_MODULES): Add `memdisk.mod'.
34585 (memdisk_mod_SOURCES): New variable.
34586 (memdisk_mod_CFLAGS): Likewise.
34587 (memdisk_mod_LDFLAGS): Likewise.
34588
34589 * disk/memdisk.c: New file.
34590
34591 * include/grub/disk.h (grub_disk_dev_id): Add
34592 `GRUB_DISK_DEVICE_MEMDISK_ID'.
34593
34594 * include/grub/i386/pc/kernel.h
34595 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
34596 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
34597 (grub_kernel_image_size): New variable declaration.
34598 (grub_total_module_size): Likewise.
34599 (grub_memdisk_image_size): Likewise.
34600
34601 * include/grub/i386/pc/memory.h
34602 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
34603
34604 * include/grub/kernel.h: Include `<grub/symbol.h>'.
34605 (grub_arch_memdisk_addr): New variable declaration.
34606 (grub_arch_memdisk_size): Likewise.
34607
34608 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
34609 (grub_arch_memdisk_size): Likewise.
34610
34611 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
34612 (codestart): Replace hardcoded `0x100000' with
34613 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
34614
34615 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
34616 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
34617 not NULL, append the contents of the file it refers to, at the end of
34618 the compressed kernel image. Initialize `grub_memdisk_image_size'
34619 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
34620 (options): Add "memdisk"|'m' option.
34621 (main): Parse --memdisk|-m option, and pass user-provided path as
34622 parameter to generate_image().
34623
3d7f54c9 346242008-01-20 Robert Millan <rmh@aybabtu.com>
34625
34626 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
34627 grub_dprintf() calls from here ...
34628 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
34629
0bf74728 346302008-01-20 Robert Millan <rmh@aybabtu.com>
34631
34632 Fix detection of "real mode" when /options/real-mode? doesn't exist.
34633
34634 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
34635 declaration.
34636 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
34637 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
34638 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 34639 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 34640 property).
34641 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
34642 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
34643
33bf70a7 346442008-01-19 Robert Millan <rmh@aybabtu.com>
34645
fe6b695a 34646 Get rid of confusing function (superseded by
33bf70a7 34647 `grub_ieee1275_get_integer_property')
34648 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
34649 prototype.
34650 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
34651 function.
34652 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
34653 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 34654 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 34655
e2da7d26 346562008-01-19 Robert Millan <rmh@aybabtu.com>
34657
34658 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
34659 command after "shut-down", since implementations differ on which
34660 the command for halt is.
34661
59f1fd8d 346622008-01-19 Robert Millan <rmh@aybabtu.com>
34663
34664 * include/grub/i386/linuxbios/console.h: Add header protection.
34665 (grub_keyboard_controller_init): New function prototype.
34666 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
34667 (KEYBOARD_COMMAND_READ): Likewise.
34668 (KEYBOARD_COMMAND_WRITE): Likewise.
34669 (KEYBOARD_SCANCODE_SET1): Likewise.
34670 (grub_keyboard_controller_write): New function.
34671 (grub_keyboard_controller_read): Likewise.
34672 (grub_keyboard_controller_init): Likewise.
34673
34674 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
34675 (grub_console_init): On coreboot/LinuxBIOS, call
34676 grub_keyboard_controller_init().
34677
5f5a7c15 346782008-01-19 Robert Millan <rmh@aybabtu.com>
34679
34680 PowerPC changes provided by Pavel Roskin.
34681
34682 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
34683 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
34684 don't rely on cmain() doing it.
34685 * kern/i386/ieee1275/startup.S (_start): Store %eax in
34686 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
34687
1210e168 346882008-01-16 Robert Millan <rmh@aybabtu.com>
34689
34690 * include/grub/i386/linuxbios/memory.h
34691 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
34692 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
34693 receive `table_header' as argument. Instead, probe for it in the
34694 known memory ranges where it can be present.
34695 (grub_available_iterate): Do not pass a fixed `table_header' address
34696 to grub_linuxbios_table_iterate().
34697
3d04eab8 346982008-01-15 Robert Millan <rmh@aybabtu.com>
34699
34700 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
34701 * conf/i386-ieee1275.rmk: New file.
34702 * include/grub/i386/ieee1275/console.h: Likewise.
34703 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
34704 * include/grub/i386/ieee1275/kernel.h: Likewise.
34705 * include/grub/i386/ieee1275/time.h: Likewise.
34706 * kern/i386/ieee1275/init.c: Likewise.
34707 * kern/i386/ieee1275/startup.S: Likewise.
34708
d1bc1b73 347092008-01-15 Robert Millan <rmh@aybabtu.com>
34710
34711 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
34712 when pointers are 32-bit (but still do set it to one when they are
34713 64-bit).
34714
66a65807 347152008-01-15 Robert Millan <rmh@aybabtu.com>
34716
34717 * include/grub/ieee1275/ieee1275.h
34718 (grub_ieee1275_get_integer_property): New function prototype.
34719
34720 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
34721 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 34722 grub_ieee1275_get_property() to handle endianness.
66a65807 34723
34724 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
34725 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 34726 where appropriate.
66a65807 34727 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
34728 (grub_map): Likewise.
34729 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
34730
a83ccafd 347312008-01-15 Bean <bean123ch@gmail.com>
34732
34733 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
34734 (grub_script_execute_cmdline): Reset grub_errno.
34735
34736 * normal/main.c (read_config_file): Reset grub_errno.
34737
34738 * normal/parse.y (script_init): New.
34739 (script): Move function and menuentry here.
34740 (delimiter): New.
34741 (command): Add delimiter at the end of command.
34742 (commands): Adjust to match the new command.
34743 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 34744 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 34745 (if): Use the new commands.
34746
34747 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
34748
df6ecfc6 347492008-01-15 Robert Millan <rmh@aybabtu.com>
34750
34751 * normal/menu.c (run_menu): Move timeout message from here ...
34752 (print_timeout): ... to here.
34753 (run_menu): Use print_timeout() once during initial draw to print
34754 the whole message, and again in every clock tick to update only
34755 the number of seconds.
34756
87ae25eb 347572008-01-15 Robert Millan <rmh@aybabtu.com>
34758
34759 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
34760 actual size of `available' from grub_ieee1275_get_property(), and
34761 restrict parsing to that bound.
34762
47bf09a4 347632008-01-15 Christian Franke <franke@computer.org>
34764
34765 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
34766 (argp_program_version): Remove variable.
34767 (argp_program_bug_address): Likewise.
34768 (options): Convert from struct argp_option to struct option.
34769 (struct arguments): Remove.
34770 (parse_opt): Remove.
34771 (usage): New function.
34772 (main): Replace struct args members by simple variables.
34773 Replace argp_parse() by getopt_long().
34774 Add switch to evaluate options.
34775 Add missing "(...)" around root_dev in prefix string.
34776
c86f1469 347772008-01-14 Robert Millan <rmh@aybabtu.com>
34778
34779 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
34780 for grub_ieee1275_exit(), in order to improve portability.
34781
e622c559 347822008-01-14 Robert Millan <rmh@aybabtu.com>
34783
34784 * util/grub.d/10_linux.in (prefix): Define.
34785 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
34786
44cb1ec8 347872008-01-13 Pavel Roskin <proski@gnu.org>
34788
34789 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
34790 grub_errno if no errors have been detected.
34791
1eb8c802 347922008-01-12 Robert Millan <rmh@aybabtu.com>
34793
34794 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
34795 (grub_util_get_dev_abstraction): New function prototype.
34796
34797 * util/getroot.c: Include `<grub/util/getroot.h>'
34798 (grub_util_get_grub_dev): Move detection of abstraction type to ...
34799 (grub_util_get_dev_abstraction): ... here (new function).
34800
34801 * util/grub-probe.c: Convert PRINT_* to an enum. Add
34802 `PRINT_ABSTRACTION'.
34803 (probe): Probe for abstraction type when requested.
34804 (main): Understand `--target=abstraction'.
34805
34806 * util/i386/efi/grub-install.in: Add abstraction module to core
34807 image when it is found to be necessary.
34808 * util/i386/pc/grub-install.in: Likewise.
34809 * util/powerpc/ieee1275/grub-install.in: Likewise.
34810
34811 * util/update-grub_lib.in (font_path): Return system path without
34812 converting to GRUB path.
34813 * util/update-grub.in: Convert system path returned by font_path()
34814 to a GRUB path. Use `grub-probe -t abstraction' to determine what
34815 abstraction module is needed for loading fonts (if any). Export
34816 that as `GRUB_PRELOAD_MODULES'.
34817 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
34818 insmod commands).
34819
52bd3de9 348202008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
34821
34822 Remove some unused code from reiserfs.
f19dbdb7 34823
52bd3de9 34824 * fs/reiserfs.c (struct grub_reiserfs_key)
34825 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
34826 (struct grub_reiserfs_node_body): Removed.
34827 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
34828 Likewise.
34829 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
34830 Likewise.
34831 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
34832 Likewise.
34833 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
34834 Likewise.
34835 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
34836 Likewise.
34837 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
34838 Likewise.
34839 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
34840 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
34841 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
34842
2f80039d 348432008-01-10 Robert Millan <rmh@aybabtu.com>
34844
34845 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
34846 Determines if a file is garbage left by packaging systems, etc.
34847 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
34848 for processing /etc/grub.d scripts.
34849 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
34850 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
34851 as a condition for processing Linux images.
34852
87888032 348532008-01-10 Pavel Roskin <proski@gnu.org>
34854
34855 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
34856 to compile reiserfs.c on PowerPC.
34857
7e54fced 348582008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 34859
34860 * kern/device.c (grub_device_iterate): Do not abort device iteration
34861 when one of the devices cannot be opened.
34862 * kern/disk.c (grub_disk_open): Do not account previous failures of
34863 unrelated functions when grub_errno is checked for.
34864
5aa541e6 348652008-01-08 Robert Millan <rmh@aybabtu.com>
34866
34867 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
34868 `! grub_linux_is_bzimage', change order of address comparison to make
34869 it more intuitive, and improve "too big zImage" error message.
34870
7076340d 348712008-01-08 Robert Millan <rmh@aybabtu.com>
34872
34873 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
34874 `$(update-grub_DATA)'.
34875 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
34876 targets.
34877
9ca70333 348782008-01-07 Robert Millan <rmh@aybabtu.com>
34879
34880 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
34881 which instruction is modified by grub-setup during installation
34882 (since it wasn't obvious by only looking at this file).
34883
38ccf575 348842008-01-07 Robert Millan <rmh@aybabtu.com>
34885
34886 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
34887 listing actual TODO items.
34888
f5db4291 348892008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34890
868967cf 34891 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
34892 correctly.
34893 (grub_reiserfs_get_key_offset): Likewise.
34894 (grub_reiserfs_set_key_offset): Likewise.
34895 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 34896 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 34897
34898 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
34899 better to remove the bitfield version completely.
f19dbdb7 34900
868967cf 349012008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 34902
f5db4291 34903 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
34904 allocated from the heap, due to the fshelp implementation.
34905 (grub_reiserfs_dir): Free NODE, due to the same reason.
34906
492e6d9d 349072008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34908
34909 Mostly from Vincent Pelletier:
f19dbdb7 34910
492e6d9d 34911 * fs/reiserfs.c: New file.
f19dbdb7 34912
492e6d9d 34913 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
34914 (reiserfs_mod_SOURCES): New variable.
34915 (reiserfs_mod_CFLAGS): Likewise.
34916 (reiserfs_mod_LDFLAGS): Likewise.
34917
34918 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
34919 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
34920 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
34921 normal/color.c.
34922
9ce3e7c1 349232008-01-06 Robert Millan <rmh@aybabtu.com>
34924
34925 * normal/color.c: Remove `<grub/env.h>'.
34926
f3b58148 349272008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
34928
34929 * include/grub/normal.h: Include <grub/env.h>.
34930
7ac3bcfa 349312008-01-05 Robert Millan <rmh@aybabtu.com>
34932
34933 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
34934 usage example with `(hd0,1)'.
fb358190 34935 Reported by Samuel Thibault.
7ac3bcfa 34936
c8ee99d7 349372008-01-05 Robert Millan <rmh@aybabtu.com>
34938
34939 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
34940 (grub_linux_boot_zimage): Rename to ...
34941 (grub_linux_boot): ... this.
34942 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
34943 (grub_linux_boot_zimage): Conditionalize zImage copy.
34944
34945 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
34946 (grub_linux_boot_bzimage): Remove prototype.
34947 (grub_linux_boot_zimage): Rename to ...
34948 (grub_linux_boot): ... this.
34949
34950 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
34951 (grub_linux_boot): Remove function.
34952
0ece25b1 349532008-01-05 Robert Millan <rmh@aybabtu.com>
34954
34955 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
34956 (grub_env_write_color_highlight): Likewise.
34957 (grub_wait_after_message): Likewise.
34958
34959 * normal/color.c: New file.
34960
34961 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34962 (normal_mod_DEPENDENCIES): Likewise.
34963
34964 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34965 (normal_mod_DEPENDENCIES): Likewise.
34966
34967 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34968 (normal_mod_DEPENDENCIES): Likewise.
34969
34970 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34971 (normal_mod_DEPENDENCIES): Likewise.
34972
34973 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
34974 for waiting after a message is printed.
34975 * normal/main.c (read_config_file): Likewise.
34976 (grub_normal_init): Register grub_env_write_color_normal() and
34977 grub_env_write_color_highlight() hooks. Mark `color_normal' and
34978 `color_highlight' variables as global.
34979
34980 * normal/menu.c (grub_wait_after_message): New function.
34981 (grub_color_menu_normal): New variable. Replaces ...
34982 (GRUB_COLOR_MENU_NORMAL): ... this macro.
34983 (grub_color_menu_highlight): New variable. Replaces ...
34984 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
34985 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
34986 `GRUB_TERM_COLOR_STANDARD'.
34987 (print_message): Use `grub_setcolorstate' to reload colors. Rename
34988 `normal_code' and `highlight_code' to `old_color_normal' and
34989 `old_color_highlight', respectively.
34990 (grub_menu_init_page): Update colors when drawing the menu, based on
34991 `menu_color_normal' and `menu_color_highlight' variables.
34992 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
34993 a message is printed.
34994
182dd4e5 349952008-01-05 Robert Millan <rmh@aybabtu.com>
34996
34997 * kern/env.c (grub_env_context_open): Propagate hooks for global
34998 variables to new context.
34999
35000 * kern/main.c (grub_set_root_dev): Export `root' variable.
35001
ddf8f6ad 350022008-01-05 Robert Millan <rmh@aybabtu.com>
35003
35004 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 35005 discs unconditionally, since udev and others have options to provide
ddf8f6ad 35006 them.
35007
d8b43d9b 350082008-01-05 Robert Millan <rmh@aybabtu.com>
35009
35010 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
35011
2bff2de3 350122008-01-04 Christian Franke <franke@computer.org>
35013
35014 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
35015 of eisa_mmap.
35016
97eab917 350172008-01-03 Pavel Roskin <proski@gnu.org>
35018
35019 * kern/i386/linuxbios/init.c: Put "void" to all function
35020 declarations with no arguments.
35021 * kern/powerpc/ieee1275/init.c: Likewise.
35022 * term/i386/pc/at_keyboard.c: Likewise.
35023 * term/i386/pc/vga_text.c: Likewise.
35024 * util/grub-mkdevicemap.c: Likewise.
35025
b9416d00 350262008-01-02 Robert Millan <rmh@aybabtu.com>
35027
35028 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
35029 message when loaded image is out of bounds.
35030 (grub_multiboot_load_elf64): Likewise.
35031
92695df9 350322008-01-02 Pavel Roskin <proski@gnu.org>
35033
35034 * util/grub.d/10_linux.in: Try version without ".old" when
35035 looking for initrd. It's better to use initrd from the newer
35036 kernel of the same version than no initrd at all.
35037
d98d9cad 350382008-01-01 Robert Millan <rmh@aybabtu.com>
35039
35040 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
35041
dbfdce36 350422008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
35043
f19dbdb7 35044 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 35045 grub_video_get_active_render_target.
35046 (grub_video_adapter): Added unmap_color and get_active_render_target.
35047
f19dbdb7 35048 * video/video.c: Added grub_video_unmap_color and
dbfdce36 35049 grub_video_get_active_render_target.
35050 (grub_video_get_info): Changed method to accept NULL pointer as an
35051 argument to allow detection of active video adapter.
35052
35053 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
35054 grub_video_vbe_unmap_color_int.
35055 Added grub_video_vbe_unmap_color and
35056 grub_video_vbe_get_active_render_target.
35057 (grub_video_vbe_adapter): Added unmap_color and
35058 get_active_render_target.
35059
f19dbdb7 35060 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 35061 with grub_video_vbe_unmap_color_int.
35062
35063 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
35064 (DEFAULT_NORMAL_COLOR): Likewise.
35065 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
35066 (DEFAULT_FG_COLOR): Removed.
35067 (DEFAULT_BG_COLOR): Likewise.
35068 (DEFAULT_CURSOR_COLOR): Changed value.
35069 (grub_virtual_screen): Added standard_color_setting,
35070 normal_color_setting, highlight_color_setting and term_color.
35071 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
35072 (bitmap_width): Added.
35073 (bitmap_height): Likewise.
35074 (bitmap): Likewise.
35075 (set_term_color): Likewise.
35076 (grub_virtual_screen_setup): Changed to use new terminal coloring
35077 settings.
35078 (grub_gfxterm_init): Added init for bitmap.
35079 (grub_gfxterm_fini): Added destroy for bitmap.
35080 (redraw_screen_rect): Updated to use background bitmap and new
35081 terminal coloring.
35082 (scroll_up): Added optimization for case when there is no bitmap.
35083 (grub_gfxterm_cls): Fixed to use correct background color.
35084 (grub_virtual_screen_setcolorstate): Changed to use new terminal
35085 coloring.
35086 (grub_virtual_screen_setcolor): Likewise.
35087 (grub_virtual_screen_getcolor): Added.
35088 (grub_gfxterm_background_image_cmd): Likewise.
35089 (grub_video_term): Added setcolor and getcolor.
35090 (MOD_INIT): Added registration of background_image command.
35091 (MOD_TERM): Added unregistration for background_image command.
35092
c3c20931 350932007-12-30 Pavel Roskin <proski@gnu.org>
35094
35095 * loader/multiboot_loader.c: Fix multiboot command
35096 unregistration. Fix all typos in the word "multiboot".
35097
df266716 350982007-12-29 Pavel Roskin <proski@gnu.org>
94239199 35099
35100 * util/grub.d/10_linux.in: Refactor search for initrd. Add
35101 support for initrd names used in Fedora.
35102
fc6e896c 351032007-12-26 Bean <bean123ch@gmail.com>
35104
35105 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
35106 (cpio_mod_SOURCES): New variable.
35107 (cpio_mod_CFLAGS): Likewise.
35108 (cpio_mod_LDFLAGS): Likewise.
35109
35110 * fs/cpio.c: New file.
35111
35112 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
35113
35114 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35115
35116 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35117
35118 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35119
533110ad 351202007-12-25 Robert Millan <rmh@aybabtu.com>
35121
35122 * include/grub/term.h (struct grub_term): Add `getcolor' function.
35123 (grub_getcolor): New function.
35124
35125 * kern/term.c (grub_getcolor): New function.
35126 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
35127 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
35128 (print_entry): Set normal and highlight colors to
35129 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
35130 respectively, before printing and restore them to old
35131 values afterwards.
35132 (grub_menu_init_page): Likewise. Fill an additional colored space
35133 that would otherwise be left blank.
35134
35135 * term/efi/console.c (grub_console_getcolor): New function.
35136 (struct grub_console_term.getcolor): New variable.
35137 * term/i386/pc/console.c (grub_console_getcolor): New function.
35138 (struct grub_console_term.getcolor): New variable.
35139 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
35140 (struct grub_console_term.getcolor): New variable.
35141
35142 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
35143 (struct grub_console_term.setcolor): Remove variable.
35144 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
35145 (struct grub_console_term.setcolor): Remove variable.
35146 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
35147 (struct grub_console_term.setcolor): Remove variable.
35148 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
35149 (struct grub_console_term.setcolor): Remove variable.
35150
4931827f 351512007-12-25 Robert Millan <rmh@aybabtu.com>
35152
35153 * configure.ac: Search for possible unifont.hex locations, and
35154 define UNIFONT_HEX if found.
35155
35156 * Makefile.in (UNIFONT_HEX): Define variable.
35157 (DATA): Rename to ...
35158 (PKGLIB): ... this. Update all users.
35159 (PKGDATA): New variable.
35160 (pkgdata_IMAGES): Rename to ...
35161 (pkglib_IMAGES): ... this. Update all users.
35162 (pkgdata_MODULES): Rename to ...
35163 (pkglib_MODULES): ... this. Update all users.
35164 (pkgdata_PROGRAMS): Rename to ...
35165 (pkglib_PROGRAMS): ... this. Update all users.
35166 (pkgdata_DATA): Rename to ...
35167 (pkglib_DATA): ... this. Update all users.
35168 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
35169 (unicode.pff, ascii.pff): New rules.
35170 (all-local): Add `$(PKGDATA)' dependency.
35171 (install-local): Process `$(PKGDATA)'.
35172
35173 * util/update-grub_lib.in (font_path): Search for *.pff files in
35174 a few more locations, including `${pkgdata}'.
35175
57e57e31 351762007-12-23 Robert Millan <rmh@aybabtu.com>
35177
35178 Patch from Bean <bean123ch@gmail.com>:
35179 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
35180 `size'.
35181
4bc72aa9 351822007-12-21 Bean <bean123ch@gmail.com>
35183
35184 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
35185 (ntfscomp_mod_SOURCES): New variable.
35186 (ntfscomp_mod_CFLAGS): Likewise.
35187 (ntfscomp_mod_LDFLAGS): Likewise.
35188
35189 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
35190 (grub_probe_SOURCES): Likewise.
35191 (grub_emu_SOURCES): Likewise.
35192
35193 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
35194 (grub_emu_SOURCES): Likewise.
35195
35196 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
35197 (grub_emu_SOURCES): Likewise.
35198
35199 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
35200 (grub_emu_SOURCES): Likewise.
35201
35202 * fs/ntfs.c (grub_ntfscomp_func): New variable.
35203 (read_run_list): Renamed to grub_ntfs_read_run_list.
35204 (decomp_nextvcn): Moved to ntfscomp.c.
35205 (decomp_getch): Likewise.
35206 (decomp_get16): Likewise.
35207 (decomp_block): Likewise.
35208 (read_block): Likewise.
35209 (read_data): Partially moved to ntfscomp.c.
35210 (fixup): Change unsigned to grub_uint16_t.
35211 (read_mft): Change unsigned long to grub_uint32_t.
35212 (read_attr): Likewise.
35213 (read_data): Likewise.
35214 (read_run_data): Likewise.
35215 (read_run_list): Likewise.
35216 (read_mft): Likewise.
35217
35218 * fs/ntfscomp.c: New file.
35219
35220 * include/grub/ntfs.h: New file.
35221
af680a87 352222007-12-16 Robert Millan <rmh@aybabtu.com>
35223
35224 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
35225 IDE disk check, since Linux is known to support 20 IDE disks.
35226 Reported by Colin Watson.
35227
84be7599 352282007-12-15 Bean <bean123ch@gmail.com>
35229
35230 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
35231 (lnxboot_img_SOURCES): New variable.
35232 (lnxboot_img_ASFLAGS): Likewise.
35233 (lnxboot_img_LDFLAGS): Likewise.
35234
35235 * boot/i386/pc/lnxboot.S: New file.
35236
6af9db01 352372007-11-24 Pavel Roskin <proski@gnu.org>
35238
35239 * configure.ac: Test if '--build-id=none' is supported by the
35240 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
35241 objcopy to generate incorrect binary files (binutils
35242 2.17.50.0.18-1 as shipped by Fedora 8).
35243 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
35244 linking, so that build ID doesn't break the test.
35245
7361cfe6 352462007-11-24 Pavel Roskin <proski@gnu.org>
35247
35248 * include/grub/i386/time.h: use "void" in the argument list
35249 of grub_cpu_idle().
35250 * include/grub/powerpc/time.h: Likewise.
35251 * include/grub/sparc64/time.h: Likewise.
35252
1593e10c 352532007-11-18 Christian Franke <franke@computer.org>
35254
35255 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
35256 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
35257 This fixes the problem that function keys did not work in grub-emu.
35258
3b8db1a8 352592007-11-18 Christian Franke <franke@computer.org>
35260
35261 * disk/host.c (grub_host_open): Remove attribute unused from
35262 name parameter. Add check for "host". This fixes the problem
35263 that grub-emu does not find partitions.
35264
2e29408d 352652007-11-18 Christian Franke <franke@computer.org>
35266
35267 * util/hostfs.c (is_dir): New function.
35268 (grub_hostfs_dir): Handle missing dirent.d_type case.
35269 (grub_hostfs_read): Add missing fseek().
35270 (grub_hostfs_label): Clear label pointer. This fixes a crash
35271 of grub-emu on "ls (host)".
35272
398cd047 352732007-11-18 Christian Franke <franke@computer.org>
35274
35275 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
35276 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
35277 to 64 bit boundary by default.
35278
c405c391 352792007-11-18 Bean <bean123ch@gmail.com>
35280
35281 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
35282 (hexdump_mod_SOURCES): New variable.
35283 (hexdump_mod_CFLAGS): Likewise.
35284 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 35285
c405c391 35286 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35287
35288 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35289
35290 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35291
35292 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35293
35294 * include/grub/hexdump.h: New file.
35295
35296 * commands/hexdump.c: New file.
35297
5cced7fd 352982007-11-10 Robert Millan <rmh@aybabtu.com>
35299
35300 * commands/i386/pc/play.c (beep_off): Switch order of arguments
35301 in grub_outb() calls.
35302 (beep_on): Likewise.
35303
8b714eb0 353042007-11-10 Christian Franke <franke@computer.org>
35305
35306 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
35307 (grub_menu_run): Likewise.
35308
ce0f1839 353092007-11-10 Robert Millan <rmh@aybabtu.com>
35310
35311 * include/grub/i386/efi/machine.h: New file.
35312 * include/grub/i386/linuxbios/machine.h: Likewise.
35313 * include/grub/i386/pc/machine.h: Likewise.
35314 * include/grub/powerpc/ieee1275/machine.h: Likewise.
35315 * include/grub/sparc64/ieee1275/machine.h: Likewise.
35316
35317 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
35318 (serial_hw_io_addr): New variable.
35319 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
35320 instead of `(unsigned short *) 0x400'.
35321
270c237d 353222007-11-10 Bean <bean123ch@gmail.com>
35323
35324 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
35325
a87783bf 353262007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
35327
35328 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
35329 (vga_mod_SOURCES): Added.
35330 (vga_mod_CFLAGS): Likewise.
35331 (vga_mod_LDFLAGS): Likewise.
35332
35333 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
35334 grub_outb() calls.
35335 (set_map_mask): Likewise.
35336 (set_read_map): Likewise.
35337 (set_read_address): Likewise.
35338 (vga_font): Removed variable.
35339 (get_vga_glyph): Removed function.
35340 (invalidate_char): Likewise.
35341 (write_char): Changed to use grub_font_get_glyph() for font
35342 information.
35343 (grub_vga_putchar): Likewise.
35344 (grub_vga_getcharwidth): Likewise.
35345
6433b448 353462007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
35347
35348 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
35349 flags.
35350 (pxeboot_img_LDFLAGS): Likewise.
35351 (diskboot_img_LDFLAGS): Likewise.
35352 (kernel_img_LDFLAGS): Likewise.
35353
49178511 353542007-11-06 Robert Millan <rmh@aybabtu.com>
35355
35356 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
35357 in grub_outb() calls.
35358 (serial_hw_init): Likewise.
35359
53b052de 353602007-11-05 Robert Millan <rmh@aybabtu.com>
35361
35362 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
35363 spaces. Skip non-regular files.
35364
5ab33bba 353652007-11-05 Robert Millan <rmh@aybabtu.com>
35366
35367 * kern/disk.c (grub_disk_firmware_fini)
35368 (grub_disk_firmware_is_tainted): New variables.
35369
35370 * include/grub/disk.h (grub_disk_firmware_fini)
35371 (grub_disk_firmware_is_tainted): Likewise.
35372
35373 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
35374 (grub_disk_biosdisk_fini): ... to here.
35375 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
35376 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
35377 is set. Register grub_disk_biosdisk_fini() in
35378 `grub_disk_firmware_fini'.
35379
35380 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
35381 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
35382 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
35383 to finish existing firmware disk interface.
35384
35385 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
35386 (ata_mod_SOURCES): New variable.
35387 (ata_mod_CFLAGS): Likewise.
35388 (ata_mod_LDFLAGS): Likewise.
35389
0149ab7c 353902007-11-05 Robert Millan <rmh@aybabtu.com>
35391
35392 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
35393 (grub_ata_wait): Reimplement using grub_millisleep().
35394
35395 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
35396 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
35397
be7ac41e 353982007-11-03 Marco Gerards <marco@gnu.org>
35399
35400 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
35401 (CRTC_ADDR_PORT): New macro.
35402 (CRTC_DATA_PORT): Likewise.
35403 (CRTC_CURSOR): Likewise.
35404 (CRTC_CURSOR_ADDR_HIGH): Likewise.
35405 (CRTC_CURSOR_ADDR_LOW): Likewise.
35406 (update_cursor): New function.
35407 (grub_console_real_putchar): Call `update_cursor'.
35408 (grub_console_gotoxy): Likewise.
35409 (grub_console_cls): Set the default color when clearing the
35410 screen.
35411 (grub_console_setcursor): Implemented.
35412
bb06ab2e 354132007-11-03 Marco Gerards <marco@gnu.org>
35414
35415 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
35416 become activate.
35417 (grub_ata_pio_write): Likewise.
35418
35419 (grub_atapi_identify): Wait after issuing an ATA command.
35420 (grub_atapi_packet): Likewise.
35421 (grub_ata_identify): Likewise.
35422 (grub_ata_readwrite): Likewise.
35423
cf8f780b 354242007-11-03 Marco Gerards <marco@gnu.org>
35425
35426 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
35427 (grub_ata_pio_write): Likewise.
35428 (grub_ata_readwrite): Use `grub_error', instead of
35429 returning `grub_errno'.
35430
ed649e54 354312007-11-03 Marco Gerards <marco@gnu.org>
35432
35433 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
35434 grub_ata_pio_write once for every single sector, instead of for
35435 multiple sectors.
35436
ca25d8f0 354372007-10-31 Robert Millan <rmh@aybabtu.com>
35438
35439 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
35440
35441 * conf/i386-linuxbios.rmk: New file.
35442
35443 * kern/i386/pc/hardware.c: Likewise.
35444 * term/i386/pc/at_keyboard.c: Likewise.
35445 * term/i386/pc/vga_text.c: Likewise.
35446
35447 * include/grub/i386/linuxbios/boot.h: Likewise.
35448 * include/grub/i386/linuxbios/console.h: Likewise.
35449 * include/grub/i386/linuxbios/init.h: Likewise.
35450 * include/grub/i386/linuxbios/kernel.h: Likewise.
35451 * include/grub/i386/linuxbios/loader.h: Likewise.
35452 * include/grub/i386/linuxbios/memory.h: Likewise.
35453 * include/grub/i386/linuxbios/serial.h: Likewise.
35454 * include/grub/i386/linuxbios/time.h: Likewise.
35455
35456 * kern/i386/linuxbios/init.c: Likewise.
35457 * kern/i386/linuxbios/startup.S: Likewise.
35458 * kern/i386/linuxbios/table.c: Likewise.
35459
e911ecc1 354602007-10-31 Marco Gerards <marco@gnu.org>
35461
35462 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
35463 (ata_mod_SOURCES): New variable.
35464 (ata_mod_CFLAGS): Likewise.
35465 (ata_mod_LDFLAGS): Likewise.
35466
35467 * disk/ata.c: New file.
35468
35469 * include/grub/disk.h (grub_disk_dev_id): Add
35470 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 35471
7f66d0e0 354722007-10-31 Robert Millan <rmh@aybabtu.com>
35473
35474 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
35475 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
35476
35477 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
35478 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
35479
35480 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
35481 `<grub/types.h>'.
35482
35483 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
35484
5cd7dd46 354852007-10-27 Robert Millan <rmh@aybabtu.com>
35486
3236ca65 35487 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 35488
2ebfc90f 354892007-10-22 Robert Millan <rmh@aybabtu.com>
35490
35491 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
35492 `"../realmode.S"'.
35493 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
35494
73fcb0f3 354952007-10-22 Robert Millan <rmh@aybabtu.com>
35496
35497 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
35498 (pkgdata_MODULES): Add `biosdisk.mod'.
35499 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
35500 variables.
35501
35502 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
35503 (grub_biosdisk_init): Replace with ...
35504 (GRUB_MOD_INIT(biosdisk)): ... this.
35505 (grub_biosdisk_fini): Replace with ...
35506 (GRUB_MOD_FINI(biosdisk)): ... this.
35507
35508 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
35509 (grub_machine_init): Remove call to grub_biosdisk_init().
35510 (grub_machine_fini): Remove call to grub_machine_fini().
35511
35512 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
35513
3381d274 355142007-10-22 Robert Millan <rmh@aybabtu.com>
35515
35516 * include/grub/time.h: New file.
35517 * include/grub/i386/time.h: Likewise.
35518 * include/grub/powerpc/time.h: Likewise.
35519 * include/grub/sparc64/time.h: Likewise.
35520
35521 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
35522 instances to ...
35523 (KERNEL_MACHINE_TIME_HEADER): ... this.
35524 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
35525 instances to ...
35526 (KERNEL_MACHINE_TIME_HEADER): ... this.
35527 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
35528 instances to ...
35529 (KERNEL_MACHINE_TIME_HEADER): ... this.
35530
35531 * kern/i386/efi/init.c: Include `<grub/time.h>'.
35532 (grub_millisleep): New function.
35533 * kern/i386/pc/init.c: Include `<grub/time.h>'.
35534 (grub_millisleep): New function.
35535 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
35536 Remove `grub/machine/time.h' include.
35537 (grub_millisleep): New function.
35538 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
35539 Remove `grub/machine/time.h' include.
35540 (grub_millisleep): New function.
35541
35542 * include/grub/misc.h (grub_div_roundup): New function.
35543
35544 * kern/misc.c: Include `<grub/time.h>'.
35545 (grub_millisleep_generic): New function.
35546
35547 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
35548 Add `time.h'.
35549 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
35550 Add `time.h'.
35551 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
35552 `machine/time.h'. Add `time.h'.
35553 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
35554
a39a0312 355552007-10-21 Robert Millan <rmh@aybabtu.com>
35556
35557 * include/grub/misc.h (grub_max): New function.
35558
2aad70e2 355592007-10-21 Robert Millan <rmh@aybabtu.com>
35560
35561 * util/misc.c (grub_util_info): Call fflush() before returning.
35562
54b71c4b 355632007-10-20 Robert Millan <rmh@aybabtu.com>
35564
35565 * genmk.rb (Image): Copy `extra_flags' from here ...
35566 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
35567
35568 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
35569 to `argc' and `args' arguments.
35570
a979f513 355712007-10-17 Robert Millan <rmh@aybabtu.com>
35572
35573 * kern/i386/loader.S: New file.
35574
35575 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
35576 * kern/i386/loader.S (grub_linux_prot_size)... to here.
35577 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
35578 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
35579 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
35580 * kern/i386/loader.S (grub_linux_real_addr)... to here.
35581 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
35582 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
35583 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
35584 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
35585 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
35586 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
35587 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
35588 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
35589
35590 * kern/i386/realmode.S: New file.
35591
35592 * kern/i386/pc/startup.S (protstack): Moved from here ...
35593 * kern/i386/realmode.S (protstack)... to here.
35594 * kern/i386/pc/startup.S (gdt): Moved from here ...
35595 * kern/i386/realmode.S (gdt)... to here.
35596 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
35597 * kern/i386/realmode.S (prot_to_real)... to here.
35598
35599 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
35600 `kern/i386/realmode.S'.
35601
825fc8fd 356022007-10-17 Robert Millan <rmh@aybabtu.com>
35603
35604 * include/grub/i386/loader.h: New file.
35605
35606 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
35607 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
35608 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
35609 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
35610 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
35611 * include/grub/i386/loader.h (grub_linux_prot_size)
35612 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
35613 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
35614 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
35615 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
35616
35617 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
35618
e179b2f4 356192007-10-15 Robert Millan <rmh@aybabtu.com>
35620
35621 * normal/misc.c (grub_normal_print_device_info): Do not probe for
35622 filesystem when dev->disk is unset.
35623 Do probe for filesystem even when dev->disk->has_partitions is set.
35624 In case a filesystem is found, always report it.
35625 In case it isn't, if dev->disk->has_partitions is set, report that
35626 a partition table was found instead of reporting that no filesystem
35627 could be identified.
35628
5db82af6 356292007-10-12 Robert Millan <rmh@aybabtu.com>
35630
35631 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
35632 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
35633
68f6ac74 35634 * include/grub/types.h (grub_host_to_target16): New macro.
35635 (grub_host_to_target32): Likewise.
35636 (grub_host_to_target64): Likewise.
35637 (grub_target_to_host16): Likewise.
35638 (grub_target_to_host32): Likewise.
35639 (grub_target_to_host64): Likewise.
5db82af6 35640
35641 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
35642 Renamed from to ...
35643 (GRUB_MOD_ALIGN): ...this. Update all users.
35644
68f6ac74 35645 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
35646 grub_host_to_target32.
35647 Replace grub_be_to_cpu32 with grub_target_to_host32.
35648 (load_modules): Likewise.
35649 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
35650 Replace grub_be_to_cpu32 with grub_target_to_host32.
35651 Replace grub_cpu_to_be16 with grub_host_to_target16.
35652 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 35653
3cf497cc 356542007-10-12 Robert Millan <rmh@aybabtu.com>
35655
35656 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
35657 * util/elf/grub-mkimage.c: ... here.
35658
35659 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
35660 `util/powerpc/ieee1275/grub-mkimage.c'.
35661
c8cc3692 356622007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 35663
c8cc3692 35664 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
35665 and make it easier to figure out.
35666 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
35667 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
35668 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
35669 leave us with less than HEAP_MIN_SIZE total heap.
35670 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 35671
5c58b791 356722007-10-03 Robert Millan <rmh@aybabtu.com>
35673
35674 * include/grub/i386/io.h: New file.
35675 * commands/i386/pc/play.c (inb): Removed.
35676 (outb): Removed.
35677 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
35678 with grub_outb().
afcd2ef8 35679 * term/i386/pc/serial.c (inb): Removed.
35680 (outb): Removed.
35681 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
35682 with grub_outb().
35683 * term/i386/pc/vga.c (inb): Removed.
35684 (outb): Removed.
35685 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
35686 with grub_outb().
5c58b791 35687
1a477ed6 356882007-10-02 Robert Millan <rmh@aybabtu.com>
35689
35690 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
35691 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35692 Reported by Marcin Kurek.
35693
6b5d80fa 356942007-09-07 Robert Millan <rmh@aybabtu.com>
35695
35696 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
35697 SmartFirmware version updates (as released by Sven Luther), and avoid
35698 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
35699 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
35700 known broken.
35701
5618afbf 357022007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
35703
35704 From Hitoshi Ozeki:
35705 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
35706 when merging two regions.
35707
6139dcd9 357082007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
35709
508e39ee 35710 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
35711 * normal/completion.c (grub_normal_do_completion): Likewise.
35712 Reported by Hitoshi Ozeki.
35713
357142007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 35715
6139dcd9 35716 Do not use devices at boot in chainloading.
f19dbdb7 35717
6139dcd9 35718 * loader/i386/pc/chainloader.c (boot_drive): New variable.
35719 (boot_part_addr): Likewise.
35720 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
35721 with BOOT_DRIVE and BOOT_PART_ADDR.
35722 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
35723 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
35724
38da6516 357252007-08-29 Robert Millan <rmh@aybabtu.com>
35726
35727 Patch from Simon Peter <dn.tlp@gmx.net>:
35728 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
35729 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
35730 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
35731 util/i386/pc/grub-setup.c_DEPENDENCIES.
35732 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
35733 util/grub-probe.c_DEPENDENCIES.
35734 * conf/powerpc-ieee1275.rmk: Likewise.
35735
29d0928c 357362007-08-28 Robert Millan <rmh@aybabtu.com>
35737
35738 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
35739 to tell grub-mkdevicemap how to name devices.
35740 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
35741 feature).
35742
35743 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
35744 util/i386/get_disk_name.c.
35745 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
35746 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
35747 util/ieee1275/get_disk_name.c.
35748
35749 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
35750
35751 * DISTLIST: Add util/i386/get_disk_name.c and
35752 util/ieee1275/get_disk_name.c.
35753
35754 * util/grub-mkdevicemap.c: Replace device naming logic with
35755 grub_util_get_disk_name() calls.
35756
5a0d3cca 357572007-08-20 Robert Millan <rmh@aybabtu.com>
35758
35759 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
35760 (so that it works for both plural and singular quantities).
35761
8b72db2f 357622007-08-05 Robert Millan <rmh@aybabtu.com>
35763
35764 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
35765 so that [xz] isn't taken into account when determining order.
35766
352466bf 357672007-08-02 Marco Gerards <marco@gnu.org>
35768
35769 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
35770 `include/multiboot2.h', `include/grub/elfload.h',
35771 `include/multiboot.h', `include/grub/multiboot.h',
35772 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
35773 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
35774 `kern/elf.c', `loader/multiboot_loader.c',
35775 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
35776 `loader/i386/pc/multiboot2.c',
35777 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
35778 `util/i386/pc/grub-mkrescue.in'. Remove
35779 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
35780 `include/grub/i386/pc/util/biosdisk.h' and
35781 `include/grub/powerpc/ieee1275/multiboot.h'.
35782
8f096014 357832007-08-02 Bean <bean123ch@gmail.com>
35784
35785 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
35786 (ntfs_mod_SOURCES): New variable.
35787 (ntfs_mod_CFLAGS): Likewise.
35788 (ntfs_mod_LDFLAGS): Likewise.
35789
35790 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
35791 (grub_probe_SOURCES): Likewise.
35792 (grub_emu_SOURCES): Likewise.
35793
35794 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
35795 (grub_emu_SOURCES): Likewise.
35796
35797 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
35798 (grub_emu_SOURCES): Likewise.
f19dbdb7 35799
8f096014 35800 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
35801
35802 * fs/ntfs.c: New file.
35803
9959f7db 358042007-08-02 Bean <bean123ch@gmail.com>
35805
35806 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
35807
35808 * file.h (grub_file): Likewise.
35809
35810 * fshelp.h (grub_fshelp_read_file): Likewise.
35811
35812 * util/i386/pc/grub-setup.c (setup): Likewise.
35813 (save_first_sector): Likewise.
35814 (save_blocklists): Likewise.
f19dbdb7 35815
9959f7db 35816 * fs/affs.c (grub_affs_read_file): Likewise.
35817
35818 * fs/ext2.c (grub_ext2_read_file): Likewise.
35819
35820 * fs/fat.c (grub_fat_read_data): Likewise.
35821
35822 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
35823
35824 * fs/hfs.c (grub_hfs_read_file): Likewise.
35825
35826 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
35827
35828 * fs/jfs.c (grub_jfs_read_file): Likewise.
35829
35830 * fs/minix.c (grub_minix_read_file): Likewise.
35831
35832 * fs/sfs.c (grub_sfs_read_file): Likewise.
35833
35834 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 35835
9959f7db 35836 * fs/xfs.c (grub_xfs_read_file): Likewise.
35837
35838 * command/blocklist.c (read_blocklist): Likewise.
35839 (print_blocklist): Likewise.
35840
0a203f83 358412007-08-02 Marco Gerards <marco@gnu.org>
35842
35843 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
35844 `util/hostfs.c'.
35845
35846 * disk/host.c: New file.
35847
35848 * util/hostfs.c: Likewise.
35849
35850 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
35851 return `GRUB_ERR_BAD_FS'.
35852 * fs/sfs.c (grub_sfs_mount): Likewise.
35853 * fs/xfs.c (grub_xfs_mount): Likewise.
35854
35855 * include/grub/disk.h (enum grub_disk_dev_id): Add
35856 `GRUB_DISK_DEVICE_HOST_ID'.
35857
35858 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
35859
e5dfe777 358602007-07-24 Jerone Young <jerone@gmail.com>
35861
f19dbdb7 35862 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 35863 modules for compilation.
35864 * conf/powerpc-ieee1275.rmk: Likewise.
35865
35866 * include/multiboot.h: Move multiboot definitions to one file. Rename
35867 many definitions to not get grub specific.
35868 * include/multiboot2.h: Create header with multiboot 2 definitions.
35869 * include/grub/multiboot.h: Header for grub specific function
35870 prototypes and definitions.
35871 * include/grub/multiboot2.h: Likewise.
35872 * include/grub/multiboot_loader.h: Likewise.
35873 * include/grub/i386/pc/multiboot.h: Removed.
35874 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
35875
35876 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
35877 and 2 to allow for one multiboot and module commands.
35878 * loader/multiboot2.c: Add multiboot2 functionality.
35879 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
35880 and definition names.
35881 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
35882 2 functions.
35883 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
35884 ieee1275 specific multiboot2 code.
35885
35886 * kern/i386/pc/startup.S: Change headers and definition names for
35887 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
35888
daf0f0ba 358892007-07-22 Robert Millan <rmh@aybabtu.com>
35890
35891 * geninitheader.sh: Process file specified in first parameter rather
35892 than hardcoding grub_modules_init.lst.
fe6b695a 35893 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 35894 than hardcoding grub_modules_init.h.
35895
35896 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
35897 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
35898 grub_probe_init.[ch] and grub_setup_init.[ch].
35899
35900 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
35901 grub_modules_init.h with grub_emu_init.h.
35902 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
35903 grub_probe_init.[ch] files.
35904 * conf/i386-efi.rmk: Likewise.
35905 * conf/i386-pc.rmk: Likewise.
35906 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
35907 grub_setup_init.[ch] files.
35908
35909 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
35910 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
35911 to initialize modules rather than a list of hardcoded functions.
35912 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
35913 grub_init_all() to initialize modules rather than a list of hardcoded
35914 functions.
35915
54cdc1cc 359162007-07-22 Robert Millan <rmh@aybabtu.com>
35917
35918 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
35919 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
35920
ad0686cc 359212007-07-22 Robert Millan <rmh@aybabtu.com>
35922
35923 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
35924 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
35925 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
35926 flag when running on SmartFirmware.
35927 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
35928 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
35929 was set.
35930
35931 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
35932 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
35933 rather than decreasing it.
35934
35935 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
35936 there's not enough space to do it, fail in the same way as when it
35937 can't be done because there are no partitions.
35938
35939 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
35940 when nvsetenv failed.
35941
969c02ec 359422007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
35943
35944 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
35945 because this rule is automatically generated.
35946 (grub-mkrescue): Removed for the same reason as above.
35947
5a79f472 359482007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
35949
35950 Migrate to GNU General Public License Version 3.
f19dbdb7 35951
5a79f472 35952 * COPYING: Replaced with the plain text version of GPLv3.
35953
35954 * config.guess: Updated from gnulib.
35955 * config.sub: Likewise.
35956
35957 * geninit.sh: Output a GPLv3 copyright notice.
35958 * geninitheader.sh: Likewise.
35959 * genmodsrc.sh: Likewise.
35960 * gensymlist.sh.in: Likewise.
35961
35962 * boot/i386/pc/boot.S: Upgraded to GPLv3.
35963 * boot/i386/pc/diskboot.S: Likewise.
35964 * boot/i386/pc/pxeboot.S: Likewise.
35965 * commands/blocklist.c: Likewise.
35966 * commands/boot.c: Likewise.
35967 * commands/cat.c: Likewise.
35968 * commands/cmp.c: Likewise.
35969 * commands/configfile.c: Likewise.
35970 * commands/echo.c: Likewise.
35971 * commands/help.c: Likewise.
35972 * commands/ls.c: Likewise.
35973 * commands/search.c: Likewise.
35974 * commands/terminal.c: Likewise.
35975 * commands/test.c: Likewise.
35976 * commands/videotest.c: Likewise.
35977 * commands/i386/cpuid.c: Likewise.
35978 * commands/i386/pc/halt.c: Likewise.
35979 * commands/i386/pc/play.c: Likewise.
35980 * commands/i386/pc/reboot.c: Likewise.
35981 * commands/i386/pc/vbeinfo.c: Likewise.
35982 * commands/i386/pc/vbetest.c: Likewise.
35983 * commands/ieee1275/halt.c: Likewise.
35984 * commands/ieee1275/reboot.c: Likewise.
35985 * commands/ieee1275/suspend.c: Likewise.
35986 * disk/loopback.c: Likewise.
35987 * disk/lvm.c: Likewise.
35988 * disk/raid.c: Likewise.
35989 * disk/efi/efidisk.c: Likewise.
35990 * disk/i386/pc/biosdisk.c: Likewise.
35991 * disk/ieee1275/ofdisk.c: Likewise.
35992 * font/manager.c: Likewise.
35993 * fs/affs.c: Likewise.
35994 * fs/ext2.c: Likewise.
35995 * fs/fat.c: Likewise.
35996 * fs/fshelp.c: Likewise.
35997 * fs/hfs.c: Likewise.
35998 * fs/hfsplus.c: Likewise.
35999 * fs/iso9660.c: Likewise.
36000 * fs/jfs.c: Likewise.
36001 * fs/minix.c: Likewise.
36002 * fs/sfs.c: Likewise.
36003 * fs/ufs.c: Likewise.
36004 * fs/xfs.c: Likewise.
36005 * hello/hello.c: Likewise.
36006 * include/grub/acorn_filecore.h: Likewise.
36007 * include/grub/arg.h: Likewise.
36008 * include/grub/bitmap.h: Likewise.
36009 * include/grub/boot.h: Likewise.
36010 * include/grub/cache.h: Likewise.
36011 * include/grub/device.h: Likewise.
36012 * include/grub/disk.h: Likewise.
36013 * include/grub/dl.h: Likewise.
36014 * include/grub/elfload.h: Likewise.
36015 * include/grub/env.h: Likewise.
36016 * include/grub/err.h: Likewise.
36017 * include/grub/file.h: Likewise.
36018 * include/grub/font.h: Likewise.
36019 * include/grub/fs.h: Likewise.
36020 * include/grub/fshelp.h: Likewise.
36021 * include/grub/gzio.h: Likewise.
36022 * include/grub/hfs.h: Likewise.
36023 * include/grub/kernel.h: Likewise.
36024 * include/grub/loader.h: Likewise.
36025 * include/grub/lvm.h: Likewise.
36026 * include/grub/misc.h: Likewise.
36027 * include/grub/mm.h: Likewise.
36028 * include/grub/net.h: Likewise.
36029 * include/grub/normal.h: Likewise.
36030 * include/grub/parser.h: Likewise.
36031 * include/grub/partition.h: Likewise.
36032 * include/grub/pc_partition.h: Likewise.
36033 * include/grub/raid.h: Likewise.
36034 * include/grub/rescue.h: Likewise.
36035 * include/grub/script.h: Likewise.
36036 * include/grub/setjmp.h: Likewise.
36037 * include/grub/symbol.h: Likewise.
36038 * include/grub/term.h: Likewise.
36039 * include/grub/terminfo.h: Likewise.
36040 * include/grub/tparm.h: Likewise.
36041 * include/grub/types.h: Likewise.
36042 * include/grub/video.h: Likewise.
36043 * include/grub/efi/api.h: Likewise.
36044 * include/grub/efi/chainloader.h: Likewise.
36045 * include/grub/efi/console.h: Likewise.
36046 * include/grub/efi/console_control.h: Likewise.
36047 * include/grub/efi/disk.h: Likewise.
36048 * include/grub/efi/efi.h: Likewise.
36049 * include/grub/efi/pe32.h: Likewise.
36050 * include/grub/efi/time.h: Likewise.
36051 * include/grub/i386/linux.h: Likewise.
36052 * include/grub/i386/setjmp.h: Likewise.
36053 * include/grub/i386/types.h: Likewise.
36054 * include/grub/i386/efi/kernel.h: Likewise.
36055 * include/grub/i386/efi/loader.h: Likewise.
36056 * include/grub/i386/efi/time.h: Likewise.
36057 * include/grub/i386/pc/biosdisk.h: Likewise.
36058 * include/grub/i386/pc/boot.h: Likewise.
36059 * include/grub/i386/pc/chainloader.h: Likewise.
36060 * include/grub/i386/pc/console.h: Likewise.
36061 * include/grub/i386/pc/init.h: Likewise.
36062 * include/grub/i386/pc/kernel.h: Likewise.
36063 * include/grub/i386/pc/loader.h: Likewise.
36064 * include/grub/i386/pc/memory.h: Likewise.
36065 * include/grub/i386/pc/multiboot.h: Likewise.
36066 * include/grub/i386/pc/serial.h: Likewise.
36067 * include/grub/i386/pc/time.h: Likewise.
36068 * include/grub/i386/pc/vbe.h: Likewise.
36069 * include/grub/i386/pc/vbeblit.h: Likewise.
36070 * include/grub/i386/pc/vbefill.h: Likewise.
36071 * include/grub/i386/pc/vbeutil.h: Likewise.
36072 * include/grub/i386/pc/vga.h: Likewise.
36073 * include/grub/ieee1275/ieee1275.h: Likewise.
36074 * include/grub/ieee1275/ofdisk.h: Likewise.
36075 * include/grub/powerpc/libgcc.h: Likewise.
36076 * include/grub/powerpc/setjmp.h: Likewise.
36077 * include/grub/powerpc/types.h: Likewise.
36078 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
36079 * include/grub/powerpc/ieee1275/console.h: Likewise.
36080 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
36081 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
36082 * include/grub/powerpc/ieee1275/loader.h: Likewise.
36083 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
36084 * include/grub/powerpc/ieee1275/time.h: Likewise.
36085 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
36086 * include/grub/sparc64/libgcc.h: Likewise.
36087 * include/grub/sparc64/setjmp.h: Likewise.
36088 * include/grub/sparc64/types.h: Likewise.
36089 * include/grub/sparc64/ieee1275/console.h: Likewise.
36090 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
36091 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
36092 * include/grub/sparc64/ieee1275/time.h: Likewise.
36093 * include/grub/util/biosdisk.h: Likewise.
36094 * include/grub/util/getroot.h: Likewise.
36095 * include/grub/util/lvm.h: Likewise.
36096 * include/grub/util/misc.h: Likewise.
36097 * include/grub/util/raid.h: Likewise.
36098 * include/grub/util/resolve.h: Likewise.
36099 * io/gzio.c: Likewise.
36100 * kern/device.c: Likewise.
36101 * kern/disk.c: Likewise.
36102 * kern/dl.c: Likewise.
36103 * kern/elf.c: Likewise.
36104 * kern/env.c: Likewise.
36105 * kern/err.c: Likewise.
36106 * kern/file.c: Likewise.
36107 * kern/fs.c: Likewise.
36108 * kern/loader.c: Likewise.
36109 * kern/main.c: Likewise.
36110 * kern/misc.c: Likewise.
36111 * kern/mm.c: Likewise.
36112 * kern/parser.c: Likewise.
36113 * kern/partition.c: Likewise.
36114 * kern/rescue.c: Likewise.
36115 * kern/term.c: Likewise.
36116 * kern/efi/efi.c: Likewise.
36117 * kern/efi/init.c: Likewise.
36118 * kern/efi/mm.c: Likewise.
36119 * kern/i386/dl.c: Likewise.
36120 * kern/i386/efi/init.c: Likewise.
36121 * kern/i386/efi/startup.S: Likewise.
36122 * kern/i386/pc/init.c: Likewise.
36123 * kern/i386/pc/lzo1x.S: Likewise.
36124 * kern/i386/pc/startup.S: Likewise.
36125 * kern/ieee1275/ieee1275.c: Likewise.
36126 * kern/powerpc/cache.S: Likewise.
36127 * kern/powerpc/dl.c: Likewise.
36128 * kern/powerpc/ieee1275/cmain.c: Likewise.
36129 * kern/powerpc/ieee1275/crt0.S: Likewise.
36130 * kern/powerpc/ieee1275/init.c: Likewise.
36131 * kern/powerpc/ieee1275/openfw.c: Likewise.
36132 * kern/sparc64/cache.S: Likewise.
36133 * kern/sparc64/dl.c: Likewise.
36134 * kern/sparc64/ieee1275/init.c: Likewise.
36135 * kern/sparc64/ieee1275/openfw.c: Likewise.
36136 * loader/efi/chainloader.c: Likewise.
36137 * loader/efi/chainloader_normal.c: Likewise.
36138 * loader/i386/efi/linux.c: Likewise.
36139 * loader/i386/efi/linux_normal.c: Likewise.
36140 * loader/i386/pc/chainloader.c: Likewise.
36141 * loader/i386/pc/chainloader_normal.c: Likewise.
36142 * loader/i386/pc/linux.c: Likewise.
36143 * loader/i386/pc/linux_normal.c: Likewise.
36144 * loader/i386/pc/multiboot.c: Likewise.
36145 * loader/i386/pc/multiboot_normal.c: Likewise.
36146 * loader/powerpc/ieee1275/linux.c: Likewise.
36147 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36148 * normal/arg.c: Likewise.
36149 * normal/cmdline.c: Likewise.
36150 * normal/command.c: Likewise.
36151 * normal/completion.c: Likewise.
36152 * normal/execute.c: Likewise.
36153 * normal/function.c: Likewise.
36154 * normal/lexer.c: Likewise.
36155 * normal/main.c: Likewise.
36156 * normal/menu.c: Likewise.
36157 * normal/menu_entry.c: Likewise.
36158 * normal/misc.c: Likewise.
36159 * normal/parser.y: Likewise.
36160 * normal/script.c: Likewise.
36161 * normal/i386/setjmp.S: Likewise.
36162 * normal/powerpc/setjmp.S: Likewise.
36163 * normal/sparc64/setjmp.S: Likewise.
36164 * partmap/acorn.c: Likewise.
36165 * partmap/amiga.c: Likewise.
36166 * partmap/apple.c: Likewise.
36167 * partmap/gpt.c: Likewise.
36168 * partmap/pc.c: Likewise.
36169 * partmap/sun.c: Likewise.
36170 * term/gfxterm.c: Likewise.
36171 * term/terminfo.c: Likewise.
36172 * term/efi/console.c: Likewise.
36173 * term/i386/pc/console.c: Likewise.
36174 * term/i386/pc/serial.c: Likewise.
36175 * term/i386/pc/vesafb.c: Likewise.
36176 * term/i386/pc/vga.c: Likewise.
36177 * term/ieee1275/ofconsole.c: Likewise.
36178 * util/biosdisk.c: Likewise.
36179 * util/console.c: Likewise.
36180 * util/genmoddep.c: Likewise.
36181 * util/getroot.c: Likewise.
36182 * util/grub-emu.c: Likewise.
36183 * util/grub-mkdevicemap.c: Likewise.
36184 * util/grub-probe.c: Likewise.
36185 * util/lvm.c: Likewise.
36186 * util/misc.c: Likewise.
36187 * util/raid.c: Likewise.
36188 * util/resolve.c: Likewise.
36189 * util/update-grub.in: Likewise.
36190 * util/update-grub_lib.in: Likewise.
36191 * util/grub.d/00_header.in: Likewise.
36192 * util/grub.d/10_hurd.in: Likewise.
36193 * util/grub.d/10_linux.in: Likewise.
36194 * util/i386/efi/grub-install.in: Likewise.
36195 * util/i386/efi/grub-mkimage.c: Likewise.
36196 * util/i386/pc/grub-install.in: Likewise.
36197 * util/i386/pc/grub-mkimage.c: Likewise.
36198 * util/i386/pc/grub-mkrescue.in: Likewise.
36199 * util/i386/pc/grub-setup.c: Likewise.
36200 * util/i386/pc/misc.c: Likewise.
36201 * util/powerpc/ieee1275/grub-install.in: Likewise.
36202 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
36203 * util/powerpc/ieee1275/misc.c: Likewise.
36204 * video/bitmap.c: Likewise.
36205 * video/video.c: Likewise.
36206 * video/i386/pc/vbe.c: Likewise.
36207 * video/i386/pc/vbeblit.c: Likewise.
36208 * video/i386/pc/vbefill.c: Likewise.
36209 * video/i386/pc/vbeutil.c: Likewise.
36210 * video/readers/tga.c: Likewise.
36211
3572d015 362122007-07-02 Robert Millan <rmh@aybabtu.com>
36213
36214 * conf/i386-efi.rmk: Replace obsolete reference to
36215 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
36216 with util/getroot.c.
36217 * conf/powerpc-ieee1275.rmk: Likewise.
36218 * conf/sparc64-ieee1275.rmk: Likewise.
36219
36220 * util/grub-emu.c (main): Fix unchecked pointer handling.
36221
2c2a681b 362222007-07-02 Robert Millan <rmh@aybabtu.com>
36223
36224 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
36225 invocation to fail, in order to support partition-less media.
36226
36227 * util/i386/pc/grub-install.in: Likewise.
36228
36229 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
36230 which fs or partmap modules are needed (akin to its sister scripts).
36231
36232 Also use grub-probe to get rid of unportable /proc/mounts check.
36233
36234 Print the same informational message that the other scripts do, before
fe6b695a 36235 exiting.
2c2a681b 36236
6193defe 362372007-06-23 Robert Millan <rmh@aybabtu.com>
36238
fe6b695a 36239 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 36240 a font file can be found and, if so, echo the GRUB path to it.
36241
36242 * util/update-grub.in: Handle multiple terminals depending on user
36243 input, platform availability and font file presence. Propagate
36244 variables of our findings to /etc/grub.d/ children.
36245
36246 * util/grub.d/00_header.in: Handle multiple terminals, based on
36247 environment setup by update-grub.
36248
eface1dc 362492007-06-23 Robert Millan <rmh@aybabtu.com>
36250
ba50d28f 36251 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 36252
bf697e28 362532007-06-21 Robert Millan <rmh@aybabtu.com>
36254
36255 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
36256 indicate end of data section in kernel image.
36257 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
36258 GRUB_KERNEL_MACHINE_DATA_END.
36259
36260 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
36261 space for it.
36262 * kern/i386/efi/startup.S: Likewise.
36263
36264 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
36265 during image generation. Implement --prefix option to override this
36266 patch.
36267 * util/i386/efi/grub-mkimage.c: Likewise.
36268
36269 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
36270 code to make path relative to its root into a separate function.
36271
36272 * util/i386/pc/grub-install.in: Use newly provided
36273 make_system_path_relative_to_its_root() to convert ${grubdir}, then
36274 pass the result to grub-install --prefix.
36275
baa574b4 362762007-06-13 Robert Millan <rmh@aybabtu.com>
36277
36278 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
36279 DEFAULT_DEVICE_MAP.
36280 * util/grub-emu.c: Use above definitions from misc.h instead of
36281 defining them.
36282 * util/grub-mkdevicemap.c: Likewise.
36283 * util/i386/pc/grub-setup.c: Likewise.
36284 * util/grub-probe.c: Likewise.
36285 (probe): Abort with grub_util_error() when either
36286 grub_guess_root_device or grub_util_get_grub_dev fails.
36287
0215dcbf 362882007-06-12 Robert Millan <rmh@aybabtu.com>
36289
36290 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
36291 "pager" assignment.
36292 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
36293 "pcdata".
36294 * util/grub-probe.c (probe): Likewise for "drive_name".
36295
8af2ab7b 362962007-06-11 Robert Millan <rmh@aybabtu.com>
36297
36298 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
36299 not just the cdrom one.
36300
59d31694 363012007-06-11 Robert Millan <rmh@aybabtu.com>
36302
36303 * util/i386/pc/grub-mkrescue.in: Add "set -e".
36304 Add --pkglibdir=DIR option to override pkglibdir.
36305 Mention --image-type=TYPE in help output.
36306 Fix --grub-mkimage (it was a no-op).
fe6b695a 36307 Abort gracefully when no parameter is given.
59d31694 36308
7ee367e4 363092007-06-11 Robert Millan <rmh@aybabtu.com>
36310
36311 * util/i386/pc/grub-mkrescue.in: New file.
36312 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
36313 * Makefile.in: Handle bin_SCRIPTS.
36314
29b0ed46 363152007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
36316
36317 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
36318 list of video modes.
36319
c0f90770 363202007-06-06 Robert Millan <rmh@aybabtu.com>
36321
36322 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
36323 file doesn't exist, or if it is in a filesystem grub can't read.
36324
36325 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
36326 not abort if GRUB_DRIVE could not be defined. Rearrange generated
36327 header comment to fit in 80 columns when the variables are resolved.
36328
36329 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
36330 could be identified by update-grub. Remove redundant check for
fe6b695a 36331 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 36332 handles that).
36333
fb36dc26 363342007-06-04 Robert Millan <rmh@aybabtu.com>
36335
36336 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
36337
36338 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
36339
36340 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
36341
0c68c93e 363422007-06-04 Robert Millan <rmh@aybabtu.com>
36343
36344 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
36345
36346 * include/grub/partition.h: Declare grub_apple_partition_map_init and
36347 grub_apple_partition_map_fini.
36348
36349 * util/biosdisk.c
36350 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
36351 to access >2 TiB disks).
36352
36353 Print disk->total_sectors with %llu instead of %lu, since this
36354 variable is always 64-bit (prevents wrong disk size from being displayed
36355 on either >2 TiB disk or big-endian CPU).
36356
36357 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
36358 into a generic case that supports all (sane) partition maps.
36359
36360 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
36361 breaks big-endian.
36362
36363 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
36364 and grub_apple_partition_map_fini() after that.
36365
0f23eb74 363662007-06-01 Robert Millan <rmh@aybabtu.com>
36367
36368 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
36369
36370 * util/grub.d/00_header.in: Only enable gfxterm when
36371 convert_system_path_to_grub_path() succeeds.
36372
42c71976 363732007-05-20 Robert Millan <rmh@aybabtu.com>
36374
36375 * util/update-grub_lib.in: New file.
36376 * DISTLIST: Add update-grub_lib.in.
36377 * conf/common.rmk: Generate update-grub_lib and install it in
36378 $(lib_DATA).
36379 * Makefile.in: Add install routine for $(lib_DATA).
36380
36381 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
36382 function provided by update-grub_lib to support arbitrary paths of
36383 unifont.pff.
36384 * util/update-grub.in: Use convert_system_path_to_grub_path() to
36385 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
36386
5beb2291 363872007-05-19 Robert Millan <rmh@aybabtu.com>
36388
36389 * commands/i386/cpuid.c: New module.
36390 * DISTLIST: Add it.
36391 * conf/i386-efi.rmk: Enable cpuid.mod.
36392 * conf/i386-pc.rmk: Likewise.
36393
7262eca1 363942007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
36395
36396 * kern/disk.c (grub_disk_read): Check return value of
36397 grub_realloc().
36398
260ba823 363992007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
36400
36401 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
36402 arrays.
36403 * disk/raid.c (grub_raid_open): Likewise.
36404
1ecb6cf2 364052007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
36406
36407 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
36408 stack instead of on the heap.
36409
36410 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
36411 before doing a read on it.
36412
36413 * configure.ac: Only use -fno-stack-protector for the target
36414 environment.
f19dbdb7 36415
21c8cbb1 364162007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
36417
36418 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
36419 __attribute_ ((unused)) to mode_type argument.
36420
36421 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 36422
21c8cbb1 36423 * kern/misc.c (memcmp): Fix prototype.
36424
36425 * include/grub/partition.h [GRUB_UTIL]
36426 (grub_gpt_partition_map_init): Add prototype.
36427 (grub_gpt_partition_map_fini): Likewise.
36428
36429 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
36430 at the right place.
36431
36432 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
36433 (grub_fat_read_data): Likewise.
36434 (grub_fat_find_dir): Likewise.
36435
36436 * font/manager.c (find_glyph): Make table a const.
36437 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 36438
849d55d3 364392007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
36440
36441 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
36442 code, first search for device in /dev/mapper, then in /dev.
36443 (grub_util_get_grub_dev): New function.
36444 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
36445 prototype.
36446 * util/grub-probe.c (probe): Remove check for RAID, call
36447 grub_util_get_grub_dev() instead of
36448 grub_util_biosdisk_get_grub_dev().
36449 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
36450 grub_util_biosdisk_get_grub_dev().
36451 * util/i386/pc/grub-setup.c (main): Likewise.
36452
8fff7c2f 364532007-05-16 Robert Millan <rmh@aybabtu.com>
36454
36455 * DISTLIST: Update for the latest changes.
36456 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
36457 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
36458 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
36459 grub/util/biosdisk.h.
36460 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
36461 grub/util/biosdisk.h.
36462
48e12b52 364632007-05-16 Robert Millan <rmh@aybabtu.com>
36464
36465 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
36466
46b9d128 364672007-05-16 Robert Millan <rmh@aybabtu.com>
36468
36469 * util/i386/efi/grub-install.in: New.
36470 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
36471 newly added grub-install.
36472 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
36473 include.
36474 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
36475 grub/util/biosdisk.h.
36476 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
36477 grub/util/biosdisk.h.
36478
2d1a40a9 364792007-05-16 Robert Millan <rmh@aybabtu.com>
36480
36481 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
36482 * include/grub/util/biosdisk.h: ... here.
36483 * util/i386/pc/biosdisk.c: Moved to ...
36484 * util/biosdisk.c: ... here.
36485 * util/i386/pc/getroot.c: Moved to ...
36486 * util/getroot.c: ... here.
36487 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
36488 * util/grub-mkdevicemap.c: ... here.
36489 * util/i386/pc/grub-probe.c: Moved to ...
36490 * util/grub-probe.c: ... here.
36491
9e26e3bc 364922007-05-15 Robert Millan <rmh@aybabtu.com>
36493
36494 * util/update-grub.in: Remove duplicated line in grub.cfg header
36495 message.
36496
57f96397 364972007-05-13 Robert Millan <rmh@aybabtu.com>
36498
36499 * util/update-grub.in: Fix a few assumptions about the devices holding
36500 /, /boot and /boot/grub being the same.
36501 * util/grub.d/00_header.in: Likewise.
36502 * util/grub.d/10_hurd.in: Likewise.
36503 * util/grub.d/10_linux.in: Likewise.
36504
36505 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
36506 patterns. Use that to define the `.old' suffix as older than `'.
36507
36508 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
36509
36510 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
36511 the grub.cfg header message.
36512
2e610d62 365132007-05-11 Robert Millan <rmh@aybabtu.com>
36514
36515 * util/update-grub.in: Create device.map if it doesn't already exist,
36516 before attempting to run grub-probe.
36517 Check for grub-probe and grub-mkdevicemap with the same code
36518 grub-install is using.
36519 Remove test mode.
36520
3f6a10ef 365212007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
36522
36523 * Makefile.in: Add the datarootdir autoconf variable.
36524
02e7b75e 365252007-05-09 Robert Millan <rmh@aybabtu.com>
36526
36527 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 36528 fail gracefully if dev->disk->partition == NULL.
02e7b75e 36529
75f396cc 365302007-05-07 Robert Millan <rmh@aybabtu.com>
36531
36532 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
36533 determine partition map module.
36534 * util/i386/pc/grub-install.in: Use this feature to decide which
36535 partition module to load, instead of hardcoding pc and gpt.
36536
da65cb36 365372007-05-07 Robert Millan <rmh@aybabtu.com>
36538
36539 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
36540 source directory differs from build directory.
36541
b57d6a91 365422007-05-05 Robert Millan <rmh@aybabtu.com>
36543
36544 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
36545 initialisation.
36546
509d00f1 365472007-05-05 Robert Millan <rmh@aybabtu.com>
36548
36549 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
36550
c48f23ef 365512007-05-05 Robert Millan <rmh@aybabtu.com>
36552
36553 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
36554 command-line arguments via ${GRUB_CMDLINE_LINUX}.
36555
20b97658 365562007-05-05 Robert Millan <rmh@aybabtu.com>
36557
36558 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
36559 (grub_probe_SOURCES): Likewise.
36560 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
36561 GPT and initialize dos_part and bsd_part accordingly.
36562 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
36563 install_bsd_part.
36564 (main): Activate gpt module for use during partition identification,
36565 and deactivate it afterwards.
36566 * util/i386/pc/grub-install.in: Add gpt module to core.img.
36567 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
36568 partition identification, and deactivate it afterwards.
36569
99123174 365702007-05-05 Robert Millan <rmh@aybabtu.com>
36571
36572 * term/i386/pc/console.c (grub_console_fini): Call
36573 grub_term_set_current() before grub_term_unregister().
36574
ebd97f6e 365752007-05-04 Robert Millan <rmh@aybabtu.com>
36576
36577 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
36578 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
36579 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
36580 and update-grub_DATA.
36581 * conf/common.rmk: Build and install update-grub components.
36582 * conf/common.mk: Regenerate.
36583 * util/update-grub.in: New. Core of update-grub.
36584 * util/grub.d/00_header.in: New. Generates grub.cfg header.
36585 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
36586 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
36587 * util/grub.d/README: New. Document grub.d directory layout.
36588
b06a264d 365892007-05-01 Robert Millan <rmh@aybabtu.com>
36590
36591 * util/grub-emu.c: Move initialization functions
36592 grub_util_biosdisk_init() and grub_init_all() before
36593 grub_util_biosdisk_get_grub_dev(), which relies on them.
36594
41f0050e 365952007-04-19 Robert Millan <rmh@aybabtu.com>
36596
36597 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
36598 it is used later.
36599
04582bb3 366002007-04-18 Jerone Young <jerone@gmail.com>
36601
f19dbdb7 36602 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 36603 stanza.
36604
08db4632 366052007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 36606
08db4632 36607 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
36608 continue on and look for device node with real device name.
36609
801b76be 366102007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 36611
fe6b695a 36612 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 36613 ability.
36614 * Makefile.in: Add autoconf package transformation code.
36615 * util/i386/pc/grub-install.in: Likewise.
36616 * util/powerpc/ieee1275/grub-install.in: Likewise.
36617
6795c4e1 366182007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
36619
36620 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
36621 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
36622 (EXT2_REVISION): Likewise.
36623 (EXT2_INODE_SIZE): Likewise.
36624 (struct grub_ext2_block_group): Added a missing member
36625 "used_dirs".
36626 (grub_ext2_read_inode): Divide by the inode size in a superblock
36627 instead of 128 to obtain INODES_PER_BLOCK.
36628 Use the macro EXT2_INODE_SIZE instead of directly using
36629 SBLOCK->INODE_SIZE.
36630
d70af616 366312007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
36632
36633 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
36634 superblock instead of the structure size to compute an
36635 offset. This fixes the problem that GRUB could not read a
36636 filesystem when inode size is different from 128-byte.
36637
3b801603 366382007-03-05 Marco Gerards <marco@gnu.org>
36639
36640 * normal/main.c (read_config_file): When "menu" is not set, create
36641 an initial context.
36642
4785bfe4 366432007-02-21 Hollis Blanchard <hollis@penguinppc.org>
36644
36645 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
36646 (HEAP_LIMIT): New macro.
36647 (grub_claim_heap): Claim memory up to `heaplimit'.
36648
a0cbb023 366492007-02-21 Hollis Blanchard <hollis@penguinppc.org>
36650
36651 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
36652 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
36653 (_start): Likewise.
36654 (grub_arch_modules_addr): Return address after `_end'.
36655 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
36656 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
36657 (add_segments): Calculate `_end' from phdr size and location.
36658 (ALIGN_UP): Moved to ...
36659 * include/grub/misc.h: here.
36660 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
36661 New macro.
36662 (GRUB_IEEE1275_MODULE_BASE): Removed.
36663
fd7d8eba 366642007-02-20 Hollis Blanchard <hollis@penguinppc.org>
36665
36666 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
36667 loop boundary.
36668
9b09e6fc 366692007-02-20 Hollis Blanchard <hollis@penguinppc.org>
36670
36671 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
36672 All users updated.
36673 (grub_elf64_load_hook_t): Likewise.
36674 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
36675 debug output.
36676
3ce27299 366772007-02-20 Hollis Blanchard <hollis@penguinppc.org>
36678
36679 * kern/mm.c: Update copyright.
36680 (grub_mm_debug): Correct syntax error.
36681 (grub_mm_dump_free): New function.
36682 (grub_debug_free): Call `grub_free'.
36683 * include/grub/mm.h: Update copyright.
36684 (grub_mm_dump_free): Add declaration.
36685
077d5fee 366862007-02-12 Hollis Blanchard <hollis@penguinppc.org>
36687
36688 * include/grub/ieee1275/ieee1275.h: Update copyright.
36689 * kern/powerpc/ieee1275/init.c: Likewise.
36690 * kern/powerpc/ieee1275/openfw.c: Likewise.
36691
36692 * loader/powerpc/ieee1275/linux.c: Likewise.
36693 * include/grub/elfload.h: Likewise.
36694 * kern/elf.c: Likewise.
36695 (grub_elf32_load): Pass `base' and `size' parameters. Update all
36696 callers.
36697 (grub_elf64_load): Likewise.
36698 (grub_elf32_load_segment): Move to a nested function.
36699 (grub_elf64_load_segment): Likewise.
36700
dc946850 367012007-02-12 Hollis Blanchard <hollis@penguinppc.org>
36702
36703 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
36704 prototype.
36705 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
36706 (grub_heap_len): Likewise.
36707 (HEAP_SIZE): New macro.
36708 (grub_claim_heap): New function.
36709 (grub_machine_init): Don't claim heap directly. Call
36710 `grub_claim_heap'.
36711 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
36712 (grub_available_iterate): New function.
36713
baa2a121 367142007-02-03 Thomas Schwinge <tschwinge@gnu.org>
36715
36716 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
36717 * configure.ac: Use it for testing the HOST and TARGET compilers.
36718
4fe9862e 367192006-12-13 Thomas Schwinge <tschwinge@gnu.org>
36720
36721 * Makefile.in (enable_grub_emu): New variable.
36722 * configure.ac (--enable-grub-emu): New option.
36723 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
36724 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
36725 * conf/i386-pc.rmk: Likewise.
36726 * conf/powerpc-ieee1275.rmk: Likewise.
36727 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
36728
a8aa5762 367292006-12-12 Marco Gerards <marco@gnu.org>
36730
36731 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
36732
36733 * kern/env.c (grub_env_unset): Don't free the member `value' when
36734 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
36735 pointer.
36736
36737 * normal/main.c (current_menu): Removed.
36738 (free_menu): Unset the `menu' environment variable.
36739 (grub_normal_menu_addentry): Make use of the environment variable
36740 `menu', instead of using the global `current_menu'. Allocate
36741 memory for the sourcecode of this entry.
36742 (read_config_file): New argument `nested', changed all callers.
36743 Only in the case of a new context, initialize a new menu. Set the
36744 `menu' environment variable.
36745 (grub_normal_execute): Don't set and unset the environment
36746 variable `menu' here anymore. Only free the menu when leaving the
36747 context.
36748
36749 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
36750 leak.
36751
957b3a3e 367522006-12-11 Marco Gerards <marco@gnu.org>
36753
36754 * normal/menu_entry.c (run): Fix off by one bug so the last line
36755 is executed. Move the loader check to outside the loop.
36756
ef875714 367572006-12-08 Hollis Blanchard <hollis@penguinppc.org>
36758
36759 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
36760
4e739985 367612006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
36762
36763 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
36764 the number of sectors. Reported by Andrey Shuvikov
36765 <mr_hyro@yahoo.com>.
f19dbdb7 36766
790707f2 367672006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
36768
36769 * kern/disk.c (grub_disk_read): When there is a read error, always
36770 try to read only the necessary data.
f19dbdb7 36771
790707f2 36772 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
36773 disk/raid.c.
36774 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
36775 prototype.
36776 [GRUB_UTIL] (grub_raid_fini): Likewise.
36777 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 36778 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 36779 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
36780 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
36781 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
36782 and grub_raid_fini().
f19dbdb7 36783
03e58196 367842006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
36785
36786 * include/grub/types.h (__unused): Rename to UNUSED.
36787 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
36788 (grub_elf64_size): Likewise.
f19dbdb7 36789
ae4f23bf 367902006-11-03 Hollis Blanchard <hollis@penguinppc.org>
36791
36792 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
36793 grub_error_push and grub_error_pop in the error-handling path.
36794 (grub_elf32_load_segment): Only call grub_file_read with non-zero
36795 length.
36796
2166cc83 367972006-11-03 Hollis Blanchard <hollis@penguinppc.org>
36798
36799 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
36800 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36801 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36802 (kernel_elf_SOURCES): Likewise.
36803 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
36804 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
36805 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
36806 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
36807 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
36808 (elf_mod_SOURCES): New variable.
36809 (elf_mod_CFLAGS): Likewise.
36810 (elf_mod_LDFLAGS): Likewise.
36811 * include/grub/types.h (__unused): New macro.
36812 * include/grub/elfload.h: New file.
36813 * kern/elf.c: Likewise.
36814 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
36815 (ELF32_LOADMASK): New macro.
36816 (ELF64_LOADMASK): Likewise.
36817 (vmlinux): Removed.
36818 (grub_linux_load32): New function.
36819 (grub_linux_load64): Likewise.
36820 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
36821 Use grub_elf_t instead of grub_file_t.
36822
a09d5aa5 368232006-11-02 Hollis Blanchard <hollis@penguinppc.org>
36824
36825 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
36826 `catch_result' to struct set_color_args.
36827
d976fc51 368282006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
36829
36830 * normal/menu.c: Include grub/script.h.
36831 * normal/menu_entry.c: Likewise.
36832 * include/grub/normal.h: Do not include grub/script.h.
36833
67507549 368342006-10-27 Hollis Blanchard <hollis@penguinppc.org>
36835
36836 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
36837
69203a99 368382006-10-27 Hollis Blanchard <hollis@penguinppc.org>
36839
36840 * kern/disk.c (grub_disk_open): Print debug messages when opening a
36841 disk.
36842 (grub_disk_close): Print debug messages when closing a disk.
36843 (grub_disk_read): Print debug messages when disk read fails.
36844 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
36845 filesystem type.
36846 * kern/partition.c: Include misc.h.
36847 (grub_partition_iterate): Print debug messages when detecting
36848 partition type.
36849
e2b8278c 368502006-10-27 Hollis Blanchard <hollis@penguinppc.org>
36851
36852 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
36853 is negative.
36854 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
36855
97b2f2ff 368562006-10-26 Hollis Blanchard <hollis@penguinppc.org>
36857
36858 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
36859 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
36860
6555d655 368612006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
36862
36863 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
36864 instead of sizeof(lv). Patch by Michael Guntsche.
36865
4d42b77f 368662006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
36867
36868 * disk/lvm.c: Rename VGS to VG_LIST.
36869 (grub_lvm_iterate): Change VGS->LV to VG-LV.
36870 (grub_lvm_open): Likewise.
36871 Thanks to Michael Guntsche for finding this bug.
36872
5d74d927 368732006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36874
36875 * configure.ac (AC_INIT): Bumped to 1.95.
36876
a1bb27e4 368772006-10-14 Robert Millan <rmh@aybabtu.com>
36878
36879 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
36880 with "/dev/.static/dev/md".
36881
e0994b8b 368822006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
36883
36884 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
36885 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
36886 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
36887 DRIVE_NAME are always freed.
36888
36889 * util/i386/pc/biosdisk.c (make_device_name): Add one into
36890 DOS_PART, as a DOS partition is counted from one instead of zero
36891 now. Reported by Robert Millan.
36892
ddd5cee9 368932006-10-14 Robert Millan <rmh@aybabtu.com>
36894
36895 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
36896 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
36897 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
36898 string returned by grub_guess_root_device.
36899 * util/i386/pc/grub-setup.c: Likewise.
36900 * util/i386/pc/grub-probefs.c: Likewise.
36901
36902 * util/i386/pc/grub-probefs.c: Rename to ...
36903 * util/i386/pc/grub-probe.c: ... this.
36904 * DISTLIST: Remove grub-probefs, add grub-probe.
36905 * conf/i386-efi.rmk: Likewise.
36906 * conf/i386-pc.rmk: Likewise.
36907 * util/i386/pc/grub-install.in: Likewise.
36908
36909 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
36910 choose which information we want to print.
36911
2b002173 369122006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
36913
36914 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
36915 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
36916 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
36917 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
36918 video/readers/tga.c and video/i386/pc/vbeutil.c.
36919
369202006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
36921
36922 Added support for RAID and LVM.
f19dbdb7 36923
2b002173 36924 * disk/lvm.c: New file.
36925 * disk/raid.c: Likewise.
36926 * include/grub/lvm.h: Likewise.
f19dbdb7 36927 * include/grub/raid.h: Likewise.
2b002173 36928 * include/grub/util/lvm.h: Likewise.
36929 * include/grub/util/raid.h: Likewise.
36930 * util/lvm.c: Likewise.
36931 * util/raid.c: Likewise.
36932
36933 * include/grub/disk.h (grub_disk_dev_id): Add
36934 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
36935 (grub_disk_get_size): New prototype.
36936 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
36937 returns a partition.
36938 (grub_disk_get_size): New function.
f19dbdb7 36939
2b002173 36940 * kern/i386/pc/init.c (make_install_device): Copy the prefix
36941 verbatim if grub_install_dos_part is -2.
36942
36943 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
36944 and LVM devices.
36945
36946 * util/i386/pc/grub-setup.c (setup): New argument
36947 MUST_EMBED. Force embedding of GRUB when the argument is
36948 true. Close FILE before returning.
36949 (main): Add support for RAID and LVM.
f19dbdb7 36950
2b002173 36951 * conf/common.rmk: Add RAID and LVM modules.
36952 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
36953 util/lvm.c.
36954 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
36955
36956 * kern/misc.c (grub_strstr): New function.
36957 * include/grub/misc.h (grub_strstr): New prototype.
36958
050548d0 369592006-10-10 Tristan Gingold <tristan.gingold@bull.net>
36960
36961 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
36962
da849d2d 369632006-10-05 Tristan Gingold <tristan.gingold@bull.net>
36964
36965 * kern/misc.c (grub_strtoull): Guess the base only if not
36966 specified.
36967
97b2f2ff 369682006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 36969
36970 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
36971 PowerMac support.
36972
97b2f2ff 369732006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 36974
36975 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
36976
36977 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
36978 Remove `flags' argument. All callers changed.
36979 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
36980 (IEEE1275_IHANDLE_INVALID): New variable.
36981 (IEEE1275_CELL_INVALID): New variable.
36982 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
36983 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
36984 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
36985 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
36986 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
36987 codes from Open Firmware. All callers updated.
36988 (grub_ieee1275_next_property): Directly return Open Firmware return
36989 code.
36990 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
36991 Standardize error checking from `grub_ieee1275_get_property'.
36992 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
36993 `devalias' to `aliases'. Correct comments. Consolidate error paths.
36994
97b2f2ff 369952006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 36996
36997 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
36998 `instance_to_package_args' to `instance_to_path_args'.
36999
37000 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
37001 `grub_ieee1275_chosen'.
37002
37003 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
37004 `grub_ieee1275_interpret'.
37005
97b2f2ff 370062006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 37007
37008 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
37009
97b2f2ff 370102006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 37011
37012 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
37013 (__cmpdi): Likewise.
37014
37015 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
37016 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
37017 `grub_ssize_t'.
37018
02bb8acc 37019 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 37020
37021 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
37022 to type `grub_ssize_t'.
37023 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
37024
7f9a8531 370252006-09-22 Marco Gerards <marco@gnu.org>
37026
37027 * normal/script.c (grub_script_create_cmdmenu): Skip leading
37028 newlines.
37029
b5ef1102 370302006-09-22 Marco Gerards <marco@gnu.org>
37031
37032 * commands/echo.c: New file.
37033
37034 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
37035
37036 * conf/common.rmk (echo_mod_SOURCES): New variable.
37037 (echo_mod_CFLAGS): Likewise.
37038 (echo_mod_LDFLAGS): Likewise.
37039
2cff3677 370402006-09-22 Marco Gerards <marco@gnu.org>
37041
37042 * normal/main.c (get_line): Malloc memory instead of using
37043 preallocated memory. Removed the arguments `cmdline' and
37044 `max_len'. Updated all callers.
37045
6ba4688b 370462006-09-22 Marco Gerards <marco@gnu.org>
37047
37048 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
37049 (normal_mod_DEPENDENCIES): Likewise.
37050
37051 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
37052 (normal_mod_DEPENDENCIES): Likewise.
37053
37054 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
37055
e02ac02c 370562006-09-22 Johan Rydberg <jrydberg@gnu.org>
37057
37058 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
37059 programs.
37060 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
37061 (normal_mod_DEPENDENCIES): Likewise.
37062 * conf/i386-pc.mk: Regenerate.
37063 * conf/i386-efi.mk: Likewise
37064 * conf/common.mk: Likewise.
37065 * conf/powerpc-ieee1275.mk: Likewise.
37066 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 37067
8d252e44 370682006-09-22 Robert Millan <rmh@aybabtu.com>
37069
37070 Sync with i386 version.
37071 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
37072 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
37073
209bf7ac 370742006-09-21 Robert Millan <rmh@aybabtu.com>
37075
37076 Import from GRUB Legacy (lib/device.c):
37077 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
37078 (init_device_map) [__linux__]: Add support for I2O devices.
37079
6b146090 370802006-09-14 Marco Gerards <marco@gnu.org>
37081
37082 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
37083 `-melf_i386'.
37084
e38600a8 370852006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 37086
37087 * util/i386/pc/grub-install.in: Skip menu.lst when removing
37088 /boot/grub/*.lst.
78fa1790 37089
2952da5d 37090 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 37091
2952da5d 37092 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
37093 before adding it to device.map.
37094
01b82a64 370952006-08-15 Johan Rydberg <jrydberg@gnu.org>
37096
fe6b695a 37097 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 37098 compiles a file; using the -MD option.
37099 * conf/common.mk: Regenerate.
37100 * conf/i386-pc.mk: Likewise.
37101 * conf/i386-efi.mk: Likewise.
37102 * conf/powerpc-ieee1275.mk: Likewise.
37103 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 37104
1064790d 371052006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
37106
37107 Move the prototypes of grub_setjmp and grub_longjmp to
37108 cpu/setjmp.h, so that each architecture may specify different
37109 attributes.
f19dbdb7 37110
1064790d 37111 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
37112 (grub_longjmp): Likewise.
37113 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
37114 (grub_longjmp): Likewise.
37115 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
37116 (grub_longjmp): Likewise.
37117
37118 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
37119 [!GRUB_UTIL] (grub_longjmp): Removed.
37120
29dda3ed 371212006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
37122
37123 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
37124 "color!" method does not return any value.
37125
ad2a06ed 371262006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
37127
37128 * include/grub/bitmap.h: New file.
37129
37130 * include/grub/i386/pc/vbeutil.h: Likewise.
37131
37132 * video/bitmap.c: Likewise.
37133
37134 * video/readers/tga.c: Likewise.
37135
37136 * video/i386/pc/vbeutil.c: Likewise.
37137
37138 * commands/videotest.c: Code cleanup and updated to reflect to new
37139 video API.
37140
37141 * term/gfxterm.c: Likewise.
37142
37143 * video/video.c: Likewise.
37144
37145 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
37146 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
37147 (bitmap_mod_SOURCES): New entry.
37148 (bitmap_mod_CFLAGS): Likewise.
37149 (bitmap_mod_LDFLAGS): Likewise.
37150 (tga_mod_SOURCES): Likewise.
37151 (tga_mod_CFLAGS): Likewise.
37152 (tga_mod_LDFLAGS): Likewise.
37153
37154 * include/grub/video.h (grub_video_blit_operators): New enum type.
37155 (grub_video_render_target): Changed as forward declaration and moved
37156 actual definition to be video driver specific.
37157 (grub_video_adapter.blit_bitmap): Added blitting operator.
37158 (grub_video_adapter.blit_render_target): Likewise.
37159 (grub_video_blit_bitmap): Likewise.
37160 (grub_video_blit_render_target): Likewise.
37161
37162 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
37163 driver specific render target definition.
37164 (grub_video_vbe_map_rgba): Added driver internal helper.
37165 (grub_video_vbe_unmap_color): Updated to use
37166 grub_video_i386_vbeblit_info.
37167 (grub_video_vbe_get_video_ptr): Likewise.
37168
37169 * include/grub/i386/pc/vbeblit.h
37170 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
37171 grub_video_i386_vbeblit_info.
37172 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
37173 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
37174 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
37175 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
37176 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
37177 (grub_video_i386_vbeblit_index_index): Likewise.
37178 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
37179 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
37180 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
37181 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
37182 operator.
37183 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
37184 operator.
37185
37186 * video/i386/pc/vbeblit.c: Updated to reflect changes on
37187 include/grub/i386/pc/vbeblit.h.
37188
37189 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
37190 Updated to use grub_video_i386_vbeblit_info.
37191 (grub_video_i386_vbefill_R8G8B8): Likewise.
37192 (grub_video_i386_vbefill_index): Likewise.
37193 (grub_video_i386_vbefill): Added generic filler.
37194
37195 * video/i386/pc/vbefill.c: Updated to reflect changes on
37196 include/grub/i386/pc/vbefill.h.
37197
37198 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
37199 grub_video_i386_vbeblit_info.
37200 (grub_video_vbe_unmap_color): Likewise.
37201 (grub_video_vbe_blit_glyph): Likewise.
37202 (grub_video_vbe_scroll): Likewise.
37203 (grub_video_vbe_draw_pixel): Removed function.
37204 (grub_video_vbe_get_pixel): Likewise.
37205 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
37206 updated code to use it.
37207 (common_blitter): Added common blitter for render target and bitmap.
37208 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
37209 (grub_video_vbe_blit_render_target): Likewise.
37210
bc8c036d 372112006-07-30 Johan Rydberg <jrydberg@gnu.org>
37212
37213 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
37214 is in text mode if there is no console control protocol instance
37215 available.
37216
684a8eff 372172006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
37218
37219 * include/grub/video.h: Code cleanup.
37220
37221 * include/grub/i386/pc/vbe.h: Likewise.
37222
37223 * video/i386/pc/vbe.c: Likewise.
37224
37225 * video/i386/pc/vbeblit.c: Likewise.
37226
37227 * video/i386/pc/vbefill.c: Likewise.
37228
37229 * video/video.c: Likewise. Also added more comments.
37230
5915059b 372312006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
37232
37233 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
37234 (struct grub_biosdisk_dap): Likewise.
37235
37236 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
37237 linkage settings for all functions.
37238
90ce5d56 372392006-07-12 Marco Gerards <marco@gnu.org>
37240
37241 * configure.ac (--enable-mm-debug): Fix typo.
37242
37243 * genkernsyms.sh.in: Use proper quoting for `CC'.
37244
43e7f879 372452006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
37246
37247 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
37248 (normal_mod_ASFLAGS): Remove "-m32".
37249
4889bdec 372502006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
37251
37252 * util/misc.c: Include config.h.
37253 [!HAVE_MEMALIGN]: Do not include malloc.h.
37254 (grub_memalign): Use posix_memalign, if present. Then, use
37255 memalign, if present. Otherwise, emit an error.
37256
37257 * util/grub-emu.c: Do not include malloc.h.
37258
37259 * include/grub/util/misc.h: Include unistd.h. This is required for
37260 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
37261 D. Eades III <hde@foobar-qux.org>.
37262
37263 * configure.ac (AC_GNU_SOURCE): Added.
37264 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
37265 type.
37266
fd39d4da 372672006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
37268
37269 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
37270 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
37271
b786f3b5 372722006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
37273
37274 * include/grub/types.h (grub_host_addr_t): Rename to
37275 grub_target_addr_t.
37276 (grub_host_off_t): Rename to grub_target_off_t.
37277 (grub_host_size_t): Rename to grub_target_size_t.
37278 (grub_host_ssize_t): Rename to grub_target_ssize_t.
37279 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
37280
37281 * include/grub/kernel.h (struct grub_module_header): Change type
37282 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
37283 (grub_module_info): Likewise.
f19dbdb7 37284
051988bb 372852006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
37286
37287 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
37288 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
37289 Velazquez <jesus.velazquez@gmail.com>.
37290
deae281b 372912006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
37292
37293 Count partitions from 1 instead of 0 in the string representation
37294 of partitions. Still use 0-based internally.
f19dbdb7 37295
deae281b 37296 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
37297 (sun_partition_map_iterate): Use grub_partition_t instead of
37298 struct grub_partition *. Cast DESC->START_CYLINDER to
37299 grub_uint64_t after converting the endian.
37300 (sun_partition_map_probe): Subtract 1 for PARTNUM.
37301 (sun_partition_map_get_name): Add 1 to P->INDEX.
37302
37303 * partmap/pc.c (grub_partition_parse): Subtract 1 for
37304 PCDATA->DOS_PART.
37305 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
37306
37307 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
37308 zero instead of one.
37309 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
37310 (gpt_partition_map_get_name): Add 1 into P->INDEX.
37311
37312 * partmap/apple.c (apple_partition_map_iterate): Change the type
37313 of POS to unsigned.
37314 (apple_partition_map_probe): Subtract 1 for PARTNUM.
37315 (apple_partition_map_get_name): Add 1 into P->INDEX.
37316
37317 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
37318 of POS to unsigned.
37319 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
37320 calculate the offset of a partition.
37321 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
37322 (amiga_partition_map_get_name): Add 1 into P->INDEX.
37323
37324 * partmap/acorn.c (acorn_partition_map_find): Change the type of
37325 SECTOR to grub_disk_addr_t.
37326 (acorn_partition_map_iterate): Likewise.
37327 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
37328 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
37329 top.
37330 (acorn_partition_map_get_name): Add 1 into P->INDEX.
37331
37332 * kern/i386/pc/init.c (make_install_device): Add 1 into
37333 GRUB_INSTALL_DOS_PART.
37334
37335 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
37336 conditional.
37337
524a1e6a 373382006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
37339
37340 Clean up the code to support 64-bit addressing in disks and
37341 files. This change is not enough for filesystems yet.
f19dbdb7 37342
524a1e6a 37343 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
37344 type of "start" to grub_uint64_t.
37345 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
37346 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
37347 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
37348 convert addresses.
37349
37350 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
37351 to grub_disk_addr_t.
37352
37353 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
37354 string.
37355
37356 * partmap/pc.c (pc_partition_map_iterate): Likewise.
37357
37358 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
37359 to char *.
37360
37361 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
37362
37363 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
37364
37365 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
37366
37367 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
37368 to grub_off_t, to detect an error from grub_file_seek.
37369 (grub_multiboot_load_elf32): Likewise.
37370
37371 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
37372 maximum unsigned long value when an overflow is detected.
37373 (grub_strtoull): New function.
37374 (grub_divmod64): Likewise.
37375 (grub_lltoa): use grub_divmod64.
37376
37377 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
37378 grub_disk_addr_t.
37379 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
37380 the pointer to next character. Use grub_strtoull instead of
37381 grub_strtoul.
37382 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
37383 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
37384 respectively.
37385
fe6b695a 37386 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 37387 return value is signed.
37388 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
37389 test if OFFSET is less than zero, as OFFSET is unsigned now.
37390
37391 * kern/disk.c (struct grub_disk_cache): Change the type of
37392 "sector" to grub_disk_addr_t.
37393 (grub_disk_cache_get_index): Change the type of SECTOR to
37394 grub_disk_addr_t. Calculate the hash with SECTOR casted to
37395 unsigned after shifting.
37396 (grub_disk_cache_invalidate): Change the type of SECTOR to
37397 grub_disk_addr_t.
37398 (grub_disk_cache_unlock): Likewise.
37399 (grub_disk_cache_store): Likewise.
37400 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
37401 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
37402 grub_disk_addr_t and grub_uint64_t, respectively.
37403 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
37404 body, as the value of OFFSET is tweaked by
37405 grub_disk_check_range. Change the types of START_SECTOR, LEN and
37406 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
37407 respectively.
37408 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
37409 body, as the value of OFFSET is tweaked by
37410 grub_disk_check_range. Change the types of LEN and N to
37411 grub_size_t.
37412
37413 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
37414 and "saved_offset" to grub_off_t.
37415 (test_header): Cast BUF to char *.
37416 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
37417 to char *.
37418 (grub_gzio_read): Change the types of OFFSET and SIZE to
37419 grub_off_t and grub_size_t, respectively.
37420
37421 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
37422 Removed.
37423 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
37424 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
37425 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
37426 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
37427 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
37428
37429 * include/grub/types.h (grub_off_t): Unconditionally set to
37430 grub_uint64_t.
37431 (grub_disk_addr_t): Changed to grub_uint64_t.
37432
37433 * include/grub/partition.h (struct grub_partition): Change the
37434 types of "start", "len" and "offset" to grub_disk_addr_t,
37435 grub_uint64_t and grub_disk_addr_t, respectively.
37436 (grub_partition_get_start): Return grub_disk_addr_t.
37437 (grub_partition_get_len): Return grub_uint64_t.
37438
37439 * include/grub/misc.h (grub_strtoull): New prototype.
37440 (grub_divmod64): Likewise.
37441
37442 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
37443 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
37444 grub_off_t, respectively.
37445 All callers and references changed.
37446
37447 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
37448 grub_size_t in "read".
37449 All callers and references changed.
37450
37451 * include/grub/file.h (struct grub_file): Change the types of
37452 "offset" and "size" to grub_off_t and grub_off_t,
37453 respectively. Change the type of SECTOR to grub_disk_addr_t in
37454 "read_hook".
37455 (grub_file_read): Change the type of LEN to grub_size_t.
37456 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
37457 grub_off_t.
37458 (grub_file_size): Return grub_off_t.
37459 (grub_file_tell): Likewise.
37460 All callers and references changed.
37461
37462 * include/grub/disk.h (struct grub_disk_dev): Change the types of
37463 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
37464 "write".
37465 (struct grub_disk): Change the type of "total_sectors" to
37466 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 37467 "read_hook".
524a1e6a 37468 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
37469 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
37470 (grub_disk_write): Likewise.
37471 All callers and references changed.
37472
37473 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
37474 char * for grub_strncmp to silence gcc.
37475 (grub_iso9660_mount): Likewise.
37476 (grub_iso9660_mount): Likewise.
37477 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
37478 return statement.
37479 (grub_iso9660_iterate_dir): Likewise.
37480 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
37481
37482 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
37483 LEN to grub_disk_addr_t and grub_size_t, respectively.
37484
37485 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
37486
37487 * fs/jfs.c (grub_jfs_read_file): Likewise.
37488
37489 * fs/minix.c (grub_jfs_read_file): Likewise.
37490
37491 * fs/sfs.c (grub_jfs_read_file): Likewise.
37492
37493 * fs/ufs.c (grub_jfs_read_file): Likewise.
37494
37495 * fs/xfs.c (grub_jfs_read_file): Likewise.
37496
37497 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
37498 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
37499 respectively.
37500
37501 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
37502 BLKNR to -1 instead of returning GRUB_ERRNO.
37503 (grub_ext2_read_file): Change the types of SECTOR and
37504 LEN to grub_disk_addr_t and grub_size_t, respectively.
37505
37506 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
37507 LEN to grub_disk_addr_t and grub_size_t, respectively.
37508
37509 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
37510 grub_file_read.
37511
37512 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
37513 string. Do not cast SECTOR explicitly.
37514
37515 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
37516 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
37517 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
37518 grub_disk_addr_t and grub_size_t, respectively. If the sector is
37519 over 2TB and LBA mode is not supported, raise an error.
37520 (get_safe_sectors): New function.
37521 (grub_biosdisk_read): Use get_safe_sectors.
37522 (grub_biosdisk_write): Likewise.
37523
37524 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
37525 (grub_efidisk_write): Likewise.
37526
37527 * disk/loopback.c (delete_loopback): Cosmetic changes.
37528 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
37529 correctly.
37530 (grub_loopback_open): Likewise.
37531 (grub_loopback_read): Likewise. Also, change the type of POS to
37532 grub_off_t, and fix the usage of grub_memset.
37533
37534 * commands/i386/pc/play.c: Include grub/machine/time.h.
37535
37536 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
37537 print FILE->SIZE.
37538
37539 * commands/configfile.c: Include grub/env.h.
37540
37541 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
37542 GRUB_ERRNO directly instead. Change the type of POS to
37543 grub_off_t. Follow the coding standard.
37544
37545 * commands/blocklist.c: Include grub/partition.h.
37546 (grub_cmd_blocklist): Return an error if the underlying device is
37547 not a disk. Take the starting sector of a partition into account,
37548 if a partition is used.
37549
37550 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
37551 a length field.
37552 (lba_mode): Support 64-bit addresses.
37553 (chs_mode): Likewise.
37554 (copy_buffer): Adapted to the new offsets of a length field and a
37555 segment field.
37556 (blocklist_default_start): Allocate 64-bit space.
37557
37558 * boot/i386/pc/boot.S (force_lba): Removed.
37559 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 37560 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 37561 space.
37562 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
37563 is useless.
37564 (lba_mode): Refactored to support a 64-bit address. More size
37565 optimization.
37566 (setup_sectors): Likewise.
37567
53af98ad 375682006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
37569
37570 * DISTLIST: Added include/grub/i386/linux.h. Removed
37571 include/grub/i386/pc/linux.h
37572
37573 * configure.ac (AC_INIT): Bumped to 1.94.
37574
37575 * config.guess: Updated from gnulib.
37576 * config.sub: Likewise.
37577 * install-sh: Likewise.
37578 * mkinstalldirs: Likewise.
37579
b4c1940a 375802006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
37581
37582 * conf/common.rmk (grub_modules_init.lst): Depended on
37583 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
37584 MODSRCFILES.
37585
37586 * genmk.rb (PModule::rule): Reverted the previous change.
37587
cfca1cfd 375882006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
37589
37590 * conf/common.rmk (grub_modules_init.lst): Depends on
37591 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
37592 that the target does not exist before producing.
37593 (grub_modules_init.h): Remove the target before generating.
37594 (grub_emu_init.c): Likewise.
37595
37596 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
37597
aa6d7826 375982006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
37599
37600 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
37601 for the target-specific tests. Make sure that we also have the
37602 up-to-date target variables for those tests.
37603
26c607b9 376042006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
37605
37606 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
37607 (PModule::rule): Likewise.
37608
0162321a 376092006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
37610
37611 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
37612 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
37613 target-specific flags should be prefixed.
37614 (PModule::rule): Likewise.
37615
6c826348 376162006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
37617
37618 * configure.ac (CMP): Check if cmp is available explicitly.
37619
b977bf01 376202006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
37621
37622 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
37623 (target_cpu): New variable.
37624 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 37625
b977bf01 37626 * util/i386/pc/grub-install.in (host_cpu): Removed.
37627 (target_cpu): New variable.
37628 (pkglibdir): Use target_cpu instead of host_cpu.
37629
37630 * util/genmoddep.c: Removed.
f19dbdb7 37631
b977bf01 37632 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
37633 instead of GRUB_HOST_SIZEOF_VOID_P.
37634 * kern/dl.c: Likewise.
37635
37636 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
37637 ...
37638 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
37639 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
37640 (GRUB_TARGET_SIZEOF_LONG): ... this.
37641 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
37642 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
37643 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
37644 to ...
37645 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
37646 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
37647 (GRUB_TARGET_SIZEOF_LONG): ... this.
37648 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
37649 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
37650 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
37651 to ...
37652 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
37653 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
37654 (GRUB_TARGET_SIZEOF_LONG): ... this.
37655 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
37656 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
37657
37658 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
37659 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
37660 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
37661 instead of GRUB_HOST_SIZEOF_LONG.
37662 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
37663 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
37664 GRUB_CPU_WORDS_BIGENDIAN.
37665 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
37666 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
37667 grub_host_ssize_t.
37668
37669 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
37670 (genmoddep_SOURCES): Likewise.
37671 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
37672 (genmoddep_SOURCES): Likewise.
37673 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
37674 (genmoddep_SOURCES): Likewise.
37675 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
37676 Likewise.
37677 (genmoddep_SOURCES): Likewise.
37678
37679 * genmoddep.awk: New file.
37680
37681 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
37682 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
37683 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
37684 (PModule::rule): Likewise.
37685 (Program::rule): Likewise.
37686 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
37687 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
37688 respectively.
37689
37690 * configure.ac: Rewritten intensively to use host and target
37691 instead of build and host, respectively.
37692
37693 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
37694 (host_cpu): Removed.
37695 (target_cpu): New variable.
37696 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
37697 (BUILD_CC): Removed.
37698 (BUILD_CFLAGS): Likewise.
37699 (BUILD_CPPFLAGS): Likewise.
37700 (TARGET_CC): New variable.
37701 (TARGET_CFLAGS): Likewise.
37702 (TARGET_CPPFLAGS): Likewise.
37703 (TARGET_LDFLAGS): Likewise.
37704 (AWK): Likewise.
37705 (include): Use target_cpu instead of host_cpu.
37706 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 37707
b977bf01 37708 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
37709
f09771a1 377102006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
37711
37712 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
37713 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
37714 field 'false' to 'exec_on_false'.
37715 (grub_script_create_cmdif): Renamed argument names to reflect above
37716 changes.
37717
37718 * normal/execute.c (grub_script_execute_cmdif): Likewise.
37719
37720 * normal/script.c (grub_script_create_cmdif): Likewise.
37721
118f4fb3 377222006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
37723
37724 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
37725 top.
37726 (grub_hfsplus_btree_recptr): Likewise.
37727 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
37728 FILEBLOCK both to pass a block number and store next block
37729 number.
37730 (grub_hfsplus_read_block): Rewritten heavily to support an extent
37731 overflow file correctly. Specify errors appropriately, because
37732 fshelp expects that GRUB_ERRNO is set when fails. Reuse
37733 grub_hfsplus_btree_recptr to get the pointer to a found key.
37734 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
37735 is found.
37736
37737 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
37738 linux.mod.
37739 (_linux_mod_SOURCES): New variable.
37740 (_linux_mod_CFLAGS): Likewise.
37741 (_linux_mod_LDFLAGS): Likewise.
37742 (linux_mod_SOURCES): Likewise.
37743 (linux_mod_CFLAGS): Likewise.
37744 (linux_mod_LDFLAGS): Likewise.
37745
37746 * DISTLIST: Added loader/i386/efi/linux.c,
37747 loader/i386/efi/linux_normal.c and
37748 include/grub/i386/efi/loader.h.
37749
37750 * loader/i386/efi/linux.c: New file.
37751 * loader/i386/efi/linux_normal.c: Likewise.
37752 * include/grub/i386/efi/loader.h: Likewise.
37753
89a7d726 377542006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
37755
37756 * commands/blocklist.c: New file.
37757
37758 * DISTLIST: Added commands/blocklist.c.
37759
37760 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 37761 color for the background, and a darker color for the foreground.
89a7d726 37762 (grub_console_checkkey): Return READ_KEY.
37763 (grub_console_cls): Set the background to
37764 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
37765
37766 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
37767
37768 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
37769 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
37770
37771 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
37772 prototype.
37773
37774 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
37775 BG. The spec is wrong again.
37776
37777 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
37778 prototype.
37779 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
37780
37781 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
37782 commands/blocklist.c.
37783 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 37784
89a7d726 37785 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
37786 (blocklist_mod_SOURCES): New variable.
37787 (blocklist_mod_CFLAGS): Likewise.
37788 (blocklist_mod_LDFLAGS): Likewise.
37789
75c8f258 377902006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
37791
37792 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
37793 duplication.
37794 (lba_mode): Use %eax more intensively to reduce the code size.
37795
da2eb181 377962006-05-20 Marco Gerards <marco@gnu.org>
37797
37798 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
37799
37800 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
37801 for `menuentry'.
37802 (script): Accept leading newlines.
37803 (newlines): New rule to describe 0 or more newlines.
37804 (commands): Accept `command' with trailing newline. Fixed the
37805 order in which arguments were passed to `grub_script_add_cmd'.
37806 Accept commands separated by newlines.
37807 (function): Changed to accept newlines.
37808 (menuentry) Rewritten.
37809
37810 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
37811 front of the list, instead of to the end.
37812
577b4050 378132006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
37814
37815 * util/i386/pc/grub-install.in (bindir): New variable.
37816 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
37817 Shaver <lbgwjl@gmail.com>.
37818
0d6e1189 378192006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
37820
37821 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
37822 grub/machine/linux.h
37823 * loader/i386/pc/linux.c: Likewise.
37824
37825 * include/grub/i386/pc/linux.h: Moved to ...
37826 * include/grub/i386/linux.h: ... here.
37827
37828 * include/grub/i386/linux.h (struct linux_kernel_params): New
37829 struct.
f19dbdb7 37830
31b86e9f 378312006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
37832
37833 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
37834 checking.
37835 (grub_video_vbe_blit_glyph): Likewise.
37836 (grub_video_vbe_blit_bitmap): Likewise.
37837 (grub_video_vbe_blit_render_target): Likewise.
37838
83b984de 378392006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
37840
37841 * configure.ac (--with-platform): Properly quote the square
37842 brackets.
37843
5f0413bd 378442006-05-08 Marco Gerards <marco@gnu.org>
37845
37846 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
37847 this...
37848 (kernel_elf_HEADERS): ...to this. Updated all users.
37849 (grubof_symlist.c): Renamed from this...
37850 (kernel_elf_symlist.c): ...to this. Updated all users.
37851 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
37852 (grubof_SOURCES): Renamed from this...
37853 (kernel_elf_SOURCES): ...to this.
37854 (grubof_HEADERS): Renamed from this...
37855 (kernel_elf_HEADERS): ...to this.
37856 (grubof_CFLAGS): Renamed from this...
37857 (kernel_elf_CFLAGS): ...to this.
37858 (grubof_ASFLAGS): Renamed from this...
37859 (kernel_elf_ASFLAGS): ...to this.
37860 (grubof_LDFLAGS): Renamed from this...
37861 (kernel_elf_LDFLAGS): ...to this.
37862
37863 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
37864 this...
37865 (kernel_elf_HEADERS): ...to this. Updated all users.
37866 (grubof_symlist.c): Renamed from this...
37867 (kernel_elf_symlist.c): ...to this. Updated all users.
37868 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
37869 (grubof_SOURCES): Renamed from this...
37870 (kernel_elf_SOURCES): ...to this.
37871 (grubof_HEADERS): Renamed from this...
37872 (kernel_elf_HEADERS): ...to this.
37873 (grubof_CFLAGS): Renamed from this...
37874 (kernel_elf_CFLAGS): ...to this.
37875 (grubof_ASFLAGS): Renamed from this...
37876 (kernel_elf_ASFLAGS): ...to this.
37877 (grubof_LDFLAGS): Renamed from this...
37878 (kernel_elf_LDFLAGS): ...to this.
37879
37880 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
37881 `kernel.elf' instead of `grubof'.
37882
05568c2e 378832006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
37884
37885 Add --with-platform to configure. Use pkglibdir instead of
37886 pkgdatadir. This is reported by Roger Leigh.
37887
37888 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
37889 (host_vendor): Likewise.
37890 (host_os): Likewise.
37891 (pkgdatadir): Likewise.
37892 (platform): New variable.
37893 (pkglibdir): Likewise.
37894 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 37895
05568c2e 37896 * util/i386/pc/grub-install.in (datadir): Removed.
37897 (host_vendor): Likewise.
37898 (host_os): Likewise.
37899 (pkgdatadir): Likewise.
37900 (platform): New variable.
37901 (pkglibdir): Likewise.
37902 Use PKGLIBDIR instead of PKGDATADIR.
37903
37904 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
37905 instead of GRUB_DATADIR.
37906 (main): Likewise.
37907 * util/i386/pc/grub-mkimage.c (usage): Likewise.
37908 (main): Likewise.
37909 * util/i386/efi/grub-mkimage.c (usage): Likewise.
37910 (main): Likewise.
37911
37912 * configure.ac (--with-platform): New option.
37913 Use PLATFORM instead of HOST_VENDOR to specify a platform.
37914
37915 * Makefile.in: Include a makefile based on PLATFORM instead of
37916 HOST_VENDOR.
37917 (pkgdatadir): Not appended by the machine type.
37918 (pkglibdir): Appended by the machine type.
37919 (host_vendor): Removed.
37920 (platform): New variable.
37921 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
37922 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
37923 (uninstall): Likewise.
37924
4e93851c 379252006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
37926
37927 Use the environment context in the menu. Remove the commands
37928 "default" and "timeout", and use variables instead.
f19dbdb7 37929
4e93851c 37930 * normal/menu.c: Include grub/env.h.
37931 (print_entry): Cast TITLE to silence gcc.
37932 (get_timeout): New function.
37933 (set_timeout): Likewise.
37934 (get_entry_number): Likewise.
37935 (run_menu): Use a default entry, a fallback entry and a timeout
37936 in the environment variables "default", "fallback" and
37937 "timeout". Also, tweak the default entry if it is not within the
37938 current menu entries.
37939 (grub_menu_run): Use a fallback entry in the environment variable
37940 "fallback".
37941
37942 * normal/main.c (read_config_file): Do not initialize
37943 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
37944 NEWMENU->TIMEOUT.
37945 (grub_normal_execute): Use a data slot to store the menu.
37946
37947 * include/grub/normal.h (struct grub_menu): Removed default_entry,
37948 fallback_entry and timeout.
37949 (struct grub_menu_list): Removed.
37950 (grub_menu_list_t): Likewise.
37951 (struct grub_context): Likewise.
37952 (grub_context_t): Likewise.
37953 (grub_context_get): Likewise.
37954 (grub_context_get_current_menu): Likewise.
37955 (grub_context_push_menu): Likewise.
37956 (grub_context_pop_menu): Likewise.
37957 (grub_default_init): Likewise.
37958 (grub_default_fini): Likewise.
37959 (grub_timeout_init): Likewise.
37960 (grub_timeout_fini): Likewise.
37961
37962 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
37963 and timeout.mod.
37964 (normal_mod_SOURCES): Removed normal/context.c.
37965
37966 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
37967 commands/default.c, commands/timeout.c and normal/context.c.
37968 (normal_mod_SOURCES): Removed normal/context.c.
37969
37970 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
37971 commands/timeout.c and normal/context.c.
37972 (normal_mod_SOURCES): Removed normal/context.c.
37973
37974 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
37975 commands/default.c, commands/timeout.c and normal/context.c.
37976 (normal_mod_SOURCES): Removed normal/context.c.
37977
37978 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
37979 timeout.mod.
37980 (default_mod_SOURCES): Removed.
37981 (default_mod_CFLAGS): Likewise.
37982 (default_mod_LDFLAGS): Likewise.
37983 (timeout_mod_SOURCES): Removed.
37984 (timeout_mod_CFLAGS): Likewise.
37985 (timeout_mod_LDFLAGS): Likewise.
37986
37987 * DISTLIST: Removed commands/default.c, commands/timeout.c and
37988 normal/context.c.
37989
37990 * commands/default.c: Removed.
37991 * commands/timeout.c: Likewise.
37992 * normal/context.c: Likewise.
37993
1eb9cc1d 379942006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
37995
37996 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
37997
385bd9c1 379982006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
37999
38000 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
38001 "next" to "prev" for readability.
38002 (struct grub_env_sorted_var): New struct.
38003 (grub_env_context): Renamed to ...
38004 (initial_context): ... this.
38005 (grub_env_var_context): Renamed to ...
38006 (current_context): ... this.
38007 (grub_env_find): Look only at CURRENT_CONTEXT.
38008 (grub_env_context_open): Rewritten to copy exported variables from
38009 previous context.
38010 (grub_env_context_close): Rewritten according to the new
38011 scheme. Also, add an assertion to prevent the initial context from
38012 removed.
38013 (grub_env_insert): Removed the code for the sorted list.
38014 (grub_env_remove): Likewise.
38015 (grub_env_export): Simply mark the variable with
38016 GRUB_ENV_VAR_GLOBAL.
38017 (grub_env_set): A cosmetic change for naming consistency.
38018 (grub_env_get): Likewise.
38019 (grub_env_unset): Likewise.
38020 (grub_env_iterate): Rewritten to sort variables within this
38021 function.
38022 (grub_register_variable_hook): Fixed for naming consistency. Call
38023 grub_env_find again, only if NAME is not found at the first time.
38024 (mangle_data_slot_name): New function.
38025 (grub_env_set_data_slot): Likewise.
38026 (grub_env_get_data_slot): Likewise.
38027 (grub_env_unset_data_slot): Likewise.
38028
38029 * include/grub/env.h (grub_env_var_type): New enum.
38030 (GRUB_ENV_VAR_LOCAL): New constant.
38031 (GRUB_ENV_VAR_GLOBAL): Likewise.
38032 (GRUB_ENV_VAR_DATA): Likewise.
38033 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
38034 "type".
38035 (grub_env_set): Replace VAR with NAME for consistency.
38036 (grub_register_variable_hook): Likewise.
38037 (grub_env_export): Specify the name of the argument.
38038 (grub_env_set_data_slot): New prototype.
38039 (grub_env_get_data_slot): Likewise.
38040 (grub_env_unset_data_slot): Likewise.
38041
7f362539 380422006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
38043
38044 Extend the loader so that GRUB can accept a loader which comes
38045 back to GRUB when a loaded image exits. Also, this change adds
38046 support for a chainloader on EFI.
f19dbdb7 38047
7f362539 38048 * term/efi/console.c: Include grub/misc.h.
38049 (grub_console_checkkey): Display a scan code on the top for
38050 debugging. This will be removed once the EFI port gets stable.
38051 Correct the scan code mapping.
38052
38053 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
38054 allocate memory from larger regions, in order to reduce the number
38055 of allocated regions. Otherwise, the MacOSX loader panics.
38056 (filter_memory_map): Avoid less than 1MB for compatibility with
38057 other loaders.
38058 (add_memory_regions): Allocate from the tail of a region, if
38059 possible, to avoid allocating a region near to 1MB, for the MacOSX
38060 loader.
38061
38062 * kern/efi/init.c (grub_efi_set_prefix): Specify
38063 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
38064
38065 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
38066 argument IMAGE_HANDLE and specify it to get a loaded image.
38067 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
38068 grub_efi_get_loaded_image.
fe6b695a 38069 (grub_efi_get_filename): Divide the length by the size of
7f362539 38070 grub_efi_char16_t.
38071 (grub_efi_get_device_path): New function.
38072 (grub_efi_print_device_path): Print End Device Path nodes. Divide
38073 the length by the size of grub_efi_char16_t for a file path device
38074 path node.
38075
38076 * kern/loader.c (grub_loader_noreturn): New variable.
38077 (grub_loader_set): Accept a new argument NORETURN. Set
38078 GRUB_LOADER_NORETURN to NORETURN.
38079 All callers changed.
38080 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
38081 grub_machine_fini.
38082
38083 * include/grub/efi/efi.h (grub_efi_get_device_path): New
38084 prototype.
38085 (grub_efi_get_loaded_image): Take an argument to specify an image
38086 handle.
38087
38088 * include/grub/loader.h (grub_loader_set): Added one more argument
38089 NORETURN.
38090
38091 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
38092 instead of grub_efi_open_protocol.
38093 (grub_efidisk_get_device_name): Likewise.
38094 (grub_efidisk_close): Print a newline.
38095 (grub_efidisk_get_device_handle): Fixed to use
38096 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
38097 GRUB_EFI_DEVICE_PATH_TYPE.
38098
38099 * disk/efi/efidisk.c (device_path_guid): Moved to ...
38100 * kern/efi/efi.c (device_path_guid): ... here.
38101
38102 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
38103 chain.mod.
38104 (kernel_mod_HEADERS): Added efi/disk.h.
38105 (_chain_mod_SOURCES): New variable.
38106 (_chain_mod_CFLAGS): Likewise.
38107 (_chain_mod_LDFLAGS): Likewise.
38108 (chain_mod_SOURCES): Likewise.
38109 (chain_mod_CFLAGS): Likewise.
38110 (chain_mod_LDFLAGS): Likewise.
38111
38112 * DISTLIST: Added include/grub/efi/chainloader.h,
38113 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
38114
38115 * include/grub/efi/chainloader.h: New file.
38116 * loader/efi/chainloader.c: Likewise.
38117 * loader/efi/chainloader_normal.c: Likewise.
38118
c0111d6e 381192006-04-30 Marco Gerards <marco@gnu.org>
38120
38121 * commands/configfile.c (grub_cmd_source): New function.
38122 (GRUB_MOD_INIT): Register the commands `source' and `.'.
38123 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
38124
df5341da 381252006-04-30 Marco Gerards <marco@gnu.org>
38126
38127 * normal/execute.c (grub_script_execute_cmd): Change the return
38128 type to `grub_err_t'. Correctly return the error.
38129 (grub_script_execute_cmdline): In case a command line is not a
38130 command or a function, try to interpret it as an assignment.
38131
f85934bd 381322006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
38133
38134 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
38135 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
38136 skip a node whose name is obviously invalid as UTF-16,
38137 i.e. contains a NUL character. Stop the iteration when the last
38138 directory entry is found. Instead of using the return value of
38139 grub_hfsplus_btree_iterate_node, store the value in RET and use
38140 it, because the iterator can be stopped by the last directory
38141 entry.
38142
8f8a2cf8 381432006-04-30 Marco Gerards <marco@gnu.org>
38144
38145 * include/grub/env.h (grub_env_export): New prototype. Reported
38146 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
38147
a27e84ce 381482006-04-30 Marco Gerards <marco@gnu.org>
38149
38150 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
38151 size of the extents in a catalog file record.
38152
eaef0553 381532006-04-29 Marco Gerards <marco@gnu.org>
38154
38155 * commands/configfile.c (grub_cmd_configfile): Execute the
38156 configfile within its own context.
38157
38158 * include/grub/env.h (grub_env_context_open): New prototype.
38159 (grub_env_context_close): Likewise.
38160
38161 * kern/env.c (grub_env): Removed.
38162 (grub_env_sorted): Likewise.
38163 (grub_env_context): New variable.
38164 (grub_env_var_context): Likewise.
38165 (grub_env_find): Search both the active context and the global
38166 context.
38167 (grub_env_context_open): New function.
38168 (grub_env_context_close): Likewise.
38169 (grub_env_insert): Likewise.
38170 (grub_env_remove): Likewise.
38171 (grub_env_export): Likewise.
38172 (grub_env_set): Changed to use helper functions to avoid code
38173 duplication.
38174 (grub_env_iterate): Rewritten so both the current context and the
38175 global context are being used.
38176
38177 * normal/command.c (export_command): New function.
38178 (grub_command_init): Register the `export' function.
38179
7b455f4d 381802006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
38181
38182 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
38183 explicitly to suppress gcc's warnings.
38184 * fs/fat.c (grub_fat_find_dir): Likewise.
38185 (grub_fat_label): Likewise.
38186 * fs/xfs.c (grub_xfs_read_inode): Likewise.
38187 (grub_xfs_mount): Likewise.
38188 (grub_xfs_label): Likewise.
38189 * fs/affs.c (grub_affs_mount): Likewise.
38190 (grub_affs_label): Likewise.
38191 (grub_affs_iterate_dir): Likewise.
38192 * fs/sfs.c (grub_sfs_mount): Likewise.
38193 (grub_sfs_iterate_dir): Likewise.
38194 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
38195 * fs/hfs.c (grub_hfs_mount): Likewise.
38196 (grub_hfs_cmp_catkeys): Likewise.
38197 (grub_hfs_find_dir): Likewise.
38198 (grub_hfs_dir): Likewise.
38199 (grub_hfs_label): Likewise.
38200 * fs/jfs.c (grub_jfs_mount): Likewise.
38201 (grub_jfs_opendir): Likewise.
38202 (grub_jfs_getent): Likewise.
38203 (grub_jfs_lookup_symlink): Likewise.
38204 (grub_jfs_label): Likewise.
38205 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
38206 (grub_hfsplus_iterate_dir): Likewise.
38207 (grub_hfsplus_btree_iterate_node): Made static.
38208
38209 * util/grub-emu.c (prefix): New variable.
38210 (grub_machine_set_prefix): New function.
38211 (main): Do not set the environment variable "prefix" here. Only
38212 set PREFIX, which is used later by grub_machine_set_prefix.
38213
38214 * include/grub/video.h: Do not include grub/symbol.h.
38215 (grub_video_register): Not exported. This symbol is not defined in
38216 the kernel.
38217 (grub_video_unregister): Likewise.
38218 (grub_video_iterate): Likewise.
38219 (grub_video_setup): Likewise.
38220 (grub_video_restore): Likewise.
38221 (grub_video_get_info): Likewise.
38222 (grub_video_get_blit_format): Likewise.
38223 (grub_video_set_palette): Likewise.
38224 (grub_video_get_palette): Likewise.
38225 (grub_video_set_viewport): Likewise.
38226 (grub_video_get_viewport): Likewise.
38227 (grub_video_map_color): Likewise.
38228 (grub_video_map_rgb): Likewise.
38229 (grub_video_map_rgba): Likewise.
38230 (grub_video_fill_rect): Likewise.
38231 (grub_video_blit_glyph): Likewise.
38232 (grub_video_blit_bitmap): Likewise.
38233 (grub_video_blit_render_target): Likewise.
38234 (grub_video_scroll): Likewise.
38235 (grub_video_swap_buffers): Likewise.
38236 (grub_video_create_render_target): Likewise.
38237 (grub_video_delete_render_target): Likewise.
38238 (grub_video_set_active_render_target): Likewise.
38239
38240 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
38241 Undefined.
38242 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
38243
38244 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
38245 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38246 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38247 instead of $(srcdir)/genkernsyms.sh.
38248
38249 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
38250 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38251 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38252 instead of $(srcdir)/genkernsyms.sh.
38253
38254 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
38255 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38256 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38257 instead of $(srcdir)/genkernsyms.sh.
38258
38259 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
38260 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38261 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38262 instead of $(srcdir)/genkernsyms.sh.
38263
38264 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
38265 genkernsyms.sh.
38266
38267 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
38268 genkernsyms.sh.
38269 (gensymlist.sh): New target.
38270 (genkernsyms.sh): Likewise.
38271
38272 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
38273 genkernsyms.sh.in and gensymlist.sh.in.
38274
38275 * genkernsyms.sh: Removed.
38276 * gensymlist.sh: Likewise.
f19dbdb7 38277
7b455f4d 38278 * genkernsyms.sh.in: New file.
38279 * gensymlist.sh.in: Likewise.
38280
1885bb27 382812006-04-25 Hollis Blanchard <hollis@penguinppc.org>
38282
38283 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
38284 clobber "prefix", since we may have already set it manually.
38285
71538dff 382862006-04-25 Hollis Blanchard <hollis@penguinppc.org>
38287
38288 * kern/misc.c (abort): New alias for grub_abort.
38289
2965c7cc 382902006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
38291
38292 A new machine-specific function "grub_machine_set_prefix" is
38293 defined. This is called after loading modules, so that a prefix
38294 initialization can use modules. Also, this change adds an
38295 intensive debugging feature for the memory manager via the
38296 configure option "--enable-mm-debug".
f19dbdb7 38297
2965c7cc 38298 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
38299 PART.LEN.
38300
38301 * kern/sparc64/ieee1275/init.c (abort): Removed.
38302 (grub_stop): Likewise.
38303 (grub_exit): New function.
38304 (grub_set_prefix): Renamed to ...
38305 (grub_machine_set_prefix): ... this.
38306 (grub_machine_init): Do not call grub_set_prefix.
38307
38308 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
38309 (grub_machine_set_prefix): ... this.
38310 (grub_machine_init): Do not call grub_set_prefix.
38311
38312 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
38313 (grub_machine_init): Do not set the prefix here.
38314
38315 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
38316
38317 * kern/efi/init.c: Include grub/mm.h.
38318 (grub_efi_set_prefix): New function.
38319
38320 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
38321 (grub_efi_get_filename): New function.
38322 (grub_print_device_path): Renamed to ...
38323 (grub_efi_print_device_path): ... this.
38324
38325 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
38326 [MM_DEBUG] (grub_realloc): Likewise.
38327 [MM_DEBUG] (grub_free): Likewise.
38328 [MM_DEBUG] (grub_memalign): Likewise.
38329 [MM_DEBUG] (grub_mm_debug): New variable.
38330 [MM_DEBUG] (grub_debug_malloc): New function.
38331 [MM_DEBUG] (grub_debug_free): New function.
38332 [MM_DEBUG] (grub_debug_realloc): New function.
38333 [MM_DEBUG] (grub_debug_memalign): New function.
38334
38335 * kern/misc.c (grub_abort): Print a newline to distinguish
38336 the message.
38337
38338 * kern/main.c (grub_main): Call grub_machine_set_prefix and
38339 grub_set_root_dev after loading modules. This is necessary when
38340 setting a prefix depends on modules.
38341
38342 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
38343 (grub_efi_print_device_path): ... this.
38344 (grub_efi_get_filename): New prototype.
38345 (grub_efi_set_prefix): Likewise.
38346
38347 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
38348 and grub/disk.h.
38349 (grub_efidisk_get_device_handle): New prototype.
38350 (grub_efidisk_get_device_name): Likewise.
38351
38352 * include/grub/mm.h: Include config.h.
38353 (MM_DEBUG): Removed.
38354 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
38355 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
38356 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
38357 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
38358 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
38359 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
38360 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
38361 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
38362 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
38363
38364 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
38365
38366 * disk/efi/efidisk.c: Include grub/partition.h.
38367 (iterate_child_devices): New function.
38368 (add_device): First, compare only last device path nodes, so that
38369 devices are sorted by the types.
38370 (grub_efidisk_get_device_handle): New function.
38371 (grub_efidisk_get_device_name): Likewise.
38372
38373 * configure.ac (--enable-mm-debug): New option to enable the
38374 memory manager debugging feature. This makes the binary much
38375 bigger, so is disabled by default.
38376
9cacaa17 383772006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
38378
38379 Use grub_abort instead of grub_stop, and grub_exit must be
38380 define in each architecture now. Also, this change adds support
38381 for EFI disks.
f19dbdb7 38382
9cacaa17 38383 * util/i386/pc/grub-probefs.c: Include grub/term.h.
38384 (grub_getkey): New function.
38385 (grub_term_get_current): Likewise.
38386
38387 * util/i386/pc/grub-setup.c: Include grub/term.h.
38388 (grub_getkey): New function.
38389 (grub_term_get_current): Likewise.
38390
38391 * util/misc.c (grub_stop): Renamed to ...
38392 (grub_exit): ... this.
38393
38394 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
38395 (grub_exit): ... this.
38396 (grub_machine_init): Use grub_abort instead of abort.
38397 (grub_stop): Removed.
38398
38399 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
38400 abort.
38401
38402 * kern/i386/pc/startup.S (grub_exit): New function.
38403 (cold_reboot): New label.
38404
38405 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
38406 (grub_efi_init): Call grub_efidisk_init.
38407 (grub_efi_fini): Call grub_efidisk_fini.
38408
38409 * kern/efi/efi.c: Include grub/mm.h.
38410 (grub_efi_console_control_guid): Renamed to ...
38411 (console_control_guid): ... this.
38412 (grub_efi_loaded_image_guid): Renamed to ...
38413 (loaded_image_guid): ... this.
38414 (grub_efi_locate_handle): New function.
38415 (grub_efi_open_protocol): Likewise.
38416 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
38417 GRUB_EFI_CONSOLE_CONTROL_GUID.
38418 (grub_efi_exit): Removed.
38419 (grub_stop): Likewise.
38420 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
38421 (grub_exit): New function.
38422 (grub_print_device_path): Likewise.
38423
38424 * kern/rescue.c (grub_rescue_cmd_exit): New function.
38425 (grub_enter_rescue_mode): Register "exit".
38426
38427 * kern/misc.c (grub_real_dprintf): A cosmetic change.
38428 (grub_abort): New function.
38429
38430 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
38431
38432 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
38433
38434 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
38435
38436 * include/grub/efi/efi.h (grub_efi_exit): Removed.
38437 (grub_print_device_path): New prototype.
38438 (grub_efi_locate_handle): Likewise.
38439 (grub_efi_open_protocol): Likewise.
38440
38441 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
38442 * disk/efi/efidisk.c: Likewise.
38443
38444 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
38445
38446 * include/grub/efi/console_control.h
38447 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
38448
38449 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
38450 last 8 bytes as an array.
38451 (GRUB_EFI_DISK_IO_GUID): New macro.
38452 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
38453 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
38454 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
38455 grub_uint8_t.
38456 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
38457 (struct grub_efi_device_path): Rename the member "sub_type" to
38458 "subtype".
38459 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
38460 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
38461 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
38462 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
38463 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
38464 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
38465 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
38466 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
38467 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
38468 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
38469 (struct grub_efi_pci_device_path): New structure.
38470 (grub_efi_pci_device_path_t): New type.
38471 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
38472 (struct grub_efi_pccard_device_path): New structure.
38473 (grub_efi_pccard_device_path_t): New type.
38474 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
38475 (struct grub_efi_memory_mapped_device_path): New structure.
38476 (grub_efi_memory_mapped_device_path_t): New type.
38477 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
38478 (struct grub_efi_vendor_device_path): New structure.
38479 (grub_efi_vendor_device_path_t): New type.
38480 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
38481 (struct grub_efi_controller_device_path): New structure.
38482 (grub_efi_controller_device_path_t): New type.
38483 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
38484 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
38485 (struct grub_efi_acpi_device_path): New structure.
38486 (grub_efi_acpi_device_path_t): New type.
38487 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
38488 (struct grub_efi_expanded_acpi_device_path): New structure.
38489 (grub_efi_expanded_acpi_device_path_t): New type.
38490 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
38491 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
38492 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
38493 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
38494 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
38495 (struct grub_efi_atapi_device_path): New structure.
38496 (grub_efi_atapi_device_path_t): New type.
38497 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
38498 (struct grub_efi_fibre_channel_device_path): New structure.
38499 (grub_efi_fibre_channel_device_path_t): New type.
38500 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
38501 (struct grub_efi_1394_device_path): New structure.
38502 (grub_efi_1394_device_path_t): New type.
38503 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
38504 (struct grub_efi_usb_device_path): New structure.
38505 (grub_efi_usb_device_path_t): New type.
38506 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
38507 (struct grub_efi_usb_class_device_path): New structure.
38508 (grub_efi_usb_class_device_path_t): New type.
38509 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
38510 (struct grub_efi_i2o_device_path): New structure.
38511 (grub_efi_i2o_device_path_t): New type.
38512 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
38513 (struct grub_efi_mac_address_device_path): New structure.
38514 (grub_efi_mac_address_device_path_t): New type.
38515 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
38516 (struct grub_efi_ipv4_device_path): New structure.
38517 (grub_efi_ipv4_device_path_t): New type.
38518 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
38519 (struct grub_efi_ipv6_device_path): New structure.
38520 (grub_efi_ipv6_device_path_t): New type.
38521 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
38522 (struct grub_efi_infiniband_device_path): New structure.
38523 (grub_efi_infiniband_device_path_t): New type.
38524 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
38525 (struct grub_efi_uart_device_path): New structure.
38526 (grub_efi_uart_device_path_t): New type.
38527 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
38528 (struct grub_efi_vendor_messaging_device_path): New structure.
38529 (grub_efi_vendor_messaging_device_path_t): New type.
38530 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
38531 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
38532 (struct grub_efi_hard_drive_device_path): New structure.
38533 (grub_efi_hard_drive_device_path_t): New type.
38534 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
38535 (struct grub_efi_cdrom_device_path): New structure.
38536 (grub_efi_cdrom_device_path_t): New type.
38537 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
38538 (struct grub_efi_vendor_media_device_path): New structure.
38539 (grub_efi_vendor_media_device_path_t): New type.
38540 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
38541 (struct grub_efi_file_path_device_path): New structure.
38542 (grub_efi_file_path_device_path_t): New type.
38543 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
38544 (struct grub_efi_protocol_device_path): New structure.
38545 (grub_efi_protocol_device_path_t): New type.
38546 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
38547 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
38548 (struct grub_efi_bios_device_path): New structure.
38549 (grub_efi_bios_device_path_t): New type.
38550 (struct grub_efi_disk_io): New structure.
38551 (grub_efi_disk_io_t): New type.
38552 (struct grub_efi_block_io_media): New structure.
38553 (grub_efi_block_io_media_t): New type.
38554 (struct grub_efi_block_io): New structure.
38555 (grub_efi_block_io_t): New type.
38556
38557 * include/grub/misc.h (grub_stop): Removed.
38558 (grub_exit): New prototype.
38559 (grub_abort): Likewise.
38560
38561 * include/grub/disk.h (enum grub_disk_dev_id): Added
38562 GRUB_DISK_DEVICE_EFIDISK_ID.
38563
38564 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
38565 disk/efi/efidisk.c.
38566 (kernel_syms.lst): Remove the target if an error occurs.
38567
49986a9f 385682006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
38569
38570 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
38571 as it was simply too buggy.
38572
970d3b8a 385732006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
38574
38575 * kern/misc.c (grub_lltoa): New function.
38576 (grub_vsprintf): Added support for the long long suffix,
38577 i.e. "ll".
38578
ff04ec24 385792006-04-20 Hollis Blanchard <hollis@penguinppc.org>
38580
38581 * Makefile.in (LDFLAGS): Add variable.
38582 (LD): Remove variable.
38583 * configure.ac: Add -m32 to LDFLAGS.
38584 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
38585 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
38586 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
38587 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
38588 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
38589 variables.
38590 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
38591 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
38592 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
38593
37e5e1a4 385942006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
38595
38596 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
38597 length for unknown glyph.
38598
c352d8dd 385992006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
38600
2eab1c0d 38601 Add support for pre-loaded modules into the EFI port.
f19dbdb7 38602
2eab1c0d 38603 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
38604 completely. Accept one more argument DIR. The caller has changed.
38605
38606 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
38607
38608 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
38609 (grub_efi_loaded_image_guid): New variable.
38610 (grub_efi_get_loaded_image): New function.
38611 (grub_arch_modules_addr): Likewise.
38612
38613 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
38614 prototype.
38615
38616 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
38617 (struct grub_efi_loaded_image): New structure.
38618 (grub_efi_loaded_image_t): New type.
38619
386202006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 38621
c352d8dd 38622 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
38623 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
38624 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
38625
6d01d6b4 386262006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
38627
38628 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
38629
976a4ea0 386302006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
38631
38632 * DISTLIST: Added include/grub/efi/console.h,
38633 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
38634 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
38635
38636 * include/grub/efi/console.h: New file.
38637 * include/grub/efi/time.h: Likewise.
38638 * include/grub/i386/efi/kernel.h: Likewise.
38639 * kern/efi/init.c: Likewise.
38640 * kern/efi/mm.c: Likewise.
38641 * term/efi/console.c: Likewise.
f19dbdb7 38642
976a4ea0 38643 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
38644 (grub_stop): Removed.
38645 (grub_get_rtc): Likewise.
38646 (grub_machine_init): Simply call grub_efi_init.
38647 (grub_machine_fini): Call grub_efi_fini.
38648
38649 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
38650 (grub_efi_output_string): Removed.
38651 (grub_efi_stall): New function.
38652 (grub_stop): Likewise.
38653 (grub_get_rtc): Likewise.
38654
38655 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
38656 (grub_efi_stall): New prototype.
38657 (grub_efi_allocate_pages): Likewise.
38658 (grub_efi_free_pages): Likewise.
38659 (grub_efi_get_memory_map): Likewise.
38660 (grub_efi_mm_init): Likewise.
38661 (grub_efi_mm_fini): Likewise.
38662 (grub_efi_init): Likewise.
38663 (grub_efi_fini): Likewise.
38664
38665 * include/grub/i386/efi/time.h: Do not include
38666 grub/symbol.h. Include grub/efi/time.h.
38667 (GRUB_TICKS_PER_SECOND): Removed.
38668 (grub_get_rtc): Likewise.
38669
38670 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
38671 Added padding. The EFI spec is buggy.
38672 (GRUB_EFI_BLACK): New macro.
38673 (GRUB_EFI_BLUE): Likewise.
38674 (GRUB_EFI_GREEN): Likewise.
38675 (GRUB_EFI_CYAN): Likewise.
38676 (GRUB_EFI_RED): Likewise.
38677 (GRUB_EFI_MAGENTA): Likewise.
38678 (GRUB_EFI_BROWN): Likewise.
38679 (GRUB_EFI_LIGHTGRAY): Likewise.
38680 (GRUB_EFI_BRIGHT): Likewise.
38681 (GRUB_EFI_DARKGRAY): Likewise.
38682 (GRUB_EFI_LIGHTBLUE): Likewise.
38683 (GRUB_EFI_LIGHTGREEN): Likewise.
38684 (GRUB_EFI_LIGHTCYAN): Likewise.
38685 (GRUB_EFI_LIGHTRED): Likewise.
38686 (GRUB_EFI_LIGHTMAGENTA): Likewise.
38687 (GRUB_EFI_YELLOW): Likewise.
38688 (GRUB_EFI_WHITE): Likewise.
38689 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
38690 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
38691 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
38692 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
38693 (GRUB_EFI_BACKGROUND_RED): Likewise.
38694 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
38695 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
38696 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
38697 (GRUB_EFI_TEXT_ATTR): Likewise.
38698
38699 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
38700 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
38701 (kernel_mod_HEADERS): Added efi/time.h.
38702
83709125 387032006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
38704
38705 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
38706 include/grub/efi/api.h, include/grub/efi/console_control.h,
38707 include/grub/efi/efi.h, include/grub/efi/pe32.h,
38708 include/grub/i386/efi/time.h, kern/efi/efi.c,
38709 kern/i386/efi/init.c, kern/i386/efi/startup.S,
38710 and util/i386/efi/grub-mkimage.c.
38711
38712 * Makefile.in (RMKFILES): Added i386-efi.rmk.
38713
38714 * genmk.rb (PModule#rule): Do not export symbols if
38715 #{prefix}_EXPORTS is set to "no".
38716
38717 * conf/i386-efi.mk: New file.
38718 * conf/i386-efi.rmk: Likewise.
38719 * include/grub/efi/api.h: Likewise.
38720 * include/grub/efi/console_control.h: Likewise.
38721 * include/grub/efi/efi.h: Likewise.
38722 * include/grub/efi/pe32.h: Likewise.
38723 * include/grub/i386/efi/time.h: Likewise.
38724 * kern/efi/efi.c: Likewise.
38725 * kern/i386/efi/init.c: Likewise.
38726 * kern/i386/efi/startup.S: Likewise.
38727 * util/i386/efi/grub-mkimage.c: Likewise.
38728
387292006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 38730
38731 * include/grub/script.h: Include <grub/parser.h> and
38732 "grub_script.tab.h".
38733 (struct grub_lexer_param): New struct.
38734 (struct grub_parser_param): Likewise.
38735 (grub_script_create_arglist): Pass the state in an argument.
38736 (grub_script_add_arglist): Likewise.
38737 (grub_script_create_cmdline): Likewise.
38738 (grub_script_create_cmdblock): Likewise.
38739 (grub_script_create_cmdif): Likewise.
38740 (grub_script_create_cmdmenu): Likewise.
38741 (grub_script_add_cmd): Likewise.
38742 (grub_script_arg_add): Likewise.
38743 (grub_script_lexer_ref): Likewise.
38744 (grub_script_lexer_deref): Likewise.
38745 (grub_script_lexer_record_start): Likewise.
38746 (grub_script_lexer_record_stop): Likewise.
38747 (grub_script_mem_record): Likewise.
38748 (grub_script_mem_record_stop): Likewise.
38749 (grub_script_malloc): Likewise.
38750 (grub_script_yylex): Likewise.
38751 (grub_script_yyparse): Likewise.
38752 (grub_script_yyerror): Likewise.
38753 (grub_script_yylex): Likewise.
38754 (grub_script_lexer_init): Return the state.
38755
38756 * normal/lexer.c (grub_script_lexer_state): Removed variable.
38757 (grub_script_lexer_done): Likewise.
38758 (grub_script_lexer_getline): Likewise.
38759 (grub_script_lexer_refs): Likewise.
38760 (script): Likewise.
38761 (newscript): Likewise.
38762 (record): Likewise.
38763 (recording): Likewise.
38764 (recordpos): Likewise.
38765 (recordlen): Likewise.
38766 (grub_script_lexer_init): Return the state instead of setting
38767 global variables.
38768 (grub_script_lexer_ref): Use the newly added argument for state
38769 instead of globals.
38770 (grub_script_lexer_deref): Likewise.
38771 (grub_script_lexer_record_start): Likewise.
38772 (grub_script_lexer_record_stop): Likewise.
38773 (recordchar): Likewise.
38774 (nextchar): Likewise.
38775 (grub_script_yylex2): Likewise.
38776 (grub_script_yylex): Likewise.
38777 (grub_script_yyerror): Likewise.
38778
38779 * normal/parser.y (func_mem): Removed variable.
38780 (menu_entry): Likewise.
38781 (err): Likewise.
38782 (%lex-param): New parser option.
38783 (%parse-param): Likewise.
38784 (script): Always return the AST.
38785 (argument): Pass the state around.
38786 (arguments): Likewise.
38787 (grubcmd): Likewise.
38788 (commands): Likewise.
38789 (function): Likewise.
38790 (menuentry): Likewise.
38791 (if_statement): Likewise.
38792 (if): Likewise.
38793
38794 * normal/script.c (grub_script_memused): Removed variable.
38795 (grub_script_parsed): Likewise.
38796 (grub_script_malloc): Added a state argument. Use that instead of
38797 global variables.
38798 (grub_script_mem_record): Likewise.
38799 (grub_script_mem_record_stop): Likewise.
38800 (grub_script_arg_add): Likewise.
38801 (grub_script_add_arglist): Likewise.
38802 (grub_script_create_cmdline): Likewise.
38803 (grub_script_create_cmdif): Likewise.
38804 (grub_script_create_cmdmenu): Likewise.
38805 (grub_script_add_cmd): Likewise.
38806 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 38807
e2a8c904 388082006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 38809
38810 * normal/command.c (grub_command_init): Remove the title command.
38811
38812 * normal/lexer.c (grub_script_yylex): Renamed from this...
38813 (grub_script_yylex2): ... to this.
38814 (grub_script_yylex): New function. Temporary
38815 introduced to filter some tokens.
38816 (grub_script_yyerror): Print a newline.
38817
38818 * normal/main.c (read_config_file): Output information about the
38819 lines that contain errors. Wait for a key after all lines have
38820 been processed. Don't return an empty menu.
38821
38822 * normal/parser.y (func_mem): Don't initialize.
38823 (menu_entry): Likewise.
38824 (err): New variable.
38825 (script): Don't return anything when an error was encountered.
38826 (ws, returns): Removed rules.
38827 (argument): Disabled concatenated variable support.
38828 (arguments): Remove explicit separators.
38829 (grubcmd): Likewise.
38830 (function): Likewise.
38831 (menuentry): Likewise.
38832 (if): Likewise.
38833 (commands): Likewise. Add error handling.
38834
38835 * normal/script.c (grub_script_create_cmdline): If
38836 `grub_script_parsed' is 0, assume the parser encountered an error.
38837
c9a86192 388382006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
38839
38840 * configure.ac: Add support for EFI. Fix the typo
38841 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
38842
70f3b243 388432006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
38844
38845 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
38846 foreign multibyte characters should be shown correctly.
38847
65f201ad 388482006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
38849
38850 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
38851 calculation.
38852 (read_config_file): Made it to close file before returning.
38853
b4b93674 388542006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
38855
38856 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
38857 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
38858 video/i386/pc/vbefill.c.
38859
38860 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
38861 video/i386/pc/vbefill.c.
38862
38863 * include/grub/video.h (grub_video_blit_format): New enum.
38864 (grub_video_mode_info): Added new member blit_format.
38865 (grub_video_get_blit_format): New function prototype.
38866
38867 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
38868 function prototype.
38869 (grub_video_vbe_map_rgb): Likewise.
38870 (grub_video_vbe_unmap_color): Likewise.
38871
38872 * include/grub/i386/pc/vbeblit.h: New file.
38873
38874 * include/grub/i386/pc/vbefill.h: New file.
38875
38876 * video/video.c (grub_video_get_blit_format): New function.
38877 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
38878 (grub_video_vbe_map_rgb): Likewise.
38879 (grub_video_vbe_unmap_color): Likewise.
38880
38881 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
38882 optimized fills.
38883 (grub_video_vbe_blit_render_target): Changed to use more optimized
38884 blits.
38885 (grub_video_vbe_setup): Added detection for optimized settings.
38886 (grub_video_vbe_create_render_target): Likewise.
38887
38888 * video/i386/pc/vbeblit.c: New file.
38889
38890 * video/i386/pc/vbefill.c: New file.
38891
c2379b9c 388922006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
38893
38894 * font/manager.c (grub_font_get_glyph): Removed font fixup from
38895 here...
38896
38897 * util/unifont2pff.rb: ... and moved it to here. Improved argument
38898 parsing to support both hex and dec ranges. If filename was missing
38899 show usage information.
38900
bd0d7896 389012006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
38902
38903 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
38904 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
38905
38906 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
38907 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
38908 (video_mod_SOURCES): Added.
38909 (video_mod_CFLAGS): Likewise.
38910 (video_mod_LDFLAGS): Likewise.
38911 (gfxterm_mod_SOURCES): Likewise.
38912 (gfxterm_mod_CFLAGS): Likewise.
38913 (gfxterm_mod_LDFLAGS): Likewise.
38914 (videotest_mod_SOURCES): Likewise.
38915 (videotest_mod_CFLAGS): Likewise.
38916 (videotest_mod_LDFLAGS): Likewise.
38917 (vesafb_mod_SOURCES): Removed.
38918 (vesafb_mod_CFLAGS): Likewise.
38919 (vesafb_mod_LDFLAGS): Likewise.
38920 (vga_mod_SOURCES): Likewise.
38921 (vga_mod_CFLAGS): Likewise.
38922 (vga_mod_LDFLAGS): Likewise.
38923
38924 * commands/videotest.c: New file.
38925
38926 * font/manager.c (fill_with_default_glyph): Modified to use
38927 grub_font_glyph.
38928 (grub_font_get_glyph): Likewise.
38929 (fontmanager): Renamed from this...
38930 (font_manager): ... to this.
38931
38932 * include/grub/font.h (grub_font_glyph): Added new structure.
38933 (grub_font_get_glyph): Modified to use grub_font_glyph.
38934
38935 * include/grub/misc.h (grub_abs): Added as inline function.
38936
38937 * include/grub/video.h: New file.
38938
38939 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
38940 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
38941 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
38942 (grub_vbe_get_controller_info): Renamed from this...
38943 (grub_vbe_bios_get_controller_info): ... to this.
38944 (grub_vbe_get_mode_info): Renamed from this...
38945 (grub_vbe_bios_get_mode_info): ... to this.
38946 (grub_vbe_set_mode): Renamed from this...
38947 (grub_vbe_bios_set_mode): ... to this.
38948 (grub_vbe_get_mode): Renamed from this...
38949 (grub_vbe_bios_get_mode): ... to this.
38950 (grub_vbe_set_memory_window): Renamed from this...
38951 (grub_vbe_bios_set_memory_window): ... to this.
38952 (grub_vbe_get_memory_window): Renamed from this...
38953 (grub_vbe_bios_get_memory_window): ... to this.
38954 (grub_vbe_set_scanline_length): Renamed from this...
38955 (grub_vbe_set_scanline_length): ... to this.
38956 (grub_vbe_get_scanline_length): Renamed from this...
38957 (grub_vbe_bios_get_scanline_length): ... to this.
38958 (grub_vbe_set_display_start): Renamed from this...
38959 (grub_vbe_bios_set_display_start): ... to this.
38960 (grub_vbe_get_display_start): Renamed from this...
38961 (grub_vbe_bios_get_display_start): ... to this.
38962 (grub_vbe_set_palette_data): Renamed from this...
38963 (grub_vbe_bios_set_palette_data): ... to this.
38964 (grub_vbe_set_pixel_rgb): Removed.
38965 (grub_vbe_set_pixel_index): Likewise.
38966
38967 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
38968 from this...
38969 (grub_vbe_bios_get_controller_info): ... to this.
38970 (grub_vbe_get_mode_info): Renamed from this...
38971 (grub_vbe_bios_get_mode_info): ... to this.
38972 (grub_vbe_set_mode): Renamed from this...
38973 (grub_vbe_bios_set_mode): ... to this.
38974 (grub_vbe_get_mode): Renamed from this...
38975 (grub_vbe_bios_get_mode): ... to this.
38976 (grub_vbe_set_memory_window): Renamed from this...
38977 (grub_vbe_bios_set_memory_window): ... to this.
38978 (grub_vbe_get_memory_window): Renamed from this...
38979 (grub_vbe_bios_get_memory_window): ... to this.
38980 (grub_vbe_set_scanline_length): Renamed from this...
38981 (grub_vbe_set_scanline_length): ... to this.
38982 (grub_vbe_get_scanline_length): Renamed from this...
38983 (grub_vbe_bios_get_scanline_length): ... to this.
38984 (grub_vbe_set_display_start): Renamed from this...
38985 (grub_vbe_bios_set_display_start): ... to this.
38986 (grub_vbe_get_display_start): Renamed from this...
38987 (grub_vbe_bios_get_display_start): ... to this.
38988 (grub_vbe_set_palette_data): Renamed from this...
38989 (grub_vbe_bios_set_palette_data): ... to this.
38990 (grub_vbe_bios_get_controller_info): Fixed problem with registers
38991 getting corrupted after calling it. Added more pushes and pops.
38992 (grub_vbe_bios_set_mode): Likewise.
38993 (grub_vbe_bios_get_mode): Likewise.
38994 (grub_vbe_bios_get_memory_window): Likewise.
38995 (grub_vbe_bios_set_scanline_length): Likewise.
38996 (grub_vbe_bios_get_scanline_length): Likewise.
38997 (grub_vbe_bios_get_display_start): Likewise.
38998 (grub_vbe_bios_set_palette_data): Likewise.
38999
39000 * normal/cmdline.c (cl_set_pos): Refresh the screen.
39001 (cl_insert): Likewise.
39002 (cl_delete): Likewise.
39003
39004 * term/gfxterm.c: New file.
39005
39006 * term/i386/pc/vesafb.c: Removed file.
39007
39008 * video/video.c: New file.
39009
39010 * video/i386/pc/vbe.c (real2pm): Added new function.
39011 (grub_video_vbe_draw_pixel): Likewise.
39012 (grub_video_vbe_get_video_ptr): Likewise.
39013 (grub_video_vbe_get_pixel): Likewise
39014 (grub_video_vbe_init): Likewise.
39015 (grub_video_vbe_fini): Likewise.
39016 (grub_video_vbe_setup): Likewise.
39017 (grub_video_vbe_get_info): Likewise.
39018 (grub_video_vbe_set_palette): Likewise.
39019 (grub_video_vbe_get_palette): Likewise.
39020 (grub_video_vbe_set_viewport): Likewise.
39021 (grub_video_vbe_get_viewport): Likewise.
39022 (grub_video_vbe_map_color): Likewise.
39023 (grub_video_vbe_map_rgb): Likewise.
39024 (grub_video_vbe_map_rgba): Likewise.
39025 (grub_video_vbe_unmap_color): Likewise.
39026 (grub_video_vbe_fill_rect): Likewise.
39027 (grub_video_vbe_blit_glyph): Likewise.
39028 (grub_video_vbe_blit_bitmap): Likewise.
39029 (grub_video_vbe_blit_render_target): Likewise.
39030 (grub_video_vbe_scroll): Likewise.
39031 (grub_video_vbe_swap_buffers): Likewise.
39032 (grub_video_vbe_create_render_target): Likewise.
39033 (grub_video_vbe_delete_render_target): Likewise.
39034 (grub_video_vbe_set_active_render_target): Likewise.
39035 (grub_vbe_set_pixel_rgb): Remove function.
39036 (grub_vbe_set_pixel_index): Likewise.
39037 (index_color_mode): Remove static variable.
39038 (active_mode): Likewise.
39039 (framebuffer): Likewise.
39040 (bytes_per_scan_line): Likewise.
39041 (grub_video_vbe_adapter): Added new static variable.
39042 (framebuffer): Likewise.
39043 (render_target): Likewise.
39044 (initial_mode): Likewise.
39045 (mode_in_use): Likewise.
39046 (mode_list): Likewise.
39047
5f97350b 390482006-03-10 Marco Gerards <marco@gnu.org>
39049
39050 * configure.ac (AC_INIT): Bumped to 1.93.
39051
39052 * DISTLIST: Added `include/grub/hfs.h'.
39053
a3c5c6f8 390542006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
39055
39056 * boot/i386/pc/boot.S (general_error): Before looping, try INT
39057 18H, which might help the BIOS falling back to next boot media.
39058
6de53d26 390592006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
39060
39061 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
39062 Poe Chen <poe.poechen@gmail.com>.
39063
77c4a393 390642006-01-17 Marco Gerards <marco@gnu.org>
39065
39066 * include/grub/normal.h: Include <grub/script.h>.
39067 (grub_command_list): Removed struct.
39068 (grub_command_list_t): Removed type.
39069 (grub_menu_entry): Remove members `num' and `command_list'. Add
39070 members `commands' and `sourcecode'.
39071 * include/grub/script.h: Add inclusion guards.
39072 (grub_script_cmd_menuentry): New struct.
39073 (grub_script_execute_menuentry): New prototype.
39074 (grub_script_lexer_record_start): Likewise.
39075 (grub_script_lexer_record_stop): Likewise.
39076 * normal/execute.c (grub_script_execute_menuentry): New function.
39077 * normal/lexer.c (record, recording, recordpos, recordlen): New
39078 variables.
39079 (grub_script_lexer_record_start): New function.
39080 (grub_script_lexer_record_stop): Likewise.
39081 (recordchar): Likewise.
39082 (nextchar): Likewise.
39083 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
39084 2048 as the buffer size. Add the tokens `menuentry' and `@'.
39085 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
39086 (current_menu): New variable.
39087 (free_menu): Mainly rewritten.
39088 (grub_normal_menu_addentry): New function.
39089 (read_config_file): Rewritten.
39090 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 39091 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 39092 the menu entry.
39093 (run): Mainly rewritten.
39094 * normal/parser.y (menu_entry): New variable.
39095 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
39096 (menuentry): New rule.
39097 (command): Add `menuentry'.
39098 (if_statement): Allow additional returns before `fi'.
39099 * normal/script.c (grub_script_create_cmdmenu): New function.
39100
144f1f98 391012006-01-03 Marco Gerards <marco@gnu.org>
39102
39103 * INSTALL: GNU Bison is required.
39104 * configure.ac: Rewritten the test to detect Bison.
39105 * Makefile.in (YACC): New variable. Reported by Xun Sun
39106 <xun.sun.cn@gmail.com>.
39107
af4b2d89 391082006-01-03 Marco Gerards <marco@gnu.org>
39109
39110 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
39111 the HFS+ filesystem to filesystem blocks.
39112 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
39113 GCC warning is silenced.
39114
15643b71 391152006-01-03 Marco Gerards <marco@gnu.org>
39116
39117 * partmap/apple.c (apple_partition_map_iterate): Convert the data
39118 read from disk from big endian to host byte order.
39119
00905879 391202006-01-03 Hollis Blanchard <hollis@penguinppc.org>
39121
39122 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
39123 documentation.
39124 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
39125 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
39126 embedded HFS+ filesystem.
39127 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
39128 (grub_hfs_sblock): Move from here...
39129 * include/grub/hfs.h: To here... New file.
39130 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
39131 documentation.
39132 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
39133 New macros.
39134 (grub_hfsplus_volheader): Change type of member `magic' to
39135 `grub_uint16_t'.
39136 (grub_hfsplus_data): Add new member `embedded_offset'.
39137 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
39138 returned block.
39139 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
39140 Calculate the offset.
39141
8899bc3e 391422005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39143
39144 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
39145 Removed.
39146 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
39147
ae8c0277 391482005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39149
39150 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
39151 ENV->NAME is NULL after allocating ENV->VALUE.
39152
07084456 391532005-12-25 Marco Gerards <marco@gnu.org>
39154
39155 * kern/env.c (grub_env_set): Rewritten the error handling code.
39156
4750f5f1 391572005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39158
39159 * geninit.sh: Made more robust, and more portable.
39160
50214199 391612005-12-25 Marco Gerards <marco@gnu.org>
39162
39163 Add support for Apple HFS+ filesystems.
f19dbdb7 39164
50214199 39165 * fs/hfsplus.c: New file.
39166
39167 * DISTLIST: Added `fs/hfsplus.c'.
39168
39169 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
39170 (hfsplus_mod_SOURCES): New variable.
39171 (hfsplus_mod_CFLAGS): Likewise.
39172 (hfsplus_mod_LDFLAGS): Likewise.
39173 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
39174 (grub_setup_SOURCES): Likewise.
39175 (grub_mkdevicemap_SOURCES): Likewise.
39176 (grub_emu_SOURCES): Likewise.
39177 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39178
39179 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
39180
39181 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
39182
befaed6c 391832005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39184
39185 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
39186 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
39187 include/grub/parser.h, include/grub/script.h, kern/parser.c,
39188 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
39189 normal/lexer.c, normal/parser.y, normal/script.c, and
39190 partmap/gpt.c.
39191 Removed kern/sparc64/cache.c.
39192
39193 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
39194 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
39195 grub_emu_init.c.
39196
39197 * configure.ac (AC_INIT): Bumped to 1.92.
39198
6a124103 391992005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
39200
39201 * kern/err.c (grub_error_push): Added new function to support error
39202 stacks.
39203 (grub_error_pop): Likewise.
39204 (grub_error_stack_items): New local variable to support error stacks.
39205 (grub_error_stack_pos): Likewise.
39206 (grub_error_stack_assert): Likewise.
39207 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
39208 stack depth.
39209 (grub_print_error): Added support to print errors from error stack.
39210
39211 * include/grub/err.h (grub_error_push): Added function prototype.
39212 (grub_error_pop): Likewise.
39213
be973c1b 392142005-12-09 Hollis Blanchard <hollis@penguinppc.org>
39215
39216 * configure.ac: Accept `powerpc64' as host_cpu.
39217 (amd64): Rename to `biarch32'.
39218
39219 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
39220 non-cacheline-aligned addresses.
39221
39222 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
39223 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
39224 if `size' is non-zero.
39225
b04216ab 392262005-12-03 Marco Gerards <mgerards@xs4all.nl>
39227
39228 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
39229 and `cd' to make sure the filename is not prefixed with a
39230 directory name.
39231 (pkgdata_MODULES): Add `gpt.mod'.
39232 (gpt_mod_SOURCES): New variable.
39233 (gpt_mod_CFLAGS): Likewise.
39234 (gpt_mod_LDFLAGS): Likewise.
39235
39236 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
39237
39238 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
39239 New macro.
39240
39241 * partmap/gpt.c: New file.
39242
39243 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
39244 GPT partition map is detected.
39245
41730ed9 392462005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
39247
39248 * commands/i386/pc/play.c: New file.
39249 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
39250 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
39251 macros.
f19dbdb7 39252
95dc3643 392532005-11-27 Marco Gerards <mgerards@xs4all.nl>
39254
39255 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
39256 ((unused))' to silence gcc warning.
39257
1569ec51 392582005-11-26 Hollis Blanchard <hollis@penguinppc.org>
39259
39260 * configure.ac: Correct `AC_PROG_YACC' test.
39261
9abde152 392622005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39263
39264 * util/powerpc/ieee1275/grub-install.in: Run the mount point
39265 check before installing files.
39266
44b83271 392672005-11-22 Mike Small <smallm@panix.com>
39268
39269 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
39270 number regex so multidigit numbers are recognized correctly.
39271
392722005-11-22 Mike Small <smallm@panix.com>
39273
39274 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
39275 debugging message before attempting to claim memory.
39276 (grub_rescue_cmd_initrd): Add a claim debugging message and try
39277 multiple addresses in case of failure.
39278
9c12956b 392792005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39280
39281 * term/tparm.c (get_space): Remove empty `if' statement.
39282
39283 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
39284
39285 * kern/parser.c (check_varstate): Rename `state' to 's'.
39286
aeaf81d9 392872005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39288
39289 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
39290 variable definitions to the beginning of each function. Sort stack
39291 variables by size.
39292 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
39293 `buf' argument to `char *'.
39294
79bbb63f 392952005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39296
39297 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
39298 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 39299 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 39300 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
39301 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
39302 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
39303 configfile.mod, search.mod, gzio.mod and test.mod.
39304 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
39305 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
39306 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
39307 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
39308 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
39309 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
39310 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
39311 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
39312 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
39313 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
39314 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
39315 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
39316 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
39317 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
39318 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
39319 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
39320 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
39321 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
39322 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
39323 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
39324 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
39325 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
39326 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
39327
39328 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
39329 `grep --include'.
39330 (pkgdata_MODULES): Add test.mod.
39331
233b1628 393322005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39333
39334 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
39335 appending to variables with "+=".
39336 (PModule): Use full pathname to generate *.lst filenames.
39337
39338 * Makefile.in: Fixed list rules moved from genmk.rb.
39339 (.DELETE_ON_ERROR): New special target.
39340 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
39341
39342 * conf/i386-pc.rmk: Include conf/common.mk.
39343 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 39344 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 39345 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
39346 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
39347 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
39348 configfile.mod, search.mod, gzio.mod and test.mod.
39349 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
39350 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
39351 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
39352 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
39353 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
39354 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
39355 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
39356 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
39357 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
39358 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
39359 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
39360 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
39361 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
39362 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
39363 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
39364 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
39365 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
39366 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
39367 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
39368 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
39369 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
39370 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
39371 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
39372 here...
39373 * conf/common.rmk: ... to here. New file.
39374
39375 * conf/common.mk: New file.
39376
16f820c8 393772005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
39378
39379 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
39380 (grub_script.tab.c): ... here.
39381
39382 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
39383 (grub_script.tab.c): ... here.
39384
39385 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
39386 (grub_script.tab.c): ... here.
39387
39388 * normal/command.c (grub_command_find): Fixed a memory leak of
39389 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
39390
63ba1554 393912005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39392
39393 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
39394 "@" which marks the start of a comment on ARM.
39395 (VARIABLE): Likewise.
39396
7f67dc13 393972005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39398
79bbb63f 39399 Add support for Linux/ADFS partition tables.
7f67dc13 39400
39401 * partmap/acorn.c: New file.
39402
39403 * include/grub/acorn_filecore.h: Likewise.
39404
39405 * DISTLIST: Added `partmap/acorn.c' and
39406 `include/grub/acorn_filecore.h'.
f19dbdb7 39407
7f67dc13 39408 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
39409 `partmap/acorn.c'.
39410 (pkgdata_MODULES): Add `acorn.mod'.
39411 (acorn_mod_SOURCES): New variable.
39412 (acorn_mod_CFLAGS): Likewise.
39413
39414 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
39415 `partmap/acorn.c'.
39416 (pkgdata_MODULES): Add `acorn.mod'.
39417 (acorn_mod_SOURCES): New variable.
39418 (acorn_mod_CFLAGS): Likewise.
39419
39420 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
39421 (pkgdata_MODULES): Add `acorn.mod'.
39422 (acorn_mod_SOURCES): New variable.
39423 (acorn_mod_CFLAGS): Likewise.
39424 (acorn_mod_LDFLAGS): Likewise.
39425
39426 * include/types.h (grub_disk_addr_t): New typedef.
39427
6d099807 394282005-11-13 Marco Gerards <mgerards@xs4all.nl>
39429
39430 * geninit.sh: New file.
39431
39432 * geninitheader.sh: Likewise.
39433
39434 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
39435 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
39436 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
39437 * commands/configfile.c (grub_configfile_init)
39438 (grub_configfile_fini): Likewise.
39439 * commands/default.c (grub_default_init, grub_default_fini):
39440 Likewise.
39441 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
39442 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
39443 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
39444 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
39445 Likewise.
39446 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
39447 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
39448 Likewise.
39449 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 39450 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 39451 Likewise.
39452 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
39453 Likewise.
fe6b695a 39454 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 39455 Likewise.
39456 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
39457 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
39458 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
39459 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
39460 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
39461 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
39462 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
39463 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
39464 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
39465 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
39466 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
39467 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
39468 * partmap/amiga.c (grub_amiga_partition_map_init)
39469 (grub_amiga_partition_map_fini): Likewise.
39470 * partmap/apple.c (grub_apple_partition_map_init)
39471 (grub_apple_partition_map_fini): Likewise.
39472 * partmap/pc.c (grub_pc_partition_map_init)
39473 (grub_pc_partition_map_fini): Likewise.
39474 * partmap/sun.c (grub_sun_partition_map_init,
39475 grub_sun_partition_map_fini): Likewise.
39476 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
39477 Likewise.
39478
39479 * util/grub-emu.c: Include <grub_modules_init.h>.
39480 (main): Don't initialize and de-initialize any modules directly,
39481 use `grub_init_all' and `grub_fini_all' instead.
39482
39483 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
39484 `grub_vesafb_mod_init'.
39485 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
39486 all users.
39487 * term/i386/pc/vga.c (grub_vga_init): Renamed to
39488 `grub_vga_mod_init'. Updated all users.
39489 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 39490
6d099807 39491 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
39492 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
39493 rules.
39494
39495 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
39496 Generate a function to initialize the module in utilities.
39497 Updated all callers.
39498 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
39499 initialize the module in utilities. Updated all callers.
39500
9046bcf0 395012005-11-09 Hollis Blanchard <hollis@penguinppc.org>
39502
39503 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
39504 escape sequence and a literal ^L to clear the screen.
39505
39506 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
39507 when returning from Open Firmware.
39508
d13ea639 395092005-11-09 Hollis Blanchard <hollis@penguinppc.org>
39510
39511 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
39512 (grub_ofconsole_height): Likewise.
39513 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
39514 manually insert a '\n'.
39515 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
39516 `grub_ofconsole_height'. Return early if these are already set.
39517
a8fcf206 395182005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
39519
39520 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
39521 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
39522 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
39523 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
39524 and `normal/script.c'.
39525 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
39526 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
39527 (test_mod_SOURCES): New variable.
39528 (test_mod_CFLAGS): Likewise.
39529 (test_mod_LDFLAGS): Likewise.
39530 (pkgdata_MODULES): Add `test.mod'.
39531 (grub_script.tab.c): New rule.
39532 (grub_script.tab.h): Likewise.
39533
b6b32745 395342005-11-07 Marco Gerards <mgerards@xs4all.nl>
39535
39536 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
39537 `commands/test.c', `normal/execute.c', `normal/lexer.c',
39538 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
39539 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
39540 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
39541 (test_mod_SOURCES): New variable.
39542 (test_mod_CFLAGS): Likewise.
39543 (pkgdata_MODULES): Add `test.mod'.
39544 (grub_script.tab.c): New rule.
39545 (grub_script.tab.h): Likewise.
39546
daac212a 395472005-11-06 Marco Gerards <mgerards@xs4all.nl>
39548
39549 Add initial scripting support.
39550
39551 * commands/test.c: New file.
39552 * include/grub/script.h: Likewise.
39553 * normal/execute.c: Likewise.
39554 * normal/function.c: Likewise.
39555 * normal/lexer.c: Likewise.
39556 * normal/parser.y: Likewise.
39557 * normal/script.c: Likewise.
39558
39559 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 39560
daac212a 39561 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
39562 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
39563 `normal/function.c' and `normal/script.c'.
39564 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
39565 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 39566 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
39567 variables.
daac212a 39568 (pkgdata_MODULES): Add `test.mod'.
39569 (grub_script.tab.c): New rule.
39570 (grub_script.tab.h): Likewise.
39571
39572 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
39573
39574 * include/grub/normal.h (grub_test_init): New prototype.
39575 (grub_test_fini): Likewise.
f19dbdb7 39576
daac212a 39577 * normal/command.c: Include <grub/script.h>.
39578 (grub_command_execute): Rewritten.
f19dbdb7 39579
daac212a 39580 * util/grub-emu.c (main): Call `grub_test_init' and
39581 `grub_test_fini'.
39582
77500b2b 395832005-11-03 Hollis Blanchard <hollis@penguinppc.org>
39584
39585 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
39586 to 0.
39587 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
39588 there are no pending characters.
39589
e45deb9e 395902005-11-03 Hollis Blanchard <hollis@penguinppc.org>
39591
39592 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
39593 `grub_strndup' to drop device arguments. Replace unnecessary
39594 `grub_strndup' with `grub_strdup'.
39595
4ce32619 395962005-11-03 Hollis Blanchard <hollis@penguinppc.org>
39597
39598 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
39599 `debug' environment variable has been set.
39600
396012005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 39602
4ce32619 39603 * Makefile.in (install-local): Use $(DATA).
39604 (uninstall): Likewise.
39605 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
39606 (sbin_UTILITIES): ... to here.
39607 (sbin_SCRIPTS): New variable.
39608 (grub_install_SOURCES): New variable.
39609 * util/powerpc/ieee1275/grub-install.in: New file.
39610 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
39611 variable.
39612 (add_segments): Call `grub_util_get_path'.
39613
25fe6f03 396142005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
39615
39616 From Timothy Baldwin:
39617 * commands/ls.c (grub_ls_list_files): Close FILE with
39618 grub_file_close.
39619 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
39620
04ccf3ec 396212005-10-24 Marco Gerards <mgerards@xs4all.nl>
39622
39623 * include/grub/parser.h: New file.
39624
39625 * kern/parser.c: Likewise.
39626
39627 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
39628 (grub_setup_SOURCES): Likewise.
39629 (grub_probefs_SOURCES): Likewise.
39630 (grub_emu_SOURCES): Likewise.
39631 (kernel_img_HEADERS): Add `parser.h'.
39632
39633 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
39634 (grub_emu_SOURCES): Add `kern/parser.c'.
39635 (grubof_SOURCES): Likewise.
39636
39637 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
39638 (grubof_SOURCES): Add `kern/parser.c'.
39639
39640 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
39641
39642 * kern/misc.c (grub_split_cmdline): Removed function.
39643
39644 * kern/rescue.c: Include <grub/parser.h>.
39645 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
39646 of `grub_split_cmdline'.
39647
39648 * normal/command.c: Include <grub/parser.h>.
39649 (grub_command_execute): Use `grub_parser_split_cmdline' instead
39650 of `grub_split_cmdline'.
39651
39652 * normal/completion.c: Include <grub/parser.h>.
39653 (cmdline_state): New variable.
39654 (iterate_dir): End the filename with a quote depending on the
39655 command line state.
39656 (get_state): new function.
39657 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
39658 split the arguments and determine the current argument. When the
39659 argument string is not quoted, escape all spaces.
39660
6d8f4b0e 396612005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
39662
39663 * normal/sparc64/setjmp.S: New file.
39664
15cf03ed 396652005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
39666
39667 * include/grub/sparc64/libgcc.h: New file.
39668 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
39669 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
39670 normal/sparc64/setjmp.c.
39671
03e8661a 396722005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
39673
39674 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
39675 * kern/sparc64/cache.S: New file.
39676 * kern/sparc64/cache.c: Removed.
39677 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
39678 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
39679 -mtune=ultrasparc.
39680 (COMMON_LDFLAGS): Add -melf64_sparc.
39681 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
39682 (grubof_SOURCES): Use cache.S instead of cache.c.
39683 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
39684 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
39685 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
39686 commented though.
39687 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
39688 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
39689 (linux_mod_CFLAGS): Commented out.
39690 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
39691 out because module isn't built.
39692 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
39693 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
39694 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
39695 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
39696 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
39697 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
39698 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
39699 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
39700 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
39701 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
39702 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
39703 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
39704 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
39705 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
39706
34eeec8a 397072005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
39708
39709 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
39710 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
39711 longer, because HFS should not be used on PC.
39712
708367a3 397132005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39714
39715 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
39716 consistently within the loop.
39717
6fa1251a 397182005-10-15 Marco Gerards <mgerards@xs4all.nl>
39719
39720 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
39721 directory can not be read.
39722
4801580b 397232005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
39724
39725 * configure.ac (AC_INIT): Increase the version number to 1.91.
39726
39727 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
39728 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
39729 term/i386/pc/serial.c.
39730
219ad426 397312005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
39732
39733 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
39734 file size must be permitted.
39735
39736 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
39737 between %ah and %al.
39738
688e5699 397392005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
39740
39741 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
39742 grub_uint64_t.
39743 Call the hook with a NUL-terminated filename.
39744 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
39745 grub_cpu_to_be32.
39746
39747 * kern/term.c (cursor_state): New variable.
39748 (grub_term_set_current): Reset the cursor state on a new
39749 terminal.
39750 (grub_setcursor): Rewritten to use CURSOR_STATE.
39751 (grub_getcursor): New function.
39752
39753 * include/grub/term.h (grub_getcursor): New prototype.
39754
39755 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
39756 integers on ARM. Reported by Timothy Baldwin
39757 <T.E.Baldwin99@members.leeds.ac.uk>.
39758
bb34586c 397592005-10-11 Marco Gerards <mgerards@xs4all.nl>
39760
39761 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
39762 allocated.
39763 (grub_sfs_dir): Likewise.
39764
9a909877 397652005-10-09 Marco Gerards <mgerards@xs4all.nl>
39766
39767 Add support for the SFS filesystem.
39768
39769 * fs/sfs.c: New file.
39770
39771 * DISTLIST: Added `fs/sfs.c'.
39772
39773 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
39774 (grub_probefs_SOURCES): Likewise.
39775 (grub_emu_SOURCES): Likewise.
39776 (pkgdata_MODULES): Add `sfs.mod'.
39777 (sfs_mod_SOURCES): New variable.
39778 (sfs_mod_CFLAGS): Likewise.
39779 (sfs_mod_LDFLAGS): Likewise.
39780
39781 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
39782 (pkgdata_MODULES): Add `sfs.mod'.
39783 (sfs_mod_SOURCES): New variable.
39784 (sfs_mod_CFLAGS): Likewise.
39785
39786 * util/grub-emu.c (main): Call `grub_sfs_init' and
39787 `grub_sfs_fini'.
39788
39789 * include/grub/fs.h (grub_sfs_init): New prototype.
39790 (grub_sfs_fini): Likewise.
39791
57bdbde3 397922005-10-07 Marco Gerards <mgerards@xs4all.nl>
39793
39794 Add support for the AFFS filesystem.
39795
39796 * fs/affs.c: New file.
39797
39798 * DISTLIST: Added `fs/affs.c'.
39799
39800 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
39801 (grub_probefs_SOURCES): Likewise.
39802 (grub_emu_SOURCES): Likewise.
39803 (pkgdata_MODULES): Add `affs.mod'.
39804 (affs_mod_SOURCES): New variable.
39805 (affs_mod_CFLAGS): Likewise.
39806 (affs_mod_LDFLAGS): Likewise.
39807
39808 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
39809 (pkgdata_MODULES): Add `affs.mod'.
39810 (affs_mod_SOURCES): New variable.
39811 (affs_mod_CFLAGS): Likewise.
39812
39813 * util/grub-emu.c (main): Call `grub_affs_init' and
39814 `grub_affs_fini'.
39815
39816 * include/grub/fs.h (grub_affs_init): New prototype.
39817 (grub_affs_fini): Likewise.
39818
047b67e0 398192005-10-01 Marco Gerards <mgerards@xs4all.nl>
39820
39821 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
39822
59b8208a 398232005-10-01 Marco Gerards <mgerards@xs4all.nl>
39824
39825 * configure.ac: Accept `x86_64' as host_cpu. In that case add
39826 `-m32' to CFLAGS.
39827
39828 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
39829 linking.
f19dbdb7 39830
59b8208a 39831 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
39832 (COMMON_LDFLAGS): New variable.
39833 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
39834 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
39835 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
39836 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
39837 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
39838 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
39839 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
39840 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
39841 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
39842 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
39843 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
39844 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
39845 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
39846 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
39847 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
39848 variables.
39849 (normal_mod_ASFLAGS): Add `-m32'.
39850
39851 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
39852 (grub_host_size_t, grub_host_ssize_t): New types.
39853 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 39854 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 39855 `GRUB_HOST_SIZEOF_VOID_P'.
39856
39857 * include/grub/kernel.h (struct grub_module_header): Type of
39858 member offset changed to `grub_host_off_t'. Type of member size
39859 changed to `grub_host_size_t'.
39860 (struct grub_module_info): Type of member offset changed to
39861 `grub_host_off_t'. Type of member size changed to
39862 `grub_host_size_t'.
39863
b4093103 398642005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
39865
39866 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 39867
b4093103 39868 * kern/i386/pc/startup.S (multiboot_header): New label.
39869 (multiboot_entry): Likewise.
39870 (multiboot_trampoline): Likewise.
39871
39872 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
39873 Increased to 0x4A0.
39874
39875 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
39876 put parentheses after a question mark.
39877 [!GRUB_UTIL] (my_mod): New variable.
39878
39879 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
39880
b2499b29 398812005-09-28 Marco Gerards <mgerards@xs4all.nl>
39882
39883 Adds support for the XFS filesystem. Btrees are not supported
39884 yet.
39885
39886 * fs/xfs.c: New file.
39887
39888 * DISTLIST: Added `fs/xfs.c'.
39889
39890 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
39891 (grub_probefs_SOURCES): Likewise.
39892 (grub_emu_SOURCES): Likewise.
39893 (pkgdata_MODULES): Add `xfs.mod'.
39894 (xfs_mod_SOURCES): New variable.
39895 (xfs_mod_CFLAGS): Likewise.
39896
39897 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
39898 (pkgdata_MODULES): Add `xfs.mod'.
39899 (xfs_mod_SOURCES): New variable.
39900 (xfs_mod_CFLAGS): Likewise.
39901
39902 * util/grub-emu.c (main): Call `grub_xfs_init' and
39903 `grub_xfs_fini'.
39904
39905 * include/grub/fs.h (grub_xfs_init): New prototype.
39906 (grub_xfs_fini): Likewise.
39907
f19dbdb7 39908
83d37a62 399092005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
39910
39911 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
39912 color modes, allow greater than 16 colors to be configured as
39913 a default palette.
39914
47d2d65e 399152005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39916
39917 * normal/completion.c (complete_arguments): Add the qualifier
39918 const into OPTIONS.
39919
39920 From Omniflux <omniflux+lists@omniflux.com>:
39921 * include/grub/terminfo.h: New file.
39922 * include/grub/tparm.h: Likewise.
39923 * include/grub/i386/pc/serial.h: Likewise.
39924 * term/terminfo.c: Likewise.
39925 * term/tparm.c: Likewise.
39926 * term/i386/pc/serial.c: Likewise.
39927 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
39928 serial.mod.
39929 (terminfo_mod_SOURCES): New variable.
39930 (terminfo_mod_CFLAGS): Likewise.
39931 (serial_mod_SOURCES): Likewise.
39932 (serial_mod_CFLAGS): Likewise.
39933
48b671ff 399342005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
39935
39936 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
39937 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
39938 and kern/powerpc/ieee1275/cmain.c, respectively.
39939
39940 * boot/powerpc/ieee1275/crt0.S: Moved to ...
39941 * kern/powerpc/ieee1275/crt0.S: ... here.
39942
39943 * boot/powerpc/ieee1275/cmain.c: Moved to ...
39944 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 39945
48b671ff 39946 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
39947 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
39948 instead of boot/powerpc/ieee1275/crt0.S and
39949 boot/powerpc/ieee1275/cmain.c, respectively.
39950
39951 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
39952 sectors. It was not used anyway.
39953
09fc77a7 399542005-08-30 Hollis Blanchard <hollis@penguinppc.org>
39955
39956 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
39957 `unused parameter' warning.
39958
003789c7 399592005-08-30 Hollis Blanchard <hollis@penguinppc.org>
39960
39961 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
39962 function.
39963 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
39964 getcharwidth.
39965
67f44c86 399662005-08-28 Marco Gerards <metgerards@student.han.nl>
39967
39968 * include/grub/normal.h (enum grub_completion_type): Added
39969 `GRUB_COMPLETION_TYPE_ARGUMENT'.
39970
39971 * normal/cmdline.c (print_completion): Handle
39972 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
39973 * normal/menu_entry.c (store_completion): Likewise.
39974
39975 * normal/completion.c (complete_arguments): New function.
39976 (grub_normal_do_completion): Call `complete_arguments' when the
39977 current words start with a dash.
39978
0b5abe02 399792005-08-27 Marco Gerards <metgerards@student.han.nl>
39980
39981 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
39982 `gzio.mod' instead of `io.mod').
39983
d9864ee1 399842005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
39985
39986 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
39987 (DISTDIRS): Added io and video.
39988 Rewrite the search routine to make an output consistently.
39989
39990 * DISTLIST: Added conf/sparc64-ieee1275.mk,
39991 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
39992 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
39993 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
39994 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
39995 util/powerpc/ieee1275/misc.c.
f19dbdb7 39996
d9864ee1 39997 * include/grub/gzio.h: New file.
39998 * io/gzio.c: Likewise.
f19dbdb7 39999
d9864ee1 40000 * kern/file.c (grub_file_close): Call grub_device_close only if
40001 FILE->DEVICE is not NULL.
40002
40003 * include/grub/mm.h [!NULL] (NULL): New macro.
40004
40005 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
40006
40007 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
40008 (pkgdata_MODULES): Added gzio.mod.
40009 (gzio_mod_SOURCES): New variable.
40010 (gzio_mod_CFLAGS): Likewise.
40011
40012 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
40013 (pkgdata_MODULES): Added gzio.mod.
40014 (gzio_mod_SOURCES): New variable.
40015 (gzio_mod_CFLAGS): Likewise.
40016
40017 * commands/cat.c: Include grub/gzio.h.
40018 (grub_cmd_cat): Use grub_gzfile_open instead of
40019 grub_file_open.
f19dbdb7 40020
d9864ee1 40021 * commands/cmp.c: Include grub/gzio.h.
40022 (grub_cmd_cmp): Use grub_gzfile_open instead of
40023 grub_file_open.
40024
40025 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
40026 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
40027 grub_file_open.
40028 (grub_rescue_cmd_module): Likewise.
40029
fa46f4b5 400302005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
40031
40032 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
40033 kern/sparc64/ieee1275/init.c because it contains _start.
40034 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
40035
e9211b5d 400362005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
40037
40038 * configure.ac: Add support for sparc64 host with ieee1275
40039 firmware.
40040 * configure: Generated from configure.ac.
40041 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
40042 instead of int.
40043 (grub_ofdisk_read): Likewise.
40044 (grub_ofdisk_open): Use %p to print pointer values, and cast the
40045 pointers as (void *) to remove a warning.
40046 (grub_ofdisk_close): Likewise.
40047 (grub_ofdisk_read): Likewise.
40048 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
40049 returns, so make it return void to remove a warning.
40050 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
40051 Corresponding prototype change.
40052 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
40053 values, and cast the pointers as (void *) to remove a warning.
40054 (grub_mm_dump): Likewise.
40055 * conf/sparc64-ieee1275.mk: New file.
40056 * conf/sparc64-ieee1275.rmk: Likewise.
40057 * include/grub/sparc64/setjmp.h: Likewise.
40058 * include/grub/sparc64/types.h: Likewise.
40059 * include/grub/sparc64/ieee1275/console.h: Likewise.
40060 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
40061 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
40062 * include/grub/sparc64/ieee1275/time.h: Likewise.
40063 * kern/sparc64/cache.c: Likewise.
40064 * kern/sparc64/dl.c: Likewise.
40065 * kern/sparc64/ieee1275/init.c: Likewise.
40066 * kern/sparc64/ieee1275/openfw.c: Likewise.
40067
385c6a92 400682005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
40069
40070 * util/console.c (grub_ncurses_putchar): If C is greater than
40071 0x7f, set C to a question mark.
40072 (grub_ncurses_getcharwidth): New function.
40073 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
40074 getcharwidth.
40075
40076 * normal/menu.c (print_entry): Made aware of Unicode. First,
40077 convert TITLE to UCS-4, and predict the cursor position by
40078 grub_getcharwidth.
40079
40080 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
40081 const to SRC.
40082 * kern/misc.c (grub_utf16_to_utf8): Likewise.
40083
16ccb8b1 400842005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40085
40086 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
40087 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
40088 grub_strcat.
40089
40090 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
40091 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
40092 grub_strcpy and grub_strlen. Take it into account that a space
40093 character is inserted as a delimiter.
40094
6a85ce79 400952005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40096
40097 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 40098 invalid magic in the error.
6a85ce79 40099
40100 * commands/search.c: New file.
f19dbdb7 40101
6a85ce79 40102 * util/grub-emu.c (main): Call grub_search_init and
40103 grub_search_fini.
40104
40105 * kern/rescue.c (grub_rescue_print_disks): Removed.
40106 (grub_rescue_print_devices): New function.
40107 (grub_rescue_cmd_ls): Use grub_device_iterate with
40108 grub_rescue_print_devices instead of grub_disk_dev_iterate with
40109 grub_rescue_print_disks.
40110
40111 * kern/partition.c (grub_partition_iterate): Return the result of
40112 PARTMAP->ITERATE instead of GRUB_ERRNO.
40113
40114 * kern/device.c: Include grub/partition.h.
40115 (grub_device_iterate): New function.
40116
40117 * include/grub/partition.h (grub_partition_iterate): Return int
40118 instead of grub_err_t.
40119
40120 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
40121 prototype.
40122 [GRUB_UTIL] (grub_search_fini): Likewise.
40123
40124 * include/grub/device.h (grub_device_iterate): New prototype.
40125
40126 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
40127 commands/search.c.
40128 (pkgdata_MODULES): Added search.mod.
40129 (search_mod_SOURCES): New variable.
40130 (search_mod_CFLAGS): Likewise.
40131
40132 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
40133 (pkgdata_MODULES): Added search.mod.
40134 (search_mod_SOURCES): New variable.
40135 (search_mod_CFLAGS): Likewise.
40136
40137 * commands/ls.c (grub_ls_list_disks): Renamed to ...
40138 (grub_ls_list_devices): ... this, and use grub_device_iterate.
40139 All callers changed.
40140
40141 * DISTLIST: Added commands/search.c.
40142
ef095434 401432005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40144
40145 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
40146 conversion.
40147 (grub_getcharwidth): New function.
40148
40149 * kern/misc.c (grub_utf8_to_ucs4): New function.
40150
40151 * include/grub/term.h (struct grub_term): Added a new member
40152 "getcharwidth".
40153 (grub_getcharwidth): New prototype.
40154
40155 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
40156
40157 * term/i386/pc/console.c (map_char): New function. Segregated from
40158 grub_console_putchar.
40159 (grub_console_putchar): Use map_char.
40160 (grub_console_getcharwidth): New function.
40161 (grub_console_term): Specified grub_console_getcharwidth as
40162 getcharwidth.
40163
40164 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
40165 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
40166
40167 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
40168 GRUB_ERRNO.
40169 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
40170 on grub_strtoul completely.
40171 (write_char): Declare local variables in the beginning of the
40172 function.
40173 (grub_vesafb_getcharwidth): New function.
40174 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
40175 getcharwidth.
40176
1f0a95e4 401772005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
40178
40179 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
40180 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
40181 commands/i386/pc/vbetest.c.
40182
40183 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
40184 call grub_vbe_get_controller_info again, because the returned
40185 information is volatile.
40186 (grub_vbe_set_video_mode): Mostly rewritten.
40187 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
40188 grub_vbe_status_t correctly.
40189 (grub_vbe_get_video_mode_info): Likewise.
40190 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
40191 several if statements.
40192
40193 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
40194 * commands/i386/pc/vbeinfo.c: ... this.
40195
40196 * commands/i386/pc/vbe_test.c: Renamed to ...
40197 * commands/i386/pc/vbetest.c: ... this.
40198
40199 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
40200 ...
40201 (grub_cmd_vbeinfo): ... this. Save video modes before
40202 iterating. Skip a video mode, if it is not available, not enough
40203 information is given or it is monochrome. Show the memory
40204 model. Leave the interpretation of MODEVAR to grub_strtoul
40205 completely.
40206 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
40207 (GRUB_MOD_FINI): Likewise.
40208
40209 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
40210 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
40211 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
40212 duplicated grub_env_get. Leave the interpretation of MODEVAR to
40213 grub_strtoul completely.
40214 (real2pm): Removed.
40215 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
40216 (GRUB_MOD_FINI): Likewise.
40217
40218 * normal/misc.c: Include grub/mm.h.
40219
40220 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
40221 vbe_list_modes with vbetest.mod and vbeinfo.mod.
40222 (vbe_list_modes_mod_SOURCES): Removed.
40223 (vbe_list_modes_mod_CFLAGS): Likewise.
40224 (vbe_test_mod_SOURCES): Likewise.
40225 (vbe_test_mod_CFLAGS): Likewise.
40226 (vbeinfo_mod_SOURCES): New variable.
40227 (vbeinfo_mod_CFLAGS): Likewise.
40228 (vbetest_mod_SOURCES): Likewise.
40229 (vbetest_mod_CFLAGS): Likewise.
40230
992ffbbe 402312005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
40232
40233 * normal/misc.c: New file.
40234
40235 * DISTLIST: Added normal/misc.c.
f19dbdb7 40236
992ffbbe 40237 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
40238 DISK to HOOK. Call HOOK with DISK.
40239 * partmap/apple.c (apple_partition_map_iterate): Likewise.
40240 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40241 * partmap/sun.c (sun_partition_map_iterate): Likewise.
40242
40243 * normal/menu_entry.c (struct screen): Added a new member
40244 "completion_shown".
40245 (completion_buffer): New global variable.
40246 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
40247 (store_completion): New function.
40248 (complete): Likewise.
40249 (clear_completions): Likewise.
40250 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
40251 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
40252 a tab, call complete.
40253
40254 * normal/completion.c (disk_dev): Removed.
40255 (print_simple_completion): Likewise.
40256 (print_partition_completion): Likewise.
40257 (print_func): New global variable.
40258 (add_completion): Do not take the arguments WHAT or PRINT any
40259 longer. Added a new argument TYPE. Instead of printing directly,
40260 call PRINT_FUNC if not NULL.
40261 All callers changed.
40262 (complete_device): Use a local variable DEV instead of
40263 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
40264 (grub_normal_do_completion): Take a new argument HOOK. Do not
40265 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
40266 empty string, return NULL instead.
40267 All callers changed.
40268
40269 * normal/cmdline.c (print_completion): New function.
40270
40271 * kern/partition.c (grub_partition_iterate): Add an argument DISK
40272 to HOOK.
40273 All callers changed.
40274
40275 * kern/disk.c (grub_print_partinfo): Removed.
40276
40277 * include/grub/partition.h (struct grub_partition_map): Add a new
40278 argument DISK into HOOK of ITERATE.
40279 (grub_partition_iterate): Add a new argument DISK to HOOK.
40280
40281 * include/grub/normal.h (enum grub_completion_type): New enum.
40282 (grub_completion_type_t): New type.
40283 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
40284 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
40285 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
40286 (GRUB_COMPLETION_TYPE_FILE): Likewise.
40287 (grub_normal_do_completion): Added a new argument HOOK.
40288 (grub_normal_print_device_info): New prototype.
40289
40290 * include/grub/disk.h (grub_print_partinfo): Removed.
40291
40292 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
40293 (normal_mod_SOURCES): Likewise.
40294 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40295 (normal_mod_SOURCES): Likewise.
40296
40297 * commands/ls.c (grub_ls_list_disks): Use
40298 grub_normal_print_device_info instead of grub_print_partinfo. Free
40299 PNAME.
40300 (grub_ls_list_files): Use grub_normal_print_device_info instead of
40301 duplicating the code.
40302
0bd41162 403032005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
40304
40305 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 40306 follow GCS more precisely.
40307 * commands/i386/pc/vbe_test.c: Likewise.
40308 * include/grub/i386/pc/vbe.h: Likewise.
40309 * term/i386/pc/vesafb.c: Likewise.
40310 * video/i386/pc/vbe.c: Likewise.
0bd41162 40311
6323696a 403122005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
40313
40314 * DISTLIST: Added term/i386/pc/vesafb.c
40315 DISTLIST: Added video/i386/pc/vbe.c
40316 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
40317 DISTLIST: Added commands/i386/pc/vbe_test.c.
40318 * commands/i386/pc/vbe_list_modes.c: New file.
40319 * commands/i386/pc/vbe_test.c: Likewise.
40320 * term/i386/pc/vesafb.c: Likewise.
40321 * video/i386/pc/vbe.c: Likewise.
40322 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
40323 (grub_vbe_probe) Added prototype.
40324 (grub_vbe_set_video_mode) Likewise.
40325 (grub_vbe_get_video_mode) Likewise.
40326 (grub_vbe_get_video_mode_info) Likewise.
40327 (grub_vbe_set_pixel_rgb) Likewise.
40328 (grub_vbe_set_pixel_index) Likewise.
40329 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
40330 (pkgdata_MODULES): Added vesafb.mod.
40331 (pkgdata_MODULES): Added vbe_list_modes.mod.
40332 (pkgdata_MODULES): Added vbe_test.mod.
40333 (vbe_mod_SOURCES): Added.
40334 (vbe_mod_CFLAGS): Likewise.
40335 (vesafb_mod_SOURCES): Likewise.
40336 (vesafb_mod_CFLAGS): Likewise.
40337 (vbe_list_modes_mod_SOURCES): Likewise.
40338 (vbe_list_modes_mod_CFLAGS): Likewise.
40339 (vbe_test_mod_SOURCES): Likewise.
40340 (vbe_test_mod_CFLAGS): Likewise.
40341
0a74e62f 403422005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
40343
0a74e62f 40344 * normal/command.c (grub_command_execute): If INTERACTIVE is
40345 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
40346 CMDLINE. Disable the pager if INTERACTIVE is true.
40347 All callers are changed.
40348
40349 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
40350 before reading a config file.
40351 * normal/main.c (read_config_file): Even if a command is not
40352 found, register it if it is within an entry.
40353
40354 * util/grub-emu.c: Include sys/types.h and unistd.h.
40355 (options): Added --hold.
40356 (struct arguments): Added a new member "hold".
40357 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
40358 missing.
40359 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
40360 cleared by a debugger, if it is not zero.
40361
40362 * include/grub/normal.h (grub_command_execute): Add an argument
40363 INTERACTIVE.
40364
e51f85ae 403652005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
40366
40367 * DISTLIST: Added include/grub/i386/pc/vbe.h.
40368
e9c6f39b 403692005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
40370
40371 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
40372 program with another one, because the old one didn't detect a bug
40373 in gcc-3.4. Always use regparm 2, because the new test is still
40374 not enough for gcc-4.0. Someone must investigate a simple test
40375 case which detects a bug in gcc-4.0.
40376
8de3495c 403772005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
40378
40379 * DISTLIST: Added normal/completion.c.
40380
40381 * normal/completion.c: New file.
f19dbdb7 40382
8de3495c 40383 * term/i386/pc/console.c (grub_console_getwh): New function.
40384 (grub_console_term): Assign grub_console_getwh to getwh.
40385
40386 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
40387 function is defined in normal/completion.c as
40388 grub_normal_do_completion.
40389 (grub_cmdline_get): Use grub_normal_do_completion instead of
40390 grub_tab_complete.
40391
40392 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
40393 returns non-zero, otherwise return 0.
40394 (grub_partition_iterate): First, probe the partition map. Then,
40395 call ITERATE only for this partition map.
40396
40397 * kern/misc.c (grub_strncmp): Rewritten.
40398
40399 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
40400 returns non-zero. Otherwise return 0.
40401
40402 * include/grub/partition.h (grub_partition_map_iterate): Return
40403 int instead of void.
40404
40405 * include/grub/normal.h (grub_normal_do_completion): New prototype.
40406
40407 * include/grub/misc.h (grub_strncmp): Change the type of N to
40408 grub_size_t.
40409
40410 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
40411 of void.
40412
40413 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 40414 unsigned explicitly before comparing it with I.
8de3495c 40415
40416 * kern/main.c (grub_env_write_root): Add the attribute unused into
40417 VAR.
40418
40419 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
40420 normal/completion.c.
40421 (normal_mod_SOURCES): Likewise.
40422 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40423 (normal_mod_SOURCES): Likewise.
40424
40425 * normal/command.c (grub_iterate_commands): If ITERATE returns
40426 non-zero, return one immediately.
40427
e85e144b 404282005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
40429
40430 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
40431 * kern/i386/pc/startup.S: Updated Global Descriptor table's
40432 descriptions.
40433 (grub_vbe_get_controller_info): New function.
40434 (grub_vbe_get_mode_info): Likewise.
40435 (grub_vbe_set_mode): Likewise.
40436 (grub_vbe_get_mode): Likewise.
40437 (grub_vbe_set_memory_window): Likewise.
40438 (grub_vbe_get_memory_window): Likewise.
40439 (grub_vbe_set_scanline_length): Likewise.
40440 (grub_vbe_get_scanline_length): Likewise.
40441 (grub_vbe_set_display_start): Likewise.
40442 (grub_vbe_get_display_start): Likewise.
40443 (grub_vbe_set_palette_data): Likewise.
40444 * include/grub/i386/pc/vbe.h: New file.
40445
c46153d2 404462005-08-08 Hollis Blanchard <hollis@penguinppc.org>
40447
40448 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
40449 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
40450 * DISTLIST: Likewise.
40451 * kern/ieee1275/of.c: Moved to ...
40452 * kern/ieee1275/ieee1275.c: ... here.
40453
0cb90c45 404542005-08-08 Hollis Blanchard <hollis@penguinppc.org>
40455
40456 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
40457 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
40458 Pass 0 as `end' parameter to grub_strtoul().
40459
a19fb360 404602005-08-08 Hollis Blanchard <hollis@penguinppc.org>
40461
40462 * include/grub/powerpc/ieee1275/console.h: Do not include
40463 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
40464 ifdef.
40465 (grub_console_cur_color): Remove i386-specific prototype.
40466 (grub_console_real_putchar): Likewise.
40467 (grub_console_checkkey): Likewise.
40468 (grub_console_getkey): Likewise.
40469 (grub_console_getxy): Likewise.
40470 (grub_console_gotoxy): Likewise.
40471 (grub_console_cls): Likewise.
40472 (grub_console_setcursor): Likewise.
40473 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
40474 Include <grub/machine/console.h>.
40475 * term/ieee1275/ofconsole.c: Likewise.
40476
4ac9bd04 404772005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
40478
40479 * Makefile.in (LIBLZO): New variable.
40480
40481 * configure.ac: Check for LZO version 2.
40482
40483 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
40484 lzo/lzo1x.h instead of lzo1x.h.
40485
40486 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
40487 of -llzo.
40488
40489 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
40490 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
40491
40492 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
40493 copying the data from PARTITION to P.
40494
f4917dfd 404952005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
40496
40497 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
40498 negative, unload the module.
40499
40500 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
40501 map is "pc_partition_map" but not "pc".
40502 (usage): Fix the description. The options are --boot-image and
40503 --core-image but not --boot-file or --core-file.
40504 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
40505 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
40506 DEFAULT_DIRECTORY.
40507
40508 * util/i386/pc/grub-install.in: Do not specify --boot-file or
40509 --core-file. Specify INSTALL_DEVICE as an argument.
40510
40511 * util/console.c: Include config.h.
40512 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
40513 [HAVE_NCURSES_H]: Include ncurses.h.
40514 [HAVE_CURSES_H]: Include curses.h.
40515 [!A_NORMAL] (A_NORMAL): Defined as zero.
40516 [!A_STANDOUT] (A_STANDOUT): Likewise.
40517
40518 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
40519 -lncurses.
40520 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
40521
40522 * configure.ac: Check for curses libraries and headers.
40523
40524 * Makefile.in (LIBCURSES): New variable.
40525
40526 * genmk.rb (Script::rule): Set the executable bits.
40527
40528 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
40529 name of the PC partition map is "pc_partition_map" but not "pc".
40530
0e143073 405312005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
40532
40533 * util/i386/pc/grub-install.in (grub_probefs): New variable.
40534 (modules): Likewise.
40535 (usage): Added descriptions for --modules and --grub-probefs.
40536 Handle --modules and --grub-probefs. Save the arguments in MODULES
40537 and GRUB_PROBEFS, respectively.
40538 Auto-detect a filesystem module against GRUBDIR. If the result is
40539 empty and modules are not specified explicitly, abort the
40540 installation. Add the result to MODULES.
40541
40542 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
40543 disk/powerpc/ieee1275/ofdisk.c,
40544 include/grub/powerpc/ieee1275/init.h and
40545 term/powerpc/ieee1275/ofconsole.c.
40546 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
40547 term/ieee1275/ofconsole.c.
40548
40549 * include/grub/powerpc/ieee1275/console.h: Resurrected.
40550
40551 * COPYING: Upgraded to the latest version. Only the address of the
40552 FSF office has changed.
f19dbdb7 40553
efd6e6d5 405542005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
40555
40556 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
40557 kern/ieee1275.c with kern/ieee1275/of.c.
40558
40559 * kern/ieee1275.c: Moved to ...
40560 * kern/ieee1275/of.c: ... here.
40561
8ceafda2 405622005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
40563
40564 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 40565 readability.
8ceafda2 40566
40567 * config.guess: Updated to the latest version from gnulib.
40568 * config.sub: Likewise.
40569 * install.sh: Likewise.
40570 * mkinstalldirs: Likewise.
40571
40572 * include/grub/console.h: Removed. This file is arch-specific. Do
40573 not put this in include/grub.
40574
40575 * include/grub/i386/pc/console.h: Resurrected.
40576
40577 * util/console.c: Include grub/machine/console.h instead of
40578 grub/console.h.
40579 * util/grub-emu.c: Likewise.
40580
267f6cd9 405812005-08-04 Marco Gerards <metgerards@student.han.nl>
40582
40583 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
40584 hardcoded value.
f19dbdb7 40585
267f6cd9 40586 From Vincent Pelletier <subdino2004@yahoo.fr>
40587 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
40588 Redefined to use grub_getwh.
40589 (grub_term): New member named getwh.
40590 (grub_getwh): New prototype.
40591 * kern/term.c (grub_getwh): New function.
40592 * term/i386/pc/console.c (grub_console_getwh): New function.
40593 (grub_console_term): New member `getwh'.
40594 * term/i386/pc/vga.c (grub_vga_getwh): New function.
40595 (grub_vga_term): New member `getwh'.
0b5abe02 40596 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 40597 grub_ssize_t.
40598 (grub_ofconsole_getw): New function.
40599 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
40600 (grub_ofconsole_term): New field named getwh and new initial
40601 value.
40602
3be7266d 406032005-08-03 Hollis Blanchard <hollis@penguinppc.org>
40604
40605 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
40606 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
40607 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
40608 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
40609 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
40610 of <grub/machine/ieee1275.h>.
40611 * commands/ieee1275/reboot.c: Likewise.
40612 * boot/powerpc/ieee1275/ieee1275.c: Move ...
40613 * kern/ieee1275.c: ... to here. All users updated. Change all
40614 parameter structs to use new type `grub_ieee1275_cell_t'.
40615 * term/powerpc/ieee1275/ofconsole.c: Move ...
40616 * term/ieee1275/ofconsole.c: ... to here. All users updated.
40617 * disk/powerpc/ieee1275/ofdisk.c: Move ...
40618 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
40619 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
40620 to return int.
40621 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
40622 Remove unused prototypes. All users updated.
40623 * include/grub/powerpc/ieee1275/console.h: Removed.
40624 * include/grub/powerpc/ieee1275/ieee1275.h: Define
40625 `grub_ieee1275_cell_t'.
40626 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
40627 Cast comparisons with -1 to the correct type.
40628 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
40629 type to match `grub_ieee1275_entry_fn'.
40630
8b5f3938 406312005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
40632
40633 * DISTLIST: Added util/i386/pc/grub-probefs.c.
40634
40635 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
40636 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
40637 partmap/sun.c.
40638 (grub_probefs_SOURCES): New variable.
40639
40640 * util/i386/pc/grub-probefs.c: New file.
40641
40642 * util/i386/pc/grub-setup.c (main): Call
40643 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
40644 grub_hfs_init and grub_jfs_init to initialize the system. Call
40645 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
40646 grub_pc_partition_map_fini to finish the system.
40647
ea409713 406482005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
40649
40650 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
40651 function.
40652 (grub_multiboot_load_elf32): Likewise.
40653 (grub_multiboot_is_elf64): Likewise.
40654 (grub_multiboot_load_elf64): Likewise.
40655 (grub_multiboot_load_elf): Likewise.
40656 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
40657 an ELF32 or ELF64 file.
40658 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
40659
40660 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
40661 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
40662 NULL before calling FS->LABEL.
40663 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
40664 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
40665 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
40666 before calling FS->LABEL.
40667
141a288b 406682005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
40669
40670 * util/i386/pc/grub-install.in (datadir): New variable.
40671 (libdir): Removed.
40672 (pkgdatadir): New variable.
40673 (pkglibdir): Removed.
40674
0d5f8a54 406752005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
40676
40677 * DISTLIST: Added util/i386/pc/grub-install.in.
40678
40679 * util/i386/pc/grub-install.in: New file.
40680
40681 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
40682 (grub_install_SOURCES): Likewise.
40683
40684 * genmk.rb: Added support for scripts.
40685 (Script): New class.
40686 (scripts): New variable.
40687
40688 * Makefile.in (install-local): Install sbin_SCRIPTS by
40689 INSTALL_SCRIPT.
40690 (uninstall): Remove sbin_SCRIPTS.
40691
40692 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
40693 device, try to get a GRUB device by
40694 grub_util_biosdisk_get_grub_dev.
40695 Free DEST_DEV.
40696
40697 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
40698 description for --device-map.
40699
5f968e1e 407002005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
40701
40702 Change the semantics of variable hooks. They now return strings
40703 instead of error values.
f19dbdb7 40704
5f968e1e 40705 * util/i386/pc/grub-setup.c: Include grub/env.h.
40706 (setup): Use grub_device_set_root instead of grub_env_set.
40707
40708 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
40709 grub_env_get instead of grub_device_set_root and
40710 grub_device_get_root, respectively.
40711
40712 * kern/main.c (grub_env_write_root): New function.
40713 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
40714 grub_env_set instead of grub_device_set_root.
40715
40716 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
40717 many variables.
40718 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
40719 rather than calling ENV->WRITE_HOOK afterwards.
40720 (grub_env_get): Return the result of ENV->READ_HOOK rather than
40721 passing a pointer of a pointer.
40722 (grub_register_variable_hook): Change the types of "read_hook" and
40723 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
40724 respectively.
40725 Allocate the default empty string on the heap, because this string
40726 may be freed later.
40727
40728 * kern/device.c: Include grub/env.h.
40729 (grub_device_set_root): Removed.
40730 (grub_device_get_root): Likewise.
40731 (grub_device_open): Use grub_env_get instead of
40732 grub_device_get_root.
40733
40734 * include/grub/env.h (grub_env_read_hook_t): New type.
40735 (grub_env_write_hook_t): Likewise.
40736 (grub_env_var): Change the types of "read_hook" and "write_hook"
40737 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
40738 (grub_register_variable_hook): Likewise.
40739
40740 * include/grub/device.h (grub_device_set_root): Removed.
40741 (grub_device_set_root): Likewise.
40742
40743 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
40744 make sure that DIRNAME terminates with '/', so that
40745 grub_fat_find_dir will fail if PATH is not a directory.
40746
40747 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
40748 from DIRNAME.
40749 Use the qualifier auto for print_files and print_files_long.
40750 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
40751 as a regular file.
40752 Put a newline only if there is no error.
40753 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
40754 used.
40755
896f0afd 407562005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
40757
40758 * kern/partition.c (grub_partition_probe): Initialize PART to
40759 NULL. Otherwise, when no partition map is registered, this returns
40760 a garbage.
40761
b28b81b2 407622005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
40763
40764 * partmap/apple.c (apple_partition_map_iterate): Check if POS
40765 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
40766 valid.
40767
5f3607e0 407682005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
40769
40770 * commands/ls.c (grub_ls_list_disks): Print the filesystem
40771 information on each device, if it does not have partitions. Print
40772 "Device" instead of "Disk", because this function is not specific
40773 to disk devices.
40774
40775 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
40776 static to ensure that it is put on the memory rather than a
40777 register.
40778
502c87e8 407792005-07-17 Yoshinori Okuji <okuji@enbug.org>
40780
40781 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
40782 (grub_cat_init): Likewise.
40783 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
40784 (options): Likewise.
40785 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
40786 (grub_configfile_init): Likewise.
40787 * font/manager.c (GRUB_MOD_INIT): Likewise.
40788 * commands/help.c (GRUB_MOD_INIT): Likewise.
40789 (grub_help_init): Likewise.
40790 * normal/command.c (grub_command_init): Likewise.
40791 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
40792 * disk/loopback.c (grub_loop_init): Likewise.
40793 (GRUB_MOD_INIT): Likewise.
40794 * commands/ls.c (grub_ls_init): Likewise.
40795 (GRUB_MOD_INIT): Likewise.
40796 (options): Likewise.
40797 * commands/boot.c (grub_boot_init): Likewise.
40798 (GRUB_MOD_INIT): Likewise.
40799 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
40800 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
40801 (GRUB_MOD_INIT): Likewise.
40802 * commands/cmp.c (grub_cmp_init): Likewise.
40803 (GRUB_MOD_INIT): Likewise.
40804
40805 * normal/arg.c: Use <> instead of "" to include header files.
40806 (SHORT_ARG_HELP): New macro.
40807 (SHORT_ARG_USAGE): Likewise.
40808 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
40809 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
40810 descriptions.
40811 (find_short): Check if C is 'h' or 'u' explicitly.
40812 (grub_arg_show_help): Use space characters instead of tabs. Treat
40813 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
40814 are shown with --help and --usage only if they are not used for
40815 the command itself.
40816 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
40817 'h' and 'u'.
40818
40819 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
40820 const into "longarg". Change the type of "shortarg" to int.
40821
f806d18e 408222005-07-17 Yoshinori Okuji <okuji@enbug.org>
40823
40824 * boot/i386/pc/boot.S (boot_drive_check): New label.
40825
40826 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
40827 macro.
40828
40829 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
40830 which do not pass a boot drive correctly. Copied from GRUB Legacy.
40831
e293232b 408322005-07-17 Yoshinori Okuji <okuji@enbug.org>
40833
40834 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
40835 When turning off Gate A20, skip the check and return immediately,
40836 because this is not fatal usually.
40837
ebedfd00 408382005-07-17 Yoshinori Okuji <okuji@enbug.org>
40839
40840 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
40841 be 0x7C00 instead of 0x8000.
40842
40843 * boot/i386/pc/pxeboot.S: Rewritten.
40844
40845 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
40846 EXT_C.
40847 (gate_a20_check_state): Read a byte from 0x108000. Invert the
40848 result.
40849
654fc59f 408502005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
40851
40852 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
40853 robustness. This routine now supports a BIOS call and System
40854 Control Port A to modify the gate A20.
40855
40856 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40857 Increased to 0x440.
40858
09f9923f 408592005-07-12 Hollis Blanchard <hollis@penguinppc.org>
40860
40861 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
40862 device path and resulting ihandle.
40863 (grub_ofdisk_close): dprintf the ihandle being closed.
40864 (grub_ofdisk_read): dprintf function parameters.
40865 * kern/mm.c (grub_mm_init_region): Likewise.
40866 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
40867 (grub_linux_boot): dprintf the Linux entry point, initrd address and
40868 size, and boot arguments.
40869 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
40870 before loading into memory.
40871 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
40872 before loading into memory.
40873
7ef504d8 408742005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
40875
40876 * kern/mm.c: Added much documentation.
40877 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
40878 8, set to 5 instead of 8.
40879
e0f050c2 408802005-07-10 Yoshinori Okuji <okuji@enbug.org>
40881
40882 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
40883
40884 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
40885 (grub_mkdevicemap_SOURCES): New variable.
40886
40887 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
40888 lib/device.c of GRUB Legacy.
40889
7224189a 408902005-07-10 Yoshinori Okuji <okuji@enbug.org>
40891
40892 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
40893 instead of PATH is NULL.
40894
68c864eb 408952005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
40896
40897 * commands/cmp.c (BUFFER_SIZE): New macro.
40898 (grub_cmd_cmp): Close the right file at the right time. Compare
40899 only data just read. Don't report files of different size as
40900 identical. Dynamically allocate buffers. Move variable
40901 declarations at the beginning of function.
40902
e6f3e614 409032005-07-09 Yoshinori Okuji <okuji@enbug.org>
40904
40905 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
40906 reverse.
40907
f8f1559a 409082004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
40909
40910 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
40911 when backspace is pressed at beginning of line.
40912
39c9d41d 409132005-07-03 Yoshinori Okuji <okuji@enbug.org>
40914
40915 * DISTLIST: Added genfslist.sh.
40916
40917 * normal/main.c (fs_module_list): New variable.
40918 (autoload_fs_module): New function.
40919 (read_fs_list): Likewise.
40920 (grub_normal_execute): Call read_fs_list.
40921
40922 * kern/fs.c (grub_fs_autoload_hook): New variable.
40923 (grub_fs_probe): Added support for auto-loading.
40924
40925 * include/grub/normal.h (struct grub_fs_module_list): New struct.
40926 (grub_fs_module_list_t): New type.
40927
40928 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
40929 (grub_fs_autoload_hook): New prototype.
40930
40931 * genfslist.sh: New file.
f19dbdb7 40932
39c9d41d 40933 * genmk.rb: Added a rule to generate a filesystem list.
40934
121c1d83 409352005-06-30 Marco Gerards <metgerards@student.han.nl>
40936
40937 * configure.ac: Fix the test for cross-compiling.
40938
40939 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
40940 define GRUB_UTIL anymore.
40941
40942 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
40943 so this function works on other systems than just big endian.
40944 (load_modules): Likewise.
40945 (add_segments): Likewise.
40946
e75d76e1 409472005-06-23 Hollis Blanchard <hollis@penguinppc.org>
40948
40949 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
40950 contains `l' modifier, get a long from va_arg().
40951
50b5a0a7 409522005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
40953
40954 * kern/mm.c (grub_free): If the next free block which is being
40955 merged is the first free block, set the first block to the block
40956 being freed.
40957 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
40958
89371b20 409592005-05-08 Hollis Blanchard <hollis@penguinppc.org>
40960
40961 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
40962 `grub_ieee1275_chosen'.
40963
168d6e58 409642005-05-08 Hollis Blanchard <hollis@penguinppc.org>
40965
40966 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
40967 (grub_ieee1275_chosen): New variable.
40968 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
40969 `chosen'.
40970 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
40971 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
40972 Rename first argument to `phandle' for consistency.
40973 (grub_ieee1275_get_property_length): Likewise.
40974 (grub_ieee1275_next_property): Likewise. Change type of first argument
40975 to grub_ieee1275_phandle_t.
40976 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
40977 Move export next to declaration.
40978 (grub_ieee1275_chosen): New variable.
40979 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
40980 Correct cosmetic typo.
40981 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
40982 `grub_ieee1275_chosen'.
40983 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
40984 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
40985 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
40986 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
40987 `grub_ieee1275_chosen'.
40988
ca5baa3f 409892005-05-10 Hollis Blanchard <hollis@penguinppc.org>
40990
40991 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
40992 /chosen/bootargs.
40993 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
40994 /chosen/bootargs as "variable=value" pairs.
40995
708b345f 409962005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
40997
40998 * include/grub/misc.h (grub_dprintf): New macro.
40999 (grub_real_dprintf): New prototype.
41000 (grub_strword): Likewise.
41001 (grub_iswordseparator): Likewise.
41002 * kern/misc.c (grub_real_dprintf): New function.
41003 (grub_strword): Likewise.
41004 (grub_iswordseparator): Likewise.
41005
f4c5e67c 410062005-04-30 Hollis Blanchard <hollis@penguinppc.org>
41007
41008 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
41009 (roundup): Remove macro.
41010 (grub_ieee1275_flags): Make static.
41011 (grub_ieee1275_realmode): Remove.
41012 (grub_ieee1275_test_flag): New function.
41013 (grub_ieee1275_set_flag): Likewise.
41014 (find_options): Rename to `grub_ieee1275_find_options'; update
41015 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
41016 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
41017 (cmain): New prototype.
41018 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
41019 `grub_ieee1275_flags' directly.
41020 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
41021 machine/biosdisk.h.
41022 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
41023 Don't include grub/machine/init.h.
41024 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
41025 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
41026 Remove prototype.
41027 (grub_ieee1275_realmode): Likewise.
41028 (grub_ieee1275_flag): New enum.
41029 (grub_ieee1275_test_flag): New prototype.
41030 (grub_ieee1275_set_flag): New prototype.
41031 * include/grub/powerpc/ieee1275/init.h: Remove file.
41032 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
41033 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
41034 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
41035 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
41036 comment.
41037 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
41038 `grub_ieee1275_test_flag'.
41039 (grub_ieee1275_encode_devname): Likewise.
41040
ed16607e 410412005-04-21 Hollis Blanchard <hollis@penguinppc.org>
41042
41043 * include/grub/powerpc/ieee1275/ieee1275.h
41044 (grub_ieee1275_encode_devname): New prototype.
41045 (grub_ieee1275_get_filename): Likewise.
41046 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
41047 function.
41048 (grub_set_prefix): Likewise.
41049 (grub_machine_init): Call grub_set_prefix.
41050 * kern/powerpc/ieee1275/openfw.c: Fix typos.
41051 (grub_parse_type): New enum.
41052 (grub_ieee1275_get_devargs): New function.
41053 (grub_ieee1275_get_devname): Likewise.
41054 (grub_ieee1275_parse_args): Likewise.
41055 (grub_ieee1275_get_filename): Likewise.
41056 (grub_ieee1275_encode_devname): Likewise.
41057
be369920 410582005-03-30 Marco Gerards <metgerards@student.han.nl>
41059
41060 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
41061 `grub_loader_unset'.
41062
a5ce3a4a 410632005-03-26 Hollis Blanchard <hollis@penguinppc.org>
41064
41065 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
41066 instead of grub_ieee1275_interpret.
41067 (grub_halt_init): New function.
41068 (grub_halt_fini): Likewise.
41069 (GRUB_MOD_INIT): Correct message grammar.
41070 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
41071 instead of grub_ieee1275_interpret.
41072 (grub_reboot_init): New function.
41073 (grub_reboot_fini): Likewise.
41074 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
41075 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
41076 util/i386/pc/misc.c with commands/ieee1275/halt.c,
41077 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
41078 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
41079 function.
41080 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
41081 Add prototype.
41082 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
41083 prototype.
41084 (grub_halt): Likewise.
41085 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
41086 (cmain): Remove __attribute__((unused)).
41087 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
41088 (grub_heap_len): Likewise.
41089 (grub_machine_fini): New function.
41090 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
41091 (grub_halt): Likewise.
41092 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
41093 function.
41094 * util/powerpc/ieee1275/misc.c: New file.
41095
0058f771 410962005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
41097
41098 * DISTLIST: New file.
41099 * gendistlist.sh: Likewise.
f19dbdb7 41100
0058f771 41101 * Makefile.in (COMMON_DISTFILES): Removed.
41102 (BOOT_DISTFILES): Likewise.
41103 (CONF_DISTFILES): Likewise.
41104 (DISK_DISTFILES): Likewise.
41105 (FS_DISTFILES): Likewise.
41106 (INCLUDE_DISTFILES): Likewise.
41107 (KERN_DISTFILES): Likewise.
41108 (LOADER_DISTFILES): Likewise.
41109 (TERM_DISTFILES): Likewise.
41110 (UTIL_DISTFILES): Likewise.
41111 (DISTFILES): Likewise.
41112 (uninstall): Uninstall files in $(pkgdata_DATA).
41113 (DISTLIST): New target.
41114 (distdir): Use the contents of the file DISTLIST to get a list of
41115 distributed files.
41116
46b3b8a5 411172005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
41118
41119 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
41120 descriptor. This is ported from GRUB Legacy.
41121
41122 * gencmdlist.sh: Added an extra semicolon to make it work with
41123 old sed versions. Reported by Robert Bihlmeyer
41124 <robbe@orcus.priv.at>.
41125
5822ff87 411262005-03-08 Yoshinori Okuji <okuji@enbug.org>
41127
41128 Automatic loading of commands is supported.
f19dbdb7 41129
5822ff87 41130 * normal/main.c (read_command_list): New function.
41131 (grub_normal_execute): Call read_command_list.
41132
41133 * normal/command.c (grub_register_command): Return zero or CMD.
41134 Allocate CMD->NAME from the heap.
41135 Initialize CMD->MODULE_NAME to zero.
41136 Find the same name as well. If the same command is found and it is
41137 a dummy command, overwrite members. If it is not a dummy command,
41138 return zero.
41139 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
41140 (grub_command_find): If a dummy command is found, load a module
41141 and retry to find a command only once.
41142
41143 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
41144 make sure that each command is loaded.
41145
41146 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
41147 macro.
41148 (struct grub_command): Remove const from the member `name'.
41149 Add a new member `module_name'.
41150 (grub_register_command): Return grub_command_t.
41151
41152 * commands/help.c (grub_cmd_help): Call grub_command_find to make
41153 sure that each command is loaded.
41154
41155 * genmk.rb (PModule::rule): Specify a module name without the
41156 suffix ".mod" to gencmdlist.sh.
41157
7b1f4b57 411582005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
41159
41160 * gencmdlist.sh: New file.
f19dbdb7 41161
7b1f4b57 41162 * genmk.rb (PModule::rule): Generate a rule for a command list.
41163 Clean command.lst.
41164 Generate command.lst from $(COMMANDFILES).
41165
41166 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
41167 (DATA): Added $(pkgdata_DATA).
41168 (install-local): Install files in $(pkgdata_DATA).
41169
062aaf39 411702005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
41171
41172 * term/i386/pc/vga.c (debug_command): Removed.
41173 (GRUB_MOD_INIT): Do not register the command "debug".
41174
41175 From Hollis Blanchard:
41176 * commands/configfile.c: New file.
41177 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41178 commands/configfile.c.
41179 (pkgdata_MODULES): Added configfile.mod.
41180 (configfile_mod_SOURCES): New variable.
41181 (configfile_mod_CFLAGS): Likewise.
41182 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41183 commands/configfile.c.
41184 (pkgdata_MODULES): Added configfile.mod.
41185 (configfile_mod_SOURCES): New variable.
41186 (configfile_mod_CFLAGS): Likewise.
41187 * util/grub-emu.c (main): Call grub_configfile_init and
41188 grub_configfile_fini.
41189 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
41190 prototype.
41191 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 41192
cee01aa6 411932005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
41194
41195 * normal/arg.c (grub_arg_show_help): Do not show the bug report
41196 address.
41197
41198 * commands/help.c (grub_cmd_help): Do not print newlines after
41199 the last command in print_command_help.
41200
93f3a1d8 412012005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
41202
41203 * commands/default.h: New file.
41204 * commands/timeout.h: Likewise.
41205 * normal/context.c: Likewise.
f19dbdb7 41206
93f3a1d8 41207 * util/misc.c: Do not include sys/times.h.
41208 Include sys/time.h and grub/machine/time.h.
41209 (grub_get_rtc): Rewritten with gettimeofday.
41210
41211 * util/grub-emu.c (main): Call grub_default_init and
41212 grub_timeout_init before grub_normal_init, and call
41213 grub_timeout_fini and grub_default_fini after grub_main.
41214
41215 * util/console.c (grub_ncurses_checkkey): Return the read
41216 character or -1.
41217
41218 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
41219 timeouts.
41220
41221 * normal/main.c (read_config_file): Push MENU. If this fails,
41222 print an error and wait for a user input.
41223 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
41224 If a menu is empty or an error occurs, pop MENU.
41225 (grub_normal_execute): Pop and free MENU after grub_menu_run
41226 returns.
41227
41228 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
41229
41230 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
41231 include time.h.
41232 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
41233 without GRUB_UTIL.
41234 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
41235 time.h.
41236 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
41237 without GRUB_UTIL.
41238
41239 * include/grub/normal.h (struct grub_menu_list): New struct.
41240 (grub_menu_list_t): New type.
41241 (struct grub_context): New struct.
41242 (grub_context_t): New type.
41243 (grub_register_command): Got rid of EXPORT_FUNC.
41244 (grub_unregister_command): Likewise.
41245 (grub_context_get): New prototype.
41246 (grub_context_get_current_menu): Likewise.
41247 (grub_context_push_menu): Likewise.
41248 (grub_context_pop_menu): Likewise.
41249 [GRUB_UTIL] (grub_default_init): Likewise.
41250 [GRUB_UTIL] (grub_default_fini): Likewise.
41251 [GRUB_UTIL] (grub_timeout_init): Likewise.
41252 [GRUB_UTIL] (grub_timeout_fini): Likewise.
41253
41254 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
41255 commands/timeout.c and normal/context.c.
41256 (pkgdata_MODULES): Added default.mod and timeout.mod.
41257 (normal_mod_SOURCES): Added normal/context.c.
41258 (default_mod_SOURCES): New variable.
41259 (default_mod_CFLAGS): Likewise.
41260 (timeout_mod_SOURCES): Likewise.
41261 (timeout_mod_CFLAGS): Likewise.
41262 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
41263 conf/i386-pc.rmk.
41264 (pkgdata_MODULES): Added default.mod and timeout.mod.
41265 (normal_mod_SOURCES): Added normal/context.c.
41266 (default_mod_SOURCES): New variable.
41267 (default_mod_CFLAGS): Likewise.
41268 (timeout_mod_SOURCES): Likewise.
41269 (timeout_mod_CFLAGS): Likewise.
41270
41271 * Makefile.in (all-local): Added $(MKFILES).
41272
4ed2e1dd 412732005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
41274
41275 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
41276 (grub_emu_SOURCES): Likewise.
41277 (pkgdata_MODULES): Add `sun.mod'.
41278 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
41279 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41280 `partmap/sun.c'.
41281 (pkgdata_MODULES): Add `sun.mod'.
41282 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
41283 * include/grub/partition.h (grub_sun_partition_map_init): New
41284 prototype.
41285 (grub_sun_partition_map_fini): Likewise.
41286 * partmap/sun.c: New file.
41287 * util/grub-emu.c (main): Initialize and de-initialize the sun
41288 partitionmap support.
41289
4d4e372e 412902005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
41291
41292 This implements an Emacs-like menu entry editor.
f19dbdb7 41293
4d4e372e 41294 * normal/menu_entry.c: New file.
f19dbdb7 41295
4d4e372e 41296 * util/console.c (grub_ncurses_putchar): Translate some Unicode
41297 characters to ASCII.
41298 (saved_char): New variable.
41299 (grub_ncurses_checkkey): Rewritten completely.
41300 (grub_ncurses_getkey): Likewise.
41301 (grub_ncurses_init): Call raw instead of cbreak.
41302
41303 * normal/menu.c (print_entry): Do not put a space.
41304 (init_page): Renamed to ...
41305 (grub_menu_init_page): ... this. All callers changed.
41306 (edit_menu_entry): Removed.
41307 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
41308
41309 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
41310
41311 * kern/misc.c (grub_vprintf): Call grub_refresh.
41312
41313 * normal/menu.c (DISP_LEFT): Renamed to ...
41314 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
41315 * normal/menu.c (DISP_UP): Renamed to ...
41316 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
41317 * normal/menu.c (DISP_RIGHT): Renamed to ...
41318 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
41319 * normal/menu.c (DISP_DOWN): Renamed to ...
41320 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
41321 * normal/menu.c (DISP_HLINE): Renamed to ...
41322 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
41323 * normal/menu.c (DISP_VLINE): Renamed to ...
41324 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
41325 * normal/menu.c (DISP_UL): Renamed to ...
41326 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
41327 * normal/menu.c (DISP_UR): Renamed to ...
41328 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
41329 * normal/menu.c (DISP_LL): Renamed to ...
41330 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
41331 * normal/menu.c (DISP_LR): Renamed to ...
41332 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
41333 * normal/menu.c (TERM_WIDTH): Renamed to ...
41334 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
41335 * normal/menu.c (TERM_HEIGHT): Renamed to ...
41336 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
41337 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
41338 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
41339 * normal/menu.c (TERM_MARGIN): Renamed to ...
41340 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
41341 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
41342 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
41343 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
41344 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
41345 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
41346 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
41347 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
41348 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
41349 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
41350 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
41351 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
41352 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
41353 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
41354 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
41355 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
41356 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
41357 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
41358 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
41359 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
41360 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
41361 All callers changed.
41362
41363 * include/grub/normal.h: New prototype.
41364
41365 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41366 normal/menu_entry.c.
41367 (normal_mod_SOURCES): Likewise.
41368 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41369 (normal_mod_SOURCES): Likewise.
41370
e6b92c8a 413712005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
41372
41373 * include/grub/normal.h (grub_halt_init): New prototype.
41374 (grub_halt_fini): Likewise.
41375 (grub_reboot_init): Likewise.
41376 (grub_reboot_fini): Likewise.
41377
41378 * util/grub-emu.c: Include signal.h.
41379 (main_env): New global variable.
41380 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
41381 catch C-c.
41382 (grub_machine_fini): New function.
41383 (main): Call grub_halt_init and grub_reboot_init before
41384 grub_main, and grub_reboot_fini and grub_halt_fini after it.
41385 Call setjmp with MAIN_ENV to go back afterwards.
41386 Call grub_machine_fini right before return.
41387
41388 * include/grub/util/misc.h: Include setjmp.h.
41389 (main_env): New prototype.
41390
41391 * include/grub/kernel.h (grub_machine_fini): New prototype.
41392 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
41393 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
41394
41395 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
41396 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
41397 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 41398
e6b92c8a 41399 * util/i386/pc/misc.c: New file.
f19dbdb7 41400
e6b92c8a 41401 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41402 util/i386/pc/misc.c, commands/i386/pc/halt.c and
41403 commands/i386/pc/reboot.c.
41404
c642636f 414052005-02-14 Guillem Jover <guillem@hadrons.org>
41406
41407 * include/grub/dl.h (grub_dl_check_header): New prototype.
41408 (grub_arch_dl_check_header): Change return type to grub_err_t,
41409 remove size parameter and export function. Update all callers.
41410 * kern/dl.c (grub_dl_check_header): New function.
41411 (grub_dl_load_core): Use `grub_dl_check_header' instead of
41412 `grub_arch_dl_check_header'. Check ELF type. Check if sections
41413 are inside the core.
41414 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
41415 independent ELF header checks.
41416 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
41417 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
41418 `grub_dl_check_header' instead of explicit checks. Check for the
41419 ELF type.
41420 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
41421 `grub_dl_check_header' instead of explicit checks. Remove arch
41422 specific ELF header checks.
41423
e6b92c8a 41424 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
41425 argument SIZE.
41426
5eabe94b 414272005-02-13 Hollis Blanchard <hollis@penguinppc.org>
41428
41429 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
41430 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
41431
1b14a681 414322005-02-12 Hollis Blanchard <hollis@penguinppc.org>
41433
41434 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 41435 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 41436 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 41437 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 41438 * partmap/amiga.c (amiga_partition_map_iterate): Return
41439 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
41440 * partmap/apple.c (apple_partition_map_iterate): Likewise.
41441
aca108aa 414422005-02-01 Guillem Jover <guillem@hadrons.org>
41443
41444 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
41445 help info.
41446
c9f9c556 414472005-01-31 Marco Gerards <metgerards@student.han.nl>
41448
41449 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
41450 Removed prototype.
41451 (grub_rescue_cmd_linux): New prototype.
41452 (grub_rescue_cmd_initrd): Likewise.
41453 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
41454 `bi_rec'.
41455 (grub_linux_release_mem): Release the memory for the initrd.
41456 (grub_load_linux): Renamed from this...
41457 (grub_rescue_cmd_linux): ...To this. Changed all callers.
41458 Changed `entry' not to be static. Loop over memory regions to
41459 find another one when the default fails.
41460 (grub_rescue_cmd_initrd): New function.
41461 (grub_linux_init): Remove function.
41462 (grub_linux_fini): Likewise.
41463 (GRUB_MOD_INIT): Register `initrd'.
41464 (GRUB_MOD_FINI): Unregister `initrd'.
41465 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
41466 Function removed.
41467 (grub_linux_normal_fini): Likewise.
41468 (GRUB_MOD_INIT): Register `initrd'.
41469 (GRUB_MOD_FINI): Unregister `initrd'.
41470
990cf3aa 414712005-01-31 Marco Gerards <metgerards@student.han.nl>
41472
41473 * commands/help.c: New file.
41474 * normal/arg.c (show_help): Renamed to...
41475 (grub_arg_show_help): ... this.
41476 * commands/i386/pc/halt.c: New file.
41477 * commands/i386/pc/reboot.c: Likewise.
41478 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
41479 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
41480 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
41481 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
41482 variables.
41483 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41484 `commands/help.c'.
41485 (pkgdata_MODULES): Add `help.mod'.
41486 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
41487 * grub/i386/pc/init.h (grub_reboot): New prototype.
41488 (grub_halt): Likewise.
41489 * include/grub/normal.h (grub_arg_show_help): New prototype.
41490 (grub_help_init): Likewise.
41491 (grub_help_fini): Likewise.
41492 * util/grub-emu.c (main): Initialize and deinitialize the help
41493 command.
41494
41495 * normal/cmdline.c (grub_cmdline_get): Doc fix.
41496
41497 * normal/command.c (grub_command_init): Fixed the description of
41498 the `set' and `unset' commands.
41499
415002005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 41501
41502 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
41503 function.
41504 * commands/ieee1275/halt.c: New file.
41505 * commands/ieee1275/reboot.c: Likewise.
41506 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
41507 `__attribute__ ((unused))'. Some GCS related fixed.
41508 (grub_suspend_init) [GRUB_UTIL]: Function removed.
41509 (grub_suspend_fini): Likewise.
41510 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
41511 and `halt.mod'.
41512 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
41513 (halt_mod_CFLAGS): New variables.
41514 * include/grub/powerpc/ieee1275/ieee1275.h
41515 (grub_ieee1275_interpret): New prototype.
41516
1ab09cc7 415172005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
41518
41519 * include/grub/misc.h (memmove): New prototype.
41520 (memcpy): Likewise.
41521
8b8cbdb2 415222005-01-22 Hollis Blanchard <hollis@penguinppc.org>
41523
41524 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
41525 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
41526
e3741a27 415272005-01-22 Marco Gerards <metgerards@student.han.nl>
41528
41529 * kern/misc.c (grub_strndup): Function rewritten.
41530
776bd780 415312005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
41532
41533 * normal/menu.c (TERM_WIDTH): Macro redefined.
41534 (TERM_TOP_BORDER_Y): Likewise.
41535 (draw_border): Replaced while-loop by a for-loop. Make the number
41536 of lines consistent with the number of lines displayed in
41537 print_entries. Added a margin below the rectangle.
41538 (print_entry): Make the entry fit in the rectangle.
41539 (print_entries): Display the scroll arrows next to the right
41540 border.
41541
78026bce 415422005-01-21 Marco Gerards <metgerards@student.han.nl>
41543
41544 * fs/minix.c (grub_minix_find_file): Reserve more space for
41545 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
41546 `grub_strncpy' to copy `path' into it.
41547
67bbaf0f 415482005-01-21 Marco Gerards <metgerards@student.han.nl>
41549
41550 Add the loopback device, a device via which files can be accessed
41551 as devices.
f19dbdb7 41552
67bbaf0f 41553 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
41554 (pkgdata_MODULES): Add loopback.mod.
41555 (loopback_mod_SOURCES): New variable.
41556 (loopback_mod_CFLAGS): Likewise.
41557 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41558 `disk/loopback.c'.
41559 (pkgdata_MODULES): Add loopback.mod.
41560 (loopback_mod_SOURCES): New variable.
41561 (loopback_mod_CFLAGS): Likewise.
41562 * disk/loopback.c: new file.
41563 * include/grub/normal.h (grub_loop_init): New prototype.
41564 (grub_loop_fini): New prototype.
41565 * util/grub-emu.c (main): Initialize and de-initialize loopback
41566 support.
41567 * include/grub/disk.h (grub_disk_dev_id): Add
41568 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
41569
6f1c18bd 415702005-01-20 Hollis Blanchard <hollis@penguinppc.org>
41571
41572 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
41573 function.
41574 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
41575 (suspend_mod_SOURCES): New variable.
41576 (suspend_mod_CFLAGS): Likewise.
41577 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
41578 New prototype.
41579 * commands/ieee1275/suspend.c: New file.
41580
b38551da 415812005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41582
41583 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 41584 ((unused))' to `__attribute__ ((used))'.
b38551da 41585 (GRUB_MOD_FINI): Likewise.
41586 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
41587 * genmk.rb (PModule): Assign space to common symbols when linking
41588 modules.
41589
777aff39 415902005-01-20 Marco Gerards <metgerards@student.han.nl>
41591
41592 * include/grub/mm.h (grub_mm_init_region): Change the type of the
41593 `unsigned' arguments to `grub_size_t'.
41594 (grub_malloc): Likewise.
41595 (grub_realloc): Likewise.
41596 (grub_memalign): Likewise.
41597 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
41598 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
41599 * util/misc.c (grub_malloc): Likewise.
41600 (grub_realloc): Likewise.
41601 * kern/mm.c (get_header_from_pointer): Change the casts to
41602 `unsigned' into a cast to `grub_size_t'.
41603
41604 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
41605 point to `currnode' when `currnode' is changed.
41606
41607 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
41608 Schottelius <nico-linux@schottelius.org>.
41609
d0ff18e1 416102005-01-09 Hollis Blanchard <hollis@penguinppc.org>
41611
41612 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
41613 (note_path): Remove variable.
41614 (GRUB_IEEE1275_NOTE_NAME): New macro.
41615 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
41616 (grub_ieee1275_note_hdr): New structure.
41617 (grub_ieee1275_note_desc): Likewise.
41618 (grub_ieee1275_note): Likewise.
41619 (load_note): Remove `dir' argument. All callers updated. Remove
41620 `note_img' and `path'. Do not load a file from `note_path'.
41621 Initialize a struct grub_ieee1275_note and write that to `out'.
41622 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
41623
4ca7004c 416242005-01-05 Marco Gerards <metgerards@student.han.nl>
41625
41626 * util/misc.c (grub_util_read_image): Revert last change. It
41627 called `grub_util_read_at', which seeks from the beginning of the
41628 file.
41629
0b412211 416302005-01-04 Hollis Blanchard <hollis@penguinppc.org>
41631
41632 * TODO: Add note about endianness in grub-mkimage.
41633 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
41634 section.
41635 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
41636 (grub_mkimage_SOURCES): New target.
41637 * include/grub/kernel.h (grub_start_addr): Remove variable.
41638 (grub_end_addr): Likewise.
41639 (grub_total_module_size): Likewise.
41640 (grub_kernel_image_size): Likewise.
41641 (GRUB_MODULE_MAGIC): New constant.
41642 (grub_module_info): New structure.
41643 (grub_arch_modules_addr): New prototype.
41644 (grub_get_end_addr): Remove prototype.
41645 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
41646 * include/grub/powerpc/ieee1275/kernel.h: New file.
41647 * include/grub/util/misc.h (grub_util_get_fp_size): New
41648 prototype.
41649 (grub_util_read_at): Likewise.
41650 (grub_util_write_image_at): Likewise.
41651 * kern/main.c (grub_get_end_addr): Remove function.
41652 (grub_load_modules): Call grub_arch_modules_addr instead of using
41653 grub_end_addr. Look for a grub_module_info struct in memory. Use
41654 the grub_module_info fields instead of calling grub_get_end_addr
41655 as loop conditions. Move grub_add_unused_region code here.
41656 (grub_add_unused_region): Remove function.
41657 * kern/i386/pc/init.c: Include grub/cache.h.
41658 (grub_machine_init): Remove call to grub_get_end_addr. Remove
41659 one call to add_mem_region.
41660 (grub_arch_modules_addr): New function.
41661 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
41662 (grub_total_module_size): Likewise.
41663 Include grub/machine/kernel.h.
41664 (grub_arch_modules_addr): New function.
41665 * util/grub-emu.c (grub_end_addr): Remove variable.
41666 (grub_total_module_size): Likewise.
41667 (grub_arch_modules_addr): New function.
41668 * util/misc.c: Include unistd.h.
41669 (grub_util_get_fp_size): New function.
41670 (grub_util_read_at): Likewise.
41671 (grub_util_write_image_at): Likewise.
41672 (grub_util_read_image): Call grub_util_read_at.
41673 (grub_util_write_image): Call grub_util_write_image_at.
41674 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
41675 additional memory in kernel_img for a struct grub_module_info.
41676 Fill in that grub_module_info.
41677 * util/powerpc/ieee1275/grub-mkimage.c: New file.
41678
458786f8 416792005-01-03 Hollis Blanchard <hollis@penguinppc.org>
41680
41681 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
41682 New function.
41683 * include/grub/powerpc/ieee1275/ieee1275.h
41684 (grub_ieee1275_milliseconds): New prototype.
41685 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
41686 Change to 1000.
41687 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
41688 grub_ieee1275_milliseconds.
41689
ac507d1b 416902005-01-03 Hollis Blanchard <hollis@penguinppc.org>
41691
41692 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
41693 variable.
41694 (find_options): New function.
41695 (cmain): Call find_options.
41696 * include/grub/powerpc/ieee1275/ieee1275.h
41697 (grub_ieee1275_realmode): New extern variable.
41698 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
41699 grub_map if grub_ieee1275_realmode is false.
41700
6b8fd1c4 417012004-12-29 Marco Gerards <metgerards@student.han.nl>
41702
41703 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
41704 lines are inserted and make it work like readline. Reported by
41705 Vincent Pelletier <subdino2004@yahoo.fr>.
41706
8514a1e0 417072004-12-28 Marco Gerards <metgerards@student.han.nl>
41708
41709 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
41710
41711 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
41712 `kern/powerpc/cache.S'.
41713
924b6140 417142004-12-27 Marco Gerards <metgerards@student.han.nl>
41715
41716 * genmk.rb: Handle the `Program' class in the main loop. Written
41717 by Johan Rydberg <jrydberg@gnu.org>.
41718 (Program): New class.
41719 (programs): New variable.
41720 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
41721 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
41722 instead of "grub/kernel.h". Include <grub/machine/init.h>.
41723 (help_arch): Function removed.
41724 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
41725 `powerpc/libgcc.h' and `loader.h'.
41726 (pkgdata_PROGRAMS): New variable.
41727 (sbin_UTILITIES): Variable removed.
41728 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
41729 (grubof_SOURCES): Variable re-defined so it only includes the
41730 core functionality.
41731 (grubof_CFLAGS): Remove `-DGRUBOF'.
41732 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
41733 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
41734 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
41735 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
41736 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
41737 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
41738 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
41739 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
41740 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
41741 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
41742 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
41743 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
41744 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
41745 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
41746 (pc_mod_CFLAGS): New variables.
41747 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
41748 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
41749 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
41750 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
41751 Moved from here...
41752 * include/grub/i386/pc/init.h (grub_os_area_addr)
41753 (rub_os_area_size): ... to here.
41754 * include/grub/powerpc/ieee1275/ieee1275.h
41755 (grub_ieee1275_entry_fn): Export symbol.
41756 * include/grub/powerpc/ieee1275/init.h: New file.
41757 * include/grub/powerpc/libgcc.h: Likewise.
41758 * include/grub/cache.h: Likewise.
41759 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
41760 <hollis@penguinppc.org>.
41761 * kern/dl.c: Include <grub/cache.h>.
41762 (grub_dl_flush_cache): New function.
41763 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
41764 for this module.
41765 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
41766 (grub_console_init): Removed prototypes.
41767 (grub_machine_init): Don't initialize the modules anymore.
41768 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
41769 static.
41770 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
41771 Macro undef removed.
41772 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
41773 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
41774 relocation `R_PPC_REL32'. Return an error when the relocation is
41775 unknown.
41776 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
41777 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
41778 * util/misc.c (grub_arch_sync_caches): Likewise.
41779
e4b47e0c 417802004-12-19 Marco Gerards <metgerards@student.han.nl>
41781
41782 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
41783 `symlist.c', add `grubof_symlist.c'.
41784 (symlist.c): Variable removed.
41785 (grubof_HEADERS): Variable added.
41786 (grubof_symlist.c): New target.
41787 (kernel_syms.lst): Use `grubof_HEADERS' instead of
41788 `kernel_img_HEADERS'.
41789 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
41790 * kern/powerpc/dl.c: New file.
41791 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
41792 Function removed.
41793 (grub_arch_dl_relocate_symbols): Likewise.
41794 (grub_register_exported_symbols): Likewise.
41795
4ceb3636 417962004-12-13 Marco Gerards <metgerards@student.han.nl>
41797
41798 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
41799 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
41800 to fail instead. Reported by Vincent Pelletier
41801 <subdino2004@yahoo.fr>.
41802
41803 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
41804 it is not allocated. Reported by Vincent Pelletier
41805 <subdino2004@yahoo.fr>.
41806
41807 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
41808 output so the output looks better.
f19dbdb7 41809
3f1578fe 418102004-12-04 Marco Gerards <metgerards@student.han.nl>
41811
41812 Modulize the partition map support and add support for the amiga
41813 partition map.
f19dbdb7 41814
3f1578fe 41815 * commands/ls.c: Include <grub/partition.h> instead of
41816 <grub/machine/partition.h>.
41817 * kern/disk.c: Likewise.
41818 * kern/rescue.c: Likewise.
41819 * loader/i386/pc/chainloader.c: Likewise.
41820 * normal/cmdline.c: Likewise.
41821 * kern/powerpc/ieee1275/init.c: Likewise.
41822 (grub_machine_init): Call `grub_pc_partition_map_init',
41823 `grub_amiga_partition_map_init' and
41824 `grub_apple_partition_map_init'.
41825 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
41826 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
41827 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
41828 `partition.h' and `pc_partition.h'.
41829 (grub_setup_SOURCES): Remove
41830 `disk/i386/pc/partition.c'. Add `kern/partition.c',
41831 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
41832 (grub_emu_SOURCES): Likewise.
41833 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
41834 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
41835 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
41836 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
41837 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
41838 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
41839 (grubof_SOURCES): Likewise.
41840 * disk/i386/pc/partition.c: File removed.
41841 * disk/powerpc/ieee1275/partition.c: Likewise.
41842 * include/grub/powerpc/ieee1275/partition.h: Likewise.
41843 * include/grub/i386/pc/partition.h: Likewise.
41844 * kern/partition.c: New file.
41845 * partmap/amiga.c: Likewise.
41846 * partmap/apple.c: Likewise.
41847 * partmap/pc.c: Likewise.
41848 * include/grub/partition.h: Likewise..
41849 * include/grub/pc_partition.h: Likewise.
41850 * util/grub-emu.c: Include <grub/partition.h> instead of
41851 <grub/machine/partition.h>.
41852 (main): Call `grub_pc_partition_map_init',
41853 `grub_amiga_partition_map_init' and
41854 `grub_apple_partition_map_init' and deinitialize afterwards.
41855 * util/i386/pc/biosdisk.c: Include `#include
41856 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
41857 `<grub/machine/partition.h>'.
41858 * util/i386/pc/grub-setup.c: Likewise.
41859 * util/i386/pc/biosdisk.c: Likewise.
41860 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
41861 partition information in case of a PC partition.
41862 * util/i386/pc/grub-setup.c: Include `#include
41863 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
41864 `<grub/machine/partition.h>'.
41865 (setup): Only access the PC specific partition information in case
41866 of a PC partition.
41867
0ef4ced9 418682004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 41869
0ef4ced9 41870 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
41871 (grub_longjmp): Likewise.
41872 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
41873 20.
41874 * normal/powerpc/setjmp.S: New file.
41875 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
41876 `normal/powerpc/setjmp.S'.
41877 (grubof_CFLAGS): Add `-DGRUBOF'.
41878 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
41879 [GRUB_UTIL && !GRUBOF].
f19dbdb7 41880
19950e29 418812004-11-16 Marco Gerards <metgerards@student.han.nl>
41882
41883 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
41884 property named `name'. Correctly handle the error returned by
41885 `grub_ieee1275_finddevice' if a device can not be opened.
41886
a2fea427 418872004-11-02 Hollis Blanchard <hollis@penguinppc.org>
41888
41889 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
41890 `actual' for negativity.
41891 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
41892 kern/fshelp.c.
41893
41ea0ea3 418942004-11-01 Marco Gerards <metgerards@student.han.nl>
41895
41896 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
41897 (PAGE_OFFSET): New macro.
41898 (CRTC_ADDR_PORT): Likewise.
41899 (CRTC_DATA_PORT): Likewise.
41900 (START_ADDR_HIGH_REGISTER): Likewise.
41901 (START_ADDR_LOW_REGISTER): Likewise.
41902 (GRAPHICS_ADDR_PORT): Likewise.
41903 (GRAPHICS_DATA_PORT): Likewise.
41904 (READ_MAP_REGISTER): Likewise.
41905 (INPUT_STATUS1_REGISTER): Likewise.
41906 (INPUT_STATUS1_VERTR_BIT): Likewise.
41907 (page): New variable.
41908 (wait_vretrace): New function.
41909 (set_read_map): Likewise.
41910 (set_start_address): Likewise.
41911 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
41912 the right page.
41913 (check_vga_mem): Take the page into account.
41914 (write_char): Likewise.
41915 (write_cursor): Likewise.
41916 (scroll_up): Likewise. Copy the page to the page that is not
41917 shown and switch between both pages.
41918 (grub_vga_putchar): Fix off by one error.
41919 (grub_vga_cls): Wait for the vertical retrace. Take the page into
41920 account.
41921
ad0bd20b 419222004-11-01 Marco Gerards <metgerards@student.han.nl>
41923
41924 Add support for iso9660 (including rockridge).
f19dbdb7 41925
ad0bd20b 41926 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
41927 (iso9660_mod_SOURCES): New variable.
41928 (iso9660_mod_CFLAGS): Likewise.
41929 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
41930 * include/grub/fs.h (grub_iso9660_init): New prototype.
41931 * util/grub-emu.c (main): Call `grub_iso9660_init'.
41932 * fs/iso9660.c: New file.
41933
41934 * include/grub/misc.h (grub_strncat): New prototype.
41935 * kern/misc.c (grub_strncat): New function.
f19dbdb7 41936
ad0bd20b 41937 * fs/hfs.c (grub_hfs_mount): Translate the error
41938 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
41939 * fs/jfs.c (grub_jfs_mount): Likewise.
41940 * fs/ufs.c (grub_ufs_mount): Likewise.
41941
a5477a59 419422004-10-28 Hollis Blanchard <hollis@penguinppc.org>
41943
41944 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
41945 which initialized BAT registers.
41946 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
41947 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
41948 Move from here...
41949 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
41950 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
41951 ... to here.
41952 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
41953 (grub_mapclaim): Likewise.
41954 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
41955 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
41956 hand.
41957
9304c1f8 419582004-10-19 Hollis Blanchard <hollis@penguinppc.org>
41959
41960 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
41961 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
41962 -ffreestanding and -msoft-float.
41963
86f4ae25 419642004-10-15 Hollis Blanchard <hollis@penguinppc.org>
41965
41966 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
41967 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
41968 set in grub_ieee1275_flags.
41969
38912228 419702004-10-14 Hollis Blanchard <hollis@penguinppc.org>
41971
41972 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
41973 prototype.
41974 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
41975 grub_console_init first.
41976 Change the memory range used for grub_ieee1275_claim and
41977 grub_mm_init_region.
41978 Print an error message if the claim fails.
41979 Include <grub/misc.h>.
41980
d1923dc8 419812004-10-13 Hollis Blanchard <hollis@penguinppc.org>
41982
41983 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
41984 Call grub_children_iterate for device nodes of type `scsi',
41985 `ide', or `ata'.
41986 (grub_ofdisk_open): Remove manual device alias resolution.
41987 Fix memory leak when device cannot be opened.
f19dbdb7 41988 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 41989 (grub_children_iterate): New prototype.
41990 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
41991 New function.
41992 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
41993 Return -1 if args.size was -1.
41994
4512e4f3 419952004-10-11 Hollis Blanchard <hollis@penguinppc.org>
41996
41997 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
41998 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
41999 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
42000 Open Firmware's memory for it; claim memory from _start to _end.
42001 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
42002 (_end): New extern.
42003 (_start): Zero BSS from __bss_start to _end.
42004 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
42005 New extern.
42006 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
42007
4d61feb0 420082004-10-11 Hollis Blanchard <hollis@penguinppc.org>
42009
ad0bd20b 42010 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
42011 -1 if args.base was -1.
4d61feb0 42012
026fa2f9 420132004-10-08 Hollis Blanchard <hollis@penguinppc.org>
42014
42015 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
42016 escape sequence instead of a literal ^L. Also call
42017 grub_ofconsole_gotoxy.
42018
9f2220ef 420192004-10-03 Hollis Blanchard <hollis@penguinppc.org>
42020
42021 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
42022 void * arguments to grub_addr_t. All callers updated. Also make
42023 the `result' argument optional.
42024 (grub_ieee1275_release): change void * arguments to grub_addr_t.
42025 All callers updated.
42026
8a572cd7 420272004-09-22 Hollis Blanchard <hollis@penguinppc.org>
42028
42029 * commands/ls.c (grub_ls_list_files): Use the string following the
42030 initial ')', if present, as the filesystem path.
42031 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
42032
42033 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
42034
18aa81f2 420352004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
42036
42037 Make the source code of the menu interface more readable.
f19dbdb7 42038
18aa81f2 42039 * normal/menu.c: Include grub/mm.h.
42040 (TERM_WIDTH): New macro.
42041 (TERM_HEIGHT): Likewise.
42042 (TERM_INFO_HEIGHT): Likewise.
42043 (TERM_MARGIN): Likewise.
42044 (TERM_SCROLL_WIDTH): Likewise.
42045 (TERM_TOP_BORDER_Y): Likewise.
42046 (TERM_LEFT_BORDER_X): Likewise.
42047 (TERM_BORDER_WIDTH): Likewise.
42048 (TERM_MESSAGE_HEIGHT): Likewise.
42049 (TERM_BORDER_HEIGHT): Likewise.
42050 (TERM_NUM_ENTRIES): Likewise.
42051 (TERM_FIRST_ENTRY_Y): Likewise.
42052 (TERM_ENTRY_WIDTH): Likewise.
42053 (TERM_CURSOR_X): Likewise.
42054 (draw_border): Use macros instead of magic numbers.
42055 (print_entry): Likewise.
42056 (print_entries): Likewise.
42057 (run_menu): Likewise. Also, handle the key 'e'.
42058 (run_menu_entry): Ignore empty command lines.
42059 (print_message): Added a new argument EDIT. If EDIT is true,
42060 print a different message.
42061 (init_page): Likewise.
42062 (edit_menu_entry): New function. Not implemented yet.
42063
b47efe30 420642004-09-17 Marco Gerards <metgerards@student.han.nl>
42065
42066 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
42067 can be loaded from normal mode.
f19dbdb7 42068
b47efe30 42069 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
42070 `multiboot.mod'.
42071 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
42072 (multiboot_mod_CFLAGS): New variables.
42073 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 42074 * loader/i386/pc/multiboot_normal.c: Likewise.
42075
b47efe30 42076 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
42077 attribute `unused'.
f19dbdb7 42078
b47efe30 42079 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
42080 `fdiro' to read the mode information from instead of `diro'.
42081
42082 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
42083 looking up a symlink.
42084
42085 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
42086 macro.
42087 * normal/command.c (grub_command_execute): Don't parse the
42088 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
42089 flags of the command.
42090
42091 * normal/menu.c (grub_menu_run): Fix typo.
42092
da75ac71 420932004-09-14 Hollis Blanchard <hollis@penguinppc.org>
42094
42095 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
42096
42097 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
42098 `y + 1' instead of `y - 1'.
42099
42100 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 42101
062b24c2 421022004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
42103
42104 From Hollis Blanchard <hollis@penguinppc.org>:
42105 * kern/misc.c (memmove): New alias for grub_memmove.
42106 (memcmp): New alias for grub_memcmp.
42107 (memset): New alias for grub_memset.
f19dbdb7 42108 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 42109 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 42110 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 42111 (grub_ieee1275_get_property): Likewise.
f19dbdb7 42112
8ddad845 421132004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
42114
42115 Added normal mode command `chainloader' as module chain.mod, which
42116 depends on normal.mod and _chain.mod.
f19dbdb7 42117
8ddad845 42118 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
42119 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
42120 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
42121 Deleted prototype.
42122 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
42123 but arguments parsing moved to ...
42124 (grub_chainloader_cmd): ... here. New function.
42125 * include/grub/i386/pc/chainloader.h: New file.
42126 * loader/i386/pc/chainloader_normal.c: Likewise.
42127
2c1f4ce3 421282004-09-11 Marco Gerards <metgerards@student.han.nl>
42129
42130 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
42131 (grub_mkimage_LDFLAGS): Likewise.
42132 (grub_emu_SOURCES): Likewise.
42133 (kernel_img_HEADERS): Added fshelp.h.
42134 * fs/ext2.c: Include <grub/fshelp.h>.
42135 (FILETYPE_REG): New macro.
42136 (FILETYPE_INO_REG): Likewise.
42137 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
42138 Changed all users.
42139 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
42140 all users.
42141 (grub_fshelp_node): New struct.
42142 (grub_ext2_data): Added member `diropen'. Changed member `inode'
42143 to a pointer.
42144 (grub_ext2_get_file_block): Removed function.
42145 (grub_ext2_read_block): New function.
42146 (grub_ext2_read_file): Replaced parameter `data' by `node'.
42147 This function was written.
42148 (grub_ext2_mount): Read the root inode. Create a diropen struct.
42149 (grub_ext2_find_file): Removed function.
42150 (grub_ext2_read_symlink): New function.
42151 (grub_ext2_iterate_dir): Likewise.
42152 (grub_ext2_open): Rewritten.
42153 (grub_ext2_dir): Rewritten.
42154 * include/grub/fshelp.h: New file.
42155 * fs/fshelp.c: Likewise.
42156
3c52136a 421572004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
42158
42159 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
42160 (print_message): Add a missing newline.
42161 (run_menu): Added timeout support.
42162 (run_menu_entry): New local function.
42163 (grub_menu_run): Added support for booting.
42164
42165 * kern/loader.c (grub_loader_is_loaded): New function.
42166
42167 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
42168 (grub_get_rtc): Exported.
42169
42170 * include/grub/i386/pc/time.h: Include grub/symbol.h.
42171 (grub_get_rtc): Exported.
42172
42173 * include/grub/normal.h (struct grub_command_list): Remove
42174 constant from the member `command'.
42175
42176 * include/grub/loader.h (grub_loader_is_loaded): Declared.
42177
42178 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
42179
42180 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
42181
aa033560 421822004-08-28 Marco Gerards <metgerards@student.han.nl>
42183
42184 Add support for the JFS filesystem.
42185
42186 * fs/jfs.c: New file.
42187 * include/grub/fs.h (grub_jfs_init): New prototype.
42188 (grub_jfs_fini): New prototype.
42189 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
42190 (grub_emu_SOURCES): Likewise.
42191 (pkgdata_MODULES): Add jfs.mod.
42192 (jfs_mod_SOURCES): New variable.
42193 (jfs_mod_CFLAGS): Likewise.
42194 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
42195 (grubof_SOURCES): Likewise.
42196 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
42197
42198 * fs/fat.c (grub_fat_find_dir): Convert the filename little
42199 endian to the host endian.
42200 (grub_fat_utf16_to_utf8): Move function from there...
42201 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 42202 the endianness of the source string anymore.
aa033560 42203 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
42204
94bc45af 422052004-08-24 Marco Gerards <metgerards@student.han.nl>
42206
42207 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
42208 (grub_boot_fini) [GRUB_UTIL]: Likewise.
42209 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
42210 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 42211
94bc45af 42212 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
42213 (grub_hfs_iterate_dir): Make the function static. Add prototypes
42214 for `node_found' and `it_dir'.
42215 (grub_hfs_dir): Add prototype for `dir_hook'.
42216
42217 * fs/minix.c (grub_minix_get_file_block): Add prototype for
42218 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
42219 and `indir32' to silence a gcc warning.
42220
42221 * include/grub/fs.h (grub_hfs_init): New prototype.
42222 (grub_hfs_fini): Likewise.
f19dbdb7 42223
42224
97543f08 422252004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
42226
42227 Each disk device has its own id now. This is useful to make use
42228 of multiple disk devices.
f19dbdb7 42229
97543f08 42230 * include/grub/disk.h (grub_disk_dev_id): New enum.
42231 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
42232 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
42233
42234 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
42235 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
42236
42237 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
42238 GRUB_DISK_DEVICE_OFDISK_ID as an id.
42239
42240 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
42241 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
42242
42243 * include/grub/disk.h (struct grub_disk_dev): Added a new member
42244 "id" which is used by the cache manager.
42245
42246 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
42247 of just "GRUB".
42248
64372eb4 422492004-08-18 Marco Gerards <metgerards@student.han.nl>
42250
42251 * fs/hfs.c: New file.
42252 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
42253 (grub_emu_SOURCES): Likewise.
42254 (pkgdata_MODULES): Add hfs.mod.
42255 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
42256 (grubof_SOURCES): Likewise.
42257 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
42258
42259 * include/grub/misc.h (grub_strncasecmp): Add prototype.
42260 * kern/misc.c (grub_strncasecmp): Add function.
42261
cc61b58f 422622004-08-14 Marco Gerards <metgerards@student.han.nl>
42263
42264 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
42265 with parentheses.
42266
42267 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
42268 (grub_ext2_dir): In case the directory entry type is unknown, read
42269 it from the inode.
42270
0ef123f6 422712004-08-02 Peter Bruin <pjbruin@dds.nl>
42272
42273 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
42274 grub_load_linux instead of grub_rescue_cmd_linux as second
42275 argument of grub_rescue_register_command.
42276
42277 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
42278
a447c5df 422792004-07-27 Marco Gerards <metgerards@student.han.nl>
42280
42281 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
42282 function.
42283 * commands/boot.c: Remove the check for `GRUB_UTIL'.
42284 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
42285 `loader/powerpc/ieee1275/linux.c',
42286 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
42287 * include/grub/powerpc/ieee1275/ieee1275.h
42288 (grub_ieee1275_release): New prototype.
42289 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
42290 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
42291 normal, boot, linux and linux_normal.
42292 * loader/powerpc/ieee1275/linux.c: New file.
42293 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
42294
5a9e3546 422952004-07-12 Marco Gerards <metgerards@student.han.nl>
42296
42297 * normal/arg.c (grub_arg_parse): Correct error handling after
42298 reallocating the argumentlist (check if `argl' is not null instead
42299 of checking if `args' is not null).
42300 * kern/mm.c (grub_realloc): Return the same pointer when using the
42301 same region, instead of returning the header address.
42302
e15199cb 423032004-07-11 Marco Gerards <metgerards@student.han.nl>
42304
42305 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
42306 one block instead of two when looking for the initial partition.
42307 (grub_partition_probe): Initialize the local variable `p' with 0.
42308 Use base 10 for the grub_strtoul call.
42309 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
42310 need for one local variable.
42311 (grub_strtoul): Don't add the new value to `num', instead of that
42312 just assign it.
42313
020616c2 423142004-07-11 Marco Gerards <metgerards@student.han.nl>
42315
42316 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
42317 (pxeboot_img_SOURCES): New variable.
42318 (pxeboot_img_ASFLAGS): Likewise.
42319 (pxeboot_img_LDFLAGS): Likewise.
42320 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
42321 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
42322 <lode_leroy@hotmail.com>.
42323
6c51eb64 423242004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
42325
42326 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
42327 there was no input.
42328
cfb12aff 423292004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
42330
42331 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
42332 the history buffer logic.
42333
6eabba74 423342004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
42335
42336 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
42337 (FILETYPE_INO_SYMLINK): New macros.
42338 (grub_ext2_find_file): Check if the node is a directory using the
42339 inode stat information instead of using the filetype in the
42340 dirent. Exclude the first character of an absolute symlink.
42341 (grub_ext2_dir): Mask out the filetype part of the mode member of
42342 the inode.
42343
66e19ef8 423442004-05-24 Marco Gerards <metgerards@student.han.nl>
42345
42346 Add support for UFS version 1 and 2. Add support for the minix
42347 filesystem version 1 and 2, both the variants with 14 and 30 long
42348 filenames.
f19dbdb7 42349
66e19ef8 42350 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
42351 fs/minix.c.
42352 (grub_emu_SOURCES): Likewise.
42353 (pkgdata_MODULES): Add ufs.mod and minix.mod.
42354 (ufs_mod_SOURCES): New variable.
42355 (ufs_mod_CFLAGS): Likewise.
42356 (minix_mod_SOURCES): Likewise.
42357 (minix_mod_CFLAGS): Likewise.
42358 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
42359 fs/minix.c.
42360 (grubof_SOURCES): Likewise.
42361 * fs/ufs.c: New file.
42362 * fs/minix.c: New file.
42363 * include/grub/fs.h (grub_ufs_init): New prototype.
42364 (grub_ufs_fini): Likewise.
42365 (grub_minix_init): Likewise.
42366 (grub_minix_fini): Likewise.
42367 * util/grub-emu.c (main): Initialize and deinitialize UFS and
42368 minix fs.
42369
cc2e748a 423702004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
42371
42372 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
42373 commands/ls.c, commands/terminal.c, commands/boot.c,
42374 commands/cmp.c and commands/cat.c.
42375 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
42376
42377 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
42378 "env.h"
42379
4b13b216 423802004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
42381
42382 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
42383 and grub_, respectively. Because the conversion is trivial and
42384 mechanical, I omit the details here. Please refer to the CVS
42385 if you need more information.
42386
6a142551 423872004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
42388
42389 * include/pupa: Renamed to ...
42390 * include/grub: ... this.
42391 * util/i386/pc/pupa-mkimage.c: Renamed to ...
42392 * util/i386/pc/grub-mkimage.c: ... this.
42393 * util/i386/pc/pupa-setup.c: Renamed to ...
42394 * util/i386/pc/grub-setup.c: ... this.
42395 * util/pupa-emu.c: Renamed to ...
42396 * util/grub-emu.c: ... this.
42397
e56cdf21 423982004-03-29 Marco Gerards <metgerards@student.han.nl>
42399
42400 Add support for the newworld apple macintosh (PPC). This has been
42401 tested on the powerbook 2000 only. It only adds support for
42402 generic ieee1275 functions, console and disk support. This should
42403 be easy to port to other architectures with support for Open
42404 Firmware.
f19dbdb7 42405
e56cdf21 42406 * configure.ac: Accept the powerpc as host_cpu. In the case of
42407 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
42408 specific tests are only executed while building for the i386.
42409 Inverse test for crosscompile.
42410 * genmk.rb (Utility): Allow assembler files.
42411 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
42412 * conf/powerpc-ieee1275.rmk: New file.
42413 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
42414 * disk/powerpc/ieee1275/partition.c: Likewise.
42415 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
42416 * include/pupa/powerpc/ieee1275/console.h: Likewise.
42417 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
42418 * include/pupa/powerpc/ieee1275/time.h: Likewise.
42419 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
42420 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
42421 * include/pupa/powerpc/ieee1275/loader.h
42422 * include/pupa/powerpc/setjmp.h: Likewise.
42423 * include/pupa/powerpc/types.h: Likewise.
42424 * kern/powerpc/ieee1275/init.c: Likewise.
42425 * kern/powerpc/ieee1275/openfw.c: Likewise.
42426 * term/powerpc/ieee1275/ofconsole.c: Likewise.
42427
42428 These files were written by Johan Rydberg
42429 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 42430
e56cdf21 42431 * boot/powerpc/ieee1275/cmain.c: New file.
42432 * boot/powerpc/ieee1275/crt0.S: Likewise.
42433 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
42434 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
42435
8c8cc205 424362004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
42437
42438 * Makefile.in: Update copyright.
42439 * genmodsrc.sh: Likewise.
42440 * gensymlist.sh: Likewise.
42441 * term/i386/pc/vga.c: Indent correctly.
42442
42443 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
42444 bugreporting address.
42445 * util/i386/pc/pupa-setup.c (usage): Likewise,
42446 (main): Call pupa_ext2_init and pupa_ext2_fini.
42447
f19dbdb7 42448 * fs/fat.c (log2): Renamed to ...
8c8cc205 42449 (fat_log2): ... this.
42450 All callers changed.
42451 * kern/misc.c (memcpy): Alias to pupa_memmove.
42452 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
42453 lvalue cast.
42454 * util/console.c (pupa_ncurses_fini): Return 0.
42455
42456 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
42457 Move fail label here.
42458 [__GNU__]: Don't warn when using stat.
42459 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
42460 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
42461 long int. Use strtol instead of strtoul.
f19dbdb7 42462
db1771cf 424632004-03-14 Marco Gerards <metgerards@student.han.nl>
42464
42465 * commands/boot.c: New file.
42466 * commands/cat.c: Likewise.
42467 * commands/cmp.c: Likewise.
42468 * commands/ls.c: Likewise.
42469 * commands/terminal.c: Likewise.
42470 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
42471 (pupa_register_command): Changed interface to match the new
42472 argument parser.
42473 (pupa_command_execute): Changed (almost rewritten) so it uses
42474 pupa_split_command. Added support for setting variables using the
42475 syntax `foo=bar'.
42476 (rescue_command): Changed to work with the new argument parser.
42477 (terminal_command): Moved from here to commands/terminal.c.
42478 (set_command): New function.
42479 (unset_command): New function.
42480 (insmod_command): New function.
42481 (rmmod_command): New function.
42482 (lsmod_command): New function.
42483 (pupa_command_init): Don't initialize the command terminal
42484 anymore. Initialize the commands set, unset, insmod, rmmod and
42485 lsmod.
42486 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
42487 (kernel_img_HEADERS): Add arg.h and env.h.
42488 (pupa_mkimage_LDFLAGS): Add kern/env.c.
42489 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
42490 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
42491 normal/arg.c.
42492 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
42493 terminal.mod.
42494 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
42495 (boot_mod_SOURCES): New variable.
42496 (terminal_mod_SOURCES): Likewise.
42497 (ls_mod_SOURCES): Likewise.
42498 (cmp_mod_SOURCES): Likewise.
42499 (cat_mod_SOURCES): Likewise.
42500
42501 * normal/arg.c: New file.
42502 * kern/env.c: Likewise.
42503 * include/pupa/arg.h: Likewise.
42504 * include/pupa/env.h: Likewise.
42505 * font/manager.c (font_command): Changed to match argument parsing
42506 interface changes.
42507 (PUPA_MOD_INIT): Likewise.
42508 * hello/hello.c (pupa_cmd_hello): Likewise.
42509 (PUPA_MOD_INIT): Likewise.
42510 * include/pupa/disk.h: Include <pupa/device.h>.
42511 (pupa_print_partinfo): New prototype.
42512 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
42513 (pupa_dl_get_prefix): Likewise.
42514 * include/pupa/misc.h: Include <pupa/err.h>.
42515 (pupa_isgraph): New prototype.
42516 (pupa_isdigit): Likewise.
42517 (pupa_split_cmdline): Likewise.
42518 * include/pupa/normal.h: Include <pupa/arg.h>.
42519 (pupa_command): Changed the prototype of the member `func' to
42520 match the argument parsing interface. Added member `options'.
42521 (pupa_register_command): Updated to match function.
42522 (pupa_arg_parse): New prototype.
42523 (pupa_hello_init) [PUPA_UTIL]: New prototype.
42524 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
42525 (pupa_ls_init) [PUPA_UTIL]: Likewise.
42526 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
42527 (pupa_cat_init) [PUPA_UTIL]: Likewise.
42528 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
42529 (pupa_boot_init) [PUPA_UTIL]: Likewise.
42530 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
42531 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
42532 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
42533 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
42534 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
42535 * kern/disk.c: Include <pupa/file.h>.
42536 (pupa_print_partinfo): New function.
42537 * kern/dl.c: Include <pupa/env.h>.
42538 (pupa_dl_dir): Variable removed.
42539 (pupa_dl_load): Use the environment variable `prefix' instead of
42540 the variable pupa_dl_dir.
42541 (pupa_dl_set_prefix): Function removed.
42542 (pupa_dl_get_prefix): Likewise.
42543 * kern/i386/pc/init.c: Include <pupa/env.h>.
42544 (pupa_machine_init): Use the environment variable `prefix' instead of
42545 using pupa_dl_set_prefix to set the prefix.
42546 * kern/main.c: Include <pupa/env.h>.
42547 (pupa_set_root_dev): Use the environment variable `prefix' instead of
42548 using pupa_dl_get_prefix to get the prefix.
42549 * kern/misc.c: Include <pupa/env.h>.
42550 (pupa_isdigit): New function.
42551 (pupa_isgraph): Likewise.
42552 (pupa_ftoa): Likewise.
42553 (pupa_vsprintf): Added support for printing values of the type
42554 `double'. Make it possible to format variable output when using
42555 formatting like `%1.2%f'.
42556 (pupa_split_cmdline): New function.
42557 * kern/rescue.c: Include <pupa/env.h>.
42558 (next_word): Removed function.
42559 (pupa_rescue_cmd_prefix): Likewise.
42560 (pupa_rescue_cmd_set): New function.
42561 (pupa_rescue_cmd_unset): New function.
42562 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
42563 split the command line instead of splitting it here. Added
42564 support for setting variables using the syntax `foo=bar'. Don't
42565 initialize the prefix command anymore. Initialized the set and
42566 unset commands.
42567 * normal/cmdline.c: Include <pupa/env.h>.
42568 (pupa_tab_complete): Added prototypes for print_simple_completion,
42569 print_partition_completion, add_completion, iterate_commands,
42570 iterate_dev, iterate_part and iterate_dir. Moved code to print
42571 partition information from here to kern/disk.c.
fe6b695a 42572 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 42573 * normal/main.c: Include <pupa/env.h>.
42574 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
42575 instead of using pupa_dl_get_prefix to get the prefix.
42576 * term/i386/pc/vga.c: Include <pupa/arg.h>.
42577 (check_vga_mem): Cast pointers to `void *' to silence a gcc
42578 warning.
42579 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
42580 (pupa_vga_setcolor): Declare unused variables with `__attribute__
42581 ((unused))' to silence a gcc warning.
42582 (pupa_vga_setcolor): Likewise.
42583 (debug_command): Changed to match argument parsing
42584 interface changes.
42585 * util/pupa-emu.c: Include <pupa/env.h>.
42586 (options): Added 0's for unused fields to silence a gcc warning.
42587 (argp): Likewise.
42588 (main): Use the environment variable `prefix' instead of using
42589 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
42590 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
42591 and terminal.
42592
42593 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
42594 * util/misc.c: Include <malloc.h>.
42595 (pupa_malloc): Rewritten so errors are correctly reported.
42596 (pupa_realloc): Likewise.
42597 (pupa_memalign): Likewise.
42598 (pupa_mm_init_region): Declare unused variables with
42599 `__attribute__ ((unused))' to silence a gcc warning.
42600 * normal/i386/setjmp.S: Remove tab at the end of the file to
42601 silence a gcc warning.
42602 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
42603 variables with `__attribute__ ((unused))' to silence a gcc
42604 warning.
42605 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
42606 local variable i unsigned to silence a gcc warning.
42607
42608 * kern/term.c: Include <pupa/misc.h>.
42609 (pupa_more_lines): New variable.
42610 (pupa_more): Likewise.
42611 (pupa_putcode): When the pager is active pause at the end of every
42612 screen.
42613 (pupa_set_more): New function.
42614 * include/pupa/term.h (pupa_set_more): New prototype.
42615
42616
3b1139cb 426172004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
42618
42619 Now this project is GRUB 2 rather than PUPA. The location of
42620 the CVS repository was moved to GRUB's.
f19dbdb7 42621
3b1139cb 42622 * configure.ac: Use bug-grub as the reporting address.
42623 Use GRUB instead of PUPA.
42624 Change the version number to 1.90.
42625
8367695c 426262004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
42627
42628 * genkernsyms.sh: Updated copyright information.
42629 * genmk.rb: Likewise.
42630 * genmodsrc.sh: Likewise.
42631 * gensymlist.sh: Likewise.
42632 * boot/i386/pc/boot.S: Likewise.
42633 * boot/i386/pc/diskboot.S: Likewise.
42634 * disk/i386/pc/biosdisk.c: Likewise.
42635 * disk/i386/pc/partition.c: Likewise.
42636 * font/manager.c: Likewise.
42637 * fs/ext2.c: Likewise.
42638 * fs/fat.c: Likewise.
42639 * include/pupa/boot.h: Likewise.
42640 * include/pupa/device.h: Likewise.
42641 * include/pupa/disk.h: Likewise.
42642 * include/pupa/dl.h: Likewise.
42643 * include/pupa/elf.h: Likewise.
42644 * include/pupa/err.h: Likewise.
42645 * include/pupa/file.h: Likewise.
42646 * include/pupa/font.h: Likewise.
42647 * include/pupa/fs.h: Likewise.
42648 * include/pupa/kernel.h: Likewise.
42649 * include/pupa/loader.h: Likewise.
42650 * include/pupa/misc.h: Likewise.
42651 * include/pupa/mm.h: Likewise.
42652 * include/pupa/net.h: Likewise.
42653 * include/pupa/normal.h: Likewise.
42654 * include/pupa/rescue.h: Likewise.
42655 * include/pupa/setjmp.h: Likewise.
42656 * include/pupa/symbol.h: Likewise.
42657 * include/pupa/term.h: Likewise.
42658 * include/pupa/types.h: Likewise.
42659 * include/pupa/i386/setjmp.h: Likewise.
42660 * include/pupa/i386/types.h: Likewise.
42661 * include/pupa/i386/pc/biosdisk.h: Likewise.
42662 * include/pupa/i386/pc/boot.h: Likewise.
42663 * include/pupa/i386/pc/console.h: Likewise.
42664 * include/pupa/i386/pc/init.h: Likewise.
42665 * include/pupa/i386/pc/kernel.h: Likewise.
42666 * include/pupa/i386/pc/linux.h: Likewise.
42667 * include/pupa/i386/pc/loader.h: Likewise.
42668 * include/pupa/i386/pc/memory.h: Likewise.
42669 * include/pupa/i386/pc/multiboot.h: Likewise.
42670 * include/pupa/i386/pc/partition.h: Likewise.
42671 * include/pupa/i386/pc/time.h: Likewise.
42672 * include/pupa/i386/pc/vga.h: Likewise.
42673 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
42674 * include/pupa/util/getroot.h: Likewise.
42675 * include/pupa/util/misc.h: Likewise.
42676 * include/pupa/util/resolve.h: Likewise.
42677 * kern/device.c: Likewise.
42678 * kern/disk.c: Likewise.
42679 * kern/dl.c: Likewise.
42680 * kern/err.c: Likewise.
42681 * kern/file.c: Likewise.
42682 * kern/fs.c: Likewise.
42683 * kern/loader.c: Likewise.
42684 * kern/main.c: Likewise.
42685 * kern/misc.c: Likewise.
42686 * kern/mm.c: Likewise.
42687 * kern/rescue.c: Likewise.
42688 * kern/term.c: Likewise.
42689 * kern/i386/dl.c: Likewise.
42690 * kern/i386/pc/init.c: Likewise.
42691 * kern/i386/pc/lzo1x.S: Likewise.
42692 * kern/i386/pc/startup.S: Likewise.
42693 * loader/i386/pc/chainloader.c: Likewise.
42694 * loader/i386/pc/linux.c: Likewise.
42695 * loader/i386/pc/multiboot.c: Likewise.
42696 * normal/cmdline.c: Likewise.
42697 * normal/command.c: Likewise.
42698 * normal/main.c: Likewise.
42699 * normal/menu.c: Likewise.
42700 * normal/i386/setjmp.S: Likewise.
42701 * term/i386/pc/console.c: Likewise.
42702 * term/i386/pc/vga.c: Likewise.
42703 * util/console.c: Likewise.
42704 * util/genmoddep.c: Likewise.
42705 * util/misc.c: Likewise.
42706 * util/pupa-emu.c: Likewise.
42707 * util/resolve.c: Likewise.
42708 * util/unifont2pff.rb: Likewise.
42709 * util/i386/pc/biosdisk.c: Likewise.
42710 * util/i386/pc/getroot.c: Likewise.
42711 * util/i386/pc/pupa-mkimage.c: Likewise.
42712 * util/i386/pc/pupa-setup.c: Likewise.
42713
e6eced71 427142004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
42715
42716 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
42717 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
42718 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
42719 reading and reset it after reading.
42720 (pupa_ext2_close): Return PUPA_ERR_NONE.
42721
42722 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
42723 Correct value.
42724 (struct linux_kernel_header): Add kernel_version and
42725 initrd_addr_max.
42726 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
42727 pupa_file_read succeeds.
42728 (pupa_rescue_cmd_initrd): Implement.
42729
5aded270 427302003-12-03 Marco Gerards <metgerards@student.han.nl>
42731
42732 * fs/ext2.c (pupa_ext2_label): New function.
42733 (pupa_ext2_fs): Added label.
42734 * fs/fat.c (pupa_fat_label): New function.
42735 (pupa_fat_fs): Added label.
42736 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
42737
42738 * kern/misc.c (pupa_strndup): New function.
42739 * include/pupa/misc.h (pupa_strndup): New prototype.
42740
42741 * include/pupa/normal.h: Include <pupa/err.h>.
42742 (pupa_set_history): New prototype.
42743 (pupa_iterate_commands): New prototype.
42744 * normal/cmdline.c: Include <pupa/machine/partition.h>,
42745 <pupa/disk.h>, <pupa/file.h>.
42746 (hist_size): New variable.
42747 (hist_lines): Likewise.
42748 (hist_end): Likewise.
42749 (hist_used): Likewise.
42750 (pupa_set_history): New function.
42751 (pupa_history_get): Likewise.
42752 (pupa_history_add): Likewise.
42753 (pupa_history_replace): Likewise.
42754 (pupa_tab_complete): Likewise.
42755 (pupa_cmdline_run): Added tab completion and history buffer. Tab
42756 completion shows partitionnames while completing partitions, this
42757 feature was suggested by Jeff Bailey.
42758 * normal/command.c (pupa_iterate_commands): New function.
42759 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
42760 (pupa_normal_init): Initialize history buffer.
42761 (PUPA_MOD_INIT): Likewise.
42762 (pupa_normal_fini): Free the history buffer.
42763 (PUPA_MOD_FINI): Likewise.
42764
42765 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
42766 key.
42767
42768 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
42769 * configure.ac [i386]: Check for regparam bug.
42770 (NESTED_FUNC_ATTR) [! i386]: Defined.
42771
1f7315a3 427722003-11-17 Marco Gerards <metgerards@student.han.nl>
42773
42774 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
42775 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
42776 (pupa_emu_SOURCES): New variable.
42777 (pupa_emu_LDFLAGS): Likewise.
42778 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
42779 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
42780 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
42781 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
42782 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
42783 (pupa_jmp_buf): New typedef.
42784 (pupa_setjmp) [PUPA_UTIL]: New macro.
42785 (pupa_longjmp) [PUPA_UTIL]: Likewise.
42786 * include/pupa/term.h (struct pupa_term): New member `refresh'.
42787 (pupa_refresh): New prototype.
42788 * include/pupa/util/getroot.h: New file.
42789 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
42790 it.
42791 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
42792 (pupa_rescue_cmd_cat): Likewise.
42793 (pupa_rescue_cmd_ls): Likewise.
42794 (pupa_rescue_cmd_testload): Likewise.
42795 (pupa_rescue_cmd_lsmod): Likewise.
42796 * normal/cmdline.c (pupa_cmdline_get): Likewise.
42797 * normal/menu.c (run_menu): Likewise.
42798 * kern/term.c (pupa_cls): Likewise.
42799 (pupa_refresh): New function.
42800 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
42801 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
42802 * util/console.c: New file.
f19dbdb7 42803
1f7315a3 42804 * util/i386/pc/getroot.c: New file.
42805 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
42806 (pupa_putchar): New function.
42807 (pupa_refresh): Likewise.
42808 (xgetcwd): Function moved to ...
42809 (strip_extra_slashes): Likewise.
42810 (get_prefix): Likewise.
f19dbdb7 42811 * util/i386/pc/getroot.c: ... here.
1f7315a3 42812 (find_root_device): Function moved and renamed to...
42813 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
42814 Changed all callers.
42815 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
42816 and renamed to...
42817 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
42818 Changed all callers.
42819 * util/misc.c (pupa_memalign): New function.
42820 (pupa_mm_init_region): Likewise.
42821 (pupa_register_exported_symbols): Likewise.
42822 (pupa_putchar): Function removed.
42823 * util/pupa-emu.c: New file.
42824
9a5c1ade 428252003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
42826
42827 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
42828 (_multiboot_mod_SOURCES): New variable.
42829 (_multiboot_mod_CFLAGS): Likewise.
42830 * loader/i386/pc/multiboot.c: New file.
42831 * include/pupa/i386/pc/multiboot.h: Likewise.
42832 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
42833 (pupa_multiboot_real_boot): New function.
42834 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
42835 (pupa_multiboot_real_boot): New prototype.
42836 (pupa_rescue_cmd_multiboot): Likewise
42837 (pupa_rescue_cmd_module): Likewise.
42838
42839 * kern/loader.c (pupa_loader_set): Continue when
42840 pupa_loader_unload_func() fails.
42841 (pupa_loader_unset): New function.
42842 * include/pupa/loader.h (pupa_loader_unset): New prototype.
42843
42844 * kern/misc.c (pupa_stpcpy): New function.
42845 * include/pupa/misc.h (pupa_stpcpy): New prototype.
42846
8e72a9c0 428472003-11-12 Marco Gerards <metgerards@student.han.nl>
42848
42849 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
42850 for available extensions.
42851
42852 * include/pupa/i386/pc/time.h: New file.
42853 * kern/disk.c: Include <pupa/machine/time.h>.
42854 (PUPA_CACHE_TIMEOUT): New macro.
42855 (pupa_last_time): New variable.
42856 (pupa_disk_open): Flush the cache when there was a timeout.
42857 (pupa_disk_close): Reset the timer.
42858 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
42859 pupa_currticks.
42860 * util/misc.c: Include <sys/times.h>
42861 (pupa_get_rtc): New function.
42862
c4adbd32 428632003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
42864
42865 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
42866 as blocks.
42867 (pupa_ext2_get_file_block): Use blocks member.
42868
42869 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
42870 first block. Return -1 instead of pupa_errno on error.
42871
bfd30f06 428722003-10-27 Marco Gerards <metgerards@student.han.nl>
42873
42874 * README: In the pupa-mkimage example use _chain instead of chain
42875 and ext2 instead of fat.
42876 * TODO: Replace ext2fs with jfs as an example. Add an item for
42877 adding journal playback for ext2fs.
42878 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
42879 (pkgdata_MODULES): Added ext2.mod.
42880 (ext2_mod_SOURCES): New variable.
42881 (ext2_mod_CFLAGS): Likewise.
42882 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
42883 * include/pupa/misc.h (pupa_strncpy): New prototype.
42884 (pupa_strcat): Likewise.
42885 (pupa_strncmp): Likewise.
42886 * kern/misc.c (pupa_strcat): Enable function.
42887 (pupa_strncpy): New function.
42888 (pupa_strncmp): Likewise.
42889 * fs/ext2.c: New file.
f19dbdb7 42890
bfd30f06 42891 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
42892 when the read failed before retrying.
42893 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
42894 (_FILE_OFFSET_BITS): Likewise.
42895 * configure.ac: Added AC_SYS_LARGEFILE.
42896
98d15063 428972003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
42898
42899 * genmk.rb (PModule#rule): Make sure to get only symbol names
42900 from the output of nm.
59cad637 42901 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 42902
18d9c7cd 429032003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
42904
42905 I forgot to check in these changes for a long time. This adds
42906 incomplete support for VGA console, and this is still very
42907 buggy. Also, a lot of consideration is required for I18N,
42908 UNICODE, and VGA font issues. Therefore, assume that this is
42909 such that "better than nothing".
f19dbdb7 42910
18d9c7cd 42911 * font/manager.c: New file.
42912 * include/pupa/font.h: Likewise.
42913 * include/pupa/i386/pc/vga.h: Likewise.
42914 * term/i386/pc/vga.c: Likewise.
42915 * util/unifont2pff.rb: Likewise.
42916
42917 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
42918 (pkgdata_MODULES): Added vga.mod and font.mod.
42919 (vga_mod_SOURCES): New variables.
42920 (vga_mod_CFLAGS): Likewise.
42921 (font_mod_SOURCES): Likewise.
42922 (font_mod_CFLAGS): Likewise.
42923
42924 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
42925
42926 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 42927 (struct pupa_term): Added init and fini.
18d9c7cd 42928 Changed the argument of putchar to pupa_uint32_t.
42929
42930 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
42931 (pupa_console_real_putchar): New prototype.
42932 (pupa_console_putchar): Removed.
42933 (pupa_console_checkkey): Exported.
42934 (pupa_console_getkey): Likewise.
42935
42936 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
42937 characters.
42938
42939 * kern/term.c (pupa_term_set_current): Rewritten.
42940 (pupa_putchar): Likewise.
42941 (pupa_putcode): New function.
42942
42943 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
42944 (pupa_console_real_putchar): ... this.
42945 (pupa_vga_set_mode): New function.
42946 (pupa_vga_get_font): Likewise.
42947
42948 * normal/command.c: Include pupa/term.h.
42949 (terminal_command): New function.
42950 (pupa_command_init): Register the command "terminal".
42951
42952 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
42953 (DISP_UP): Likewise.
42954 (DISP_RIGHT): Likewise.
42955 (DISP_DOWN): Likewise.
42956 (DISP_HLINE): Likewise.
42957 (DISP_VLINE): Likewise.
42958 (DISP_UL): Likewise.
42959 (DISP_UR): Likewise.
42960 (DISP_LL): Likewise.
42961 (DISP_LR): Likewise.
42962
42963 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 42964
977329f5 429652003-02-08 NIIBE Yutaka <gniibe@m17n.org>
42966
42967 * util/resolve.c (pupa_util_resolve_dependencies): BUG
42968 FIX. Reverse the path_list.
42969
42970 * include/pupa/normal.h: Export pupa_register_command and
42971 pupa_unregister_command.
42972
42973 * hello/hello.c (pupa_cmd_hello): New module.
42974 * conf/i386-pc.rmk: Added hello.mod.
42975
1f5ab428 429762003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
42977
42978 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 42979
1f5ab428 42980 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
42981 (compress_kernel): New variable.
42982 (generate_image): Heavily modified to support compressing a
42983 large part of the core image.
42984
42985 * util/misc.c (pupa_util_read_image): Fix a file descriptor
42986 leak.
42987 (pupa_util_load_image): New function.
42988
42989 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
42990 (pupa_compressed_size): New variable.
42991 (codestart): Enable Gate A20 here.
42992 Decompress the compressed part of the core image.
42993 Rearrange the code to put functions and variables which are
42994 required for initialization in the non-compressed part.
42995 Include lzo1x.S.
42996
42997 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
42998 here.
42999
43000 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
43001
f19dbdb7 43002 * include/pupa/i386/pc/kernel.h
1f5ab428 43003 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
43004 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
43005 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
43006 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
43007 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
43008
43009 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
43010
43011 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
43012 (Utility#rule): Likewise.
43013
43014 * configure.ac: Check if LZO is available.
43015
ce5bf700 430162003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
43017
43018 * include/pupa/normal.h: New file.
43019 * include/pupa/setjmp.h: Likewise.
43020 * include/pupa/i386/setjmp.h: Likewise.
43021 * normal/cmdline.c: Likewise.
43022 * normal/command.c: Likewise.
43023 * normal/main.c: Likewise.
43024 * normal/menu.c: Likewise.
43025 * normal/i386/setjmp.S: Likewise.
f19dbdb7 43026
ce5bf700 43027 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
43028 (pupa_rescue_cmd_initrd): Likewise.
43029
43030 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
43031 Likewise.
43032
43033 * kern/i386/pc/startup.S (translation_table): New variable.
43034 (translate_keycode): New function.
43035 (pupa_console_getkey): Call translate_keycode.
43036
43037 * kern/rescue.c (attempt_normal_mode): New function.
43038 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
43039 it failed, print a message.
43040
43041 * kern/mm.c (pupa_real_malloc): Print more information when a
43042 free magic is broken.
43043 (pupa_free): If the first free header is not free actually, set
43044 it to P.
43045
43046 * kern/main.c (pupa_load_normal_mode): Just load the module
43047 "normal".
43048 (pupa_main): Don't print the message
43049 "Entering into rescue mode..." here.
43050
43051 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
43052 Declared.
43053 (pupa_rescue_cmd_initrd): Likewise.
43054 (pupa_rescue_cmd_initrd): Likewise.
43055
43056 * include/pupa/symbol.h (FUNCTION): Specify the type.
43057 (VARIABLE): Likewise.
43058
43059 * include/pupa/err.h (pupa_err_t): Added
43060 PUPA_ERR_UNKNOWN_COMMAND.
43061
43062 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
43063 (pupa_dl_get_prefix): Likewise.
43064
43065 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
43066 Added _chain.mod and _linux.mod instead of chain.mod and
43067 linux.mod.
43068 (chain_mod_SOURCES): Renamed to ...
43069 (_chain_mod_SOURCES): ... this.
43070 (chain_mod_CFLAGS): Renamed to ...
43071 (_chain_mod_CFLAGS): ... this.
43072 (linux_mod_SOURCES): Renamed to ...
43073 (_linux_mod_SOURCES): ... this.
43074 (linux_mod_CFLAGS): Renamed to ...
43075 (_linux_mod_CFLAGS): ... this.
43076 (normal_mod_SOURCES): New variable.
43077 (normal_mod_CFLAGS): Likewise.
43078 (normal_mod_ASFLAGS): Likewise.
43079
430802003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
43081
43082 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
43083 possible.
43084
fe6b695a 43085 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 43086 recursively.
43087 (pupa_dl_unref): Unrefer depending modules recursively.
43088 Don't call pupa_dl_unload implicitly, because PUPA can crash if
43089 a module is unloaded before one depending on that module is
43090 unloaded.
43091 (pupa_dl_unload): Unload depending modules explicitly,
43092 if possible.
43093
c04da074 430942003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
43095
43096 * include/pupa/i386/pc/linux.h: New file.
43097 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 43098
c04da074 43099 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
43100 Removed.
43101 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
43102 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
43103 of PUPA_CHAINLOADER_BOOT_SECTOR.
43104
43105 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
43106 (pupa_linux_prot_size): New variable.
43107 (pupa_linux_tmp_addr): Likewise.
43108 (pupa_linux_real_addr): Likewise.
43109 (pupa_linux_boot_zimage): New function.
43110 (pupa_linux_boot_bzimage): Likewise.
43111
43112 * kern/i386/pc/init.c (struct mem_region): New structure.
43113 (MAX_REGIONS): New macro.
43114 (mem_regions): New variable.
43115 (num_regions): Likewise.
43116 (pupa_os_area_addr): Likewise.
43117 (pupa_os_area_size): Likewise.
43118 (pupa_lower_mem): Likewise.
43119 (pupa_upper_mem): Likewise.
43120 (add_mem_region): New function.
43121 (compact_mem_regions): Likewise.
43122 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
43123 the size of the conventional memory and that of so-called upper
43124 memory (before the first memory hole).
43125 Instead of adding each found region to free memory, use
43126 add_mem_region and add them after removing overlaps.
43127 Also, add only 1/4 of the upper memory to free memory. The rest
43128 is used for loading OS images. Maybe this is ad hoc, but this
43129 makes it much easier to relocate OS images when booting.
43130
43131 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
43132 (pupa_enter_rescue_mode): Don't register initrd and module.
43133
43134 * kern/mm.c: Include pupa/dl.h.
43135
43136 * kern/main.c: Include pupa/file.h and pupa/device.h.
43137
43138 * kern/loader.c (pupa_loader_load_module_func): Removed.
43139 (pupa_loader_load_module): Likewise.
43140
43141 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
43142 ``.o''.
43143
43144 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
43145 (pupa_linux_tmp_addr): Likewise.
43146 (pupa_linux_real_addr): Likewise.
43147 (pupa_linux_boot_zimage): Likewise.
43148 (pupa_linux_boot_bzimage): Likewise.
43149
43150 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
43151 (pupa_upper_mem): Likewise.
43152 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
43153 module is too dangerous.
43154
43155 * include/pupa/loader.h (pupa_os_area_addr): Declared.
43156 (pupa_os_area_size): Likewise.
43157 (pupa_loader_set): Remove the first argument. Loader doesn't
43158 manage modules or initrd any longer.
43159 (pupa_loader_load_module): Removed.
43160
43161 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
43162 (linux_mod_SOURCES): New variable.
43163 (linux_mod_CFLAGS): Likewise.
43164
a13f9237 431652003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
43166
43167 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
43168 the length of a blocklist correctly.
43169
43170 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
43171 Use ioctl only if the OS file is a block device.
43172 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
43173 not very useful for normal files.
43174
43175 * kern/main.c (pupa_set_root_dev): New function.
43176 (pupa_load_normal_mode): Likewise.
43177 (pupa_main): Call those above.
43178
43179 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
43180 pupa_uint16_t.
43181
43182 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
43183
a5ffe966 431842003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
43185
43186 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
43187 (setup): Configure the installed partition information and the
43188 dl prefix.
43189
43190 * loader/i386/pc/chainloader.c (my_mod): New variable.
43191 (pupa_chainloader_unload): New function.
43192 (pupa_rescue_cmd_chainloader): Refer itself.
43193 (PUPA_MOD_INIT): Save its own module in MY_MOD.
43194
43195 * kern/i386/pc/startup.S (install_partition): Removed.
43196 (version_string): Likewise.
43197 (config_file): Likewise.
43198 (pupa_install_dos_part): New variable.
43199 (pupa_install_bsd_part): Likewise.
43200 (pupa_prefix): Likewise.
43201 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
43202
43203 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
43204 and pupa/misc.h.
43205 (make_install_device): New function.
43206 (pupa_machine_init): Set the dl prefix.
43207
43208 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
43209 (buf): Renamed to ...
43210 (linebuf): ... this.
43211 (pupa_rescue_cmd_prefix): New function.
43212 (pupa_rescue_cmd_insmod): Likewise.
43213 (pupa_rescue_cmd_rmmod): Likewise.
43214 (pupa_rescue_cmd_lsmod): Likewise.
43215 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
43216 rmmod and lsmod.
43217
43218 * kern/mm.c (pupa_memalign): If failed even after invalidating
43219 disk caches, unload unneeded modules and retry.
43220
43221 * kern/misc.c (pupa_memmove): New function.
43222 (pupa_memcpy): Removed.
43223 (pupa_strcpy): New function.
43224 (pupa_itoa): Made static.
43225
43226 * kern/dl.c (pupa_dl_iterate): New function.
43227 (pupa_dl_ref): Likewise.
43228 (pupa_dl_unref): Likewise.
43229 (pupa_dl_unload): Return if succeeded or not.
43230 (pupa_dl_unload_unneeded): New function.
43231 (pupa_dl_unload_all): Likewise.
43232 (pupa_dl_init): Renamed to ...
43233 (pupa_dl_set_prefix): ... this.
43234 (pupa_dl_get_prefix): New function.
43235
43236 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
43237 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
43238 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
43239 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
43240 (pupa_install_dos_part): Declared.
43241 (pupa_install_bsd_part): Likewise.
43242 (pupa_prefix): Likewise.
43243 (pupa_boot_drive): Likewise.
43244
43245 * include/pupa/types.h: Fix a typo.
43246
43247 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
43248 pupa_memmove.
43249 (pupa_memmove): Declared.
43250 (pupa_strcpy): Likewise.
43251
43252 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
43253 pupa_mod_init takes one argument, its own module.
43254 (pupa_dl_unload_unneeded): Declared.
43255 (pupa_dl_unload_all): Likewise.
43256 (pupa_dl_ref): Likewise.
43257 (pupa_dl_unref): Likewise.
43258 (pupa_dl_iterate): Likewise.
43259 (pupa_dl_init): Renamed to ...
43260 (pupa_dl_set_prefix): ... this.
43261 (pupa_dl_get_prefix): Declared.
43262
43263 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 43264 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 43265 unloaded.
43266 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
43267 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
43268
43269 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
43270 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
43271
012d7999 432722003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
43273
43274 * util/i386/pc/pupa-setup.c (setup): Define the internal
43275 function find_first_partition_start at the top level, because GCC
43276 3.0.x cannot compile internal functions in deeper scopes
43277 correctly.
43278 (find_root_device): Use lstat instead of stat.
43279 Don't follow symbolic links.
43280 Fix the path-constructing code.
43281
43282 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
43283 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
43284 by a BLKGETSIZE ioctl first, because block devices don't fill
43285 the member st_mode of the structure stat on Linux.
43286 [__linux__] (linux_find_partition): Use a temporary buffer
43287 REAL_DEV for the working space. Copy it to DEV before returning.
43288 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
43289 buffer cache consistent.
43290 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
43291 strncmp. The previous value was merely wrong.
43292 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
43293
43294 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
43295 FAT size is 12. The previous value was merely wrong.
43296
43297 * kern/main.c (pupa_main): Don't split the starting message from
43298 newlines.
43299
43300 * kern/term.c (pupa_putchar): Put CR after LF instead of before
43301 LF, because BIOS goes crazy about character attributes in this
43302 case.
43303
1cc73a62 433042003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
43305
43306 * include/i386/pc/util/biosdisk.h: New file.
43307 * util/i386/pc/biosdisk.c: Likewise.
43308 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 43309
1cc73a62 43310 * Makefile.in (INCLUDE_DISTFILES): Added
43311 include/pupa/i386/pc/util/biosdisk.h.
43312 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
43313 directory util/i386/pc.
43314 (install-local): Added a rule for sbin_UTILITIES.
43315 (uninstall): Likewise.
43316
43317 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
43318
43319 * util/misc.c (xrealloc): New function.
43320 (pupa_malloc): Likewise.
43321 (pupa_free): Likewise.
43322 (pupa_realloc): Likewise.
43323 (pupa_stop): Likewise.
43324 (pupa_putchar): Likewise.
43325
43326 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
43327
43328 * include/pupa/util/misc.h (xrealloc): Declared.
43329
43330 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
43331 macro.
43332 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
43333 (PUPA_BOOT_MACHINE_BPB_END): ... this.
43334
43335 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
43336 [PUPA_UTIL] (pupa_fat_fini): Likewise.
43337
43338 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
43339 way should be implemented.
43340 [PUPA_UTIL] (pupa_fat_fini): Likewise.
43341
43342 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
43343 the size of NAME for safety.
43344 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
43345 0x88.
43346
43347 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
43348 (pupa_setup_SOURCES): Likewise.
43349
43350 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
43351
08b70fe8 433522002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
43353
43354 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
43355 bunch of pushl's from pusha, because this destroys the return
43356 value.
43357
62ddcc8f 433582002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
43359
43360 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
43361 This means that any missing prototypes could be fatal. Also, you
43362 must take care when writing assembly code. See the comments at
43363 the beginning of startup.S, for more details.
f19dbdb7 43364
62ddcc8f 43365 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
43366 compilation mechanism.
43367 (pupa_chainloader_real_boot): Likewise.
43368 (pupa_biosdisk_rw_int13_extensions): Likewise.
43369 (pupa_biosdisk_rw_standard): Likewise.
43370 (pupa_biosdisk_check_int13_extensions): Likewise.
43371 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
43372 (pupa_biosdisk_get_diskinfo_standard): Likewise.
43373 (pupa_get_memsize): Likewise.
43374 (pupa_get_mmap_entry): Likewise.
43375 (pupa_console_putchar): Likewise.
43376 (pupa_console_setcursor): Likewise.
43377 (pupa_getrtsecs): Use pushl instead of push.
43378
43379 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
43380 memory instead of the stack for a mmap entry, because some
43381 BIOSes may ignore the maximum size and overflow.
43382
43383 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
43384
43385 * genmk.rb (PModule#rule): Compile automatically generated
43386 sources with module-specific CFLAGS as well as other sources.
43387
9962ed99 433882002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
43389
43390 * configure.ac: Check ld.
43391 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
43392 respectively, before checking endianness and sizes.
43393
43394 * Makefile.in (LD): New variable.
f19dbdb7 43395
abdfc3c5 433962002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
43397
43398 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
43399
6a161fa9 434002002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
43401
43402 * Changelog: New file.
43403