]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
[grub2.git] / ChangeLog
CommitLineData
30b7f58f
VS
12013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
4 * grub-core/kern/emu/hostfs.c: Likewise.
5 * util/getroot_unix.c: Likewise.
6
bab7b1eb
VS
72013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
8
9 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
10 Migrate all explicit defines to this new one.
11
43b1c99d
VS
122013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
13
14 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
15 grub_util_fd_strerror when using grub_util_fd_*.
16 (grub_util_fd_open_device): Likewise.
17 (grub_util_biosdisk_read): Likewise.
18 (grub_util_biosdisk_write): Likewise.
19 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
20 (grub_util_fd_strerror): Likewise.
21 (grub_util_fd_sync): Likewise.
22 (grub_util_fd_close): Likewise.
23 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
24 (grub_util_fd_close): Likewise.
25 (grub_util_fd_strerror): Likewise.
26 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
27 function proto rather than macro.
28 (grub_util_fd_sync): Likewise.
29 (grub_util_fd_open): Likewise.
30 (grub_util_fd_strerror): New proto.
31
e8fd80bc
VS
322013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
33
34 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
35 platforms on which it doesn't work.
36
bf645fda
VS
372013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
38
39 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
40 stat immediately to where it's used.
41
5177ba14
VS
422013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
43
44 * util/getroot.c (grub_util_check_block_device): Move to ...
45 * util/getroot_unix.c (grub_util_check_block_device): ... here.
46 * util/getroot.c (grub_util_check_char_device): Move to ...
47 * util/getroot_unix.c (grub_util_check_char_device): ... here.
48
9db826e1
VS
492013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
50
51 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
52 disk closing logic.
53
49120085
AB
542013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
55
56 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
57
b3328b68
AB
582013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
59
60 * docs/grub.texi (File name syntax): Document ZFS filenames
61 (/volume@snapshot/...).
62
3fff48ab
VS
632013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
64
65 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
66 Always return full path. Fixes a problem with mkrelpath.
67
39cfdaa9
PFS
682013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
69
70 * util/grub-install.in: Add GPT PReP support.
71 * util/grub-probe.c (probe): Support GPT partition type.
72 (main): Support -t gpt_parttype.
73
7c680e1f 742013-09-23 Aleš Nesrsta <starous@volny.cz>
75
76 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
77
890bdabe
MM
782013-09-23 Massimo Maggi <me@massimo-maggi.eu>
79
80 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
81
9c262ff9
TH
822013-09-23 Tim Hardeck <thardeck>
83
84 * util/grub.d/10_hurd.in: Filter out character for the class.
85 * util/grub.d/10_kfreebsd.in: Likewise.
86 * util/grub.d/10_linux.in: Likewise.
87 * util/grub.d/20_linux_xen.in: Likewise.
88
d755342a
MC
892013-09-23 Melki Christian <Christian.melki@saabgroup.com>
90
91 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
92 "changed".
93
68b77707
JT
942013-09-23 Josh Triplett <josh@joshtriplett.org>
95
96 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
97 boot partition.
98
efa68bfa
VS
992013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
100
101 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
102 doesn't use posix_wrap. Keep literal -fno-builtin however.
103
d9104204
VS
1042013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
105
106 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
107
c248781a 1082013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1092013-09-23 neil
110
5830df88 111 * configure.ac: Do not enable -Wmissing-noreturn as its
112 usefulness is limited and creates problems on some OS notably with
113 code generated by bison.
114
1152013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1162013-09-23 neil
117
118 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 119 supported by all gcc and when it is, it's already enabled by -Wall.
120
621bed69
VS
1212013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
122
123 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
124 desactivated use of EDID at all.
125
71764dc8 1262013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1272013-09-23 neil
128
129 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
130 video if no text is available.
131
affce7d4 1322013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
1332013-09-23 neil
134
135 * configure.ac: Substitute TARGET_RANLIB.
136
1372013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1382013-09-23 neil
affce7d4
VS
139
140 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
141
142 Based on patches from AROS.
143
0e8daad0 1442013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 1452013-09-23 neil
0e8daad0
VS
146
147 * grub-core/Makefile.am: Override STRIP and RANLIB.
148 * configure.ac: compute TARGET_RANLIB.
149 * INSTALL: Document TARGET_RANLIB
150
151 Based on patches from AROS.
152
3f7d9c82
VS
1532013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
154
155 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
156 that floppies are unpartitioned.
157
bca8873a
VS
1582013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
159
160 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
161 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
162
1632013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
164
165 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
166 less nice but more portable.
167 * grub-core/lib/posix_wrap/wchar.h: Likewise.
168
a47a78be
VS
1692013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
170
171 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
172 for cheat_fd.
173 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
174 functions.
175 (grub_cryptodisk_cheat_insert): Likewise.
176 (grub_cryptodisk_close): Likewise.
177
e85a5d5c
VS
1782013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
179
180 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
181 Use windows path for DEFAULT_DIRECTORY.
182
dad9fa6b
VS
1832013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
184
185 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
186 difference was likely just gcc version, not anything mingw-related.
187
7e518ca8
VS
1882013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
189
190 Use Winapi on both cygwin and mingw32 to share more code between both.
191
d68d0157
AB
1922013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
193
194 * util/grub-install.in: Add --grub-editenv option.
195 * util/grub-install_header (grub_compress_file): Explicitly check for
196 plain file to avoid cp error.
197
775b284d
AB
1982013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
199
200 * docs/grub.texi (Device syntax): Document new LVM UUID based device
201 names; fix LVM driver name (lvm, not lv).
202 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
203 names.
204
3ff4063d
VS
2052013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
206
207 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
208 files rather than one file with loads of #if's.
209 * util/getroot.c: Likewise.
210
287faafe
VS
2112013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
212
213 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
214
d1983764
VS
2152013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
216
217 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
218 GNU/Hurd to the list of checked PRNG.
219
15ce95c4
VS
2202013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
221
222 * configure.ac: On FreeBSD use -melf_*_fbsd format.
223
207862dd 2242013-09-21 Ales Nesrsta <starous@volny.cz>
225
7c680e1f 226 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 227
63653cfd
VS
2282013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
229
230 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
231 * grub-core/disk/lvm.c: Add LVM UUIDs.
232 * util/getroot.c: Use LVM UUIDs whenever possible.
233
f5d3e7ef
AB
2342013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
235
236 * docs/grub.texi (Networking commands): Add documentation for
237 network related commands.
238
53c6b7d6
VS
2392013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
240
241 * util/getroot.c (grub_util_open_dm): Check major rather than the name
242 to determine if device is handled by devmapper.
243 (convert_system_partition_to_system_disk): Likewise.
244 (get_dm_uuid): Don't check explicitly if device is mapped, it's
245 already done in grub_util_open_dm.
246
e70d6736
LL
2472013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
248
249 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
250 Clean up stack manipulation (sync_caches_armv*)
251
90379808
VS
2522013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
253
254 * util/lvm.c: Remove since unused. Remove remaining references.
255
386701a8
VS
2562013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
257
258 Handle the case of partitioned LVM properly.
259
260 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
261 Stop on meeting LVM, mpath or DMRAID.
262 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
263 (read_device_map): Likewise.
264 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
265 device is full disk rather than erroring out on LVM and similar cases.
266
53070787
VS
2672013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
268
269 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
270
1bc783bd
VS
2712013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
272
273 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
274 4K before the end.
275 Reported by: Leif Lindholm
276
436ad5c3
PW
2772013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
2782013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
279
280 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
281 codes.
282
607319c9
CW
2832013-09-18 Colin Watson <cjwatson@ubuntu.com>
284
285 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
286 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
287
d404d154
DR
2882013-09-18 Douglas Ray <dougray@cpan.org>
289
290 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
291 as secure.
292
28851ef6
AN
2932013-09-18 Aleš Nesrsta <starous@volny.cz>
294
295 * docs/grub.texi: Fix broken link.
296
897c3bc6
MC
2972013-09-18 Melki Christian <Christian.melki@saabgroup.com>
298
299 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
300 to break endless loop.
301
f1630459
VS
3022013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
303
304 * util/grub-fstest.c: Fix several printf formats.
305 * util/grub-mkimage.c: Likewise.
306 * util/grub-mkimagexx.c: Likewise.
307 * util/grub-script-check.c: Likewise.
308
64463dfd
VS
3092013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
310
311 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
312 error.
313
48972495
VS
3142013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
315
316 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
317
5dd5e64b
VS
3182013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
319
320 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
321 removed in current versions cygwin_conv_*.
322
1c1f31e5
VS
3232013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
324
325 * configure.ac: Disable efiemu runtime on cygwin.
326
c546a259
VS
3272013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
328
329 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
330 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
331
81690478
VS
3322013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
333
334 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
335 error message.
336
6b87c10a
VS
3372013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
338
339 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
340 windows variant.
341 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
342 data.
343
8f0baaac
VS
3442013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
345
346 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
347 when on x86 and not cygwin.
348 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
349 -Wl,-melf_x86_64.
350
b224c266
VS
3512013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
352
353 * configure.ac: Set CPP to build one when checkoing for freetype for
354 build.
355
506b336b
VS
3562013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
357
358 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
359 [!GRUB_BUILD]: Remove has_argument.
360
8c8c87b7
VS
3612013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
362
363 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
364 Replace with a dummy.
365
7dc5ca13
VS
3662013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
367
368 * configure.ac: Don't change host_os from mingw to cygwin.
369
c3302aa5
VS
3702013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
371
372 * configure.ac: Change target_os from windows to cygwin.
373
7b780018
VS
3742013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
375
376 Handle grub-pe2elf and grub-mkfont for cases when build != host.
377
378 * Makefile.am (build-grub-mkfont): Don't include gnulib.
379 (build-grub-gen-asciih): Likewise.
380 (build-grub-gen-widthspec): Likewise.
381 * Makefile.util.def (grub-pe2elf): Remove.
382 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
383 * configure.ac: Separate tests for build.
384 Move ./build-grub-pe2elf to grub-core.
385 Fix typo.
386 * grub-core/Makefile.am (build-grub-pe2elf): New target.
387 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
388 defined.
389 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
390 constants.
391 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
392 * util/grub-pe2elf.c: Simplify not to rely on getopt.
393 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
394
984cfd8a
VS
3952013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
396
397 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
398 mingw32 as well based on grub_util_get_disk_size.
399 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
400 grub_util_get_fd_size.
401 (sync): Removed.
402 (fsync): Moved to ...
403 * grub-core/kern/emu/misc.c (fsync): ... here.
404
f82d79c9
VS
4052013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
406
407 * include/grub/mm.h (grub_extend_alloc): Remove.
408 * grub-core/loader/i386/pc/plan9.c: Use own version of
409 grub_extend_alloc with appropriate types.
410
fd7dd66d
VS
4112013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
412
413 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
414
43ffba7c
VS
4152013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
416
417 * util/getroot.c: Include sys/wait.h only when we need waitpid.
418
3c7eac44
VS
4192013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
420
421 Fix dependencies on cygwin.
422
423 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
424 dependencies when used and defined.
425 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
426
bdb5ba47
VS
4272013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
428
429 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
430 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
431
ed7fbf43
VS
4322013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
433
434 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
435 implementation available to cause compile-time rather than runtime
436 error.
437
fc46e9fc
VS
4382013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
439
440 * util/grub-fstest.c: Don't check for symlinks on windows.
441
7f68269a
VS
4422013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
443
444 * INSTALL: Mention unavailability of man pages when cross-compiling.
445
8ed358e0
VS
4462013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
447
448 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
449 and gcry_log_bug.
450 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
451
fc97214f
VS
4522013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
453
454 * INSTALL: Document cross-compilation.
455 * acinclude.m4: Determine whether nm support -P and --defined-only.
456 * configure.ac: Add TARGET_ to all variables pertaining to target
457 that don't have it yet.
458 * gentpl.py: Likewise.
459 * grub-core/Makefile.am: Likewise.
460 * grub-core/genmod.sh.in: Likewise.
461 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
462 as well.
463
ca1fb563
IB
4642013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
465
466 * configure.ac: Remove -Wempty-body. It's not essential and needs
467 recent gcc.
468
0031b229
IB
4692013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
470
471 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
472 * util/getroot.c: Likewise.
473
54ea2f44
VS
4742013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
475
476 * grub-core/disk/ahci.c: Add needed explicit cast.
477 * grub-core/lib/backtrace.c: Likewise.
478 * grub-core/net/ip.c: Likewise.
479 * grub-core/net/tcp.c: Likewise.
480 * grub-core/net/udp.c: Likewise.
481
3c601f8c
VS
4822013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
483
484 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
485
1d679dda
VS
4862013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
487
488 * util/import_gcry.py: Add final newline in visibility.h.
489
00c28dd9
VS
4902013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
491
492 * conf/Makefile.common: Fix typo.
493
32af299a
VS
4942013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
495
496 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
497
e733cf52
VS
4982013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
499
500 * Makefile.am (widthspec.h): Fix typo.
501 * util/grub-gen-widthspec.c: Likewise.
502
c6b066f2
VS
5032013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
504
505 Move ascii.h and widthspec.h generation to a separate build-time-only
506 tool.
507
ad1fe3f9 5082013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
509
510 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
511 Always fill bootdisk info and improve check for NetBSD disklabel.
512
92a52dd4
VS
5132013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
514
515 * conf/Makefile.extra-dist: Add util/bin2h.c.
516 Reported by: floppym.
517
b2e9d276
VS
5182013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
519
520 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
521
7b966834
VS
5222013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
523
524 * configure.ac: Disable unifont and starfield if no freetype was found.
525
d5c1eef1
VS
5262013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
527
528 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
529 on NetBSD and OpenBSD.
530
66345b50 5312013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
532
533 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
534
66345b50 5352013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
536
537 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
538 reduced. Inheritant options are processed during the theme loading.
539
66345b50 5402013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
541
542 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
543
369508b3
AS
5442013-08-14 Avik Sil <aviksil@in.ibm.com>
545
546 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
547
5482013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
549
550 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
551 using qemu.
552
6f27a3f6
PFS
5532013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
554
555 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
556 remove-potcdate.sed.
557
c6ed362a
AB
5582013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
559
560 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
561 unused attribute from pull argument.
562
5e7d9464
AB
5632013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
564
565 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
566 memory leak.
567
dea55e2a
AB
5682013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
569
570 * util/getroot.c (pull_lvm_by_command): add --separator option
571 to vgs call to disable padding of output to 10 characters.
572
f0b94ded
VS
5732013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
574
575 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
576 here ...
577 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
578 here.
579
b828fb5d
VS
5802013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
581
582 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
583 length.
584
7c9d0c39
VS
5852013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
586
587 Fix handling of build-time grub-bin2h and grub-mkfont when doing
588 full Canadian cross. Tested with build=x86_64, host=arm,
589 target=ppc-ieee1275.
590
816719c8
VS
5912013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
592
593 * configure.ac: Error if no $BUILD_CC could be found.
594 Reported by: DevHC.
595
2af2353b
VS
5962013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
597
598 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
599 i386-multiboot.
600
797abd0a
VS
6012013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
602
603 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
604 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
605
36e87d25
CW
6062013-08-13 Colin Watson <cjwatson@ubuntu.com>
607
608 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
609 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
610 falling back to the partition device, otherwise a later call to this
611 function may fail spuriously.
612 Reported by Axel Beckert. Fixes Debian bug #708614.
613
273349fe
GS
6142013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
615
616 * autogen.sh: Replace find -not by the POSIX-compliant find !.
617
418f86c6
GS
6182013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
619
620 Prevent shadowing of stdlib's devname(3) on BSD.
621
622 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
623 and devlast to diskname and disklast, respectively.
624
c137aea0
CW
6252013-08-11 Colin Watson <cjwatson@ubuntu.com>
626
627 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
628
272dc8df 6292013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
630
631 * docs/grub.texi: Introduce terminal window position options:
632 terminal-left: terminal window's left position
633 terminal-top: terminal window's top position
634 terminal-width: terminal window's width
635 terminal-height: terminal window's height
636 terminal-border: terminal window's border width
637 * grub-core/gfxmenu/theme-loader.c: Likewise.
638 * include/grub/gfxmenu_view.h: Likewise.
639 * po/exlude.pot: Likewise.
640 * grub-core/gfxmenu/view.c: Likewise.
641 Also updated minimal window size.
642 Also terminal_sanity_check function has been introduced.
272dc8df
VT
643 * grub-core/tests/checksums.h: Update (terminal window height
644 is adjusted now for low resolution screen)
b4743461 645
748a4533
VS
6462013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
647
648 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
649 position).
650
fca5f944
VS
6512013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
652
653 * po/exclude.pot: Add few recent exceptions.
654
4f47d809
VS
6552013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
656
657 * tests/grub_func_test.in: Add unicode.pf2.
658
a62ae90c
VS
6592013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
660
661 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
662 standard rather than noral color, in line with other terminals.
663
4ed41392
VS
6642013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
665
666 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
667 analysis.
668
3719fbc5
VS
6692013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
670
671 * grub-core/loader/arm/linux.c: Change printf to dprintf.
672
459b1d91
VS
6732013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
674
675 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
676 inappropriate printf.
677
f4e1ab9d
AB
6782013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
679
680 * .bzrignore: Remove grub-core/lib/dtc-grub,
681 grub-core/Makefile.libfdt.def
682 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
683
fa471bfa
VS
6842013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
685
686 * include/grub/video.h (grub_video_register): Keep double-linked as
687 well as single-linked invariants.
688 Reported by: qwertial.
689
d65be02b
VS
6902013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
691
692 * grub-core/commands/nativedisk.c (get_uuid): Handle
693 GRUB_DISK_DEVICE_UBOOTDISK_ID.
694
ba8bc620
VT
6952013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
696
697 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
698 maximum of NW, N, NE heights instead of N's height and maximum of
699 NW, W, SW widths instead of W's width. (So the box will be always
700 correctly drawn)
701
4f0ad029
GS
7022013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
703
704 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
705 Fix misuse of variable count.
706
43d53b72
LL
7072013-07-18 Leif Lindholm <leif.lindholm@arm.com>
7082013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
7092013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 710
43d53b72
LL
711 New ports to arm-uboot and arm-efi.
712 Mostly by Leif Lindholm with some additions from
713 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 714
88f8d146
VS
7152013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
716
717 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
718 and not before.
719 Reported by: Leon Drugi.
720
3f42504c
VS
7212013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
722
723 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
724 Reported by: Paulo Flabiano Smorigo.
725
d110499b
VT
7262013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
727
728 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
729
a8674ad3
VT
7302013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
731
732 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
733
286fe4b3
VS
7342013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
735
736 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
737
1bd57aa3
VS
7382013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
739
740 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
741
7a87d69f
AB
7422013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
743
744 * grub-core/net/bootp.c: Export net_* variables.
745 * grub-core/net/net.c: Likewise.
746
b2182299
VS
7472013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
748
749 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
750
795b3dc0
VS
7512013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
752
753 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
754
68714c43
VS
7552013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
756
757 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
758
af211bab
VS
7592013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
760
761 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
762
0036f02d
MM
7632013-07-14 Massimo Maggi <me@massimo-maggi.eu>
764
765 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
766 <= 0.
767
6d0ddff3
MM
7682013-07-14 Massimo Maggi <me@massimo-maggi.eu>
769
770 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
771 functions.
772
038016f4
MM
7732013-07-14 Massimo Maggi <me@massimo-maggi.eu>
774
775 * grub-core/fs/zfs/zfs_lz4.c: New file.
776 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
777
776bdce2
MM
7782013-07-14 Massimo Maggi <me@massimo-maggi.eu>
779
780 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
781
c71dbd40
MM
7822013-07-14 Massimo Maggi <me@massimo-maggi.eu>
783
784 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
785 (check_pool_label): Likewise.
786 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
787
7882013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
789
790 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
791
8e67b50f
AB
7922013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
793
794 * docs/grub.texi (Commands): Document postition parameters
795 for menuentry command.
796
f5ae3717
AB
7972013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
798
799 * util/grub-mknetdir.in: Remove stray line from help output.
800
9c28da2a
VS
8012013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
802
803 Remove early sm712 init as there is no reason for it (the "watchdog"
804 effect was due to wrong GPIO map).
805
139072b8
VS
8062013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
807
808 * grub-core/commands/pcidump.c: Remove static variables.
809
c6a61bda
VS
8102013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
811
812 * grub-core/commands/sleep.c: Refresh screen before sleeping.
813
51369614
VS
8142013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
815
816 * configure.ac: Move delimiter after the infos.
817
efa8640a
VS
8182013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
819
820 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
821
6f80a7b2
VS
8222013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
823
824 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
825 not filling whole 8x16 space.
826
a2371e19
VS
8272013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
828
829 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
830
64fce2d8
VS
8312013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
832
833 * configure.ac: Indicate which liblzma is used if any.
834
eb272d84
PW
8352013-06-21 Paul Wise <pabs3@bonedaddy.net>
8362013-06-21 Craig Sanders <savannah@taz.net.au>
837
838 * util/grub-reboot.in: Document submenu usage.
839
a9e5abee
CW
8402013-06-25 Colin Watson <cjwatson@ubuntu.com>
841
842 * .bzrignore: Update with a number of new test-related files.
843
e639c204
CW
8442013-06-25 Colin Watson <cjwatson@ubuntu.com>
845
846 * util/grub-script-check.c: Fail on scripts containing no
847 commands, to guard against corrupted grub-mkconfig setups that
848 produce no useful output.
849 * tests/grub_script_no_commands.in: New test.
850 * Makefile.util.def (grub_script_no_commands): Add.
851 Reported by Hans Putter. Fixes Debian bug #713886.
852
a4c89b17
AB
8532013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
854
855 * grub-core/disk/diskfilter.c: Forgot to remove comment
856 from previous commit.
857
5b06b53c
AB
8582013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
859
860 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
861 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
862
702da5c9
AB
8632013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
864
865 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
866
aa62a5b7
AB
8672013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
868
869 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
870 rescan diskfilter devices until nothing new is found.
871
4aa237c8
VS
8722013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
873
874 Fix casts when compiling coreboot-specific code for 64-bit EFI.
875
93d8479b
VS
8762013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
877
878 Don't try to detect cbfs on *-emu.
879
837222cc
VS
8802013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
881
882 * grub-core/term/gfxterm.c: USe right background color when scrolling.
883
99c971af
VS
8842013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
885
886 Add support for processed coreboot payload chainloading.
887
e6930a45
VS
8882013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
889
890 Enable coreboot information commands even when not loaded as
891 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
892
5027af38
VS
8932013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
894
895 Support for cbfs. Also factor out the part which is common
896 for all archives to a separate module. This splits tar from cpio
897 as they are very different but keeps cpio, cpio_be, odc and newc
898 together since they're very similar.
899
a5b55c4b
DM
9002013-06-15 David Michael <fedora.dm0@gmail.com>
901
902 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
903 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
904
0301a8b3
VS
9052013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
906
907 * tests/grub_script_eval.in: Really add the eval test.
908
3d84cb17
VS
9092013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
910
911 Move flavour-specific parts out of common cpio.c file and
912 rename remaining to cpio_common.c
913
593e430c
AB
9142013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
915
916 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
917 off new function grub_script_execute_new_scope. Change callers to use
918 either of them as appropriate.
919 * grub-core/commands/eval.c: New command eval.
920 * docs/grub.texi (Commands): Document it.
921
63c29849
AB
9222013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
923
924 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
925 to fetch values when listing.
926
cc284112
AB
9272013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
928
929 Fix make dist on non-pc.
930
9312013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
932
933 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
934 without a device name.
935
69544d1e
VS
9362013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
937
938 Remove enable_executable_check as it's not needed anymore.
939 Reported by: dougray.
940
96dbe648
VS
9412013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
942
943 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
944 ambigouos RAID before discovering RAIDs on top of it.
945 Reported by: bodom.
946
ccfc0bdb
VS
9472013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
948
949 Fix typo (failback vs fallback).
950
f2587088
AB
9512013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
952
953 * util/grub.d/30_os-prober.in: Add support for probing EFI
954 System Partition (as of os-prober 1.58).
955
cec5cf0c
VS
9562013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
957
958 * configure.ac: Add yet another path to unifont. For parabola.
959
e40b4596
JT
9602013-05-30 Josh Triplett <josh@joshtriplett.org>
961
962 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
963 handling to copy the killed characters to the kill buffer as
964 UCS4 stored as grub_uint32_t rather than as 8-bit characters
965 stored as char. Eliminates UCS4 truncation and corruption
966 observed when killing characters with Ctrl-u and yanking them
967 back with Ctrl-y.
968
fc4c4fdd
VS
9692013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
970
971 Detach optional parts of gfxterm and integrate in with coreboot init.
972
6570b205
VS
9732013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
974
975 Move blit and fill dispatcher to appropriate files to decrease export
976 and relocation overhead.
977
b8323067
VS
9782013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
979
980 * grub-core/font/font.c, include/grub/font.h: Inline simple font
981 functions.
982
3cc1878f
VS
9832013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
984
985 * grub-core/Makefile.am: Fix compilation problem with some
986 automake versions.
987
4b80e43c
VS
9882013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
989
990 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
991
57e0c20c
VS
9922013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
993
994 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
995 automake versions.
996
4fd42c53
VS
9972013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
998
999 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
1000 SSDT.
1001
1e908b34
RS
10022013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
1003
1004 * grub-core/partmap/dfly.c: New partition map.
1005
1359e474
VS
10062013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1007
1008 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
1009 checking.
1010 Reported by: Francesco Lavra.
1011
17806392
AB
10122013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
1013
1014 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
1015 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
1016 false conditions.
1017 * conf/Makefile.common: define dist_grubconf_DATA
1018
cdce14fa
VS
10192013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1020
1021 Progressively skip menu elements on small terminals rather
1022 than crashing.
1023
c8d6cc3c
VS
10242013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1025
1026 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
1027 to avoid losing last column.
1028
a73b31ce
VS
10292013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1030
1031 * po/exclude.pot: Add missing string "%C".
1032
1202c764
VS
10332013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1034
1035 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
1036 after the test.
1037
50268344
VS
10382013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1039
1040 * util/grub-install.in: Gettextize "Not found" message.
1041
62b15edf
VS
10422013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 Fix distfiles list.
1045 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1046
10472013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
1048
1049 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
1050 present.
1051 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
1052
709ad61b
VS
10532013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
1056
d128901a
VS
10572013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1058
1059 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
1060 attribute since structure is not necessarily aligned.
1061
34b22f5c
AB
10622013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
1063
1064 * docs/grub.texi (Device syntax): Clarify description of network
1065 drives.
1066
0f7e980b
VS
10672013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1068
1069 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
1070 for vasprintf presence.
1071
30b03dc2
VS
10722013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 * util/grub-install.in: Handle efibootmgr presence check.
1075 Reported by: Leif Lindholm.
1076
0dc11c08
VS
10772013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
1080 new strings to translate.
1081
f8024c3f
VS
10822013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1083
1084 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
1085 yet another string (pun intended) to translate.
1086
b4c1da62
VS
10872013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1088
1089 * po/POTFILES-shell.in: Autogenerate it.
1090
0ef7478b
VS
10912013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1092
1093 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
1094
8200fa15
VS
10952013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1096
1097 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
1098 misnomer.
1099
091945b2
AB
11002013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
1101
1102 * docs/grub.texi (Network): Add description of net_default_interface,
1103 net_default_ip and net_default_mac. Rewrite variables description
1104 to emphasize that they are per-interface.
1105
0e7b2e32
VS
11062013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1107
1108 New test: cmdline and cat.
1109
16f7c8f6
VS
11102013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1111
1112 * grub-core/commands/cat.c: Show UTF-8 characters.
1113
3e912fda
VS
11142013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1115
1116 * conf/Makefile.common: Poison float and double on non-emu.
1117
ee0220bc
VS
11182013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1119
1120 * configure.ac: Don't disable extended registers on emu.
1121
89e0240c
VS
11222013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 * configure.ac: Don't use extended registers on x86_64.
1125 Reported by: Peter Jones.
1126
e56d9637
VS
11272013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1128
1129 * grub-core/term/efi/console.c: Fix compile error.
1130
8098f655
VS
11312013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 Compressed HFS+ support.
1134
16940e07
VS
11352013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
1138 pixel".
1139
c5dbc13d
VS
11402013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 Menu color test.
1143
011f8ae8
VS
11442013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 * grub-core/tests/setjmp_test.c: New test.
1147
2aa072d7
VS
11482013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 New variables 'net_default_*' to determine MAC/IP of default interface.
1151
43fe02cb
VS
11522013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * tests/gettext_strings_test.in: A test to check for strings not
1155 marked for translation.
1156
bed06142
VS
11572013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1158
1159 * autogen.sh: Exclude unused libgcrypt files from translation.
1160
fb2666b5
VS
11612013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1162
1163 Simplify few strings.
1164
d22840ec
VS
11652013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1166
1167 Mark few forgotten strings for translation.
1168
e34092fd
VS
11692013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1170
1171 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
1172 rather than printf.
1173
47cf82b4
VS
11742013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
1177 rather than printf.
1178 * grub-core/video/readers/tga.c: Likewise.
1179
1eed0e6e
VS
11802013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1181
1182 * tests/priority_queue_unit_test.cc: New test.
1183
c5b7697b
VS
11842013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1185
1186 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
1187 than printf.
1188
5945c2f8
AB
11892013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
1190
1191 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
1192 variable for one time boot menu entry.
1193
fa292343
B
11942013-05-05 Bean <bean123ch@gmail.com>
1195
1196 * grub-core/commands/testspeed.c: New command testspeed.
1197
310d4214
VS
11982013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 Factor-out human-size printing.
1201
85002bf3
VS
12022013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1203
1204 Agglomerate more mallocs to speed-up gfxterm.
1205
22b06e96
VS
12062013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1207
1208 Speed-up gfxterm by slightly agglomerating mallocs.
1209
b7c036bc
VS
12102013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1211
1212 More video checks.
1213
92323d1f
VS
12142013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 Speed-up gfxterm by saving intermediate results in index+alpha
1217 format.
1218
0fb356a3
VS
12192013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1220
1221 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
1222 test.
1223
44dea3f9
VS
12242013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1225
1226 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
1227 line of timeout as it may contain the rest of long line.
1228
14af86e4
VS
12292013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1230
1231 * grub-core/normal/main.c: Fix freed memory dereference.
1232
03f7c8c3
VS
12332013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1234
1235 Fix several memory leaks.
1236
c686014c
VS
12372013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1238
1239 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
1240
0788a695
VS
12412013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
1244
daf01d61
VS
12452013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1246
1247 Fix test -a and -o precedence.
1248 Reported by: adrian15.
1249
82ae74d7
VS
12502013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1251
1252 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
1253
8cec7bd4
AB
12542013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
1255
1256 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
1257 and add it as source to functional_test module.
1258
aa73d688
VS
12592013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
1262
c104b6f9
VS
12632013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1264
1265 New series of tests for gfxterm and gfxmenu.
1266
7391c4d5
VS
12672013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1268
1269 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
1270 the theme path relative to $prefix/themes.
1271
cff50118
VS
12722013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1273
1274 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
1275 Fix order bug.
1276 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
1277
7c332bdc
VS
12782013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1279
1280 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
1281 descriptor.
1282
a4f9a5ff
VS
12832013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1284
1285 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
1286 grub_gfxmenu_timeout_notifications.
1287 (grub_gfxmenu_view_destroy): Likewise.
1288
b5a2114d
VS
12892013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1290
1291 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
1292
a8905e8a
VS
12932013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1294
1295 Several fixes to ieee1275 and big-endian video.
1296
813c1622
VS
12972013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 Add missing exports on mips.
1300
3f3e7326
VS
13012013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
1304 if no unifont is found.
1305 Restore original keyboard.
1306
095accd1
VS
13072013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1308
1309 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
1310 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
1311
50361660
VS
13122013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1313
1314 First automated video test (running videotest and comparing results)
1315
cd0f6eec
VS
13162013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
1319 instead of 2 to have full RGB/CMY test pattern.
1320
3f9634e5
VS
13212013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1322
1323 Add few more tests.
1324
583e5b64
VS
13252013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1326
1327 * include/grub/arc/arc.h: Account for missing "other" peripheral on
1328 ARCS. All users updated.
1329
aa7bcb99
VS
13302013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1331
1332 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
1333
95ef1a54
VS
13342013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 * grub-core/partmap/amiga.c: Fix size of checksummed block.
1337
46546fc5
VS
13382013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1339
1340 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
1341 Reported by: qwertial.
1342
3476e0ef
VT
13432013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
1344
1345 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
1346 with syntax "XXX deg"/"XXX °".
1347
96f33fed
VS
13482013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1349
1350 Make PCI init in i386-qemu port more robust.
1351
13522013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
1353
1354 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
1355 cached view is reused.
1356 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
1357 open boot menus.
1358
c53b4e67
VS
13592013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1360
1361 Unify more code in grub-install_header.
1362
f7457fb2
VS
13632013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1364
1365 Add few new tests.
1366
e2f27a8c
VS
13672013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 Enforce disabling of firmware disk drivers when native drivers kick in.
1370
ef9d8cd5
VS
13712013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1372
1373 * grub-core/commands/nativedisk.c: Customize the list of modules on
1374 platform. Don't try to search for disks already using native drivers.
1375
f7bf6c31
VS
13762013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
1379 platforms.
1380
bdc4add8
VS
13812013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
1384 handling of variables containing backslash.
1385
e9e46c9a
VS
13862013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1387
1388 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
1389 dereference.
1390 Reported by: qwertial.
1391
0e90dee8
VS
13922013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1393
1394 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
1395
e0aacf24
VS
13962013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1397
1398 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
1399 dereference.
1400 Reported by: qwertial.
1401
3c0003c3
VS
14022013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1403
1404 * docs/grub.texi: Add a comment about usefullness of nativedisk.
1405
adb7d667
VS
14062013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1407
1408 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
1409
7cd0df84
VS
14102013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1411
1412 New command `nativedisk'.
1413
02adbb93
VS
14142013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1415
1416 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
1417 * grub-core/loader/i386/bsd.c: Likewise.
1418
9fb0fd4f
VS
14192013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1420
1421 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
1422
bd69257a
VS
14232013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1424
1425 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
1426 grub_get_unaligned16 rather than shifts.
1427
178c2764
VS
14282013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1429
1430 * grub-core/kern/file.c: Use const char * rather than casting to
1431 non-const.
1432
eadfad24
VS
14332013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1434
1435 * grub-core/commands/probe.c: Add missing grub_device_close.
1436
9f73ebd4
VS
14372013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1438
1439 * INSTALL: Document linguas.sh.
1440
965fa829
VS
14412013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1442
1443 Remove POTFILES.in and regenerate it in autogen.sh.
1444
d417ddc4
VS
14452013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 Move --directory/--override-directorry to grub-install_header and unify.
1448
f97ec546
VS
14492013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 * grub-core/term/morse.c: Macroify dih and dah.
1452
b2d7470c
PFS
14532013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1454
1455 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
1456
141e2a78
VS
14572013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1458
1459 * grub-core/term/ns8250.c: Systematically probe ports by writing
1460 to SR before using them.
1461
1dd70ebd
PFS
14622013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1463
1464 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
1465 disks.
1466 (check_sas): Get sas_adress info.
1467
c796a107
VS
14682013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1469
1470 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
1471 ports.
1472
43168646
LD
14732013-04-27 Leon Drugi <eyak>
1474
1475 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
1476 BSS clearing.
1477
e7b8fd08
VS
14782013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1479
1480 Core compression test.
1481
17f9fd29
VS
14822013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 Implement grub_machine_get_bootlocation for ARC.
1485
dc2a6c8b
VS
14862013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1487
1488 Improve AHCI detection and command issuing.
1489
f25a2ba6
VS
14902013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1491
1492 Fix pseries test.
1493
a6393224
VS
14942013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1495
1496 Make 'make check' work on emu.
1497
db99fbe8
VS
14982013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1499
1500 Replace libcurses with our own vt100 handling for the ease of testing
1501 and decreasing prerequisites.
1502
b24ca7cd
VS
15032013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1504
1505 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
1506
63314aa4
VS
15072013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
1510 compile when not needed.
1511
c1b00fff
VS
15122013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1513
1514 * tests/pseries_test.in: New test.
1515
f93e89ef
VS
15162013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1517
1518 Add test to check that different boot mediums work.
1519
c4b456d3
VS
15202013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1521
1522 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
1523 ofw limited ISO support.
1524
5fe67f39
VS
15252013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 * configure.ac: Fix loongson conditional.
1528
7f63a64f
VS
15292013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1530
1531 Enable mipsel-arc.
1532
b04b5990
VS
15332013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1534
1535 Add serial on ARC platform.
1536
88d2f302
VS
15372013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1538
1539 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
1540 commit.
1541
86eb23bc
VS
15422013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1543
1544 * tests/partmap_test.in: Add missing double semicolon.
1545
eec3bb75
VS
15462013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 * util/grub-mkrescue.in: Fix loongson filename.
1549
e0810df3
VS
15502013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1551
1552 * util/grub-mkrescue.in: Move all files that don't have a location
1553 set in stone under /boot/grub. Use ISO hard links rather than copies
1554 to save some space.
1555
65a6b30b
VS
15562013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
1559 bogus SLOF values.
1560
6aff0107
VS
15612013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1562
1563 Make check work on mips-arc.
1564
5e013e56
VS
15652013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 * util/grub-mkrescue.in: Alias sashARCS as sash.
1568
d1989e2e
VS
15692013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1570
1571 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
1572 it's serial.
1573
1a25e72c
VS
15742013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1575
1576 * util/grub-install.in: Fix target fo qemu_mips.
1577 Fix extension on EFI.
1578
a59a9826
VS
15792013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1580
1581 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
1582 in front of chosen entry to mark it even if highlighting is lost.
1583
1a40f80c
VS
15842013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1585
1586 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
1587 gfxpayload=keep if cbfb is active.
1588
e343549c
VS
15892013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1590
1591 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
1592
45fbd9a2
VS
15932013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 Add missing video ids to coreboot and ieee1275 video.
1596
ab1440bd
VS
15972013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1598
1599 * util/grub-mkrescue.in: Add mips-arc support.
1600
cdeb8324
VS
16012013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1602
1603 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
1604
8528c879
VS
16052013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1606
1607 Move mips-arc link address. Previous link address was chosen
1608 in belief that RAM on SGI platforms grows down while in fact it
1609 grows up from an unusual base.
1610
17fca573
VS
16112013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1612
1613 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
1614 Fix a type which prevented CD-ROM and floppy boot.
1615
d178788e
VS
16162013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1617
1618 Support coreboot framebuffer.
1619
1620 * grub-core/video/i386/coreboot/cbfb.c: New file.
1621
fe4c3e7e
VS
16222013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1623
1624 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
1625 detecting too small regions.
1626
ec2dd179
VS
16272013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
1630
872dac83
VS
16312013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
1634 Remove dprintf.
1635 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
1636
90ec4b7f
VS
16372013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1638
1639 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
1640 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
1641 * grub-core/loader/powerpc/ieee1275/linux.c
1642 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
1643
f32555dd
VS
16442013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1645
1646 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
1647 Look for /boot-rom as well as /rom/boot-rom.
1648
38649799
VS
16492013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1650
1651 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
1652 handling when creating text_layer failed.
1653 * grub-core/video/video.c (grub_video_create_render_target):
1654 Set result to 0 on error.
1655 (grub_video_delete_render_target): Do not dereference NULL.
1656
aeace7f7
VS
16572013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
1660 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
1661 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
1662 (grub_linux_load64): Mask out 2 high bits.
1663
4eafa175
AB
16642013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
1665
1666 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
1667 more place.
1668
daaa64bd
VS
16692013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1670
1671 Add support for pseries and other bootinfo machines to grub-mkrescue.
1672
1673 Tested by: Paulo Flabiano Smorigo.
1674
d0d2daa6
VS
16752013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1676
1677 * util/grub-mkrescue.in: Add GPT for EFI boot.
1678
b193e100
VS
16792013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1680
1681 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
1682 It improves performance in qemu.
1683
a0f8f3ac
VS
16842013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 * build-aux/snippet: Add missing gnulib files.
1687
284df0e2
AB
16882013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
1689
1690 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
1691
740201f3
AB
16922013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
1693
1694 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
1695
a7e03923
PJ
16962013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
16972013-04-15 Peter Jones <pjones@redhat.com>
1698
1699 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
1700 sectors.
1701 Based on patch by Peter Jones.
1702
25fc51a8
VS
17032013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 Fix DMRAID partition handling.
1706
88017d47
VS
17072013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1708
1709 * tests/grub_cmd_date.in: Skip on sparc64.
1710
fa7d914e
VS
17112013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1712
1713 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
1714 firmware error messages.
1715
cbe57a48
VS
17162013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1717
1718 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
1719 source and destination differ.
1720
21aecce0
VS
17212013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1722
1723 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
1724 detection.
1725
25092d29
VS
17262013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1727
1728 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
1729 match config-util.h to avoid warnings and increase compatibility.
1730
79451522 17312013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 17322013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
1733
1734 Add option to compress files on install/image creation.
1735
78b7d77b
VS
17362013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1737
1738 * docs/grub-dev.texi: Rearrange menu to match the section order.
1739 Reported by: Bryan Hundven.
1740
cc2fa5ec
VS
17412013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1742
1743 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
1744
b49fe879
VS
17452013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1746
1747 Move GRUB out of system area when using xorriso 1.2.9 or later.
1748
5351da81
VS
17492013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1750
1751 * tests/grub_cmd_date.in: Add missing exit 1.
1752
c9d586ea
VS
17532013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1754
1755 * tests/partmap_test.in: Skip on sparc64.
1756
3f729741
VS
17572013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1758
1759 Support grub-shell on sparc64.
1760
8ca86b3a
VS
17612013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1762
1763 Support mkrescue on sparc64.
1764
aa1af9bb
VS
17652013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1766
1767 Allow IEEE1275 ports on path even if it wasn't detected automatically.
1768 Needed on OpenBIOS due to incomplete device tree.
1769
ac4fea79
VS
17702013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1771
1772 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
1773 would be otherwise excluded.
1774
17752013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
1776
1777 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
1778 Inline name defines used only once.
1779
fe22b071
VS
17802013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1781
1782 Fix memory leaks in ofnet.
1783 Reported by: Francesco Lavra.
1784
9d21381b
VS
17852013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1786
1787 * docs/man/grub-glue-efi.h2m: Add missing file.
1788
07aec23c
VS
17892013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1790
1791 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
1792
67ab8353
VS
17932013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1794
1795 Better support Apple Intel Macs on CD.
1796
ba44ca6d
VS
17972013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1798
1799 Replace stpcpy with grub_stpcpy in tools.
1800
bbdd6305
VS
18012013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1802
1803 Handle Japanese special keys.
1804 Reported by: Hiroyuki YAMAMORI.
1805 Codes supplied by: Hiroyuki YAMAMORI.
1806
8573d302
VS
18072013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1808
1809 * util/grub-mkimage.c: Document memdisk implying --prefix.
1810
d70dbab7
VS
18112013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1812
1813 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
1814 much we can do about it anyway.
1815
51a4c3e3
AN
18162013-04-12 Aleš Nesrsta <starous@volny.cz>
1817
1818 Fix handling of split transfers.
1819
92c8f58d
VS
18202013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1821
1822 * grub-core/net/http.c: Fix bad free.
1823
b7d17a49
VS
18242013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1825
1826 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
1827 than buffer size.
1828
a3d566d4
VS
18292013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 Disable partmap check on i386-ieee1275 due to openfirmware issues.
1832
a936af56
VS
18332013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1834
1835 * tests/util/grub-shell.in: Fix it on powerpc.
1836
51212234
VS
18372013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1838
1839 Turn off QEMU ACPI-way since new releases don't have shutdown port
1840 anymore.
1841
a21eec9e
VS
18422013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1843
1844 * docs/grub.texi: Update coreboot status info.
1845
e3734b84
VS
18462013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1847
1848 * tests/grub_cmd_date.in: New test for datetime.
1849
f9d40055
VS
18502013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1851
1852 * tests/partmap_test.in: Fix missing qemudisk setting.
1853
dbc56d8f
VS
18542013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1855
1856 Support i386-ieee1275 grub-mkrescue and make check on it.
1857
a79b8a15
VS
18582013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
1861 feature for it.
1862
48f39bb4
VS
18632013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1864
1865 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
1866 GRUB_CMDLINE_XEN_DEFAULT.
1867 Reported by: Marc Warne (GigaTux) <gigatux>
1868
053cfcdd
VS
18692013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1870
1871 Import new gnulib.
1872
93cd84df
VS
18732013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1874
1875 Use ACPI shutdown intests as traditional port was removed.
1876
f4b1fa4f
AB
18772013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
1878
1879 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
1880 distinction.
1881
49818a59
VS
18822013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
1885 Fix few warining messages and leaks while on it.
1886
9277a306
AB
18872013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
1888
1889 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
1890 links under grub-core/lib/libgcrypt-grub/mpi.
1891
d5e2a158
VS
18922013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1893
1894 Fix ia64-efi image generation on big-endian machines. Deduplicate
1895 some code while on it.
1896 Reported by: Leif Lindholm.
1897
18866643
AB
18982013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
1899
1900 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
1901 as extra_dist.
1902
ca53deb8
AB
19032013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
1904
1905 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
1906
d4c4b8e1
BH
19072013-04-08 Bryan Hundven <bryanhundven@gmail.com>
1908
1909 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
1910 texinfo-5.1.
1911
47043f95
VS
19122013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1913
1914 * grub-core/normal/term.c: Few more fixes for menu entry editor
1915 rendering.
1916 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1917
a3216068
VS
19182013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 * grub-core/normal/term.c: Few more fixes for menu entry editor
1921 rendering.
1922 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1923
21026747
AB
19242013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
1925
1926 * conf/Makefile.extra-dist (EXTRA_DIST): Add
1927 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
1928
59624ca8
AB
19292013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
1930
1931 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
1932 instead of hardcoding grub.mo.
1933
1f44478c
FN
19342013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
1935
1936 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
1937
eeada7b1
VS
19382013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1939
1940 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
1941 grub-core/disk/geli.c.
1942
132867de
VS
19432013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1944
1945 * util/grub-mkfont.c: Prefer enum to #define.
1946
de73de17
VS
19472013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1948
1949 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
1950
1865baa7
VS
19512013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1952
1953 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
1954
ce7d92a9
VS
19552013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1956
1957 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
1958
52eab656
VS
19592013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1960
1961 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
1962
98b23b95
VS
19632013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1964
1965 * include/grub/bsdlabel.h: Use enums.
1966
0467a5dd
VS
19672013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1968
1969 Move GRUB_CHAR_BIT to types.h.
1970
16cc9f03
AB
19712013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
1972
1973 * docs/grub.texi: Document more user commands.
1974
3152aecb
AB
19752013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
1976
1977 * docs/grub.texi: Document menuentry --id option.
1978
c506fc30
FL
19792013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
1980
1981 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
1982
aa428238
VS
19832013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1984
1985 Unify file copying setup across different install scripts. Add
1986 options for performing partial install.
1987
efe0cdda
PJ
19882013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
19892013-04-04 Peter Jones <pjones@redhat.com>
1990
1991 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
1992
f75835bd
VS
19932013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1994
1995 Use TSC as a possible time source on i386-ieee1275.
1996
2cd5ce6c
VS
19972013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1998
1999 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
2000 Init err.
2001
c9625630
VS
20022013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2003
2004 * util/grub-setup.c (setup): Handle some corner cases.
2005
be008941
VS
20062013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2007
2008 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
2009
1a78d573
VS
20102013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2011
2012 * grub-core/commands/verify.c: Save verified file to avoid it being
2013 tampered with after verification was done.
2014
db8ff59f
VS
20152013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2016
2017 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
2018 reported width by one to compensate for curesor algorithm problem.
2019
91bf46b1
VS
20202013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2021
2022 Fix screen corruption in menu entry editor and simplify the code
2023 flow while on it.
2024
a7b1d693
AB
20252013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
2026
2027 * util/grub-mount.c (fuse_init): Return error if fuse_main
2028 failed.
2029
31df9ad8
FL
20302013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
2031
2032 * include/grub/elf.h: Add missing ARM relocation codes and fix
2033 existing ones.
2034
07f392eb
VT
20352013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
2036
2037 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
2038
9efd73ec 20392013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
20402013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2041
2042 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
2043 into account when calculating radius.
2044
20452013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
2046
2047 * grub-core/gfxmenu/view.c: Fix off-by-one error.
2048
4985ddaa
VT
20492013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
2050
2051 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
2052
8c3635ff
RS
20532013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
2054
2055 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
2056 missing closing bracket.
2057
74a35e69
RS
20582013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
2059
2060 * INSTALL: Mention xorriso requirement.
2061
40f1c000
AB
20622013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
2063
2064 * grub-core/commands/verify.c: Fix hash algorithms values for
2065 the first three hashes - they start with 1, not with 0.
2066
e75fdee4
VS
20672013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2068
2069 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
2070 Try terminating EFI services several times due to quirks in some
2071 implementations.
2072
33028f4c
CW
20732013-03-26 Colin Watson <cjwatson@ubuntu.com>
2074
2075 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
2076 skipping Event, Device, Processor, PowerRes, ThermalZone, and
2077 BankField extended opcodes.
2078 (get_sleep_type): Add minimal scope handling (just enough to
2079 handle setting the scope to the root path).
2080 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
2081 * include/grub/acpi.h: Add enumeration values for Event, Device,
2082 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
2083
33871a10
VT
20842013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
2085
2086 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
2087 memory leak.
2088
8990963a
VS
20892013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2090
2091 * grub-core/disk/ahci.c: Give more time for AHCI request.
2092
daae8f9e
VS
20932013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2094
2095 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
2096 command.
2097
6a7fb94b
VS
20982013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2099
2100 Replace the region at 0 from coreboot tables to available in BSD
2101 memory map.
2102
ff99babd
VS
21032013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2104
2105 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
2106 non-BIOS platforms.
2107
30d6b1b2
VS
21082013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2109
2110 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
2111 platforms.
2112
6ccd0b31
VS
21132013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2114
2115 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
2116 handling of multi-device filesystems.
2117
23c9cc04
VS
21182013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
2121 platforms.
2122
ce50dbd7
VS
21232013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2124
2125 Add new 'proc' filesystem framework and put luks_script into it.
2126
d975e8d5
VS
21272013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2128
2129 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
2130 and qemu.
2131
e73ba5e8
VS
21322013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
2135
92750e4c
VS
21362013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
2137
2138 Add ability to generate newc additions on runtime.
2139
0ec45a68
VS
21402013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
2141
2142 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
2143 description.
2144
320abd43
VS
21452013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
2146
2147 * po/POTFILES.in: Regenerate.
2148
d7a6506e
VS
21492013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 * grub-core/commands/verify.c (hashes): Add several hashes
2152 from the spec.
2153
8fe05def
VS
21542013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2155
2156 Slight improve in USB-related boot-time checkpoints.
2157
524e2766
VS
21582013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2159
2160 * grub-core/commands/boottime.c: Fix copyright header.
2161
cc19857a
VS
21622013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2163
2164 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
2165 coreboot tables content. Support for cbmemc.
2166
ef8810e9
VS
21672013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2168
2169 Fix a conflict between ports structures with 2 controllers of
2170 same kind.
2171
e9dabdfa
VS
21722013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2173
2174 * include/grub/boottime.h: Add missing file.
2175
f6df57d2
VS
21762013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2177
2178 Initialize USB ports in parallel to speed-up boot.
2179
d745dda7
VS
21802013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2181
2182 Fix USB devices not being detected when requested
2183 due to delayed attach.
2184
e5a2dd7b
VS
21852013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2186
e744219b
VS
2187 Implement boot time analysis framework.
2188
21892013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2190
2191 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
2192 descriptor to just receive it as argument rather than endpoint
2193 address.
2194
5dd6f587
VS
21952013-03-19 Aleš Nesrsta <starous@volny.cz>
2196
2197 Better estimate the maximum USB transfer size.
2198
2f1071d5
VS
21992013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
2200
2201 Resend a packet if we got the wrong buffer in status.
2202
46ecfc49
VS
22032013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2204
2205 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
2206 multiplication rather than division.
2207
ea811130
VS
22082013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2209
2210 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
2211 than divisions.
2212
d2789cf0
VS
22132013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2214
2215 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
2216 operations to have intended shifts and not divisions.
2217
a9c94590
VS
22182013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2219
2220 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
2221 intended shifts rather than division.
2222
84cfe81b
VS
22232013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2224
2225 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
2226 computation for some years before epoch. Avode confusing division
2227 while on it.
2228
21344ef6
VS
22292013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2230
2231 * grub-core/video/i386/pc/vbe.c
2232 (grub_video_vbe_print_adapter_specific_info): Replace division by
2233 shifts.
2234
3f2b4d1a
VS
22352013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2236
2237 Adjust types in gdb module to have intended unsigned shifts rather than
2238 signed divisions.
2239
3dac5878
VS
22402013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2241
2242 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
2243 maximum size is 4G - 1 on hfs
2244
5341c0fb
VS
22452013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2246
2247 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
2248
fc3ff2a2
VS
22492013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2250
2251 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
2252 function.
2253
81455e8e
AB
22542013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
2255
2256 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
2257 causing gcc error with gcc 4.7.1.
2258
efd4f117
NZ
22592013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
2260
2261 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
2262 dereference null pointer. While the code is technically correct, gcc
2263 may eliminate a null check if pointer is already dereferenced.
2264
e11645f4
NZ
22652013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
2266
2267 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
2268 OOM check.
2269 * grub-core/normal/term.c (read_terminal_list): Likewise.
2270
77468368
VS
22712013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
2272
2273 Lift up core size limits on some platforms. Fix potential memory
2274 corruption with big core on small memory systems. Document remaining
2275 limits.
2276
f6b58fe5
VS
22772013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2278
2279 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
2280 gotoxy to 0,0.
2281
19ce697d
VS
22822013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2283
2284 Remove all trampoline support. Add -Wtrampolines when
2285 present. Remove symbols used for trampolines to make
2286 link fail if trampolines are present.
2287
73b5d90f
VS
22882013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2289
2290 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
2291 append out of its parent.
2292
cb758e96
VS
22932013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2294
2295 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
2296 parent.
2297
3188131f
VS
22982013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2299
2300 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
2301 all vars to a macro. All users updated.
2302
e42b2514
VS
23032013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2304
2305 * grub-core/disk/ieee1275/nand.c: Fix compilation on
2306 i386-ieee1275.
2307
83e1a1a1
VS
23082013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2309
2310 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
2311
1d5a880f
VS
23122013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2313
2314 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
2315
6e4146c4
VS
23162013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2317
2318 Move to more hookless approach in IEEE1275 devices handling.
2319
99fcda8a
VS
23202013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2321
2322 * grub-core/kern/term.c (grub_term_normal_color),
2323 (grub_term_highlight_color): Add back lost defaults.
2324
73bf57e2
VS
23252013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2326
2327 Make elfload not use hooks. Opt for flags and iterators instead.
2328
7f8c105f
VS
23292013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2330
2331 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
2332 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
2333
396d4091
VS
23342013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2335
2336 * grub-core/script/execute.c (gettext_append): Remove nested functions.
2337
23382013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2339
2340 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
2341 hook pass-through parameter. All users updated and unnested.
2342
74a27421
VS
23432013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
2346 out of its parent.
2347
b46d4213
VS
23482013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 * grub-core/fs/hfs.c: Remove nested functions.
2351
e114c3cc
VS
23522013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
2355 the context through.
2356 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
2357
f9b7d780
VS
23582013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2359
2360 * util/grub-editenv.c (list_variables): Move print_var out of its
2361 parent.
2362
ca9c2608
VS
23632013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2364
2365 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
2366 function.
2367
5d983f5f
VS
23682013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2369
2370 * grub-core/gentrigtables.c: Make tables const.
2371
3056d3e7
VS
23722013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2373
2374 Remove nested functions from videoinfo iterators.
2375
e2303774
VS
23762013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2377
2378 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
2379 for 64-bit platforms.
2380
f42e3a2f
VS
23812013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2382
2383 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
2384 a FOR_CHILDREN macro.
2385
be174e5e
VS
23862013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2387
2388 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
2389 platform from firmware path.
2390
0789b672
VS
23912013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2392
2393 Enable linux16 on non-BIOS systems for i.a. memtest.
2394
2395 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
2396 correctly.
2397 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
2398
005a9c32
VS
23992013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2400
2401 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
2402 Fix end of table condition.
2403
ff2b3cd9
VS
24042013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2405
2406 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
2407 out of its parent.
2408
4fc40ff8
VS
24092013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2410
2411 * grub-core/fs/jfs.c: Remove nested functions.
2412
be42d97a
VS
24132013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 * grub-core/fs/minix.c: Remove nested functions.
2416
99373ce4
VS
24172013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2418
2419 * grub-core/fs/iso9660.c: Remove nested functions.
2420
5aec2afe
VS
24212013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2422
2423 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
2424 of parent function.
2425
6c69e691
VS
24262013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2427
2428 * util/grub-fstest.c: Remove nested functions.
2429
43c91882
VS
24302013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2431
2432 * grub-core/loader/machoXX.c: Remove nested functions.
2433
4eb8b756
CW
24342013-02-27 Colin Watson <cjwatson@ubuntu.com>
2435
2436 Remove nested functions from disk and file read hooks.
2437
2438 * include/grub/disk.h (grub_disk_read_hook_t): New type.
2439 (struct grub_disk): Add read_hook_data member.
2440 * include/grub/file.h (struct grub_file): Likewise.
2441 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
2442 argument.
2443
2444 Update all callers.
2445
df6da5a5
AB
24462012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
2447
2448 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
2449 Fix off by one error in enumerating extended partitions.
2450
21aecde5
AB
24512013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
2452
2453 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
2454 memory leak if device name is not found.
2455
f1a19118
AB
24562013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2457
2458 * grub-core/normal/menu_entry.c (update_screen): remove
2459 unused variable `off' which caused scroll down arrow to be always shown.
2460
958bfd20
AB
24612013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2462
2463 * grub-core/normal/menu_entry.c (insert_string): fix off by one
2464 access to unallocated memory.
2465
b7b78edb
AB
24662013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2467
2468 * Makefile.util.def: Add partmap/msdos.c to common library.
2469 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
2470 * grub-core/disk/ldm.c: Check for existence of
2471 GRUB_PC_PARTITION_TYPE_LDM.
2472
28d468d6
VS
24732013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2474
2475 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
2476 sizes and display sector size.
2477
d55ffb02
VS
24782013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2479
2480 Implement new command cmosdump.
2481
b5ea6ce0
VS
24822013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2483
2484 Support Openfirmware disks with non-512B sectors.
2485
2486 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
2487 size of the disk.
2488 * (grub_ofdisk_get_block_size): New function.
2489 * (grub_ofdisk_prepare): Use the correct block size.
2490 * (grub_ofdisk_read): Likewise.
2491 * (grub_ofdisk_write): Likewise.
2492 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
2493 New proto.
2494
cc0e476f
VS
24952013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2496
2497 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
2498
c5dbdc33
VS
24992013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
2502 on first error.
2503
3f078c0f
VS
25042013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2505
2506 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
2507 freeing it.
2508
66a93674
VS
25092013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2510
2511 Implement USBDebug (full USB stack variant).
2512
c9f0c134
VS
25132013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2514
2515 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
2516 unless they have unexpected values.
2517
cfe1288b
VS
25182013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2519
2520 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
2521 grub_print_error.
2522
e42b9969
VS
25232013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2524
2525 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
2526 zero-out of port structure.
2527
cf94fd62
VS
25282013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2529
2530 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
2531 of extended attributes.
2532
f81ef4b5
AB
25332013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
2534
2535 * util/grub-install.in: change misleading comment about
2536 device.map creation
2537
af18fdb4
VS
25382013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2539
2540 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
2541 when menu highlight color isn't set.
2542
08bcec50
M
25432013-01-27 C. Masloch <pushbx@38.de>
2544
2545 Improve FreeDOS direct loading support compatibility.
2546
2547 * include/grub/i386/relocator.h (grub_relocator16_state):
2548 New member ebp.
2549 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
2550 variable.
2551 (grub_relocator16_boot): Handle %ebp.
2552 * grub-core/lib/i386/relocator16.S: Likewise.
2553 * grub-core/loader/i386/pc/freedos.c:
2554 Load BPB to pass kernel which partition to load from.
2555 Check that kernel file is not too large.
2556 Set register dl to BIOS unit number as well.
2557
7782b8a6
CW
25582013-01-22 Colin Watson <cjwatson@ubuntu.com>
2559
2560 * util/grub-reboot.in (usage): Document the need for
2561 GRUB_DEFAULT=saved.
2562 * util/grub-set-default.in (usage): Likewise.
2563 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
2564
e661c180
VS
25652013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
2568 than defining WORDS_BIGENDIAN manually.
2569
1c22ca9a
VS
25702013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
2573 invariants.
2574
d44892fe
CW
25752013-01-21 Colin Watson <cjwatson@ubuntu.com>
2576
2577 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
2578 nested.
2579 (blit_comb: add_device_width): Likewise.
2580
5fdbaed1
CW
25812013-01-21 Colin Watson <cjwatson@ubuntu.com>
2582
2583 Remove nested functions from USB iterators.
2584
2585 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
2586 (grub_usb_controller_iterate_hook_t): Likewise.
2587 (grub_usb_iterate): Add hook_data argument.
2588 (grub_usb_controller_iterate): Likewise.
2589 (struct grub_usb_controller_dev.iterate): Likewise.
2590
2591 Update all implementations and callers.
2592
4250985a
VS
25932013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2594
2595 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
2596 margin when not needed.
2597
7d8848f3
VS
25982013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2599
bc136973 2600 Make color variables global instead of it being per-terminal.
7d8848f3
VS
2601
26022013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2603
bc136973
VS
2604 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
2605 asterisk.
7d8848f3 2606
ed12a003
CW
26072013-01-21 Colin Watson <cjwatson@ubuntu.com>
2608
2609 Fix powerpc and sparc64 build failures caused by un-nesting memory
2610 map iterators.
2611
6a0db449
CW
26122013-01-21 Colin Watson <cjwatson@ubuntu.com>
2613
2614 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
2615 parameter declarations.
2616
ccd86b21
VS
26172013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2618
2619 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
2620
822b726b
VS
26212013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 Improve spkmomdem reliability by adding a separator between bytes.
2624
115c2cc1
CW
26252013-01-21 Colin Watson <cjwatson@ubuntu.com>
2626
2627 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
2628 an Acer registration utility with several sightings in the wild.
2629 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
2630
fc524edf
CW
26312013-01-21 Colin Watson <cjwatson@ubuntu.com>
2632
2633 Remove nested functions from filesystem directory iterators.
2634
2635 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
2636 (struct grub_fs.dir): Add hook_data argument.
2637
2638 Update all implementations and callers.
2639
53d3e4e3
CW
26402013-01-21 Colin Watson <cjwatson@ubuntu.com>
2641
2642 * docs/grub.texi (Multi-boot manual config): Fix typo for
2643 "recommended".
2644
c821711f
LL
26452013-01-20 Leif Lindholm <leif.lindholm@arm.com>
2646
2647 * util/grub-mkimage.c (main): Postpone freeing arguments.output
2648 until after its use in generate_image.
2649
6a0debbd
CW
26502013-01-20 Colin Watson <cjwatson@ubuntu.com>
2651
2652 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
2653 initrd size to addr_min, since the initrd will be allocated after
2654 this address.
2655
f41e08db
AB
26562013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
2657
2658 * conf/Makefile.common: Fix autogen rules to pass definition
2659 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
2660
77529e0f
LL
26612013-01-20 Leif Lindholm <leif.lindholm@arm.com>
2662
2663 * include/grub/elf.h: Update ARM definitions based on binutils.
2664
b879aa7b
VS
26652013-01-20 Aleš Nesrsta <starous@volny.cz>
2666
2667 Split long USB transfers into short ones.
2668
8eb8284d
AB
26692013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
2670
2671 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
2672 is interrupted by ESC.
2673
08dad2dc
VS
26742013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2675
2676 * util/grub-script-check.c (main): Uniform the error message.
2677
6c724b85
CW
26782013-01-20 Colin Watson <cjwatson@ubuntu.com>
2679
2680 Remove nested functions from ELF iterators.
2681
25239370
CW
26822013-01-20 Colin Watson <cjwatson@ubuntu.com>
2683
2684 Remove nested functions from device iterators.
2685
2686 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
2687 (grub_arc_iterate_devs): Add hook_data argument.
2688 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
2689 (struct grub_ata_dev.iterate): Add hook_data argument.
2690 * include/grub/device.h (grub_device_iterate_hook_t): New type.
2691 (grub_device_iterate): Add hook_data argument.
2692 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
2693 (struct grub_disk_dev.iterate): Add hook_data argument.
2694 (grub_disk_dev_iterate): Likewise.
2695 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
2696 Likewise.
2697 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
2698 Likewise.
2699 * include/grub/partition.h (grub_partition_iterate_hook_t): New
2700 type.
2701 (struct grub_partition_map.iterate): Add hook_data argument.
2702 (grub_partition_iterate): Likewise.
2703 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
2704 (struct grub_scsi_dev.iterate): Add hook_data argument.
2705
2706 Update all callers.
2707
6c0314d6
CW
27082013-01-20 Colin Watson <cjwatson@ubuntu.com>
2709
2710 Fix typos for "developer" and "development".
2711
600dc5f1
VS
27122013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2713
2714 Add license header to spkmodem-recv.c.
2715
17334a6b
VS
27162013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
2717
2718 Rewrite spkmodem to use PIT for timing. Double the speed.
2719
7d462559
VS
27202013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2721
2722 Add new command pcidump.
2723
b78d6c32
VS
27242013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 New terminal outputs using serial: morse and spkmodem.
2727
34f71cb8
VS
27282013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2729
2730 Improve bidi handling in entry editor.
2731
4542e71b
VS
27322013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2733
2734 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
2735 argument to prevent name collision.
2736
09fd6d82
CW
27372013-01-15 Colin Watson <cjwatson@ubuntu.com>
2738
2739 Remove nested functions from script reading and parsing.
2740
2741 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
2742 getline_data argument, passed to getline.
2743 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
2744 getline_data argument, passed to grub_parser_split_cmdline.
2745 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
2746 lexerstate->getline_data to lexerstate->getline.
2747 (grub_script_lexer_init): Add getline_data argument, saved in
2748 lexerstate->getline_data.
2749 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
2750 argument, passed to grub_script_parse.
2751 * grub-core/script/script.c (grub_script_parse): Add getline_data
2752 argument, passed to grub_script_lexer_init.
2753 * include/grub/parser.h (grub_parser_split_cmdline): Update
2754 prototype. Update all callers to pass appropriate getline data.
2755 (struct grub_parser.parse_line): Likewise.
2756 (grub_rescue_parse_line): Likewise.
2757 * include/grub/reader.h (grub_reader_getline_t): Add void *
2758 argument.
2759 * include/grub/script_sh.h (struct grub_lexer_param): Add
2760 getline_data member.
2761 (grub_script_parse): Update prototype. Update all callers to pass
2762 appropriate getline data.
2763 (grub_script_lexer_init): Likewise.
2764 (grub_normal_parse_line): Likewise.
2765
2766 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
2767 data argument.
2768 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
2769 static instead of nested. Rename to ...
2770 (grub_parser_execute_getline): ... this.
2771 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
2772 data argument.
2773 * grub-core/normal/main.c (read_config_file: getline): Make static
2774 instead of nested. Rename to ...
2775 (read_config_file_getline): ... this.
2776 (grub_normal_read_line): Add unused data argument.
2777 * grub-core/script/execute.c (grub_script_execute_sourcecode:
2778 getline): Make static instead of nested. Rename to ...
2779 (grub_script_execute_sourcecode_getline): ... this.
2780 * util/grub-script-check.c (main: get_config_line): Make static
2781 instead of nested.
2782
d0d4b8a0
CW
27832013-01-15 Colin Watson <cjwatson@ubuntu.com>
2784
2785 Remove nested functions from memory map iterators.
2786
2787 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
2788 argument, passed to hook.
2789 * grub-core/kern/i386/coreboot/mmap.c
2790 (grub_linuxbios_table_iterate): Likewise.
2791 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
2792 instead of nested.
2793 (grub_machine_mmap_iterate): Add hook_data argument.
2794 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
2795 Add hook_data argument, passed to hook.
2796 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
2797 Likewise.
2798 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
2799 Likewise.
2800 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
2801 Likewise.
2802 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
2803 Likewise.
2804 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
2805 Likewise.
2806 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
2807 Likewise.
2808 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
2809 (grub_machine_mmap_iterate): Likewise.
2810 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
2811 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
2812 prototype.
2813 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
2814 Remove NESTED_FUNC_ATTR from here and from all users.
2815 (grub_mmap_iterate): Update prototype.
2816 (grub_efi_mmap_iterate): Update prototype. Update all callers to
2817 pass appropriate hook data.
2818 (grub_machine_mmap_iterate): Likewise.
2819
2820 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
2821 static instead of nested.
2822 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
2823 Rename to ...
2824 (lsmmap_hook): ... this.
2825 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
2826 Likewise.
2827 (grub_efiemu_mmap_fill: fill_hook): Likewise.
2828 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
2829 heap_init): Likewise.
2830 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
2831 Rename to ...
2832 (mmap_iterate_hook): ... this.
2833 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
2834 Likewise.
2835 * grub-core/lib/ieee1275/relocator.c
2836 (grub_relocator_firmware_get_max_events: count): Likewise.
2837 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
2838 to ...
2839 (grub_relocator_firmware_fill_events_iter): ... this.
2840 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
2841 hook): Likewise. Rename to ...
2842 (grub_relocator_alloc_chunk_align_iter): ... this.
2843 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
2844 Rename to ...
2845 (generate_e820_mmap_iter): ... this.
2846 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
2847 Rename to ...
2848 (count_hook): ... this.
2849 (grub_linux_boot: hook): Likewise. Rename to ...
2850 (grub_linux_boot_mmap_find): ... this.
2851 (grub_linux_boot: hook_fill): Likewise. Rename to ...
2852 (grub_linux_boot_mmap_fill): ... this.
2853 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
2854 hook): Likewise. Rename to ...
2855 (grub_fill_multiboot_mmap_iter): ... this.
2856 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
2857 hook): Likewise. Rename to ...
2858 (count_hook): ... this.
2859 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
2860 hook): Likewise. Rename to ...
2861 (grub_fill_multiboot_mmap_iter): ... this.
2862 * grub-core/loader/powerpc/ieee1275/linux.c
2863 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
2864 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
2865 Likewise. Rename to ...
2866 (alloc_phys_choose): ... this.
2867 (determine_phys_base: get_physbase): Likewise.
2868 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
2869 find_hook): Likewise.
2870 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
2871 (malloc_hook: count_hook): Likewise.
2872 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
2873 Likewise. Rename to ...
2874 (lower_hook): ... this.
2875 (grub_mmap_get_upper: hook): Likewise. Rename to ...
2876 (upper_hook): ... this.
2877 (grub_mmap_get_post64: hook): Likewise. Rename to ...
2878 (post64_hook): ... this.
2879 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
2880 Likewise. Rename to ...
2881 (lower_hook): ... this.
2882 (grub_mmap_get_upper: hook): Likewise. Rename to ...
2883 (upper_hook): ... this.
2884 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
2885 (grub_mmap_iterate: fill_hook): Likewise.
2886 (fill_mask): Pass addr and mask within a single struct.
2887 (grub_cmd_badram: hook): Make static instead of nested. Rename
2888 to ...
2889 (badram_iter): ... this.
2890 (grub_cmd_cutmem: hook): Likewise. Rename to ...
2891 (cutmem_iter): ... this.
2892
22099030
VS
28932013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2894
2895 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
2896 delimit path in strings using quotes.
2897 * util/getroot.c (grub_guess_root_devices): Likewise.
2898 (grub_make_system_path_relative_to_its_root): Likewise.
2899 * util/grub-probe.c (probe): Likewise.
2900 * util/ieee1275/ofpath.c (find_obppath): Likewise.
2901 (xrealpath): Likewise.
2902
4a9950ec
VS
29032013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 Fix compilation with older compilers.
2906
2907 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
2908 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
2909 declarations.
2910 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
2911 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
2912 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
2913 identifier with b.
2914 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
2915 * include/grub/crypto.h: Add type defines.
2916 * util/import_gcrypth.sed: Remove duplicate type defines.
2917
adcc6020
VS
29182013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2919
2920 New command list_trusted.
2921
2922 * grub-core/commands/verify.c (grub_cmd_list): New function.
2923
a4528937
CW
29242013-01-13 Colin Watson <cjwatson@ubuntu.com>
2925
2926 * util/grub-mkimage.c (generate_image): Fix "size of public key"
2927 info message.
2928
ca3a7446
CW
29292013-01-13 Colin Watson <cjwatson@ubuntu.com>
2930
2931 Remove nested functions from PCI iterators.
2932
2933 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
2934 passed to hook. Update all callers to pass appropriate hook data.
2935 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
2936 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
2937 Remove NESTED_FUNC_ATTR from here and from all users.
2938 (grub_pci_iterate): Update prototype.
2939 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
2940 instead of nested. Rename to ...
2941 (grub_cs5536_find_iter): ... this.
2942 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
2943 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
2944 Likewise.
2945 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
2946 Likewise.
2947 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
2948 Likewise.
2949 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
2950 Likewise.
2951 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
2952 * grub-core/video/radeon_fuloong2e.c
2953 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
2954 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
2955 find_card): Likewise.
2956 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
2957 Likewise.
2958
f8e98fee
VS
29592013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2960
2961 * grub-core/commands/verify.c: Mark messages for translating.
2962
055b36b6
VS
29632013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2964
2965 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
2966 fatal.
2967
f7ff879b
VS
29682013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2969
2970 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
2971 fatal.
2972
29732013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
2974
2975 * autogen.sh: Do not try to delete nonexistant files.
2976 * util/import_gcrypth.sed: Add some missing header removals.
2977
01323d49
CW
29782013-01-12 Colin Watson <cjwatson@ubuntu.com>
2979
2980 Clean up dangling references to grub-setup.
2981 Fixes Ubuntu bug #1082045.
2982
2983 * docs/grub.texi (Images): Refer generally to grub-install rather
2984 than directly to grub-setup.
2985 (Installing GRUB using grub-install): Remove direct reference to
2986 grub-setup.
2987 (Device map) Likewise.
2988 (Invoking grub-install): Likewise.
2989 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
2990 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
2991 * util/grub-install.in (usage): Likewise.
2992
2993 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
2994 Apply to grub-bios-setup and grub-sparc64-setup rather than to
2995 grub-setup.
2996 * configure.ac: Remove grub_setup output variable.
2997
2998 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
2999 to grub-bios-setup.
3000 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
3001 grub-setup to grub-sparc64-setup.
3002
5e3b8dcb
VS
30032013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3004
3005 Import gcrypt public-key cryptography and implement signature checking.
3006
535714bd
VS
30072013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3008
3009 * grub-core/fs/ntfs.c: Ue more appropriate types.
3010 * grub-core/fs/ntfscomp.c: Likewise.
3011 * include/grub/ntfs.h: Likewise.
3012
3e4f3566
VS
30132013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 Support Apple FAT binaries on non-Apple platforms.
3016
3017 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
3018 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
3019 Likewise.
3020 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
3021 Apple FAT binaries.
3022
4dedb13f
VS
30232013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3024
3025 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
3026 sector devices.
3027
f8861eaf
CW
30282013-01-07 Colin Watson <cjwatson@ubuntu.com>
3029
3030 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
3031 explicitly zeroing elements.
3032 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
3033 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
3034 of elements in a structure already allocated using grub_zalloc.
3035 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
3036
86065b0a
CW
30372013-01-07 Colin Watson <cjwatson@ubuntu.com>
3038
3039 * docs/grub.texi (grub_cpu): New subsection.
3040 (grub_platform): Likewise.
3041
c6f1e92f
VS
30422013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
3045
f797ec85
VS
30462013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3047
3048 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
3049 divisions.
3050
033d0b4b
VS
30512013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
3054 * grub-core/fs/ntfscomp.c: Likewise.
3055 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
3056 (grub_ntfs_comp): Likewise.
3057
21d1b9a0
VS
30582013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3059
3060 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
3061 Rename to ...
3062 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
3063 of groups_per_block. All users updated.
3064
10ca8645
VS
30652013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3066
3067 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
3068 grub_error properly.
3069 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
3070 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
3071
a4c3ed4c
VS
30722013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3073
3074 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
3075 always in /boot/zfs.
3076 Reported by: Yuta Satoh.
3077
0b716507
YS
30782013-01-03 Yuta Satoh <nigoro>
3079
3080 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
3081 ${grub_probe}
3082
00c05e22
VS
30832013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3084
3085 * configure.ac: Extend -Wno-trampolines to host.
3086
dadddb76
VS
30872013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3088
3089 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
3090 entry->len = 0.
3091
54ce53ca
CW
30922013-01-03 Colin Watson <cjwatson@ubuntu.com>
3093
3094 * docs/grub.texi (Invoking grub-mkrelpath): New section.
3095 (Invoking grub-script-check): Likewise.
3096
8912efca
CW
30972013-01-03 Colin Watson <cjwatson@ubuntu.com>
3098
3099 * docs/grub.texi (Invoking grub-mount): New section.
3100 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
3101
c3fc8394
CW
31022013-01-02 Colin Watson <cjwatson@ubuntu.com>
3103
3104 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
3105 test failures, so that a failing unit test correctly causes 'make
3106 check' to fail.
3107
45d26abb
CW
31082013-01-02 Colin Watson <cjwatson@ubuntu.com>
3109
3110 Fix failing printf test.
3111
3112 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
3113 '$' in the correct order when collecting type information.
3114
971dd2c6
CW
31152013-01-02 Colin Watson <cjwatson@ubuntu.com>
3116
3117 * docs/grub.texi (configfile): Explain environment variable
3118 handling.
3119 (source): New section.
3120 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
3121
5c67ea6c
CW
31222012-12-31 Colin Watson <cjwatson@ubuntu.com>
3123
3124 Remove several trivially-unnecessary uses of nested functions.
3125
3126 * grub-core/commands/i386/pc/sendkey.c
3127 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
3128 instead of nested.
3129 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
3130 Rename to ...
3131 (legacy_file_getline): ... this.
3132 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
3133 Likewise.
3134 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
3135 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
3136 to ...
3137 (probe_dummy_iter): ... this.
3138 * grub-core/kern/i386/coreboot/mmap.c
3139 (grub_linuxbios_table_iterate: check_signature): Likewise.
3140 * grub-core/kern/parser.c (grub_parser_split_cmdline:
3141 check_varstate): Likewise. Mark inline.
3142 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
3143 an additional parameter.
3144 (find_long: fnd_long): Likewise. Pass two additional parameters.
3145 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
3146 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
3147 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
3148 Likewise. Rename to ...
3149 (grub_cmos_find_port_iter): ... this.
3150 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
3151 Rename to ...
3152 (find_rtc_iter): ... this.
3153
3154 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
3155 function directly into the function body, since it is only called
3156 once.
3157
33a68ac6
CW
31582012-12-30 Colin Watson <cjwatson@ubuntu.com>
3159
3160 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
3161 __attribute__ ((unused)).
3162 * grub-core/video/bochs.c (find_card): Likewise.
3163 * grub-core/video/cirrus.c (find_card): Likewise.
3164 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
3165 * grub-core/video/sis315pro.c (find_card): Likewise.
3166 * grub-core/video/sm712.c (find_card): Likewise.
3167
608b647a
CW
31682012-12-28 Colin Watson <cjwatson@ubuntu.com>
3169
3170 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
3171 Fixes Savannah bug #37821.
3172
fd49ceb3
CW
31732012-12-28 Colin Watson <cjwatson@ubuntu.com>
3174
3175 Apply program name transformations at build-time rather than at
3176 run-time. Fixes Debian bug #696465.
3177
3178 * acinclude.m4 (grub_TRANSFORM): New macro.
3179 * configure.ac: Create output variables with transformed names for
3180 most programs.
3181 * util/bash-completion.d/grub-completion.bash.in: Use
3182 pre-transformed variables for program names.
3183 * util/grub-install.in: Likewise.
3184 * util/grub-kbdcomp.in: Likewise.
3185 * util/grub-mkconfig.in: Likewise.
3186 * util/grub-mkconfig_lib.in: Likewise.
3187 * util/grub-mknetdir.in: Likewise.
3188 * util/grub-mkrescue.in: Likewise.
3189 * util/grub-mkstandalone.in: Likewise.
3190 * util/grub-reboot.in: Likewise.
3191 * util/grub-set-default.in: Likewise.
3192 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3193 * tests/util/grub-shell-tester.in: Remove unused assignment.
3194 * tests/util/grub-shell.in: Likewise.
3195 * util/grub.d/00_header.in: Likewise.
3196
7024b3c0
CW
31972012-12-28 Colin Watson <cjwatson@ubuntu.com>
3198
3199 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
3200
3201 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
3202 HAVE_RAW_DECL_GETS.
3203 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
3204
e3501b13
VS
32052012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
3206
3207 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
3208 Reported by: Eriks Latosheks <foresterlv>.
3209
b40c88a9
VS
32102012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3211
3212 * docs/grub.texi (Network): Update instructions on generating netboot
3213 image.
3214
ce96d01c
VS
32152012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3216
3217 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
3218 around device name if necessarry.
3219
0f596201
PFS
32202012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3221
3222 * util/grub-install.in: Follow the symbolic link parameter added
3223 to the file command.
3224
600d5bdb
AB
32252012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
3226
3227 * util/grub-install.in: Remove stale TODO.
3228
64ebd2f4
PFS
32292012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3230
3231 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
3232 dynamic allocation for the bootpath buffer.
3233
74b2fe3e
DTB
32342012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
3235
3236 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
3237 window too small.
3238
969b804f
VS
32392012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3240
3241 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
3242 argument rather than font name. All users updated.
3243 (grub_gfxterm_set_window): Likewise.
3244
b9f5ebd6
VT
32452012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
3246
3247 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
3248 from working.
3249
258f43b7
VS
32502012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3251
3252 * util/getroot.c (convert_system_partition_to_system_disk): Support
3253 nbd disks.
3254
cc1ce5f9
VS
32552012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3256
3257 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
3258 infinite loop on corrupted FS.
3259
e77a16ca
VS
32602012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
3261
3262 Fix big-endian mtime.
3263
3264 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
3265 together sec and usec.
3266 (grub_ufs_dir): Use correct byteswapping for UFS time.
3267
d9c48c7b
VS
32682012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
3269
3270 Support big-endian UFS1.
3271
3272 * Makefile.util.def (libgrubmods): Add ufs_be.c
3273 * grub-core/Makefile.core.def (ufs1_be): New module.
3274 * grub-core/fs/ufs_be.c: New file.
3275 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
3276 the file.
3277
2f9f40ba
LL
32782012-11-28 Leif Lindholm <leif.lindholm@arm.com>
3279
3280 * include/grub/types.h: Fix functionality unaffecting typo in
3281 GRUB_TARGET_WORDSIZE conditional macro.
3282
48ff0889
PFS
32832012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3284
3285 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
3286
03711240
GS
32872012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
3288
3289 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
3290 that /netbsd appears first (when it exists).
3291
a31b11bd
CJ
32922012-10-12 Christoph Junghans <ottxor@gentoo.org>
3293
3294 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
3295 Fixes Savannah bug #37558.
3296
e8a5d5d4
CW
32972012-10-12 Colin Watson <cjwatson@ubuntu.com>
3298
3299 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
3300 description of extract_entries_configfile.
3301
33022012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
3303
3304 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
3305 preferred_address.
3306 (grub_cmd_linux): Likewise.
3307 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
3308 preferred_lifetime. Update all users.
3309
288c757d
CW
33102012-09-26 Colin Watson <cjwatson@ubuntu.com>
3311
3312 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
3313 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
3314
0d35da3f
CW
33152012-09-26 Colin Watson <cjwatson@ubuntu.com>
3316
3317 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
3318 errors from grub-probe to /dev/null, not stdout.
3319
b78c3127
VS
33202012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
3321
3322 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
3323 sector 1.
3324
473959f0
CW
33252012-09-24 Colin Watson <cjwatson@ubuntu.com>
3326
3327 * util/grub-install.in: Make the error message if $source_dir
3328 doesn't exist more useful.
3329
794c8c33
CW
33302012-09-22 Colin Watson <cjwatson@ubuntu.com>
3331
3332 Fix grub-emu build on FreeBSD.
3333
3334 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
3335 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
3336 headers on Linux.
3337 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
3338 implementation is currently Linux-specific.
3339 * util/getroot.c (exec_pipe): Define only on Linux or when either
3340 libzfs or libnvpair is unavailable.
3341 (find_root_devices_from_poolname): Remove unused path variable.
3342
86d08fdb
CW
33432012-09-19 Colin Watson <cjwatson@ubuntu.com>
3344
3345 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
3346 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
3347 should fit before end == 63.
3348
735abf54
CW
33492012-09-19 Colin Watson <cjwatson@ubuntu.com>
3350
3351 * util/grub-setup.c (write_rootdev): Remove unused core_img
3352 parameter. Update all callers.
3353 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
3354 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
3355 GRUB_SETUP_BIOS.
3356
140acd3c
VS
33572012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3358
3359 * util/grub-mkconfig_lib.in (grub_tab): New variable.
3360 (grub_add_tab): New function.
3361 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
3362 * util/grub.d/10_illumos.in: Likewise.
3363 * util/grub.d/10_kfreebsd.in: Likewise.
3364 * util/grub.d/10_linux.in: Likewise.
3365 * util/grub.d/10_netbsd.in: Likewise.
3366 * util/grub.d/10_windows.in: Likewise.
3367 * util/grub.d/10_xnu.in: Likewise.
3368 * util/grub.d/20_linux_xen.in: Likewise.
3369 * util/grub.d/30_os-prober.in: Likewise.
3370
7ddffdad
VS
33712012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3372
3373 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3374 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
3375 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
3376 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
3377 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
3378 ieee1275-nocursor.
3379 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
3380 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
3381
4e092454
VS
33822012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3383
3384 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
3385 le-conversion.
3386 Reported by: BURETTE, Bernard.
3387
735abf54 33882012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
3389
3390 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
3391 from comment.
3392
dfd39dbd
CW
33932012-09-14 Colin Watson <cjwatson@ubuntu.com>
3394
3395 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
3396 IEEE1275 machines. Fixes powerpc-emu compilation.
3397 * include/grub/terminfo.h: Likewise.
3398
3bfa763c
VS
33992012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3400
3401 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
3402 a const pointer.
3403 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
3404 const pointer.
3405 (efiemu_set_variable): Make vendor_guid a const pointer.
3406
250e475b
VS
34072012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3408
3409 Don't require grub-mkconfig_lib to generate manpages for programs.
3410
3411 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
3412 dependencies, don't add grub-mkconfig_lib.
3413 (program): Pass empty adddeps.
3414 (script): Pass grub-mkconfig_lib as adddeps.
3415
592fd0e4
VS
34162012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3417
3418 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
3419 * util/getroot.c (grub_find_device): Likewise.
3420 (get_mdadm_uuid): Likewise.
3421 (grub_util_is_imsm): Likewise.
3422 (grub_util_pull_device): Likewise.
3423 * util/grub-probe.c (probe): Likewise.
3424
801a3027
BG
34252012-09-10 Benoit Gschwind <gschwind>
3426
3427 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
3428 (devs): Add devpath_8.
3429
c5052c81
PJ
34302012-09-08 Peter Jones <pjones@redhat.com>
3431
3432 * grub-core/Makefile.core.def (efifwsetup): New module.
3433 * grub-core/commands/efi/efifwsetup.c: New file.
3434 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
3435 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
3436 New define.
3437 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
3438
8e832f71
JS
34392012-09-05 Jiri Slaby <jslaby@suse.cz>
3440
3441 * configure.ac: Add SuSe path.
3442
f0f55752
CW
34432012-09-05 Colin Watson <cjwatson@ubuntu.com>
3444
3445 * NEWS: Fix typo.
3446
ecadc4c2
CW
34472012-09-05 Colin Watson <cjwatson@ubuntu.com>
3448
3449 * util/import_gcry.py: Sort cipher_files, to make build system
3450 generation more deterministic.
3451
64498f25
VS
34522012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3453
3454 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
3455 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
3456 (grub_set_datetime): Likewise.
3457
9cc836a2
VS
34582012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
3461 warnings.
3462
bcfcea01
VS
34632012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3464
3465 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
3466
a4099485
VS
34672012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3468
3469 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
3470
265c162a
CW
34712012-09-04 Colin Watson <cjwatson@ubuntu.com>
3472
3473 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
3474 required for checkouts from bzr, but it may be useful for users or
3475 distributors wishing to update translations against a tarball
3476 distribution, and it can be helpful for the tarball to be a superset
3477 of what's in bzr.
3478
3d171e95
CW
34792012-09-04 Colin Watson <cjwatson@ubuntu.com>
3480
3481 * Makefile.am (EXTRA_DIST): Add
3482 grub-core/tests/boot/linux.init-mips.S,
3483 grub-core/tests/boot/linux.init-ppc.S, and
3484 grub-core/tests/boot/linux-ppc.cfg.
3485
f2c2503e
CW
34862012-09-04 Colin Watson <cjwatson@ubuntu.com>
3487
3488 * grub-core/mmap/mips/loongson: Remove empty directory.
3489
34902012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
3491
3492 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
3493 gone.
3494
ab2163d5
CW
34952012-09-04 Colin Watson <cjwatson@ubuntu.com>
3496
3497 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
3498 grub-sparc64-setup.
3499
ce938140
GS
35002012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
3501
3502 * configure.ac: Strengthen the test for working -nostdinc -isystem.
3503
529f58a5
GS
35042012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
3505
3506 * po/POTFILES.in: Regenerated.
3507
16cf79e9
GS
35082012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
3509
3510 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
3511 (NetBSD): New subsection.
3512
39b27f1e 35132012-07-22 Ales Nesrsta <starous@volny.cz>
3514
3515 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
3516 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
3517
a885261b
VS
35182012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
3521 * util/grub.d/10_hurd.in: Add missing quoting.
3522 * util/grub.d/10_illumos.in: Likewise.
3523 * util/grub.d/10_kfreebsd.in: Likewise.
3524 * util/grub.d/10_linux.in: Likewise.
3525 * util/grub.d/20_linux_xen.in: Likewise.
3526
7bd29c01
VS
35272012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3528
3529 New command `lsefi'.
3530
3531 * grub-core/Makefile.core.def (lsefi): New module.
3532 * grub-core/commands/efi/lsefi.c: New file.
3533 * include/grub/efi/api.h: Add more GUIDs.
3534
ac625d8f
VS
35352012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3536
3537 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
3538 (grub_bsd_elf32_hook): Likewise.
3539 (grub_bsd_elf64_size_hook): Likewise.
3540 (grub_bsd_elf64_hook): Likewise.
3541 (grub_bsd_load_elf): Likewise.
3542
e73bb801
VS
35432012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3544
3545 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
3546 if hash function is unavailable.
3547 (dec_stream_header): Likewise.
3548
e81db8b5
VS
35492012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3550
3551 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
3552 filter state.
3553
d187a1c3
VS
35542012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3555
3556 Fix coreboot compilation.
3557
3558 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
3559 (grub_vga_text_init_real): ... this.
3560 (grub_vga_text_fini): Rename to ...
3561 (grub_vga_text_fini_real): ... this.
3562
91a05f64
VS
35632012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3564
3565 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
3566
6af96df7
VS
35672012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3568
3569 * grub-core/lib/legacy_parse.c: Support clear and testload.
3570
4d569e12
VS
35712012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3572
3573 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
3574
073b57bb
VS
35752012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3576
3577 * grub-core/fs/ext2.c: Experimental support for 64-bit.
3578
a706f4cc
VS
35792012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3580
3581 * grub-core/net/tftp.c (ack): Fix endianness problem.
3582 (tftp_receive): Likewise.
3583 Reported by: Michael Davidsaver.
3584
e7850aa9
VS
35852012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3586
3587 * gentpl.py: Make mans depend on grub-mkconfig_lib.
3588
35892012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3590
3591 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
3592 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
3593 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
3594
35692881
VS
35952012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3596
3597 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
3598 efi_mmap_size.
3599 Reported by: Stuart Hayes.
3600
c35fc5bd
VS
36012012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
3604
3605 * grub-core/Makefile.core.def (mda_text): New module.
3606 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
3607 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
3608 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
3609 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
3610 here.
3611 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
3612 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
3613 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
3614 here.
3615 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
3616 to ..
3617 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
3618 ... here
3619 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
3620 here.
3621 * grub-core/term/i386/vga_common.c: Removed.
3622 * include/grub/i386/vga_common.h: Likewise.
3623 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
3624 (grub_vga_cr_bw_read): Likewise.
3625 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
3626 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
3627 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
3628 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
3629 grub_vga_cr_read/grub_vga_cr_write.
3630 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
3631
5f91f701
VS
36322012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 * configure.ac: Bump version to 2.00.
3635 * grub-core/normal/main.c (features): Add feature_200_final.
3636
0c4f85f6
VS
36372012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
36382012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
3639
3640 * NEWS: Fix unclarity and language mistakes.
3641
f923ad22
VS
36422012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3643
3644 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
3645 additional size to 3 pages.
3646 Reported by: Stuart Hayes.
3647
d22029ba
VS
36482012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3649
3650 * NEWS: Add 2.00 entry.
3651
58eee08f
VS
36522012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3653
3654 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
3655 put explicit "/" for empty path.
3656 (wildcard_expand): Improve dprintf.
3657
c59bdff7
VS
36582012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3659
3660 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
3661 it's equal to currnode. This can happen with "" symlink.
3662
5e6a440a
YB
36632012-06-27 Yves Blusseau <blusseau@zetam.org>
3664
3665 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
3666 echo shell command by printf command.
3667
73a68bcb
VS
36682012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3669
3670 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
3671 the value returned by firmware is the maximal position, not diumension.
3672 (grub_terminfo_output_state): Use a more sane fallback.
3673
392a603b
VS
36742012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3675
3676 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
3677
42d0867f
VS
36782012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3679
3680 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
3681 frequency to 150 MHz.
3682
489509f4
VS
36832012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3684
3685 Apple fixes.
3686
3687 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
3688 __APPLE_
3689 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
3690 definition.
3691 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
3692
9f3fc883
VS
36932012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3694
3695 Handle slash in HFS label.
3696
3697 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
3698 (grub_hfs_dir): Tanslate slash.
3699 (grub_hfs_label): Don't translate slash.
3700
54853fd7
VS
37012012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3702
3703 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
3704 network protocol listing since it introduces problematic dependency on
3705 net module.
3706
4dc02ddf
VS
37072012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3708
3709 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
3710
c50c867d
VS
37112012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3712
3713 Init video early on yeeloong to avoid being rebooted by watchdog.
3714
3715 * grub-core/Makefile.am (gensm712): New target.
3716 (sm712_start.S): Likewise.
3717 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
3718 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
3719 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
3720 description.
3721 * include/grub/vga.h: Move registry definitions to...
3722 * include/grub/vgaregs.h: ... here.
3723
5f92c8a1
VS
37242012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3725
3726 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
3727 signedness.
3728
e9e6f111
VS
37292012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3730
3731 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
3732 platforms with firmware disk drivers in the core.
3733
754ad9eb
VS
37342012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3735
3736 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
3737 informative verbose message.
3738 (read_lv): Handle 64-bit segment size.
3739
315654c2
VS
37402012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3741
3742 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
3743
fb022c79
VS
37442012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3745
3746 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
3747 character but still remove trainling spaces.
3748 (grub_fat_label): Ignore archive flag.
3749
8645f72c
VS
37502012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3751
3752 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
3753 cast between linux_kernel_header and linux_kernel_params.
3754
36498496
VS
37552012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3756
3757 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
3758 type for size.
3759 (grub_raid6_recover_func_t): Likewise.
3760 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
3761 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
3762
0b5ea6b8
VS
37632012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3764
3765 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
3766
650cfcfe
GS
37672012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
3768
3769 Fix overflow.
3770
3771 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
3772 [__NetBSD__]: Add explicit cast before bitshift.
3773
8a4d6a44
VS
37742012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3775
3776 * configure.ac: Bump to 2.00~rc1.
3777
2fb97ed3
VS
37782012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3779
3780 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
3781 half of $a0.
3782
1fa097dc
VS
37832012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
37842012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
3785
3786 * docs/grub.texi: Fix search syntax.
3787 (Multi-boot manual config): Put msdos rather than GPT example.
3788 Grammar corrections.
3789
c890ba78
VS
37902012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3791
3792 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
3793
0f92dca7
VS
37942012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3795
3796 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
3797
3988c4a0
VS
37982012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
3801 message on double free. Put the value of magic in case of mismatch.
3802
9e86d4c5
VS
38032012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3804
3805 Speed-up video on yeeloong.
3806
3807 * grub-core/video/sm712.c (framebuffer): Remove render_target and
3808 add cached_ptr.
3809 (grub_video_sm712_video_fini): Unmap cached_ptr.
3810 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
3811 (grub_video_sm712_set_active_render_target): Removed.
3812 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
3813 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
3814 sync caches.
3815
ed24c312
VS
38162012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3817
3818 Avoid flushing the same line multiple times on loongson.
3819
3820 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
3821 Step in 32 bytes and not 1 byte.
3822 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
3823 Likewise.
3824
d1718e7d
VS
38252012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3826
3827 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
3828 subvolumes.
3829
982f1909
VS
38302012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3831
3832 Implement flow control for http.
3833
3834 * grub-core/net/http.c (parse_line): Handle response 206.
3835 (http_receive): Stall if too many packets are in the queue.
3836 (http_establish): Fix range header.
3837 (http_seek): Fix double free.
3838 (http_close): Likewise.
3839 (http_packets_pulled): New function.
3840 (grub_http_protocol): Set http_seek
3841 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
3842 (ack_real): Set window depending on i_stall.
3843 (grub_net_send_tcp_packet): Likewise.
3844 (grub_net_tcp_stall): New function.
3845 (grub_net_tcp_unstall): Likewise.
3846 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
3847 (grub_net_tcp_unstall): Likewise.
3848
bd407d6e
VS
38492012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3850
3851 * grub-core/net/tftp.c: Decrease stall to 50 packets.
3852
c7564b8e
VS
38532012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
3856
a3706162
VS
38572012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3858
3859 * tests/util/grub-shell.in: Fix a typo.
3860
b27069e0
VS
38612012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3862
3863 Implement flow control for tftp.
3864
3865 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
3866 packets but stop only if stop condition is satisfied.
3867 (grub_net_fs_read_real): Call packets_pulled after real read. Use
3868 `stall' instead of `eof' as stop condition.
3869 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
3870 (http_err): Likewise.
3871 * grub-core/net/tftp.c (ack): Replace the first argument with data
3872 instead of socket.
3873 (tftp_receive): Stall if too many packets are in wait queue.
3874 (tftp_packets_pulled): New function.
3875 (grub_tftp_protocol): Set packets_pulled.
3876 * include/grub/net.h (grub_net_packets): New field count.
3877 (grub_net_put_packet): Increment count.
3878 (grub_net_remove_packet): Likewise.
3879 (grub_net_app_protocol): New field `packets_pulled'.
3880 (grub_net): New field `stall'.
3881
6b9cfac6
VS
38822012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3883
3884 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
3885 sync part to handle them.
3886
f35abd81
VS
38872012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3888
3889 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
3890 * grub-core/net/drivers/ieee1275/ofnet.c
3891 (grub_ieee1275_net_config_real): Likewise.
3892
0e7ec820
VS
38932012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3894
3895 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
3896 the direct route for server/gateway.
3897
9d611a31
VS
38982012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3899
3900 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
3901 IP address to server name since we may not hame the DNS.
3902
418f45ab
VS
39032012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3904
3905 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
3906 freeing random buffer on failure.
3907 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
3908
44a0efc1
VS
39092012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3910
3911 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
3912
531e2241
VS
39132012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3914
3915 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
3916 reserved bytes.
3917 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
3918 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
3919 Handle malloc error correctly.
3920
cde393c9
VS
39212012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
3924 blocks.
3925
538478d0
VS
39262012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
3929 increment.
3930
9b55efe0
VS
39312012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3932
3933 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
3934 none is explicitly specified.
3935
9eb832c3
VS
39362012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3937
3938 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
3939 while reallocating.
3940
d6b7c7c9
VS
39412012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3942
3943 Respect netmask from bootp/dhcp.
3944
3945 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
3946 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
3947 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
3948 into ...
3949 (grub_net_add_ipv4_local): ... this.
3950 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
3951 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
3952 (grub_net_add_ipv4_local): New proto.
3953
67caf9eb
VS
39542012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3955
3956 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
3957 determining EFI memory map size.
3958
43657558
VS
39592012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3960
3961 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
3962
eb6d0dd3
VS
39632012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3964
3965 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
3966 when looking for partition separator.
3967
31230544
VS
39682012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3969
3970 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
3971 Escape commas.
3972
918a2517
VS
39732012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3974
3975 Restructure FAT driver to avoid hook in label reading as it hits a
3976 GCC bug.
3977
3978 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
3979 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
3980 (grub_fat_iterate_dir): Split into ...
3981 (grub_fat_iterate_init): ... this, ...
3982 (grub_fat_iterate_fini): ... this, ...
3983 (grub_fat_iterate_dir_next): ... and this. All users updated.
3984
9f1d654e
VS
39852012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3986
3987 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
3988 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
3989 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3990 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
3991 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
3992 New fields last_key and last_key_time.
3993 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
3994 extended key-esc into extended key-extended key.
3995
52f0f643
VS
39962012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3997
3998 Avoid unnecessary memcpy of whole video buffer.
3999
4000 * grub-core/video/fb/video_fb.c (dirty): New struct.
4001 (framebuffer): Add members current_dirty and previous_dirty.
4002 (dirty): New function.
4003 (grub_video_fb_fill_rect): Update dirty.
4004 (common_blitter): Likewise.
4005 (grub_video_fb_scroll): Likewise.
4006 (doublebuf_blit_update_screen): Copy only dirty part.
4007 (doublebuf_pageflipping_update_screen): Likewise.
4008 (grub_video_fb_doublebuf_blit_init): Init dirty.
4009 (doublebuf_pageflipping_init): Likewise.
4010 (grub_video_fb_setup): Likewise.
4011
e169a180
VS
40122012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4013
4014 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
4015 poll rate.
4016
48556879
VS
40172012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4018
4019 Fix wildcard regexp dot and other special characters handling.
4020 Reported by: Robert Mabee.
4021
4022 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
4023 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
4024 (split_path): Trigger expansion on '?'.
4025 (unescape): New function.
4026 (wildcard_expand): Unescape parts copied without globbing.
4027 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
4028 (grub_script_arglist_to_argv): Don't unescape expansions.
4029
0494408e
VS
40302012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4031
4032 * include/grub/net.h (grub_net_card): New member txbufsize.
4033 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
4034 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
4035 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
4036 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
4037 txbufsize.
4038 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
4039 compatible property to check for macs. Set
4040 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
4041 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
4042 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
4043 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
4044 (send_card_buffer): Use txbuf.
4045 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
4046 nested function out of the parent while on it.
4047
cc35fe8f
VS
40482012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4049
4050 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
4051 presence check.
4052 (grub_ieee1275_net_config_real): Fix config pointer.
4053
970a0a09
VS
40542012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4055
4056 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
4057 filename parsing to non-block devices.
4058
3e19bf87
VS
40592012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4060
4061 * grub-core/kern/device.c (grub_device_open): Remove dead code.
4062
c62d1a0c
VS
40632012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4064
4065 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
4066 All users updated.
4067
ef76bec3
VS
40682012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4069
4070 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
4071 UUID search command even if hints probing failed.
4072
40732012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
4074
4075 * po/POTFILES.in: Regenerated.
4076
70aaf305
VS
40772012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
4078
4079 Speed-up video on fuloong.
4080
4081 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
4082 New function.
4083 (grub_pci_device_unmap_range): Handle non-cached address.
4084 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
4085 add direct_ptr.
4086 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
4087 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
4088 (grub_video_sis315pro_set_active_render_target): Removed.
4089 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
4090 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
4091 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
4092 sync caches.
4093 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
4094 New proto.
4095
10400f0b
VS
40962012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4097
4098 * docs/grub.texi (Multi-boot manual config): New section.
4099
ba67e2c6
VS
41002012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4101
4102 Avoid slow read-back from VRAM.
4103
4104 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
4105 Move from here ...
4106 * grub-core/video/fb/video_fb.c
4107 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
4108 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
4109 (front_target): Remove front_target. Add pages.
4110 (grub_video_fb_init): Skip setting front_pages.
4111 (grub_video_fb_fini): Likewise.
4112 (doublebuf_blit_update_screen): Use pages.
4113 (grub_video_fb_doublebuf_blit_init): Likewise.
4114 (doublebuf_pageflipping_init): Allocate offscreen buffer.
4115 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
4116 (grub_video_fb_setup): Prefer doublebuffing.
4117
377c98cb
VS
41182012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4119
4120 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
4121 gzio.
4122
eac49cff
VS
41232012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4124
4125 Add loongson tests.
4126
4127 * tests/util/grub-shell.in: Handle loongson.
4128 * tests/partmap_test.in: Add loongson to the list of platform using ATA
4129 drivers.
4130 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
4131 Reboot instead of shutdown if REBOOT is defined.
4132
0321415e
VS
41332012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4134
4135 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
4136 sized ports since unlike on real hardware qemu supports only 32-bit
4137 regs.
4138
3f2bdd8f
VS
41392012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4140
4141 * Makefile.util.def (grub-mkrescue): Enable on loongson.
4142 * util/grub-mkrescue.in: Handle loongson.
4143
29a049c9
VS
41442012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
4145
4146 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
4147 Set is_part appropriately.
4148 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
4149 names. Canonicalize partition without full disk.
4150
4abde346
VS
41512012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4152
4153 Revert usb-quiesce since it's wrong.
4154
4155 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
4156 (grub_ofdisk_init): Don't do quiesce.
4157
61f1d93b
VS
41582012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4159
4160 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
4161 PowerMac workaround to Xserves as well.
4162 Information supplied by: Benjamin Herrenschmidt.
4163
a09eb541
VS
41642012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4165
4166 Don't assume that beginning address is also the entry point on ppc.
4167
4168 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
4169 (grub_linux_boot): Use linux_entry.
4170 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
4171 (grub_linux_load64): Likewise.
4172
505b3c9b
VS
41732012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4174
4175 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
4176
cbe0b4ef
VS
41772012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4178
4179 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
4180 needlessly lose the console.
4181
3006e981
VS
41822012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4183
4184 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
4185 space.
4186
4e5a96b0
VS
41872012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
4188
7da036bb
VS
4189 Remove non-functional EFI grub_get_rtc. Put a better fatal message
4190 than current grub_get_rtc() not implemented when booted with
4191 coreboot without TSC.
4192
4193 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
4194 Add machine/time.h to kernel headers on loongson.
4195 * grub-core/Makefile.core.def (kernel): Remove
4196 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
4197 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
4198 (grub_get_rtc): Likewise.
4199 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
4200 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
4201 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
4202 * grub-core/kern/i386/tsc.c (grub_tsc_init)
4203 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
4204 rather than installing known non-working time source.
4205 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
4206 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
4207 * include/grub/time.h: Don't include machine/time.h.
4208 * include/grub/efi/time.h: Removed.
4209 * include/grub/i386/efi/time.h: Likewise.
4210 * include/grub/i386/ieee1275/time.h: Likewise.
4211 * include/grub/powerpc/ieee1275/time.h: Likewise.
4212 * include/grub/sparc64/ieee1275/time.h: Likewise.
4213 * include/grub/x86_64/efi/time.h: Likewise.
4214
42152012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
4216
4217 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
4218
4219 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
4220 value.
4221 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
4222 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
4223 with dotless variants when any combining above is present.
4224
5561c22d
VS
42252012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4226
4227 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
4228 text and not binary.
4229
96f7e60e
VS
42302012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4231
4232 Stop polling as soon as we have the packet we were waiting for.
4233
4234 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
4235 All users updated.
4236 * grub-core/net/arp.c (have_pending): New var.
4237 (pending_req): Likewise.
4238 (grub_net_arp_send_request): Fill pending_req and use have_pending as
4239 stop indicator.
4240 (grub_net_arp_receive): Set have_pending.
4241 * grub-core/net/dns.c (recv_data): New field stop.
4242 (recv_hook): Set stop.
4243 (grub_net_dns_lookup): Init stop and use as stop condition.
4244 * grub-core/net/http.c (http_establish): Use headers_recv as stop
4245 condition.
4246 * grub-core/net/net.c (grub_net_poll_cards): New argument
4247 stop_condition. Stop when it goes true.
4248 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
4249 indicator.
4250 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
4251
3e747239
VS
42522012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4253
4254 Keep TX and RX buffers on EFI rather than always allocate new ones.
4255
4256 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
4257 card. All users updated.
4258 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
4259 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
4260 (get_card_packet): Likewise.
4261 (grub_efinet_findcards): Init new fields.
4262
f695e99a
VS
42632012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4264
4265 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
4266 compilation error on sparc64.
4267
9e5e66d1
VS
42682012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4269
4270 Use ITC on IA64 rather than broken routine based on daytime.
4271
4272 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
4273 ia64.
4274 (grub_get_rtc) [__ia64__]: Likewise.
4275 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
4276 (get_itc): New function.
4277 (grub_rtc_get_time_ms): Likewise.
4278 (grub_machine_init): Calibrate ITC.
4279 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
4280 Keep only on non-ia64. Don't export since it's broken and used only
4281 if TSC is unavailable.
4282
a1767404
VS
42832012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4284
4285 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
4286 even if it's used.
4287 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
4288 Skip if parent is unused.
4289
34b2bced
VS
42902012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4291
4292 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
4293
5e619f40
VS
42942012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4295
4296 Fix wildcard escaping.
4297
4298 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
4299 * grub-core/script/execute.c (wildcard_escape): .. to here.
4300 Don't escape dot.
4301 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
4302 * grub-core/script/execute.c (wildcard_unescape): .. to here.
4303 Don't escape dot.
4304 * grub-core/script/execute.c (gettext_append): Always escape.
4305 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
4306 * grub-core/script/yylex.l: Don't cut away the escaping.
4307 * tests/grub_script_echo1.in: Add tests with wildcard.
4308
c8ca5855
VS
43092012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4310
4311 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
4312 (ftdi_hw_configure): Likewise.
4313 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
4314 define.
4315 (real_config): Handle 1.5 stop bits.
4316 (pl2303_hw_configure): Likewise.
4317
7183452c
VS
43182012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4319
4320 * Makefile.am: Add ppc linux bootcheck.
4321 * grub-core/tests/boot/linux-ppc.cfg: New file.
4322 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
4323
f57c84cd
VS
43242012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4325
4326 * tests/grub_script_expansion.in: Skip network protocols.
4327
ecfc6207
VS
43282012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4329
4330 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
4331
8d03d284
VS
43322012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4333
4334 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
4335 --rom-directory.
4336 Add -graft-points.
4337
61c42af0
VS
43382012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4339
4340 ESCC serial driver for conducting sautomated tests in qemu.
4341 Not tested on real hardware.
4342
4343 * include/grub/serial.h (grub_serial_port): New field escc_desc.
4344 * grub-core/term/ieee1275/escc.c: New file.
4345 * grub-core/Makefile.core.def (escc): New module.
4346
08fd1291
VS
43472012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4348
4349 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
4350 invalid on error.
4351 (serial_hw_fetch): Don't read invalid handle.
4352 (serial_hw_put): Don't write into invalid handle.
4353
08dafeea
VS
43542012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4355
4356 Add a 1.5 stop bits value.
4357
4358 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
4359 * include/grub/serial.h (grub_serial_stop_bits_t): Add
4360 GRUB_SERIAL_STOP_BITS_1_5.
4361
9068fdcf
VS
43622012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4363
4364 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
4365 value rather than let it uninited.
4366
f4d5820f
VS
43672012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4368
4369 * grub-core/commands/wildcard.c (+check_file): New function.
4370 (wildcard_expand): Don't expand to non-existing files, expand with
4371 suffix and not attempt to expand if not needed.
4372
3d2de9a7
VS
43732012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4374
4375 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
4376 out of partitions containing other partitions.
4377
c5c81ff9
VS
43782012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4379
4380 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
4381 on some qemu versions with GRUB.
4382
4383 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
4384 define.
4385 (grub_openbsd_bootarg_pcibios): New struct.
4386 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
4387 Add PCIINFO.
4388
08a14e0b
VS
43892012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4390
4391 * tests/util/grub-shell.in: Trim firmware output on EFI.
4392
cede3ca3
VS
43932012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4394
4395 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
4396 and coreboot since it's already in kernel.
4397
558d3a60
VS
43982012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
4401 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
4402 to here. New return value start. All users updated.
4403 Recursively scan linear mappings.
4404 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
4405 proto.
4406 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
4407 Use grub_util_get_dm_node_linear_info.
4408 * util/getroot.c (convert_system_partition_to_system_disk): Use
4409 grub_util_info rather than grub_dprintf.
4410 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
4411
60fde14d
VS
44122012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4413
4414 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
4415
4416 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
4417 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
4418
24bd8838
VS
44192012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4420
4421 * include/grub/types.h (grub_set_unaligned64): New function.
4422 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
4423 (setup): Likewise.
4424
7bc06a49
VS
44252012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4426
4427 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
4428 (grub_ofdisk_fini): Quiesce USB devices.
4429
49cea015
VS
44302012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4431
4432 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
4433 caches.
4434
8dcbe03b
VS
44352012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4436
4437 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
4438
5b258735
VS
44392012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4440
4441 * grub-core/disk/pata.c (grub_pata_pio_read)
4442 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
4443 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
4444
37ba07eb
VS
44452012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4446
4447 Extend automated tests to qemu-mips.
4448
4449 * Makefile.am: reorganise tests and enable qemu-mips.
4450 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
4451 * grub-core/tests/boot/linux.init-mips.S: New file.
4452 * tests/partmap_test.in: Handle ata0 disks.
4453 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
4454 non-pc i386.
4455
070038f8
VS
44562012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4457
4458 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
4459 ia64.
4460 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
4461 quotes while on it.
4462
004be2cd
VS
44632012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4464
4465 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
4466 (grub_halt): Likewise.
4467 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
4468
b1622487
VS
44692012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4470
4471 * grub-core/term/serial.c (grub_serial_register)
4472 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
4473 the behaviour in line with x86 platforms.
4474
b7b4ab33
VS
44752012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4476
4477 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
4478 (grub_ata_strncpy): Likewise.
4479 (grub_ata_identify): Add missing byteswaps.
4480
5e3535ae
VS
44812012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4482
4483 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
4484 byte-swap.
4485 (screen_read_char): Likewise.
4486 (grub_vga_text_cls): Likewise.
4487
c21b17e6
VS
44882012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4489
4490 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
4491 filenames.
4492 (make_file_path): Likewise.
4493
bf293dec
VS
44942012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4495
4496 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
4497 machines.
4498 Tested by: Paulo Flabiano Smorigo.
4499 Crucial information about API supplied by: Coleen <Last name unknown>.
4500 Reviewed by: Coleen <Last name unknown>.
4501
81f6ef0e
VS
45022012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 * util/grub-mkimage.c: Disable -Wcast-align.
4505
7284143a
VS
45062012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4507
4508 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
4509 as they are fatal.
4510
b99f3e00
VS
45112012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4512
4513 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
4514
944f752d
VS
45152012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4516
4517 * util/grub-probe.c (escape_of_path): Fix double free.
4518
6cce6f38
VS
45192012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4520
4521 * grub-core/commands/videoinfo.c (hook): Show pitch.
4522
1e1eb50e
VS
45232012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4524
4525 * util/grub.d/20_linux_xen.in: Skip xen-syms.
4526
1c715b5a
VS
45272012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4528
4529 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
4530 (probe): Add ieee1275 to OFW devices.
4531
007ae52d
VS
45322012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4533
4534 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
4535
4557a36d
VS
45362012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4537
4538 Handle IBM OFW path.
4539
4540 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
4541 available.
4542 (of_path_of_scsi): Handle vdevice.
4543
efbeefe9
VS
45442012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
4545
4546 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
4547 Allocate in multiples of 16 to avoid adding a few bytes free region the
4548 windows bugs upon.
4549
15a940bb
VS
45502012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
4551
4552 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
4553 Allocate in multiples of 16 to avoid adding a few bytes free region the
4554 windows bugs upon.
4555 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
4556
6e5efd60
VS
45572012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4558
4559 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
4560 resolutions.
4561 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
4562 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
4563
0d3d137e
IS
45642012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
4565
4566 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
4567
45dbe300
VS
45682012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4569
4570 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
4571 resulted in \\ at the end of the line.
4572
6d8db947
VS
45732012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4574
4575 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
4576 (grub_parser_cmdline_state): Likewise.
4577 (grub_parser_split_cmdline): Likewise.
4578
de89d338
VS
45792012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4580
4581 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
4582 /dev/root and /dev/dm-*.
4583
00d41dee
VS
45842012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4585
4586 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
4587 fix partially stale display.
4588
f95d1f11
VS
45892012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4590
4591 * grub-core/normal/menu_entry.c (backward_char): Use right line for
4592 substraction.
4593
6297e197
VS
45942012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4595
4596 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
4597 Fix MBR remapping workaround.
4598 (grub_util_biosdisk_read) [__linux__]: Likewise.
4599
8a7ecad3
VS
46002012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
4601
4602 * util/grub-install.in: Check for ieee1275 and not ieee1276.
4603
2b34f944
VS
46042012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4605
4606 * configure.ac: Bump to beta6.
4607
684aef11
CW
46082012-05-31 Christer Weinigel <christer@weinigel.se>
4609
4610 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
4611
05b0bb91
VS
46122012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4613
4614 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
4615 (grub_cmd_linux): Likewise.
4616
bda36bfa
CW
46172012-05-31 Christer Weinigel <christer@weinigel.se>
4618
4619 Fix EHCI low-speed.
4620
4621 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
4622 (GRUB_EHCI_MULT_TWO): Likewise.
4623 (GRUB_EHCI_MULT_THREE): Likewise.
4624 (GRUB_EHCI_CMASK_MASK): New enum value.
4625 (GRUB_EHCI_SMASK_MASK): Likewise.
4626 (GRUB_EHCI_CMASK_OFF): Likewise.
4627 (GRUB_EHCI_SMASK_OFF): Likewise.
4628 (grub_ehci_pci_iter): Enable periodic schedule.
4629 (grub_ehci_parse_notrun): Likewise.
4630 (grub_ehci_restore_hw): Likewise.
4631 (grub_ehci_setup_qh): Set flags for low speed transfers.
4632 (grub_ehci_find_qh): Use periodic list for low speed.
4633 (grub_ehci_setup_transfer): Check periodic queue as well.
4634 (grub_ehci_check_transfer): Likewise.
4635 (grub_ehci_cancel_transfer): Cancel periodic transfer.
4636
e12bcb1c
PFS
46372012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4638
4639 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
4640 parameter is used.
4641
bcc75fb3
PJ
46422012-05-31 Peter Jones <pjones@redhat.com>
4643
4644 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
4645 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
4646 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
4647
f19cb95e
VS
46482012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4649
4650 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
4651 uninited variable. Allocate at least setup_sects.
4652
a4e5ca80
VS
46532012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4654
4655 Fix handling of EFI with big memory maps.
4656
4657 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
4658 (real_mode_mem): Likewise.
4659 (real_mode_target): Likewise.
4660 (real_mode_pages): Likewise.
4661 (prot_mode_pages): Likewise.
4662 (linux_params): New var.
4663 (linux_cmdline): Likewise.
4664 (free_pages): Don't set real mode variables.
4665 (allocate_pages): Don't allocate real mode memory.
4666 (grub_e820_add_region): Remove the limit.
4667 (grub_linux_boot): Allocate and copy real mode memory.
4668 (grub_linux_unload): Free linux_cmdline.
4669 (grub_cmd_linux): Use temporary storage for parameters.
4670 (grub_cmd_initrd): Likewise.
4671 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
4672 (linux_kernel_params): Make it 1K big.
4673
ddb73558
VS
46742012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4675
4676 * Makefile.util.def: Remove -Wno-format.
4677 * grub-core/Makefile.core.def: Likewise.
4678
1c4afb60
VS
46792012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4680
4681 * tests/cmp_unit_test.c: Add missing failure message.
4682 * tests/example_unit_test.c: Likewise.
4683 * tests/printf_unit_test.c: Likewise.
4684
941e3a6d
VS
46852012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4686
4687 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
4688 relaxation of protective MBR requirements.
4689
b105df76
VS
46902012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4691
4692 * configure.ac: Add condition for COND_HOST_XNU.
4693 * Makefile.util.def (10_xnu): New script.
4694 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
4695
84e1569e
VS
46962012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4697
4698 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
4699 objconv bug.
4700
130c0f77
VS
47012012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
4704 Binary on other platforms stays identical.
4705
6fd0b143
VS
47062012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4707
4708 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
4709 Apple.
4710
0af1751d
VS
47112012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4712
4713 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
4714
176d5f7d
VS
47152012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4716
4717 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
4718 rather than defining size_t ourselves to avoid conflict.
4719
7de5e20a
VS
47202012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4721
4722 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
4723 initialisation to avoid __bzero reference.
4724
f7143efe
VS
47252012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4726
4727 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
4728 version.
4729 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
4730 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
4731 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
4732 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
4733 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
4734
e6ad0555
VS
47352012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4736
4737 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
4738 * grub-core/kern/misc.c: Likewise.
4739 * grub-core/loader/i386/xnu.c: Likewise.
4740 * include/grub/i386/tsc.h: Likewise.
4741 * include/grub/symbol.h: Likewise.
4742
4a5a3c4a
VS
47432012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4744
4745 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
4746 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
4747 on older compiler.
4748
037f6d90
VS
47492012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4750
4751 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
4752 Implement Apple flavour.
4753 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
4754
f7194551
VS
47552012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4756
4757 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
4758 (memmove) [__APPLE__]: Likewise.
4759 (memcpy) [__APPLE__]: Likewise.
4760 (memset) [__APPLE__]: Likewise.
4761 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
4762 (memmove) [__APPLE__]: Likewise.
4763 (memcpy) [__APPLE__]: Likewise.
4764 (memset) [__APPLE__]: Likewise.
4765
85a730ca
VS
47662012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4767
4768 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
4769 dependency discard.
4770
40e80b94
VS
47712012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4772
4773 * grub-core/normal/main.c (read_config_file): Provide config_file and
4774 config_directory.
4775 * util/grub.d/41_custom.in: Use config_directoy when available.
4776
9da59c32
VS
47772012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4778
4779 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
4780 (grub_bfs_dir): Likewise.
4781
2787ae53
PJ
47822012-05-27 Peter Jones <pjones@redhat.com>
4783
4784 The old code gives arguments to a printf function which can't work
4785 correctly, and the compiler complains.
4786
4787 * grub-core/tests/example_functional_test.c (example_test): Add
4788 missing text.
4789 * grub-core/tests/lib/test.c (add_failure): Rewrite.
4790 * include/grub/test.h (grub_test_assert_helper): New declaration.
4791 (grub_test_assert): Use grub_test_assert_helper.
4792
526ef13d
VS
47932012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
4796 (exfctest): ... this to avoid overlong filenames.
4797 All users updated.
4798
20dd511c
VS
47992012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4800
4801 Handle "." and ".." on squashfs.
4802
4803 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
4804 Make inode numbers into stack.
4805 (grub_squash_read_symlink): Use stack.
4806 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
4807 (make_root_node): Fill stack.
4808 (grub_squash_open): Use stack.
4809
1d80c62a
VS
48102012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4811
4812 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
4813 freeing.
4814
d336f652
VS
48152012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
4818 stderr on test calls.
4819
8b43f587
VS
48202012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4821
4822 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
4823
80a3dc3f
VS
48242012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4825
4826 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
4827
47e297d4
VS
48282012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
4831 "..".
4832
df042ccb
VS
48332012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
4836 (grub_hfsplus_iterate_dir): Add "." and "..".
4837
fc977f48
VS
48382012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4839
4840 * grub-core/fs/cpio.c (canonicalize): Handle "..".
4841 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
4842
f3250e5f
VS
48432012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4844
4845 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
4846 (find_path): Handle "." and "..".
4847
fd8ed4c5
VS
48482012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4849
4850 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
4851 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
4852 (grub_affs_iterate_dir): Handle hardlinks.
4853
4ce776d2
MG
48542012-05-26 Matthew Garrett <mjg@redhat.com>
4855
4856 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
4857 (grub_efi_console_fini): Likewise.
4858 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
4859 (grub_video_gop_fill_mode_info): Rename to ...
4860 (grub_video_gop_fill_real_mode_info): ... this.
4861 (grub_video_gop_fill_mode_info): New function.
4862 (grub_video_gop_setup): Setup double framebuffer.
4863 (grub_video_gop_get_info_and_fini): Use original framebuffer.
4864 Free offscreen.
4865 (grub_video_gop_swap_buffers): Copy framebuffer.
4866 (grub_video_gop_fini): Free offscreen buffer.
4867 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
4868 New enum.
4869 (grub_efi_gop_blt_pixel): New struct.
4870
683031ba
VS
48712012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
4872
4873 * gentpl.py: Remove error disabling for objconv.
4874
c2deb798
VS
48752012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 * configure.ac: Remove -Wunitialized as it's not available on older
4878 compilers.
4879
48802012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
4881
4882 Fix extent overflow comparator.
4883
4884 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
4885 (grub_hfsplus_read_block): Set type.
4886 (grub_hfsplus_cmp_extkey): Compare type.
4887
d6b1fd36
VS
48882012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
4889
4890 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
4891
0a9aa0f6
VS
48922012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4893
4894 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
4895 than 0.
4896
8360e159
VS
48972012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4898
4899 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
4900 (dejavu_bold_14.pf2): New target.
4901
501b9e4b
VS
49022012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4903
4904 * configure.ac: Fix djvu font detection.
4905
7026b0e2
VS
49062012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4907
4908 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
4909 ext* instead of ext2.
4910
c2a51ade
VS
49112012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4912
4913 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
4914 name with \0.
4915
8f803a5d
JU
49162012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
4917
4918 * docs/grub-dev.texi: Remove dot from .png.
4919
13c6353f
VS
49202012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4921
4922 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
4923 protective entry in any slot.
4924 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
4925 if protective entry is found in any slot.
4926
4927 Protective entry in non-first slot make no sense but is a widespread
4928 brain damage.
4929
4cf6be1b
VS
49302012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4931
4932 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
4933
937d1c44
VS
49342012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4935
4936 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
4937 with old reiserfs.
4938 (grub_reiserfs_open): Don't free root.
4939
021d90ec
VS
49402012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4941
4942 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
4943 after freeing for safety.
4944
967b2b64
VS
49452012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4946
4947 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
4948 Reported by: Jordan Uggla.
4949
34274d02
JU
49502012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
4951
967b2b64
VS
4952 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
4953 actual implementation. Specifically, clarify that the grub menu will
4954 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
4955 passed.
34274d02 4956
dcaaae9d
BH
49572012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
4958
4959 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
4960 of r0.
4961
7086ad52
VS
49622012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4963
4964 Remove unjustified hard dependency of normal.mod on gfxterm.
4965
4966 * include/grub/term.h (grub_term_output): New member fullscreen.
4967 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
4968 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
4969 (grub_gfxterm): Set .fullscreen.
4970 * grub-core/normal/menu.c (menu_init): Use fullscreen.
4971 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
4972
37ed2c9b
VS
49732012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4974
4975 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
4976 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 4977 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 4978
a4469c88
VS
49792012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4980
4981 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
4982
4e461486
VS
49832012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4984
4985 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
4986 a bad FS.
4987
aa78f5c4
VS
49882012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4989
4990 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
4991 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
4992
197626b5
VS
49932012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4994
4995 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
4996 (grub_jfs_mount): Fill caseins.
4997 (grub_jfs_find_file): Respect caseins.
4998
8ad3f28c
VS
49992012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5000
5001 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
5002 through UTF-16.
5003
0c6c324e
VS
50042012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5005
5006 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
5007 New argument origpath. All users updated.
5008
c6666ba6
VS
50092012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5010
5011 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
5012 (read_attr): Ensure that we read start of possibly compressed block.
5013
e28e5fe5
VS
50142012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5015
5016 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
5017 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
5018 All users updated.
5019
5fc23ab2
VS
50202012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5021
5022 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
5023 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
5024 (dejavu.pf2): Replace with ...
5025 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
5026 this.
5027
79dbc21c
VS
50282012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5029
5030 * util/grub.d/20_linux_xen.in: Add missing line.
5031
d2fcfb0c
VS
50322012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5033
5034 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
5035 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
5036 (grub_utf16_to_utf8): Likewise.
5037
5560e9d6
VS
50382012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5039
5040 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
5041 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
5042 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5043 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
5044 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
5045 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
5046
50472012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
5048
5049 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
5050 a bad FS.
5051
5560e9d6 50522012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
5053
5054 * grub-core/fs/udf.c (read_string): Bail out on size=0.
5055 (grub_udf_read_symlink): Handle read_string failure.
5056
5eae3175
VS
50572012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5058
5059 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
5060 comment.
5061
c1ad82db
VS
50622012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5063
5064 Fix handling of UDF symlinks.
5065
5066 * grub-core/fs/udf.c (read_string): New argument outbuf.
5067 All users updated.
5068 (grub_ufs_read_symlink): Rename to ...
5069 (grub_udf_read_symlink): ... this. All users updated.
5070 Handle symlinks with more than one component.
5071
33eca6e0
VS
50722012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5073
5074 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
5075 symlinks. Replace leading colon with a slash.
5076
57f4a70b
VS
50772012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5078
5079 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
5080 filename.
5081
38c8ee20
VS
50822012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5083
5084 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
5085 match in inner node.
5086
2e57f28f
VS
50872012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5088
5089 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
5090 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
5091 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
5092 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
5093 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
5094 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
5095 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
5096 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
5097 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
5098
fe8c2f11
VS
50992012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5100
5101 Use grub-probe and not cmp to check that disk is empty.
5102
5103 * util/grub-install.in: Use grub-probe for zero-check.
5104 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
5105 (probe): Handle PRINT_ZERO_CHECK.
5106 (argp_parser): Handle -t zero_check.
5107
51082012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
5109
5110 Flush block cache on adding disk to device map.
5111
5112 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
5113 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
5114 adding.
5115 (read_device_map): Likewise.
5116 (open_device): Flush on opening.
5117
690434e8
VS
51182012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5119
5120 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
5121 (handle_symlink): Fix off-by-one error.
5122 Canonicalize the target.
5123 (grub_cpio_dir): Canonicalize the name.
5124 Fix memory leak.
5125 Set directory.
5126 (grub_cpio_open): Canonicalize the name.
5127
742d2be6
VS
51282012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5129
5130 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
5131 handling.
5132
3244fe96
VS
51332012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5134
5135 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
5136 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
5137
8aeb1837
VS
51382012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5139
5140 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
5141 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 5142 All users updated.
8aeb1837 5143
9133fd05
VS
51442012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5145
5146 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
5147 counterpart.
5148
6d521c5b
VS
51492012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5150
5151 Fix UFS1 big file support.
5152
5153 * grub-core/fs/ufs.c (INODE): Removed.
5154 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
5155 64-bit.
5156 (INODE_MODE): Simplify.
5157 (grub_ufs_inode): Use uint64_t for size and not int64_t.
5158 (grub_ufs_lookup_symlink): Don't use INODE.
5159
21b82e17
VS
51602012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5161
5162 Fix minixfs with non-power-of-two blocks since it's supported by minix.
5163
5164 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
5165 (grub_minix_data): Replace log_block_size with block_size.
5166 (grub_minix_read_file): Use block_size but avoid 64-bit division.
5167 (grub_minix_mount): Fill block_size.
5168
51692012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
5170
5171 * configure.ac: Bump to beta5.
5172
f417ed04
VS
51732012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5174
5175 Fix wrapped HFS+ handling.
5176
5177 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
5178 blocks_start. All users updated.
5179 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
5180 wrapping offset.
5181 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
5182
607d282b
VS
51832012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5184
5185 Fix long symlinks on reiserfs.
5186
5187 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
5188 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
5189 (grub_reiserfs_iterate_dir): Save size for non-directories.
5190 (grub_reiserfs_open): Don't reread stat block as we already know the
5191 size.
5192 (grub_reiserfs_read): Split into...
5193 (grub_reiserfs_read_real): ... and ...
5194 (grub_reiserfs_read): ...this.
5195
ae16024d
VS
51962012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5197
5198 Fix non-indexed JFS.
5199
5200 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
5201 (grub_jfs_data): New field namecomponentlen.
5202 (grub_jfs_mount): Fill namecomponentlen.
5203 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
5204
eea1e26e
VS
52052012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
5208 * tests/grub_script_echo1.in: Add tests.
5209
df760f77
VS
52102012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5211
5212 * util/grub-install.in: Ignore empty devicetree directory.
5213
5efb817d
B
52142012-05-08 Bean <bean123ch@gmail.com>
5215
5216 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
5217 All users updated.
5218 (free_rsm): Free header as well.
5219 (free_old_fragments): Fix memory leak.
5220 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
5221 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
5222 (destroy_pq): Likewise.
5223 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
5224
668ea6d2
VS
52252012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5226
5227 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
5228 resulting hash as a precaution.
5229
1739b1fe
VS
52302012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5231
5232 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
5233 '_' in variable names.
5234 * grub-core/net/net.c (grub_net_network_level_interface_register):
5235 Likewise.
5236
6ae485aa
VS
52372012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5238
5239 Fix AFFS with non-512B blocks.
5240
5241 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
5242 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
5243 (grub_affs_data): Replace blocksize with log_blocksize.
5244 (grub_affs_read_block): Fix non-512B blocks.
5245 (grub_affs_read_symlink): Likewise.
5246 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
5247 (grub_affs_read): Fix non-512B blocks.
5248 (grub_affs_label): Likewise.
5249 (grub_affs_mtime): Likewise.
5250 (grub_affs_mount): Fix block detection routine.
5251
d20fab84
VS
52522012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5253
5254 Add filesystem mtime to AFFS.
5255
5256 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
5257 (aftime2ctime): New function.
5258 (grub_affs_dir): Use aftime2ctime.
5259 (grub_affs_label): Fix return value.
5260 (grub_affs_mtime): New function.
5261 (grub_affs_fs): Add mtime.
5262
e87b10f5
VS
52632012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5264
5265 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
5266 UTF-8.
5267
7dceec9b
VS
52682012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5269
5270 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
5271 UTF-8.
5272
2f48221f
VS
52732012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5274
5275 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
5276
dacd85cf
VS
52772012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5278
5279 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
5280 flags.
5281 (FLAGS_CASE_SENSITIVE): New enum value.
5282 (cache_entry): New struct.
5283 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
5284 cache_size and cache.
5285 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
5286 Add log_blocksize and fshelp_flags.
5287 (grub_sfs_read_extent): Handle non-512 blocks.
5288 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
5289 (grub_sfs_read_file): Handle non-512 blocks.
5290 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
5291 fshelp_flags.
5292 (grub_sfs_read_symlink): Handle non-512 blocks.
5293 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
5294 (grub_sfs_dir): Free cache.
5295 (grub_sfs_close): Likewise.
5296
24e9a854
VS
52972012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5298
5299 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
5300 filesystems.
5301
62ace64d
VS
53022012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5303
5304 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
5305
83b2e89c
VS
53062012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5307
5308 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
5309
75ccaea3
VS
53102012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5311
5312 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
5313 (grub_sfs_read_extent): Likewise.
5314 (grub_sfs_read_block): Likewise.
5315 (grub_sfs_mount): Likewise.
5316 (grub_sfs_iterate_dir): Likewise.
5317 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
5318 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
5319
1b8463f2
VS
53202012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5321
5322 Fix errors on compressed NTFS with 512B clusters.
5323
5324 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
5325 types.
5326 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
5327 not 0.
5328 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
5329 Relax check for inline extents.
5330 (ntfscomp): Return correct -1 on error and not 0.
5331
4f8e368f
VS
53322012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5333
5334 * util/grub-install.in: Fix handling of prefix containing spaces.
5335
6f5d5ee8
VS
53362012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5337
5338 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
5339 (grub_squash_read_data): Fix offset byte-swapping.
5340
ce41ab7a
VS
53412012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5342
5343 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
5344 per common usage and preffered in several parts of code.
5345 (grub_memcmp): Likewise.
5346 (grub_strncmp): Likewise.
5347 * include/grub/misc.h (grub_strcasecmp): Likewise.
5348 (grub_strncasecmp): Likewise.
5349 * Makefile.util.def (cmp_test): New test.
5350 (grub_script_strcmp): Likewise.
5351 * tests/cmp_unit_test.c: New file.
5352 * tests/grub_script_strcmp.in: Likewise.
5353 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
5354
49717bf4
VS
53552012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5356
5357 * include/grub/pci.h: Move enums into no-asm part.
5358
0a308f64
VS
53592012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5360
5361 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
5362
1796965f
ST
53632012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
5364
5365 * util/getroot.c (find_hurd_root_device): Try to make error message
5366 and comments to translators clearer.
5367
4e9b2819
VS
53682012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5369
5370 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
5371
076aeb50
VS
53722012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5373
5374 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
5375 btrfs.
5376
19424d94
VS
53772012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5378
5379 * docs/grub.cfg: Update.
5380
ebb73076
VS
53812012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5382
5383 * docs/grub.texi (PXE): Remove not present variables.
5384
9a1b669c
VS
53852012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5386
5387 * grub-core/net/net.c (defserver_set_env): New function.
5388 (defserver_get_env): Likewise.
5389 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
5390
d38bf7d3
VS
53912012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5392
5393 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
5394 entries.
5395
53962012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
5397
5398 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
5399 * grub-core/kern/emu/hostdisk.c: Likewise.
5400
e5e4ca48
ST
54012012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
5402
5403 Handle hurd userspace partitions.
5404
5405 * util/getroot.c (find_hurd_root_device): New function.
5406 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
5407
56bb5dd5
VS
54082012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5409
5410 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
5411 names.
5412 Reported by: Bastian Blank.
5413
9e8bc27a
VS
54142012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5415
5416 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
5417 crossing page boundary.
5418
aa01499d
VS
54192012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5420
5421 Fix B-tree search in BFS, especially in presence of non-ASCII
5422 characters.
5423
5424 * grub-core/fs/bfs.c (bfs_strcmp): New function.
5425 (find_in_b_tree): Use standard bsearch + btree algorithm.
5426
57006035
VS
54272012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5428
5429 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
5430 and so on.
5431
9d34bb85
MG
54322012-05-03 Matthew Garrett <mjg@redhat.com>
54332012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5434
5435 Suspend broadcom cards in order to stop their DMA.
5436
5437 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
5438 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
5439 (pci): Don't build on x86 EFI.
5440 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
5441 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
5442 New function.
5443 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
5444 stop_broadcom if running on EFI.
5445 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
5446 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
5447 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
5448 (grub_pci_find_capability): New proto.
5449
01aab997
VS
54502012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5451
5452 * docs/grub.texi: Remove dot from the extension as it apparently
5453 doesn't work with some makeinfo versions.
5454
fbd8dca6
VS
54552012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5456
5457 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
5458 with GRUB expectance.
5459
dab797f4
VS
54602012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5461
5462 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
5463
1516bfb4
VS
54642012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5465
5466 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
5467 zero after directory block since last entry may be not 0-terminated if
5468 it ends on block boundary. Use continue instead of if spanning whole
5469 loop.
5470
a3a0eace
VS
54712012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5472
5473 Support 4K sectors UDF inline files.
5474
5475 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
5476 (grub_udf_extended_file_entry): Likewise.
5477 (grub_fshelp_node): Name the anonymous union. Put block at the end.
5478 All users updated.
5479 (get_fshelp_size): New function.
5480 (grub_udf_read_icb): Read whole block.
5481 (grub_udf_iterate_dir): Likewise.
5482 (grub_udf_dir): Likewise.
5483 (grub_udf_open): Likewise.
5484
c82f16c1
VS
54852012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5486
5487 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
5488
59fd2aac
VS
54892012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5490
5491 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
5492 inline symlinks in addition to workaround.
5493
3b4afb4d
VS
54942012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5495
5496 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
5497
f45c794a
VS
54982012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5499
5500 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
5501
f25cecbd
VS
55022012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5503
5504 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
5505
bb9a34e8
VS
55062012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5507
5508 Fix reiserfs big seek times.
5509
5510 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
5511 exact. All users updated.
5512 (grub_reiserfs_read): Use nearest btree search for seeking.
5513 Fix return value on error.
5514
dc478aea
VS
55152012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5516
5517 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
5518 entries.
5519 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
5520 * docs/grub.texi: Update menuentry description.
5521
8db10f47
VS
55222012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5523
5524 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
5525 crash when embedding onto filesystem.
5526
bcb288ed
VS
55272012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5528
5529 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
5530 name.
5531
a626fdd7
VS
55322012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5533
5534 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
5535
b2f68477
VS
55362012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5537
5538 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
5539 commit.
5540
ba15b2af
B
55412012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
55422012-05-01 Bean <bean123ch@gmail.com>
5543
5544 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
5545
a188012e
VS
55462012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5547
5548 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
5549 Special behaviour for len = 0 to read whole file isn't used anywhere and
5550 can cause buffer ovewrflows in several places.
5551
f0a53ed2
VS
55522012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5553
5554 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
5555
5ed554f0
VS
55562012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5557
5558 Handle RAIDZ on non-512B sectors.
5559
5560 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
5561 max_children_ashift.
5562 (fill_vdev_info_real): Fill max_children_ashift.
5563 (read_device): Use max_children_ashift.
5564
ddc58357
VS
55652012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5566
5567 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
5568
e3282399
VS
55692012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5570
5571 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
5572 disk names.
5573 * docs/grub.texi: Update device.map parts.
5574
ee618bd4
VS
55752012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5576
5577 Don't scan into non-diskfilter devices having diskfilter names.
5578
5579 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
5580 (scan_disk): New argument accept_diskfilter. Fix recursion depth
5581 handling.
5582 (scan_disk_hook): New function.
5583
bdf88864
B
55842012-04-29 Bean <bean123ch@gmail.com>
5585
5586 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
5587 allocation.
5588
32745f51
MK
55892012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
5590
5591 * configure.ac: Detect starfield theme font path
5592 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
5593
bc95c8c0
VS
55942012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5595
5596 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
5597 geometry on serial consoles.
5598
147fbcab
VS
55992012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5600
5601 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
5602 because of network consoles.
5603
0f42c889
VS
56042012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5605
5606 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
5607 handling.
5608
4a3594c9
VS
56092012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5610
5611 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
5612 falls on Q syndrom.
5613
5cb53879
VS
56142012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5615
5616 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
5617 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
5618
b282dfe5
VS
56192012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5620
5621 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
5622 Allocate at lest 8192 for temporary buffer as required for lzo.
5623
daa59f47
VS
56242012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5625
5626 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
5627 to cluster_bits, since it's already added in.
5628 (grub_fat_read_data): Likewise.
5629
986748ce
VS
56302012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5631
5632 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
5633 as long as cluster size is multiple of 512 bytes.
5634
a20f6ad0
VS
56352012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
5636
5637 * util/grub-mkrescue.in: Fix locale directory.
5638
385f9abb
VS
56392012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
5640
5641 * grub-core/kern/emu/hostdisk.c (map): Make static.
5642
1c557d30
B
56432012-04-23 Bean <bean123ch@gmail.com>
5644
5645 * util/grub-fstest.c (fstest): Add missing break.
5646
524b5d3a
ST
56472012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
5648
5649 Fix hurd build.
5650
5651 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
5652 not define nr variable.
fe4824e9 5653 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
5654 find_root_devices_from_poolname, find_root_devices_from_libzfs,
5655 grub_find_device): Do not define.
524b5d3a 5656
9a06490c
VS
56572012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5658
5659 Fix kfreebsd compile and behaviour.
5660
5661 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
5662 format-security.
5663 * util/getroot.c: Fix wait.h include.
5664 (grub_guess_root_devices): Error if grub_find_device fails.
5665 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
5666 (grub_util_get_dev_abstraction): Likewise.
5667 (grub_util_pull_device): Likewise.
5668 (grub_util_get_grub_dev): Likewise.
5669 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
5670
48143d96
VS
56712012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5672
5673 Fix and unify wholedisk detection.
5674
5675 * util/getroot.c (convert_system_partition_to_system_disk): New argument
5676 is_part. All users updated.
5677 (device_is_wholedisk): Removed.
5678 (grub_util_biosdisk_get_grub_dev): Use is_part.
5679
ebbd24f3
VS
56802012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5681
5682 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
5683 mode.
5684
56f7aa1e
VS
56852012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5686
5687 * configure.ac: Bump to beta4.
5688
9c815e01
VS
56892012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5690
5691 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
5692 --fs-uuid --set UUID syntax.
5693
59e2651a
VS
56942012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5695
5696 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
5697 disunification.
5698
54e03cfc
VS
56992012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5700
5701 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
5702
81092a75
MK
57032012-04-18 Mads Kiilerich <mads@kiilerich.com>
5704
5705 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
5706
f8315e14
MG
57072012-04-18 Mike Gilbert <floppym@gentoo.org>
5708
5709 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
5710
1501ac21
B
57112012-04-18 Bean <bean123ch@gmail.com>
5712
5713 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
5714 place.
5715
cb7f944e
VS
57162012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5717
5718 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
5719 users updated.
5720 (grub_util_biosdisk_read): Handle Linux partitions not exactly
5721 corresponding to GRUB partitions.
5722 (grub_util_biosdisk_write): Likewise.
5723
b72d44a1
VS
57242012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5725
5726 Scan mdraid before LVM.
5727
5728 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
5729 (grub_diskfilter_register_front): ... this.
5730 (grub_diskfilter_register_back): New function.
5731 All users of grub_diskfilter_register updated.
5732
33d918b8
VS
57332012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5734
5735 * util/grub-install.in: Fix an automatic target detection bug.
5736
c6ca973d
VS
57372012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5738
5739 * util/grub-install.in: New option --efi-directory.
5740
b41be562
VS
57412012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5742
5743 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
5744 boot services if we have no other choice.
5745
57462012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5747
5748 * util/grub-mknetdir.in: Rename --override-directory to --directory and
5749 document it.
5750 * tests/util/grub-shell.in: Update to --directory.
5751
e0595a73
VS
57522012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5753
5754 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
5755
4ed80652
VS
57562012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5757
5758 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
5759 (grub_minix_read_file): Likewise.
5760 (grub_minix_read_inode): Likewise.
5761 (grub_minix_find_file): Likewise.
5762 (grub_minix_dir): Likewise.
5763
56008077
VS
57642012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5765
5766 * util/grub-setup.c (setup): Fix partition handling and blocklist
5767 check.
5768
ee520775
VS
57692012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5770
5771 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
5772 redundant buggy overlap check.
5773
16fc9293
VS
57742012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5775
5776 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
5777 and grub-mknetdir.
5778
9bab65c4
VS
57792012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5780
5781 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
5782 kh.loadflags on pre-2.00 kernels.
5783
3c491b47
VS
57842012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5785
5786 Terminate UNDI and PXE before launching the payload to avoid problems
5787 with DMA.
5788
5789 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
5790 (grub_loader_flags): ... this. All users updated.
5791 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
5792 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
5793 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
5794 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
5795 function.
5796 (grub_pxe_restore): Likewise.
5797 (fini_hnd): New var.
5798 (GRUB_MOD_INIT): Register shutdown hook.
5799 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
5800 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
5801 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
5802 (grub_loader_set): Rename second argument to flags.
5803
851ffada
VS
58042012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5805
5806 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
5807 written bytes.
5808 (grub_get_num_of_utf8_bytes): New function.
5809 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
5810 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
5811 executing it.
5812 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
5813 (grub_ucs4_to_utf8): Change return type.
5814
491c57a8
VS
58152012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5816
5817 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
5818 warning.
851ffada
VS
5819 * grub-core/fs/bfs.c (hop_level): Likewise.
5820 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 5821
756773df
VS
58222012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5823
5824 * grub-core/lib/adler32.c: Recode due to license unclearness.
5825
fd556a96
VS
58262012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5827
5828 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
5829 (test_header): Likewise.
5830
9f9d3f69
VS
58312012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5832
5833 Fix --help formatting.
5834
5835 * util/grub-mkconfig_lib.in (print_option_help): New function.
5836 (grub_fmt): Likewise.
5837 * util/grub-install.in: Use print_option_help and grub_fmt.
5838 * util/grub-kbdcomp.in: Likewise.
5839 * util/grub-mkconfig.in: Likewise.
5840 * util/grub-mknetdir.in: Likewise.
5841 * util/grub-mkrescue.in: Likewise.
5842 * util/grub-mkstandalone.in: Likewise.
5843 * util/grub-reboot.in: Likewise.
5844 * util/grub-set-default.in: Likewise.
5845 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5846
561ec77e
VS
58472012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 * linguas.sh: Remove autogenerated *.po.
5850
7ec2b021
VS
58512012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5852
5853 * po/README: Move language fetcing to ...
5854 * linguas.sh: ... here.
5855 * po/README: Point to linguas.sh.
5856
a88f3270
VS
58572012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5858
5859 * po/README: Exclude ko.po due to disclaimer problems.
5860
d61357ce
VS
58612012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5862
5863 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
5864 len = 0.
5865 (grub_gettext_translate_real): Handle 0th string.
5866 (grub_gettext_translate): Ensure that "" isn't translated.
5867
505e41dc
VS
58682012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5869
5870 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
5871 TRANSLATORS comment.
5872 (grub_diskfilter_print_partmap): Propagate changing of error into
5873 warning.
5874
e44092db
VS
58752012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5876
5877 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
5878 to uint64_t to prevent overflow.
5879 (grub_diskfilter_lv): Increase start_extent and extent_count
5880 to uint64_t to prevent overflow.
5881
9b83956a
VS
58822012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5883
5884 * configure.ac: Increase version.
5885
da0d5b3f
VS
58862012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5887
5888 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
5889
5890 * po/Rules-translit: New file.
5891 * po/arabic.sed: Likewise.
5892 * po/cyrillic.sed: Likewise.
5893 * po/greek.sed: Likewise.
5894 * po/hebrew.sed: Likewise.
5895 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
5896 * po/Makefile.in.in: Add extra_dist4.
5897
ac66b453
VS
58982012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5899
5900 Handle big-endian minixfs (fixes minixfs tests on bigendian).
5901
5902 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
5903 modify names. Introduce MODE_BIGENDIAN.
5904 * grub-core/fs/minix_be.c: New file.
5905 * grub-core/fs/minix2_be.c: Likewise
5906 * grub-core/fs/minix3_be.c: Likewise.
5907 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
5908 minix3_be.
5909 * grub-core/Makefile.core.def (minix_be): New module.
5910 (minix2_be): Likewise.
5911 (minix3_be): Likewise.
5912
59132012-04-01 Felix <email@hamburg.de>
5914
5915 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
5916 (devs): Add MBP 2011.
5917
0a2d5a82
VS
59182012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5919
5920 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
5921
d1625889
VS
59222012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5923
5924 * grub-core/normal/cmdline.c (print_completion): New field
5925 prompt_len.
5926 (grub_cmdline_get): Handle width properly.
5927
6d36a236
VS
59282012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5929
5930 * grub-core/commands/lsacpi.c (options): Add missing terminator.
5931
9576977e
VS
59322012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5933
5934 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 5935 after 29th of February.
9576977e 5936
d73ff15d
VS
59372012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5938
5939 Fix exfat endianness handling.
5940
5941 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
5942 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
5943 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
5944 Byte-swap utf16 when necessary.
5945 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
5946
bbb39a45
AB
59472012-03-31 Anton Blanchard <anton@samba.org>
59482012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5949
5950 Fix btrfs endianness handling.
5951
5952 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
5953 (lower_bound): Make root uint64_t. Use root in le.
5954 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
5955 (find_path): Fix template key init.
5956 (grub_btrfs_dir): Fix mtime byteswap.
5957 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
5958
354e0af7
VS
59592012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5960
5961 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
5962 recursion_depth. Break infinite resursions. All users updated.
5963
4e75f21c
VS
59642012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5965
5966 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
5967 after free.
5968 Reported by: Peter Jones.
5969
25581802
AB
59702012-03-31 Anton Blanchard <anton@samba.org>
5971
5972 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
5973 8 bit values.
5974
08fbf92e
VS
59752012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5976
5977 * util/grub-install.in: Fix nvram call for PreP.
5978
5d1182a6
VS
59792012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5980
5981 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
5982 the error when some elements are missing into a warning.
5983
3f8cdd90
VS
59842012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5985
5986 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
5987
51006716
CW
59882012-03-28 Colin Watson <cjwatson@ubuntu.com>
5989
5990 * docs/grub.texi (Invoking grub-probe): New section.
5991 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
5992
e1bd676b
VS
59932012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
5994
5995 Fix tab and wide character handling in editor and menu.
5996
5997 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
5998 agglomerate control characters with combining marks.
5999 (bidi_line_wrap): Allow break on tab.
6000 (grub_unicode_get_comb_start): New function.
6001 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
6002 and tab correctly.
6003 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
6004 with a space.
6005 * grub-core/normal/term.c (print_ucs4_terminal): New argument
6006 fixed_tab_size. All users updated.
6007 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
6008 (grub_term_getcharwidth): Handle \t.
6009 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
6010 and copy.
6011
22e6a774
VS
60122012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6013
6014 Handle big-endian mdraid.
6015
6016 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
6017 * grub-core/Makefile.core.def (mdraid09_be): New module.
6018 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
6019 rather than grub_le_to_cpu* and grub_cpu_to_le*.
6020 * grub-core/disk/mdraid_linux_be.c: New file.
6021
3c0eae66
VS
60222012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6023
6024 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
6025
b6cf74c9
VS
60262012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6027
6028 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
6029 missing quotes which caused confusion among translators.
6030
83c93b9c
VS
60312012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6032
6033 * util/grub-mkconfig_lib.in: Fix typo.
6034
ac6fd218
VS
60352012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6036
6037 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
6038 spaces.
6039 * tests/grub_script_leading_whitespace.in: New file.
6040 * Makefile.util.def (grub_script_leading_whitespace): New test.
6041
ba287dd8
VS
60422012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6043
6044 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
6045 to work.
6046
d2d58d0a
VS
60472012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6048
6049 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
6050 starts with control character.
6051
0382d9bb
VS
60522012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6053
6054 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
6055 overflow.
6056 (grub_gdb_outbuf): Likewise.
6057
d83ff9f9
VS
60582012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6059
6060 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
6061 zero terminator. Fixes a crash.
6062
2282da4a
VS
60632012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6064
6065 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
6066 beyond 4 GiB.
6067 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
6068 images independently of preffered adderss field.
6069
0ae4f0bd
VS
60702012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6071
6072 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
6073 * grub-core/commands/regexp.c: Likewise.
6074 * grub-core/loader/i386/linux.c: Likewise.
6075 * grub-core/partmap/msdos.c: Likewise.
6076 * grub-core/script/execute.c: Likewise.
6077 * grub-core/term/gfxterm.c: Likewise.
6078
546fbe9b
VS
60792012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6080
6081 Add variable parsing in $"..." and fix several mismatches with bash.
6082
6083 * Makefile.util.def (grub_script_gettext): New test.
6084 * grub-core/script/execute.c (parse_string): New function.
6085 (gettext_append): Likewise.
6086 (grub_script_arglist_to_argv): Use gettext_append.
6087 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
6088 * tests/grub_script_gettext.in: New file.
6089
9fdb2d7b
VS
60902012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6091
6092 Fix handling of leading spaces in scripts.
6093
6094 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
6095 spaces.
6096 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
6097 other than skipping \r. All users updated.
6098 * tests/grub_script_echo1.in: Add space-related tests.
6099 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
6100
1a1ac4f6
VS
61012012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6102
6103 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
6104
b63d89b6
VS
61052012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6106
6107 * configure.ac: Bump up the version to beta2.
6108
17f38c0f
VS
61092012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6110
6111 Fix gettext reload bugs (e.g. inability to disable gettext
6112 once enabled).
6113
6114 * grub-core/gettext/gettext.c: Encapsulate all static variables in
6115 main_context and secondary_context. All functions updated.
6116 (grub_gettext_translate): Rename to ...
6117 (grub_gettext_translate_real): ... this. Return NULL on failed
6118 translate.
6119 (grub_gettext_translate): Handle secondary context.
6120 (grub_gettext_delete_list): Close file and zero-out the context.
6121 (grub_mofile_open): Don't call grub_gettext_delete_list.
6122 Don't close file.
6123 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
6124 if locale="" to avoid pointless error message.
6125 (grub_gettext_env_write_lang): Update lang even if load fails.
6126 Handle secondary context.
6127 (grub_gettext_reread_prefix): New function.
6128 (read_main): Likewise.
6129 (read_secondary): Likewise.
6130 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
6131 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
6132 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
6133 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
6134
8e56f870
VS
61352012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6136
6137 * configure.ac: Decrease warning level to avoid spurious warnings and
6138 to be able to compile with GCC 4.2.
6139 * Makefile.util.def: Remove -Wno-error=logical-op.
6140
82f6d455
WB
61412012-03-10 William Bittner <william.bittner@gmail.com>
6142
6143 * util/import_unicode.py: Add missing brackets around string for
6144 python 3 support.
6145
1ecd61a4
VS
61462012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6147
6148 Fix efi chainloader on network root.
6149
6150 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
6151 network devices.
6152 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
6153 New function.
6154
14361ee8
VS
61552012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6156
6157 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
6158 unused show_text member.
6159 * docs/grub.texi: Document "text" property.
6160
922aabf3
VS
61612012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6162
6163 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
6164 in dprintf.
6165
ec316771
VS
61662012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6167
6168 Fix IMSM handling on Fedora.
6169
6170 * util/getroot.c (grub_util_is_imsm): New function.
6171 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
6172
0f021838
VS
61732012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6174
6175 * Makefile.am: Strip gold section.
6176 * conf/Makefile.common: Likewise.
6177 * gentpl.py: Likewise.
6178 * grub-core/Makefile.core.def: Likewise.
6179 * grub-core/genmod.sh.in: Likewise.
6180
1039c8eb
VS
61812012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6182
6183 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
6184 * util/grub.d/20_linux_xen.in: Likewise.
6185 Based on Debian patch.
6186
6dd412cd
VS
61872012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6188
6189 * util/grub.d/10_linux.in: Fix syntax error resulting in
6190 Richard Laager's patch.
6191 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
6192
3fd8bae5
VS
61932012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6194
6195 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
6196 dependencies.
6197
7eea1671
RL
61982012-03-10 Richard Laager <rlaager@wiktel.com>
6199
6200 * util/grub.d/10_linux.in: Fix ZFS root passing.
6201
e8e0566b
VS
62022012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6203
6204 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
6205 * grub-core/commands/xnu_uuid.c: Likewise.
6206 * grub-core/loader/efi/appleloader.c: Likewise.
6207 * grub-core/script/execute.c: Likewise.
6208 * grub-core/script/main.c: Likewise.
6209 * util/grub-mkfont.c: Likewise.
6210
1acc5b1f
VS
62112012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 * util/grub-mkfont.c (options): Use more appropriate "select" that
6214 "set" for face index.
6215
35d70620
VS
62162012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6217
6218 * util/grub-editenv.c (options): Gettextize command summaries.
6219
c9eb96b5
VS
62202012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6221
6222 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
6223 "out of memory" error messagge.
6224
1f493136
VS
62252012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6226
6227 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
6228 of diskfilter for diskfilter on diskfilter support.
6229
6d790129
VS
62302012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6231
6232 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
6233
005f46c9
VS
62342012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6235
6236 * util/grub-install.in: Check for themes/starfield/theme.txt and not
6237 themes/starfield.
6238
c8f778a0
VS
62392012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6240
6241 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
6242
de1e64eb
VS
62432012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6244
6245 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
6246
c6d54211
VS
62472012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6248
6249 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
6250 of error message.
6251
dd390777
VS
62522012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
6253
6254 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
6255
5fd1c522
VS
62562012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
6257
6258 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
6259 message.
c6d54211 6260 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 6261
fae01f6c
VS
62622012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6263
6264 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
6265 Gettextize.
6266 * util/grub-mount.c (options): Likewise.
6267
292fdaff
VS
62682012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6269
6270 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
6271 gettextize.
6272 * grub-core/commands/search_wrap.c (options): Likewise.
6273
ecdbae77
VS
62742012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6275
6276 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
6277
52bfedfa
VS
62782012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6279
6280 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
6281 size calculation.
6282 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
6283 none is known.
6284
55b20e58
VS
62852012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6286
6287 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
6288 "temporary" since it's used in identifier and is limited in space.
6289
fda9d101
VS
62902012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6291
6292 * po/POTFILES.in: Regenerate. Include *.h since they contain
6293 translatable strings as well.
6294
6a0295e2
VS
62952012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6296
6297 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
6298 byte-swap on big-endian.
6299 Reported by: Lennart Sorensen
6300
807fb77c
VS
63012012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
6302
6303 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
6304 (allocate_pages): Improve dprintf.
6305 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
6306 code32_start. Fill code32_start and kernel_alignment in params.
6307 (grub_cmd_initrd): Use prot_init_space.
6308
61ac50ba
VS
63092012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6310
6311 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
6312
abdd26dd
VS
63132012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6314
6315 * util/grub-install.in: Add missing dot at the end of sentence.
6316
6e69da9c
VS
63172012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6318
6319 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
6320 * grub-core/commands/videotest.c: Likewise.
6321 * grub-core/loader/i386/linux.c: Likewise.
6322
4a929343
VS
63232012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6324
6325 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
6326 sentence.
6327 Reported by: Milo Casagrande.
6328
bb51c6c6
VS
63292012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6330
6331 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
6332 * grub-core/commands/gptsync.c: Likewise.
6333 * grub-core/commands/hashsum.c: Likewise.
6334 * grub-core/commands/i386/pc/sendkey.c: Likewise.
6335 * grub-core/commands/legacycfg.c: Likewise.
6336 * grub-core/io/gzio.c: Likewise.
6337 * grub-core/net/net.c: Likewise.
6338 * grub-core/term/gfxterm.c: Likewise.
6339 * grub-core/term/terminfo.c: Likewise.
6340 * grub-core/tests/test_blockarg.c: Likewise.
6341 * grub-core/video/video.c: Likewise.
6342 * util/grub-install.in: Likewise.
6343 * util/grub-mkfont.c: Likewise.
6344
b2b149cb
VS
63452012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6346
6347 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
6348
c7c080ad
VS
63492012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6350
6351 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 6352 Reported by: David Prévot.
c7c080ad 6353
f2e243c0
VS
63542012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6355
6356 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
6357 description.
6358
09963c76
VS
63592012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6360
6361 * util/grub-script-check.c (main): Fix a syntax error message which was
6362 unclear.
6363
a50514a8
VS
63642012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6365
6366 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
6367
4650daec
VS
63682012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6369
6370 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
6371 messages.
6372
63732012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
6374
6375 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
6376 without argument.
6377 * util/grub-mount.c (options): Likewise.
6378
bbc5a342
VS
63792012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6380
6381 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
6382
ef292a87
VS
63832012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6384
6385 * grub-core/net/http.c: Add TRANSLATORS comments.
6386 * grub-core/normal/cmdline.c: Likewise.
6387 * grub-core/normal/misc.c: Likewise.
6388 * grub-core/partmap/msdos.c: Likewise.
6389 * grub-core/parttool/msdospart.c: Likewise.
6390 * grub-core/script/execute.c: Likewise.
6391 * grub-core/script/main.c: Likewise.
6392 * grub-core/term/terminfo.c: Likewise.
6393 * grub-core/video/bitmap.c: Likewise.
6394 * util/grub-install.in: Likewise.
6395 * util/grub-mkimage.c: Likewise.
6396 * util/grub-mklayout.c: Likewise.
6397 * util/grub-setup.c: Likewise.
6398
0fc19bd0
VS
63992012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6400
6401 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
6402 with similar messages in grub-fstest.
6403
d95862ef
VS
64042012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6405
6406 * util/grub-install.in: Unify "option requires an argument" message
6407 with similar messages in other files.
6408 * util/grub-mkconfig.in: Likewise.
6409
b7308f90
VS
64102012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6411
6412 * util/grub-set-default.in: Replace printf with gettext_printf (the
6413 string in in question is already translated from grub-reboot)
6414
559dc587
VS
64152012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6416
6417 * configure.ac: Bump up the version to beta1.
6418
1a11761f
VS
64192012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6420
6421 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
6422 case when min_align = 0.
6423
24539abd
VS
64242012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6425
6426 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
6427 and fix a case when line_start overflows.
6428
32bd735b
VS
64292012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6430
6431 * util/grub-reboot.in (usage): Mention id posibility.
6432 * util/grub-set-default.in (usage): Likewise.
6433
1a2fd1e6
VS
64342012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6435
6436 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
6437 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
6438 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
6439 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
6440 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6441 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6442 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6443
90eeab76
VS
64442012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6445
6446 * grub-core/commands/menuentry.c (options): Remove
6447 GRUB_ARG_OPTION_REPEATABLE.
6448 Reported by: Andreas Vogel
6449
5ad1be82
AV
64502012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
6451
6452 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
6453
cb055286
HE
64542012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
6455
6456 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
6457 error.
6458
93b1cd79
VS
64592012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6460
6461 Use sort -V by the idea of Georgi Georgiev.
6462
6463 * util/grub-mkconfig_lib.in (version_sort): New function.
6464 (version_test_numeric): Use version_sort.
6465
0cdc126c
VS
64662012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6467
6468 Use submenus in grub-mkconfig.
6469
6470 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
6471 * util/grub-mkconfig_lib.in (grub_quote): New function.
6472 (gettext_printf): Use gettext and not gettext_quoted to fix several
6473 messages.
6474 * util/grub.d/10_hurd.in: Use submenus.
6475 * util/grub.d/10_kfreebsd.in: Likewise.
6476 * util/grub.d/10_linux.in: Likewise.
6477 * util/grub.d/10_netbsd.in: Likewise.
6478 * util/grub.d/20_linux_xen.in: Likewise.
6479 * util/grub.d/30_os-prober.in: Likewise.
6480 * util/grub.d/10_illumos.in: Add missing quoting.
6481 * util/grub.d/10_windows.in: Likewise.
6482
d9bef9bc
VS
64832012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6484
6485 Fix menu title instability bug.
6486
6487 * grub-core/commands/menuentry.c (options): New option --id.
6488 (grub_normal_add_menu_entry): New argument id. All users updated.
6489 (grub_cmd_menuentry): Handle --id.
6490 (grub_menu_init): Accept unknown arguments.
6491 * grub-core/normal/main.c (features): Add feature_menuentry_id and
6492 feature_menuentry_options.
6493 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
6494 saved_entry.
6495 (get_entry_number): Match with id as well.
6496 * include/grub/menu.h (grub_menu_entry): New member id.
6497 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
6498 * util/grub.d/00_header.in: Define menuentry_id_option.
6499 * util/grub.d/10_hurd.in: Define id.
6500 * util/grub.d/10_illumos.in: Likewise.
6501 * util/grub.d/10_kfreebsd.in: Likewise.
6502 * util/grub.d/10_linux.in: Likewise.
6503 * util/grub.d/10_netbsd.in: Likewise.
6504 * util/grub.d/10_windows.in: Likewise.
6505 * util/grub.d/20_linux_xen.in: Likewise.
6506 * util/grub.d/30_os-prober.in: Likewise.
6507
65082012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
6509
6510 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
6511 "scope" with "body".
6512
7c8d0ce7
VS
65132012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6514
6515 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
6516 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
6517 prot_size and prot_file_size.
6518
49de079b
VS
65192012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6520
6521 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
6522 All users updated. If easily=1 require raid-5/-6 to be full.
6523 (is_node_readable): Likewise.
6524 (scan_devices): Scan incomplete but readable LVs at the end.
6525 (grub_diskfilter_memberlist): Pull missing devices.
6526 (insert_array): Skip scanning until device is complete or scan is
6527 done otherwise.
6528 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
6529 check.
6530 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
6531 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
6532
aff05d45
MG
65332012-03-03 Matthew Garrett <mjg@redhat.com>
65342012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6535
6536 Avoid EFI boot services when loading Linux.
6537
6538 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
6539 avoid_efi_bootservices. All users updated.
6540 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
6541 argument avoid_efi_bootservices. All users updated.
6542 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
6543 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
6544 align, min_align, relocatable, prefered_address. All users updated.
6545 Allocate avoiding boot services if kernel is relocatable.
6546 (grub_cmd_linux): Check if kernel is relocatable.
6547 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
6548 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
6549 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
6550 avoid_efi_boot_services.
6551 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
6552 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
6553 (linux_kernel_params): Likewise.
6554
3935dde2
MG
65552012-03-03 Matthew Garrett <mjg@redhat.com>
65562012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6557
6558 Use EDID on EFI.
6559
6560 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
6561 datasize_out.
6562 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
6563 modes. Set gop_handle.
6564 (grub_video_gop_get_edid): New function.
6565 (grub_gop_get_preferred_mode): Likewise.
6566 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
6567 (grub_video_efi_gop_adapter): Set .get_edid.
6568 * include/grub/efi/edid.h: New file.
6569 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
6570
32107ec0
VS
65712012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6572
6573 * util/grub-install.in: Load efivars unconditionally.
6574
e70a2c50
VS
65752012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6576
6577 * po/Rules-piglatin: Change suffix from .po-update-en to
6578 .po-update-en-piglatin.
6579
8f9cace1
VS
65802012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6581
6582 Add a pig farm.
6583
6584 * po/piglatin.sed: New file.
6585 * po/en@piglatin.header: Likewise.
6586 * po/Rules-piglatin: Likewise.
6587 * po/README: Add en@piglatin to autogenerated languages.
6588
8f95d002
VS
65892012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6590
6591 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
6592 "Command for ...".
6593 * grub-core/commands/hdparm.c (options): Use "Display" rather than
6594 "Check" since we don't check anything.
6595 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
6596 is 64-bit one.
6597 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
6598 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
6599 (grub_md_sha512_real): Likewise.
6600
805a8dcc
VS
66012012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6602
6603 * grub-core/commands/gptsync.c: Fix typographic quoting.
6604 * grub-core/commands/ieee1275/suspend.c: Likewise.
6605 * grub-core/commands/parttool.c: Likewise.
6606 * grub-core/commands/search_wrap.c: Likewise.
6607 * grub-core/commands/videoinfo.c: Likewise.
6608 * grub-core/gfxmenu/gui_label.c: Likewise.
6609 * grub-core/hello/hello.c: Likewise.
6610 * grub-core/kern/emu/main.c: Likewise.
6611 * grub-core/net/net.c: Likewise.
6612 * grub-core/normal/menu.c: Likewise.
6613 * grub-core/normal/menu_text.c: Likewise.
6614 * grub-core/normal/misc.c: Likewise.
6615 * util/grub-editenv.c: Likewise.
6616 * util/grub-install.in: Likewise.
6617 * util/grub-kbdcomp.in: Likewise.
6618 * util/grub-mkconfig.in: Likewise.
6619 * util/grub-mknetdir.in: Likewise.
6620 * util/grub-mkrescue.in: Likewise.
6621 * util/grub-mkstandalone.in: Likewise.
6622 * util/grub-reboot.in: Likewise.
6623 * util/grub-set-default.in: Likewise.
6624 * util/grub-setup.c: Likewise.
6625 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6626
40211ab8
VS
66272012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6628
6629 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
6630 * grub-core/commands/keystatus.c: Likewise.
6631 * grub-core/commands/loadenv.c: Likewise.
6632 * grub-core/commands/probe.c: Likewise.
6633 * grub-core/commands/regexp.c: Likewise.
6634 * grub-core/commands/true.c: Likewise.
6635 * grub-core/commands/videoinfo.c: Likewise.
6636 * grub-core/disk/cryptodisk.c: Likewise.
6637 * grub-core/disk/ldm.c: Likewise.
6638 * grub-core/disk/loopback.c: Likewise.
6639 * grub-core/disk/luks.c: Likewise.
6640 * grub-core/fs/zfs/zfsinfo.c: Likewise.
6641 * grub-core/kern/disk.c: Likewise.
6642 * grub-core/kern/emu/hostdisk.c: Likewise.
6643
0c7d99c7
VS
66442012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6645
6646 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
6647 * util/grub-install.in: Add missing quote in the comment.
6648
e7d2559b
VS
66492012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6650
6651 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
6652 * grub-core/commands/lsmmap.c: Likewise.
6653 * grub-core/commands/minicmd.c: Likewise.
6654 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
6655 * grub-core/commands/regexp.c: Likewise.
6656 * grub-core/gdb/gdb.c: Likewise.
6657 * grub-core/term/gfxterm.c: Likewise.
6658 * util/grub-mkconfig.in: Likewise.
6659 * util/grub-mkfont.c: Likewise.
6660 * util/grub-mklayout.c: Likewise.
6661 * util/grub-mknetdir.in: Likewise.
6662 * util/grub-mkrescue.in: Likewise.
6663 * util/grub.d/30_os-prober.in: Likewise.
6664
49ce9e50
VS
66652012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6666
6667 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
6668 with "Direct color" and "Packed" with "Packed pixel".
6669 (grub_cmd_videoinfo): Simplify legend.
6670
e4b791fa
VS
66712012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6672
6673 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
6674 absolutely unclear error message.
6675
fd1265cb
VS
66762012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6677
6678 * util/grub-mkstandalone.in: Remove confusing leftover print.
6679
8822a8a0
VS
66802012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6681
6682 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
6683 comments.
6684 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
6685 (GRUB_MOD_INIT): Likewise.
6686 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
6687 VGA mode.
6688 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
6689 comments.
6690 * util/grub-install.in (usage): Likewise.
6691 Spell ID in whole letters.
6692 Add missing ending dot.
6693 Quote variables.
6694 * util/grub-reboot.in: Fix capitalisation.
6695 * util/grub-set-default.in: Likewise.
6696
937fd0cc
VS
66972012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6698
6699 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
6700 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
6701 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
6702 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
6703 Disable -Werror for -Wdeprecated-declarations.
6704 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
6705 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
6706 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
6707 (grub_util_get_grub_dev): Make luks handling dependent on
6708 HAVE_DEVICE_MAPPER and not __linux__.
6709 (get_win32_path): Fix format security.
6710 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
6711 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
6712 Don't try grub_find_zpool_from_dir.
6713 (grub_make_system_path_relative_to_its_root) [!__linux__]:
6714 #ifdef-out paresdir.
6715
1bab1ae3
VS
67162012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6717
6718 * util/grub-pe2elf.c (usage): Add missing noreturn.
6719 (write_section_data): Rename name to shname to avoid shadowing.
6720 (write_symbol_table): Rename name to symname to avoid shadowing.
6721 Fix write_reloc_section call.
6722
ef023e42
VS
67232012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6724
6725 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
6726 to ensure that it's after the last byte of .text.
6727
48afcb75
VS
67282012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6729
6730 * util/ieee1275/ofpath.c (my_isdigit): New function.
6731 (trailing_digits): Use my_isdigit.
6732 (strip_trailing_digits): Likewise.
6733
88d51eff
VS
67342012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6735
6736 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
6737 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
6738
17edc2ba
VS
67392012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6740
6741 * grub-core/kern/i386/pc/startup.S: Define __start.
6742
ad5518d7
VS
67432012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6744
6745 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
6746 strip already transforms he format.
6747
9e95e1bf
VS
67482012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6749
6750 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
6751
9cc3ee5c
VS
67522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6753
6754 * util/grub-install.in: Add missing gettext init.
6755 * util/grub-kbdcomp.in: Likewise.
6756 * util/grub-mkconfig.in: Likewise.
6757 * util/grub-mknetdir.in: Likewise.
6758 * util/grub-mkrescue.in: Likewise.
6759 * util/grub-mkstandalone.in: Likewise.
6760 * util/grub-reboot.in: Likewise.
6761 * util/grub-set-default.in: Likewise.
6762 * util/grub.d/00_header.in: Likewise.
6763 * util/grub.d/10_hurd.in: Likewise.
6764 * util/grub.d/10_windows.in: Likewise.
6765 * util/grub.d/30_os-prober.in: Likewise.
6766 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6767
49e08a06
VS
67682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6769
6770 * po/Rules-swiss: Fix header comment.
6771
3809cb41
AV
67722012-02-29 Andreas Vogel <anvoit>
6773
6774 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
6775 resulted in leak of arguments.
6776
fa6ec573
VS
67772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6778
6779 * grub-core/boot/i386/pc/startup_raw.S: Use separate
6780 reed_solomon_size const definition instead of computing it since
6781 Apple assembler doesn't support the later.
6782
22899b9c
VS
67832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6784
6785 * gentpl.py (kernel): Rewrite Apple part.
6786
a132afc3
VS
67872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6788
6789 * include/grub/kernel.h (FOR_MODULES): Check module magic.
6790
9d742bd4
VS
67912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6792
6793 * util/grub-mkimagexx.c (locate_sections): Support non-standard
6794 ELF section gap.
6795 (load_image): Likewise.
6796
f04a9a21
VS
67972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6798
6799 * configure.ac: Fix a typo in previous commit.
6800
46cf439c
VS
68012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6802
6803 Don't add -Wl,-N on Apple platform.
6804
6805 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
6806 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
6807
c4c48c54
VS
68082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6809
6810 * grub-core/Makefile.core.def (lzma_decompress): Use
6811 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
6812
31a12124
VS
68132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6814
6815 * grub-core/genmod.sh.in: Rewrite the Apple part.
6816
4f3aa1af
VS
68172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6818
6819 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
6820 comparison.
6821
7bd8b0c7
VS
68222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6823
6824 * acinclude.m4 (grub_CHECK_PIC): New test.
6825 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
6826
97304d7c
VS
68272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6828
6829 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
6830 to avoid the warning.
6831
fb883812
VS
68322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6833
6834 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
6835 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
6836 after. All users updated.
6837
a121c964
VS
68382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6839
6840 Use the common size routine in hostfs so we can read disks as well.
6841
6842 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
6843 (grub_util_get_fd_size): ... this. Return size in bytes.
6844 All users updated.
6845 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
6846 grub_util_get_fd_size.
6847
c66d6410
VS
68482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6849
6850 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
6851 Add blocksize retrieval.
6852
dfc8aeb0
VS
68532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6854
6855 * configure.ac: Restore CFLAGS after efiemu check.
6856
403e25a5
VS
68572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6858
6859 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
6860 Apple bug.
6861
382775d1
VS
68622012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6863
6864 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
6865
6fd4e6e4
VS
68662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6867
6868 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
6869 (grub_cmd_halt): Likewise.
6870
bea359d6
VS
68712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6872
6873 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
6874 for local arithmetics.
6875 Break %sp init into 2 instructions.
6876 Add 0 byte at the end.
6877
32eb6ee1
VS
68782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6879
6880 * grub-core/disk/diskfilter.c (read_segment): Initialise err
6881 before loops.
6882
e8377389
VS
68832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6884
6885 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
6886 for context.
6887
8cb17de7
VS
68882012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6889
6890 * grub-core/disk/ldm.c (make_vg): Init part.name.
6891 (grub_ldm_detect): Silence spurious warning.
6892 (grub_util_is_ldm): Likewise.
6893
595717e6
VS
68942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6895
6896 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
6897 sane value to avoid a spurious warning.
6898
c4b7e588
VS
68992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6900
6901 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
6902 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
6903
59824957
VS
69042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6905
6906 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
6907 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
6908
70115b99
VS
69092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6910
6911 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
6912 hardcoding the relevant info.
6913
56733740
VS
69142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6915
6916 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
6917 missing const qualifiers.
6918 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
6919
43481481
VS
69202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6921
6922 * util/getroot.c [__APPLE__]: Add missing includes.
6923 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
6924
3cb38f01
VS
69252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6926
6927 * util/grub-mkimage.c (generate_image): Silence spurious warning.
6928
d9dbf11e
VS
69292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6930
6931 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
6932 avoid conflicts.
6933
0c42a45d
VS
69342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6935
6936 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
6937
46c34eb0
VS
69382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6939
6940 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
6941 and grub_file_close call.
6942
99ce1597
VS
69432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6944
6945 Add LZSS Mach-O support (needed for new xnu kernelcache).
6946
6947 * grub-core/Makefile.core.def (xnu): Add file lzss.c
6948 * grub-core/loader/lzss.c: New file.
6949 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
6950 on Mach-O open failure.
6951 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
6952 Don't free cmdsXX in uncompressedXX is set.
6953 (grub_macho_file): Init new fields.
6954 New argument is_64bit. All users updated.
6955 Handle compressed. Error out if no suitable architecture is found.
6956 Don't close file.
6957 (grub_macho_open): New argument is_64bit. All users updated.
6958 * grub-core/loader/macho32.c: Add defines for new fields.
6959 * grub-core/loader/macho64.c: Likewise.
6960 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
6961 (grub_macho_parse): Handle compressed.
6962 Defer actual processing if compressed.
6963 (grub_macho_cmds_iterate): Decompress if compressed. New argument
6964 "filename". All users updated.
6965 (grub_macho_size): New argument "filename". All users updated.
6966 (grub_macho_get_entry_point): Likewise.
6967 (grub_macho_load): Handle compressed.
6968 * include/grub/macho.h (grub_macho_lzss_header): New struct.
6969 (GRUB_MACHO_LZSS_OFFSET): New define.
6970 (grub_decompress_lzss): New proto.
6971 * include/grub/machoload.h (grub_macho_file): New fields to handle
6972 compressed.
6973 (grub_macho_contains_macho64): Remove proto.
6974 (grub_macho_contains_macho32): Likewise.
6975 * util/grub.d/30_os-prober.in: Use kernel cache if available.
6976
ebd17d6f
VS
69772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6978
6979 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
6980
2702b4e4
VS
69812012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6982
6983 Fix make dist.
6984
6985 * Makefile.am (starfield_theme_files): New var.
6986 (starfield_DATA): Use starfield_theme_files.
6987 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
6988 Add bootcheck-related files.
6989 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
6990 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
6991 and font_char_metrics.txt.
6992 * grub-core/Makefile.core.def (kernel): Update extra_dist.
6993 (setjmp): Add lib/ia64/longjmp.S.
6994 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
6995 * po/POTFILES.in: Regenerate.
6996 * po/Rules-swiss: use DISTFILES.common.extra2 and not
6997 DISTFILES.common.extra1.
6998 * util/devicemap.c: Removed.
6999 * grub-core/lib/i386/relocator_backward.S: Likewise.
7000 * util/import_gcry.py: Remove unused files. Add extra_dist for
7001 ChangeLog.
7002
cf1adfdf
VS
70032012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7004
7005 * grub-core/gettext/gettext.c (grub_mofile_open): Call
7006 grub_gettext_delete_list before changing grub_gettext_max to avoid
7007 running out of array bounds.
7008
70092012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
7010
7011 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
7012 grub_vga_text_init/grub_vga_text_fini.
7013
cf1adfdf 70142012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
7015
7016 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
7017
541d92e9
VS
70182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7019
7020 * configure.ac: Bump to 2.00~beta0.
7021
7931dddf
VS
70222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7023
7024 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
7025 missing initialisation.
7026
f1b16fa3
VS
70272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7028
7029 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
7030
83ddae23
VS
70312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7032
7033 Support v2 xnu boot arguments.
7034
7035 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
7036 New argument fsbfreq_out.
7037 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
7038 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
7039 be used.
7040 * grub-core/loader/machoXX.c (grub_macho_load): New argument
7041 darwin_version.
7042 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
7043 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
7044 (grub_xnu_boot_params): Rename to ...
7045 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
7046 (grub_xnu_boot_params_v2): New struct.
7047
dc693fe6
VS
70482012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7049
7050 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
7051 zeroing of CRC field before computing CRC.
7052
5a6e39c2
VS
70532012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7054
7055 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
7056 Change order of allocations to decrease fragmentation.
7057
6c21f5d7
VS
70582012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7059
7060 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
7061
cfe456dc
CW
70622012-02-27 Colin Watson <cjwatson@ubuntu.com>
7063
7064 Use write-combining MTRR to speed up video with buggy BIOSes.
7065
7066 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
7067 (cpuid): New define.
7068 (rdmsr): Likewise.
7069 (wrmsr): Likewise.
7070 (mtrr_base): Likewise.
7071 (mtrr_mask): Likewise.
7072 (grub_vbe_enable_mtrr_entry): New function.
7073 (grub_vbe_enable_mtrr): Likewise.
7074 (grub_vbe_disable_mtrr): Likewise.
7075 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
7076 control off to BIOS.
7077 (grub_video_vbe_init): Fill mtrr.
7078 (grub_video_vbe_fini): Disable mtrr.
7079 (grub_video_vbe_get_info_and_fini): Likewise.
7080 (grub_video_vbe_setup): Enable mtrr.
7081
e3c78337
CW
70822012-02-27 Colin Watson <cjwatson@ubuntu.com>
7083
7084 * include/grub/partition.h (grub_partition_map): Change prototype of
7085 embed to take a maximum value for nsectors.
7086 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
7087 * include/grub/fs.h (grub_fs): Likewise.
7088 * grub-core/partmap/msdos.c (embed_signatures): New array.
7089 (pc_partition_map_embed): Check for and avoid sectors matching any
7090 of the signatures in embed_signatures, up to max_nsectors.
7091 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
7092 returned sector map to max_nsectors.
7093 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
7094 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
7095 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
7096 * util/grub-setup.c (setup): Allow for the embedding area being
7097 split into multiple blocklists. Tell dest_partmap->embed the
7098 maximum number of sectors we care about.
7099
71002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7101
7102 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
7103 Specify blocklist_install and reserver_first_sector for all fs.
7104 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
7105 blocklists.
7106
984b973f
VS
71072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7108
7109 * util/grub-install.in: Clarify strings.
7110 Fix source dir check.
7111
f122e0d6
RL
71122012-02-27 Richard Laager <rlaager@wiktel.com>
7113
7114 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
7115 "zfs" and "fuse.zfs" as synonyms.
7116
071114bb
VS
71172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7118
7119 * configure.ac: Put platform and target_cpu substitutions back since
7120 they are used for directories.
7121
817e6abc
RL
71222012-02-27 Richard Laager <rlaager@wiktel.com>
71232012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7124
7125 * util/grub.d/10_linux.in: Add ZFS-related arguments.
7126 * util/grub.d/20_linux_xen.in: Likewise.
7127
897b7419
RL
71282012-02-27 Richard Laager <rlaager@wiktel.com>
7129
7130 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
7131 with full paths.
7132
a414bd15
RL
71332012-02-27 Richard Laager <rlaager@wiktel.com>
7134
7135 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
7136 unescape.
7137
30ac48c4
VS
71382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7139
7140 Don't use insecure popen in getroot.
7141
7142 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
7143 (exec_pipe): ... here.
7144 (find_root_devices_from_poolname): Use exec_pipe.
7145
53f13848
VS
71462012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7147
7148 Remove platform and target_cpu replacement.
7149
7150 * configure.ac: Remove platform and target_cpu substitutions.
7151 * tests/util/grub-shell.in: Use modinfo.
7152 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
7153 explicitly.
7154
90cb2803
VS
71552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7156
7157 Autodetect platform in grub-install but allow override.
7158
7159 * util/grub-install.in: Autodetect platform. Support --target and
7160 --directory. Read platform from modinfo.sh.
7161
b9136427
VS
71622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7163
7164 Support btrfs multi-volume probe.
7165
7166 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
7167 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
7168 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
7169 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
7170 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
7171 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
7172 grub_find_root_devices_from_btrfs if on btrfs.
7173
c36e5cd1
VS
71742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7175
7176 Remove any awareness of *.c util files about target.
7177
7178 * Makefile.util.def (grub-setup): Split to ...
7179 (grub-bios-setup): ... and this.
7180 (grub-sparc64-setup): ... and this.
7181 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
7182 * docs/man/grub-setup.h2m: Split into ...
7183 * docs/man/grub-sparc64-setup.h2m: ... this.
7184 * docs/man/grub-bios-setup.h2m: ... and this.
7185 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
7186 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
7187 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
7188 (grub_target_addr_t): Remove.
7189 (grub_target_size_t): Remove.
7190 (grub_target_ssize_t): Remove.
7191 * util/grub-install.in: Use new grub-*-setup.
7192 * util/grub-mkimagexx.c (Elf_Word): New define.
7193 (Elf_Half): Likewise.
7194 (Elf_Section): Likewise.
7195 (ELF_ST_TYPE): Likewise.
7196 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
7197 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
7198
584b2f8a
VS
71992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7200
7201 Replace grub_target_addr with more appropriate types.
7202
7203 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
7204 grub_target_addr with grub_addr.
7205 * grub-core/commands/iorw.c (grub_cmd_read): Replace
7206 grub_target_addr with grub_port.
7207 (grub_cmd_write): Likewise.
7208 * grub-core/commands/memrw.c (grub_cmd_read): Replace
7209 grub_target_addr with grub_addr.
7210 (grub_cmd_write): Likewise.
7211 * grub-core/video/efi_uga.c (find_line_len): Likewise.
7212
5a0dc6fb
VS
72132012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7214
7215 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
7216 const qualifier for vendor_guid.
7217
786aff6e
VS
72182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7219
7220 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
7221 const qualifier.
7222 (efiemu_memequal): Likewise.
7223 (find_variable): Likewise.
7224
49017b17
VS
72252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7226
7227 Fix missing console prototype on qemu-mips.
7228
7229 * include/grub/mips/qemu_mips/console.h: New file.
7230
c5988629
MG
72312012-02-27 Matthew Garrett <mjg@redhat.com>
72322012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7233
7234 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
7235 * include/grub/efi/efi.h: Likewise.
7236 * include/grub/efi/api.h: Add guid for EFI-specified variables.
7237 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
7238 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
7239 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
7240 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
7241 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
7242
e33f8d69
MG
72432012-02-27 Matthew Garrett <mjg@redhat.com>
7244
7245 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
7246
fb312cd9
VS
72472012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7248
7249 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
7250 error.
7251
7134247c
VS
72522012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7253
7254 * configure.ac: Remove inappropriate use of program_transform_name
7255 on grubdir and bootdir but allow explicit specification of those
7256 variables.
7257
6a313124
VS
72582012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7259
7260 * util/grub-mknetdir.in (grub_prefix): Removed.
7261 (subdir): Use @bootdirname@ and @grubdirname@.
7262
2311c5ca
VS
72632012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7264
7265 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
7266
7d5d60f7
VS
72672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7268
7269 * po/POTFILES.in: Regenerated.
7270
8151bc82
VS
72712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7272
7273 Remove improper use of program_transform_name on pkglibrootdir.
7274
7275 * configure.ac (pkglibrootdir): Removed.
7276 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
7277 * util/grub-mkimage.c: Likewise.
7278
b4a6a533
VS
72792012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7280
7281 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
7282 warning.
7283
668f304f
VS
72842012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7285
7286 * util/grub-install.in: Use file identifier if no UUID is available
7287 or user explicitly prompted for it.
7288
665f2341
NP
72892012-02-27 Navdeep Parhar <nparhar@gmail.com>
7290
7291 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
7292 (freebsd_get_zfs): New function.
7293 (grub_freebsd_boot): Pass zfs UUID.
7294 (grub_cmd_freebsd): Set zfs UUID.
7295
8151bc82 72962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
7297
7298 * conf/Makefile.common (platformdir): Base on pkglibdir and not
7299 pkglibrootdir.
7300
e4c498a1
MG
73012012-02-27 Mike Gilbert <floppym@gentoo.org>
7302
7303 Add configure flag to control libzfs integration.
7304
7305 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
7306
1e9a9a3f
VS
73072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7308
7309 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
7310 device.
7311 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
7312 small devices.
7313
036985b8
VS
73142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7315
7316 Remove grub_{modname}_init and grub_{modname}_fini. They should never
7317 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
7318 be used on non-modules.
7319
7320 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
7321 Rename to grub_boot_init.
7322 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
7323 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
7324 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
7325 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
7326 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
7327 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
7328 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
7329 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
7330 includes.
7331 (grub_machine_init): Remove empty inits.
7332 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
7333 includes.
7334 (grub_machine_init): Remove empty inits.
7335 * grub-core/term/arc/console.c: Remove explicit proto.
7336 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
7337 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
7338 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7339 grub_at_keyboard_fini.
7340 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
7341 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
7342 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7343 grub_gfxterm_fini.
7344 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
7345 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
7346 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7347 grub_vgatext_fini.
7348 * grub-core/term/ieee1275/console.c: Remove explicit proto.
7349 * grub-core/term/serial.c (GRUB_MOD_INIT)
7350 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
7351 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7352 grub_serial_fini.
7353 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
7354 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
7355 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7356 grub_terminfo_fini.
7357 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
7358 (GRUB_MOD_FINI): Likewise.
7359 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
7360 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
7361 (GRUB_MOD_FINI) [LOONGSON]: Rename to
7362 grub_video_radeon_fuloong2e_fini.
7363 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
7364 [LOONGSON]: Rename to grub_video_sis315pro_init.
7365 (GRUB_MOD_FINI) [LOONGSON]: Rename to
7366 grub_video_sis315pro_fini.
7367 * grub-core/video/sm712.c (GRUB_MOD_INIT)
7368 [LOONGSON]: Rename to grub_video_sm712_init.
7369 (GRUB_MOD_FINI) [LOONGSON]: Rename to
7370 grub_video_sm712_fini.
7371 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
7372 (grub_at_keyboard_fini): Likewise.
7373 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
7374 Don't declare grub_{modname}_init.
7375 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
7376 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
7377 New proto.
7378 (grub_keylayouts_fini) [!EMU]: Likewise.
7379 * include/grub/serial.h (grub_serial_init) [!EMU]:
7380 New proto.
7381 (grub_serial_fini) [!EMU]: Likewise.
7382 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
7383 New proto.
7384 (grub_terminfo_fini) [!EMU]: Likewise.
7385 * include/grub/video.h (grub_font_init) [!EMU]:
7386 New proto.
7387 (grub_font_fini) [!EMU]: Likewise.
7388 (grub_gfxterm_init) [!EMU]: Likewise.
7389 (grub_gfxterm_fini) [!EMU]: Likewise.
7390 (grub_video_sm712_init) [!EMU]: Likewise.
7391 (grub_video_sm712_fini) [!EMU]: Likewise.
7392 (grub_video_sis315pro_init) [!EMU]: Likewise.
7393 (grub_video_sis315pro_fini) [!EMU]: Likewise.
7394 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
7395 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
7396
d5534665
VS
73972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7398
7399 Make nand a prefix for nand devices.
7400
7401 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
7402
10133b5f
VS
74032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7404
7405 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
7406 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
7407
8e307a62
VS
74082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7409
7410 * include/grub/env.h (grub_env_find): Remove prototype.
7411 * grub-core/kern/env.c (grub_env_find): Make static.
7412 (grub_env_set): Remove useless set.
7413
a4c65f34
VS
74142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7415
7416 * grub-core/kern/i386/realmode.S: Remove useless align.
7417
d87893d5
VS
74182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7419
7420 * include/grub/dl.h (grub_dl_load_file): Don't export.
7421
50159add
VS
74222012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7423
7424 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
7425 grub_dprintf.
7426
b2582b84
VS
74272012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7428
7429 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
7430 grub_errors.
7431 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
7432 not reloading whole superblock but only the part which is really needed.
7433 Remove useless grub_errors.
7434 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
7435 grub_errors.
7436
e2a83395
VS
74372012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7438
7439 Don't export grub_get_rtc.
7440
7441 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
7442 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
7443
e7d2a906
VS
74442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7445
7446 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
7447
6cf1363b
VS
74482012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7449
7450 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 7451 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 7452
eece3349
VS
74532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7454
7455 Remove prio_list.
7456
7457 * include/grub/list.h (grub_prio_list): Removed.
7458 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
7459 GRUB_COMMAND_PRIO_MASK.
7460 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
7461 GRUB_COMMAND_FLAG_ACTIVE.
7462 (grub_prio_list_insert): Removed.
7463 (grub_prio_list_remove): Likewise.
7464 (GRUB_AS_PRIO_LIST): Likewise.
7465 (GRUB_AS_PRIO_LIST_P): Likewise.
7466 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
7467 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
7468 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
7469 * grub-core/kern/command.c (grub_register_command_prio): Inline
7470 the prio_list code.
7471 (grub_unregister_command): Likewise.
7472
94f064b4
VS
74732012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7474
7475 Fix interrupt mixup from previous commit.
7476
7477 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
7478 (grub_realidt): New var.
7479 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
7480 Load idt.
7481 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
7482 New declaration.
7483 (grub_relocator16_boot): Set grub_relocator16_idt.
7484 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
7485 (LOCAL(realidt)): ... this.
7486 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
7487 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
7488 (grub_realidt): New variable.
7489
27317084
VS
74902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7491
7492 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
7493 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
7494 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
7495 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
7496 Gettextize.
7497 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
7498 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
7499 * po/POTFILES.in: Regenerate.
7500
47b40053
VS
75012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7502
7503 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
7504 errors.
7505
2b343101
VS
75062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7507
7508 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
7509 \0.
7510 (add_length): Likewise.
7511
ff27c3dd
LK
75122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
75132012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
7514
7515 GDB serial and backtrace support.
7516
7517 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
7518 (prot_to_real): Likewise.
7519 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
7520 * grub-core/Makefile.core.def (backtrace): New module.
7521 (gdb): Likewise.
7522 * grub-core/gdb/cstub.c: New file.
7523 * grub-core/gdb/gdb.c: Likewise.
7524 * grub-core/gdb/i386/idt.c: Likewise.
7525 * grub-core/gdb/i386/machdep.S: Likewise.
7526 * grub-core/gdb/i386/signal.c: Likewise.
7527 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 7528 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
7529 * include/grub/backtrace.h: Likewise.
7530 * include/grub/gdb.h: Likewise.
7531 * include/grub/i386/gdb.h: Likewise.
7532
75332012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
7534
7535 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
7536 New function.
7537 (add_length): Likewise.
7538 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
7539 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
7540 proto.
7541 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
7542 __argp_get_display_len.
7543
ff27c3dd 75442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
7545
7546 $"..." support in scripts.
7547
7548 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
7549 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
7550 * grub-core/script/yylex.l: Likewise.
7551 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
7552 value.
7553
ff27c3dd 75542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
7555
7556 * gentpl.py: Remove obsolete pkglib_DATA handling.
7557
ff27c3dd 75582012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
7559
7560 Don't transform PACKAGE_TARNAME following a discussion on autoconf
7561 mailing list.
7562
7563 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
7564 * util/grub-kbdcomp.in: Likewise.
7565 * util/grub-mkconfig.in: Likewise.
7566 * util/grub-mkconfig_lib.in: Likewise.
7567 * util/grub-mknetdir.in: Likewise.
7568 * util/grub-mkrescue.in: Likewise.
7569 * util/grub-mkstandalone.in: Likewise.
7570 * util/grub-reboot.in: Likewise.
7571 * util/grub-set-default.in: Likewise.
7572 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7573
ff27c3dd 75742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
7575
7576 Remove GRUB_PREFIX.
7577
7578 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
7579 * util/grub.d/00_header.in: Compute prefix in the only place it's still
7580 used for backward compatibility.
7581
ff27c3dd 75822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
7583
7584 Add new all_video module.
7585
7586 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
7587 * grub-core/Makefile.core.def (all_video): New module.
7588 * grub-core/genmoddep.awk: Generate dependency of all_video from
7589 video.lst.
7590 * grub-core/lib/fake_module.c: New file.
7591 * grub-core/normal/main.c (features): Add feature_all_video_module.
7592 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
7593 don't do explicit search again.
47454da5 7594 insmod all_video in load_video if available.
22c7ce85 7595
ff27c3dd 75962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
7597
7598 Another round of string clarification and adding TRANSLATORS comments.
7599
ff27c3dd 76002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
7601
7602 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
7603
ff27c3dd 76042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
7605
7606 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
7607 to grub_ssize_t.
7608 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
7609 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
7610
ff27c3dd 76112012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
7612
7613 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
7614 trailing newline implicitly. All users updated.
7615
ff27c3dd 76162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
7617
7618 Implement serial on IEEE1275 and EFI.
7619
7620 * docs/grub.texi (Platform-specific limitations): Fix the columen video
7621 on emu. Mention arc and emu as the only platforms without serial
7622 support.
7623 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
7624 ieee1275 platforms.
7625 * grub-core/term/efi/serial.c: New file.
7626 * grub-core/term/ieee1275/serial.c: Likewise.
7627 * grub-core/term/serial.c (grub_serial_find): Disable direct port
7628 specification if no ns8250 driver is available.
7629 (grub_cmd_serial): Likewise.
7630 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
7631 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
7632 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
7633 (grub_efi_parity_type_t): New type.
7634 (grub_efi_stop_bits_t): Likewise.
7635 (grub_efi_serial_io_interface): New struct.
7636 * include/grub/serial.h (grub_serial_port): Make 'broken' field
7637 available for all interfaces.
7638 Add EFI and IEEE1275 fields.
7639 (grub_ofserial_init): New proto.
7640 (grub_efiserial_init): Likeiwse.
7641 * util/grub.d/00_header.in: Don't check for the presence of serial
7642 module.
7643
ff27c3dd 76442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
7645
7646 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
7647 name as if it was an alias.
7648
114076ef
VS
76492012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7650
7651 * grub-core/commands/lsacpi.c (options): Fix typo.
7652
6a656b0e
VS
76532012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7654
7655 Convert grub-emu to argp.
7656
7657 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
7658 emu.
7659 * util/argp_common.c: Rename to ...
7660 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
7661 Add missing includes.
7662 * grub-core/kern/emu/main.c: Convert to argp.
7663 * po/POTFILES.in: Regenerate.
7664 * util/grub-install.in (usage): Make first letter lowcase in messages
7665 for uniformity.
7666 * util/grub-setup.c (options): Likewise.
7667
1e3f8ae8
VS
76682012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7669
7670 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
7671 Put back accidently commented-out code.
7672
ed167a80
VS
76732012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7674
7675 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
7676 loop check using Brent algorithm.
7677 (grub_hfsplus_btree_search): Likewise.
7678
6753c0ec
VS
76792012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7680
7681 * util/grub-install.in: Fix usage of wrong device for PreP install.
7682
4e27343f
VS
76832012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7684
7685 * conf/Makefile.common (CFLAGS_GNULIB): Add
7686 -Wno-unsafe-loop-optimizations.
7687 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
7688 on tools.
7689 * grub-core/commands/legacycfg.c: Add pragma to skip
7690 -Wunsafe-loop-optimizations.
7691 (check_password_md5_real): Fix loop counter type.
7692 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
7693 reading.
7694 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
7695 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
7696 loop condition.
7697 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
7698 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
7699 * grub-core/net/net.c (grub_net_route_address): Add safety loop
7700 condition.
7701 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
7702 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
7703 avoid possible infinite loops.
7704 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
7705 and -Wunsafe-loop-optimizations.
7706 * grub-core/script/yylex.l: Likewise.
7707 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
7708 (print_glyphs): Avoid infinite loops.
7709 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
7710
697f18b0
GS
77112012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
7712
7713 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
7714 to avoid infinite loop.
7715 (disp_acpi_rsdt_table): Likewise.
7716
274416e8
VS
77172012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7718
7719 * grub-core/font/font.c (grub_font_load): Add support for default
7720 path for fonts ($prefix/fonts).
7721 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
7722 for checking if string is a path.
7723 * grub-core/normal/main.c (features): Add feature_default_font_path.
7724 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
7725 * util/grub.d/00_header.in: Use default directory if possible.
7726 * util/grub-install.in: Install unicode.pf2.
7727
b3e08622
VS
77282012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7729
7730 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
7731 * po/Rules-swiss: New file.
7732 * po/swiss.sed: Likewise.
7733
fe42ce09
VS
77342012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
7735
7736 * grub-core/fs/btrfs.c (find_device): Fix typos.
7737 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
7738 * util/grub-mkrelpath.c (argp_parser): Likewise.
7739 Reported by: Yuri Chornoivan.
7740
72f1d065
DO
77412012-02-23 Dalet Omega <daletomega@gmail.com>
7742
7743 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
7744 for usual informative messages.
7745
c5884973
DO
77462012-02-23 Dalet Omega <daletomega@gmail.com>
7747
7748 Starfield theme.
7749
7750 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
7751 * conf/Makefile.common: Define starfielddir.
7752 * configure.ac: Configure starfield.
7753 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
7754 * themes/starfield/README: Likewise.
7755 * themes/starfield/blob_w.png: Likewise.
7756 * themes/starfield/boot_menu_c.png: Likewise.
7757 * themes/starfield/boot_menu_e.png: Likewise.
7758 * themes/starfield/boot_menu_n.png: Likewise.
7759 * themes/starfield/boot_menu_ne.png: Likewise.
7760 * themes/starfield/boot_menu_nw.png: Likewise.
7761 * themes/starfield/boot_menu_s.png: Likewise.
7762 * themes/starfield/boot_menu_se.png: Likewise.
7763 * themes/starfield/boot_menu_sw.png: Likewise.
7764 * themes/starfield/boot_menu_w.png: Likewise.
7765 * themes/starfield/slider_c.png: Likewise.
7766 * themes/starfield/slider_n.png: Likewise.
7767 * themes/starfield/slider_s.png: Likewise.
7768 * themes/starfield/src/blob_nw.xcf: Likewise.
7769 * themes/starfield/src/bootmenu/: Likewise.
7770 * themes/starfield/src/bootmenu/center.xcf: Likewise.
7771 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
7772 * themes/starfield/src/bootmenu/side.xcf: Likewise.
7773 * themes/starfield/src/slider_c.xcf: Likewise.
7774 * themes/starfield/src/slider_n.xcf: Likewise.
7775 * themes/starfield/src/slider_s.xcf: Likewise.
7776 * themes/starfield/src/terminalbox/: Likewise.
7777 * themes/starfield/src/terminalbox/center.xcf: Likewise.
7778 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
7779 * themes/starfield/src/terminalbox/side.xcf: Likewise.
7780 * themes/starfield/starfield.png: Likewise.
7781 * themes/starfield/terminal_box_c.png: Likewise.
7782 * themes/starfield/terminal_box_e.png: Likewise.
7783 * themes/starfield/terminal_box_n.png: Likewise.
7784 * themes/starfield/terminal_box_ne.png: Likewise.
7785 * themes/starfield/terminal_box_nw.png: Likewise.
7786 * themes/starfield/terminal_box_s.png: Likewise.
7787 * themes/starfield/terminal_box_se.png: Likewise.
7788 * themes/starfield/terminal_box_sw.png: Likewise.
7789 * themes/starfield/terminal_box_w.png: Likewise.
7790 * themes/starfield/theme.txt: Likewise.
7791
17d73325
VS
77922012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
7793
7794 * util/grub.d/00_header.in: Add missing export theme.
7795
dbebaf92
VS
77962012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7797
7798 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
7799 already included.
7800 Reported by: Eren D.
7801
3d68bffb
VS
78022012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7803
7804 * conf/Makefile.common (grubdatadir): Removed.
7805 (Makefile.am): Move eveything grubdata to pkgdata.
7806
4b59234d
VS
78072012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7808
7809 * grub-core/commands/acpihalt.c (get_sleep_type):
7810 Remove unused variable.
7811
463dcadc
VS
78122012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7813
7814 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
7815 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
7816 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
7817 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
7818 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
7819 i18n with gettext no-op.
7820 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
7821 GRUB_ACPI_OPCODE_STRING_CONST.
7822 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
7823 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
7824
e5b90c82
VS
78252012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 * po/POTFILES.in: Regenerate.
7828
2a704ca9
VS
78292012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
7832 -Wno-error=missing-noreturn.
7833
84f9d341
VS
78342012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7835
7836 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
7837 condition to avoid possibly infinite loops.
7838 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
7839 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
7840
d46683f9
VS
78412012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7842
7843 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
7844 condition to avoid possibly infinite loops.
7845
c44866b2
VS
78462012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7847
7848 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
7849 on show_error.
7850
96790539
VS
78512012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7852
7853 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
7854
1ba7e295
VS
78552012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7856
7857 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
7858
21ffe8f1
VS
78592012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7860
7861 * util/bin2h.c (usage): Add missing attribute noreturn.
7862
0ccb6b3c
VS
78632012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7864
7865 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
7866 if the size isn't divisible by 512.
7867
b00d7fb6
VS
78682012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7869
7870 Make list_push and list_remove functions rather than inline functions
7871 to decrease size and avoid aliasing violations.
7872
7873 * include/grub/list.h (grub_list_push): Move to ...
7874 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
7875 * include/grub/list.h (grub_list_remove): Move to ...
7876 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
7877
9d369087
VS
78782012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7879
7880 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
7881 and -Wunused-result.
7882
af0250d9
VS
78832012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
7884
7885 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
7886 Reported by: Seth Goldberg
7887
aad32b14
VS
78882012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
7889
7890 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
7891
ac96441c
ST
78922012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
7893
7894 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
7895 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
7896 command line.
7897 * docs/grub.texi (Simple configuration): Document
7898 GRUB_CMDLINE_GNUMACH.
7899
79002012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
7901
7902 * conf/Makefile.common (platform_SCRIPTS): New variable.
7903 (platform_PROGRAMS): Likewise.
7904 * gentpl.py: Mark *,module and *.image for install.
7905 * grub-core/gdb_grub.in: Add a notice of expected environment.
7906 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
7907 (gmodule.pl): Likewise.
7908
ac96441c 79092012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
7910
7911 Replace grub_checkkey with grub_getkey_noblock.
7912
7913 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
7914 (grub_getkey_noblock): ... this. All users updated.
7915
ac96441c 79162012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
7917
7918 * grub-core/kern/emu/console.c: Move to ...
7919 * grub-core/term/emu/console.c: ...here.
7920 (grub_ncurses_getkey): Fix return value if no key is detected.
7921
e51b5666
VS
79222012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7923
7924 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
7925 (grub_unit_test_fini): Likewise.
7926 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
7927
79282012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7929
7930 * include/grub/test.h (GRUB_UNIT_TEST)
7931
d9a62292
VS
79322012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7933
7934 * grub-core/script/execute.c (grub_script_break): Clarify logic.
7935 Better error handling.
7936 (grub_script_return): Likewise.
7937 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
7938
77c9182f
VS
79392012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7940
7941 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
7942 rimplicit redifinition.
7943
edb13cf9
VS
79442012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7945
7946 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
7947 GRUB.
7948
a9e9dc7c
VS
79492012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7950
7951 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
7952 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
7953 prompt here.
7954
b4ba8e02
VS
79552012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7956
7957 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
7958 as GRUB_ERR_BUG. Don't malloc if no device is available.
7959
dded5540
VS
79602012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7961
7962 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
7963 Mark calling with invalid term as GRUB_ERR_BUG.
7964
0cf69874
VS
79652012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7966
7967 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
7968 packets rather than raising an error.
7969
59bfe502
VS
79702012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7971
7972 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
7973 in if.
7974
db5fc596
VS
79752012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7976
7977 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
7978 diagnostic to dprintf.
7979 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7980
e4b7f404
VS
79812012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7982
7983 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
7984 device name.
7985
e7b02f9e
VS
79862012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7987
7988 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
7989 (grub_ntfs_iterate_dir): Likewise.
7990
0331e102
VS
79912012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7992
7993 Efiemu stylistic fixes and gettext.
7994
7995 * grub-core/efiemu/i386/loadcore32.c
7996 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
7997 * grub-core/efiemu/i386/loadcore64.c
7998 (grub_arch_efiemu_relocate_symbols64): Likewise.
7999 * grub-core/efiemu/i386/pc/cfgtables.c
8000 (grub_machine_efiemu_init_tables): Likewise.
8001 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
8002 (grub_efiemu_loadcore_initXX): Add a filename argument.
8003 All users updated.
8004 Improved error message.
8005 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
8006 Add a filename argument.
8007 All users updated.
8008 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
8009 Reclassify double relocation as GRUB_ERR_BUG.
8010
306fc074
VS
80112012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8012
8013 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
8014 handling.
8015
794d8ef2
VS
80162012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8017
8018 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
8019 on partition.
8020
80212012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
8022
8023 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
8024
794d8ef2 80252012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
8026
8027 Improve string. Gettextize.
8028
78dde88e
VS
80292012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8030
8031 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
8032 utils.
8033 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
8034
4786a90f
VS
80352012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8036
8037 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
8038 [GRUB_UTIL]: New function.
8039 (insert_array) [GRUB_UTIL]: Store partmaps.
8040 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
8041 partmaps.
8042 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
8043 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
8044 (probe_abstraction): Print diskfilter and not raid.
8045 Reported by: Lennart Sorensen
8046
0b6225bd
VS
80472012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8048
8049 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
8050 * util/grub-mkimagexx.c (MASK3): New define.
8051 (add_value_to_slot_20b): Use MASK3.
8052 (add_value_to_slot_21): Likewise.
8053 (relocate_addresses): Fix format specification.
8054 (load_image): Explicitly init symtab_section.
8055
b055f8f6
VS
80562012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8057
8058 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
8059 (grub_util_biosdisk_get_grub_dev): Fix format specification.
8060
b77c2fb7
VS
80612012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8062
8063 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
8064 on powerpc.
8065 Reported by: Lennart Sorensen
8066
e3ec28ab
VS
80672012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8068
8069 * gentpl.py: Add missing license header.
8070 * docs/grub.texi: Update copyright year.
8071
c8d9ead6
GS
80722012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
8073
8074 Source grub-mkconfig_lib from the build directory at build time.
8075 Suggested by: Vladimir Serbinenko.
8076
8077 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
8078 * util/grub-install.in: Define pkgdatadir if not already set, and source
8079 grub-mkconfig_lib from there.
8080 * util/grub-kbdcomp.in: Likewise.
8081 * util/grub-mkconfig.in: Likewise.
8082 * util/grub-mknetdir.in: Likewise.
8083 * util/grub-mkrescue.in: Likewise.
8084 * util/grub-mkstandalone.in: Likewise.
8085 * util/grub-reboot.in: Likewise.
8086 * util/grub-set-default.in: Likewise.
8087 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8088
ebcecdf1
VS
80892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8090
8091 Increase warning level.
8092
8093 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
8094 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
8095 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
8096 (TARGET_CFLAGS): Likewise.
8097 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
8098 * grub-core/Makefile.core.def (decompressor_xz): Add
8099 -Wno-unreachable-code.
8100 (normal): Add -Wno-redundant-decls.
8101 (xzio): Add -Wno-unreachable-code.
8102 (lzopio): Add -Wno-redundant-decls -Wno-error.
8103 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
8104 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
8105 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
8106 * grub-core/kern/dl.c: Add exception to -Wcast-align.
8107 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
8108 * grub-core/kern/i386/coreboot/init.c: Add exception to
8109 -Wsuggest-attribute=noreturn.
8110 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
8111 * grub-core/kern/ia64/dl_helper.c: Likewise.
8112 * grub-core/kern/mips/dl.c: Likewise.
8113 * grub-core/kern/sparc64/dl.c: Likewise.
8114 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
8115 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
8116 (memcmp): Likewise.
8117 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
8118 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
8119 * grub-core/loader/mips/linux.c: Likewise.
8120 * grub-core/loader/multiboot_elfxx.c: Likewise.
8121 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
8122 * grub-core/video/sm712.c: Add exception to -Wcast-align.
8123 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
8124 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
8125 fixme.
8126 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
8127 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
8128 Fix prototype.
8129
37bb97fe
VS
81302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8131
8132 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
8133 address.
8134
29a3550b
VS
81352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8136
8137 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
8138 Avoid improper use of strings.
8139 (grub_cmd_legacy_initrdnounzip): Likewise.
8140
dfdffd0d
VS
81412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8142
8143 * include/grub/emu/misc.h (grub_util_warn): Add missing format
8144 attribute.
8145 (grub_util_info): Likewise.
8146 (grub_util_error): Likewise.
8147
102fae4a
VS
81482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8149
8150 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
8151 * util/grub-fstest.c (fstest): Likewise.
8152
7e94d044
VS
81532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8154
8155 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
8156 (grub_md_sha512_real): Likewise.
8157 (grub_util_get_geli_uuid): Likewise.
8158 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
8159 (grub_util_biosdisk_open): Fix format specification.
8160 Respect format security.
8161 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
8162 (xrealloc): Likewise.
8163 (xasprintf): Likewise.
8164
5ebd9769
VS
81652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8166
8167 * util/import_gcry.py: Include grub/crypto.h in init.c.
8168
495fc8c1
VS
81692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8170
8171 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
8172 (generate_image): Make prefix a const char *.
8173 Fix format specifications. Respect format security.
8174 Avoid void * arithmetics.
8175 Avoid shadowing.
8176 (argp_parser): Remove unused variable. Respect format security.
8177 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
8178 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
8179 (count_funcs): Remove unused variable.
8180 (relocate_addresses): Fix format specification.
8181 Disable x86-64 with elf32. Remove unused variables.
8182 (add_fixup_entry): Avoid shadowing.
8183 (make_reloc_section): Fix format specification.
8184 Use assert.
8185 (locate_sections): Fix format specifications.
8186 (load_image): Avoid shadowing.
8187
043c2ea3
VS
81882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8189
8190 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
8191 Fix format specifications. Respect format security.
8192 Don't translate already translated grub_errmsg.
8193 (argp_parser): Remove unused variable
8194
3ec65a81
VS
81952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8196
8197 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
8198
a4d9fe4a
VS
81992012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8200
8201 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
8202 (main): Likewise. Use xmalloc. Respect format security.
8203
15b81d49
VS
82042012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8205
8206 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
8207 a const char *.
8208 (argp_parser): Remove unused variable.
8209
31731fc0
VS
82102012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8211
8212 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
8213 (add_pixel): Make static.
8214 (add_font): Likewise.
8215 (write_string_section): Make name and str a const char *.
8216 (write_be16_section): Make name a const char *.
8217 (print_glyphs): Make static.
8218 (write_font_ascii_bitmap): Likewise.
8219 (write_font_width_spec): Likewise.
8220 (write_font_pf2): Likewise.
8221 (argp_parser): Remove unused variable.
8222 Respect format security.
8223 (main): Avoid shadowing. Respect format security.
8224
0809527b
VS
82252012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8226
8227 * util/grub-editenv.c (argp_parser): Make static.
8228 (create_envblk_file): Use xmalloc.
8229 (open_envblk_file): Likewise.
8230 Resepect format security.
8231 (set_variables): Respect format security.
8232
45b0c8b7
VS
82332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8234
8235 * util/getroot.c (grub_find_device): Respect format security.
8236 (get_mdadm_uuid): Remove unused variable.
8237 (grub_util_pull_device): Dont call gettext on already translated
8238 grub_errmsg.
8239 (find_system_device): Remove unused variable.
8240 (grub_util_get_grub_dev): Likewise.
8241 (grub_make_system_path_relative_to_its_root): Respect format security.
8242
1b024b4e
VS
82432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8244
8245 * util/grub-fstest.c (execute_command): Make first argument
8246 a const char *.
8247 (read_file): Avoid shadowing.
8248 Reuse underlying error message if device open fails.
8249 (cmd_cmp): Respect format security.
8250 (root): Make const char *.
8251 (fstest): Remove args argument and use global copy.
8252 Respect format security.
8253 (argp_parser): Make static.
8254 (main): Make default_root const char *.
8255
5d1d4e28
VS
82562012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8257
8258 * util/grub-mount.c (root): Make const char *.
8259 (execute_command): Make first argument a const char *.
8260 (fuse_init): Respect format security.
8261 (argp_parser): Make static. Remove unused variable.
8262 (main): Make default_root a const char *.
8263 Respect format security.
8264
36eb7379
VS
82652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8266
8267 * util/grub-probe.c (probe): Don't call gettext on already translated
8268 grub_errmsg.
8269 Remove unused variables.
8270 (argp_parser): Remove unused variable.
8271
76fb2ea9
VS
82722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8273
8274 * util/grub-script-check.c (argp_parser): Remove unused variable.
8275 (main): Rename read to curread to avoid shadowing.
8276
56c98584
VS
82772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8278
8279 * util/misc.c (grub_util_write_image_at): Fix format specification.
8280 (grub_util_write_image): Likewise.
8281 (grub_script_execute_argument_to_string): Removed (unused).
8282 (grub_script_execute_menuentry): Likewise.
8283 (grub_putchar): Likewise.
8284
164ebb48
VS
82852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8286
8287 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
8288 (FUNCTION) [GRUB_UTIL]: Likewise.
8289 (VARIABLE) [GRUB_UTIL]: Likewise.
8290
44318d61
VS
82912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8292
8293 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
8294 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
8295
31a26002
VS
82962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8297
8298 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
8299 buffer.
8300
83012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8302
8303 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
8304 (LzmaEnc_SaveState): Removed (unused).
8305 (LzmaEnc_RestoreState): Likewise.
8306 (LzmaEnc_InitPriceTables): Made static.
8307 (LzmaEnc_Construct): Likewise.
8308 (LzmaEnc_FreeLits): Likewise.
8309 (LzmaEnc_Destruct): Likewise.
8310 (LzmaEnc_Init): Likewise.
8311 (LzmaEnc_InitPrices): Likewise.
8312 (LzmaEnc_Finish): Likewise.
8313 (LzmaEnc_PrepareForLzma2): Removed (unused).
8314 (LzmaEnc_MemPrepare): Likewise.
8315 (LzmaEnc_GetNumAvailableBytes): Likewise.
8316 (LzmaEnc_GetCurBuf): Likewise.
8317 (LzmaEnc_CodeOneMemBlock): Likewise.
8318
6fa67967
VS
83192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8320
8321 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
8322 (grub_util_ldm_embed): Likewise.
8323
9a7428e6
VS
83242012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8325
8326 * util/grub-editenv.c (print_var): Rename name to varname to
8327 avoid shadowing.
8328 (main): Rename index to curindex to avoid shadowing.
31a26002 8329 Make filename a const char *.
9a7428e6 8330
4f96abd1
VS
83312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8332
8333 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
8334 to arg_getline to avoid shadowing.
8335
44d10dad
VS
83362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8337
8338 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
8339 disk_ to avoid shadowing.
8340
340ba63e
VS
83412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8342
8343 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
8344 curindex to avoid shadowing.
8345 Make static.
8346 (MatchFinder_GetNumAvailableBytes): Make static.
8347
22965bce
VS
83482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8349
8350 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
8351 avoid shadowing.
8352
7b5784d4
VS
83532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8354
8355 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
8356 argument from encrypt to do_encrypt to avoid shadowing.
8357
6f48ca01
VS
83582012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8359
8360 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
8361 incorrect nesting of #if's.
8362
a4ea2dff
VS
83632012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8364
8365 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
8366 checks which are always false on some platforms.
8367 (grub_cmd_lsacpi): Likewise.
8368 * grub-core/kern/misc.c (grub_strtoul): Likewise.
8369 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
8370 Likewise.
8371
def9fc1b
VS
83722012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8373
8374 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
8375 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
8376
a67b2a04
VS
83772012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8378
8379 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
8380 re_dfa_t to avoid breaking alignment invariants.
8381 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
8382 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
8383
44c6828d
VS
83842012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8385
8386 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
8387 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
8388
bebe0dd0
VS
83892012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8390
8391 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
8392 Fix declaration.
8393
a9cdb3cf
VS
83942012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8395
8396 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
8397 conserve alignment invariants.
8398 (grub_ehci_ehcc_read16): Likewise.
8399 (grub_ehci_oper_read32): Likewise.
8400 (grub_ehci_oper_write32): Likewise.
8401 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
8402 Conserve alignment invariants.
8403
ccc3b1b8
VS
84042012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8405
8406 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
8407 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
8408 declarations.
8409
987fbd95
VS
84102012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8411
8412 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
8413 Remove unused variable.
8414
0df363f3
VS
84152012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8416
8417 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
8418 Remove set in if.
8419
b2c0c4a6
VS
84202012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8421
8422 * include/grub/net.h: Remove double declarations.
8423
690c531f
VS
84242012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8425
8426 Remove "payload" command in ia64 Linux loader since I couldn't
8427 find any evidence of it being used for anything.
8428 Replace "relocate" command with an environment variable
8429
8430 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
8431 fields.
8432 (ia64_boot_payload): Removed.
8433 (last_payload): Likewise.
8434 (RELOCATE_OFF): Likewise.
8435 (RELOCATE_ON): Likewise.
8436 (RELOCATE_FORCE): Likewise.
8437 (relocate): Likewise.
8438 (free_pages): Don't free payloads.
8439 (grub_load_elf64): Use common error messages.
8440 Use "linux_relocate" variable.
8441 Increase the space after boot_params.
8442 (grub_cmd_payload): Removed.
8443 (grub_cmd_relocate): Likewise.
8444 (grub_cmd_fpswa): Improve messages.
8445 (cmd_payload): Removed.
8446 (cmd_relocate): Likewise.
8447 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
8448 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
8449
01783768
VS
84502012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8451
8452 Convert UHCI to DMA framework.
8453
8454 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
8455 (grub_uhci_pci_iter): Fill new members
8456 (grub_alloc_td): Use P2V and V2P functions.
8457 (grub_free_queue): Likewise.
8458 (grub_alloc_qh): Likewise.
8459 (grub_uhci_setup_transfer): Likewise.
8460 (grub_uhci_check_transfer): Likewise.
8461
43206939
VS
84622012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8463
8464 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
8465 Remove assignment in if while on it.
8466
571e140e
VS
84672012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8468
8469 * util/grub-mkstandalone.in: Fix modules directory.
8470
a9d96eeb
VS
84712012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8472
8473 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
8474 on i386-pc target.
8475 (argp_parser): Accept "auto" as compression specification.
8476
e4e37e8d
VS
84772012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8478
8479 Fix `help' with unloaded modules.
8480
8481 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
8482 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
8483 (grub_dyncmd_dispatcher): Small stylistic fix.
8484 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
8485 explicit help is requested.
8486
e1ea3ade
VS
84872012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8488
8489 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
8490 Explicitly init restart while on it.
8491
27556881
VS
84922012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8493
8494 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
8495 uninited variable.
8496
d65f6b36
VS
84972012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8498
8499 * util/grub-mknetdir.in: Use . rather than source for POSIX
8500 compatibility.
8501
0a1e473c
VS
85022012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8503
8504 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
8505
ce6647c8
VS
85062012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8507
8508 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
8509 variable.
8510
66747894
VS
85112012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8512
8513 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
8514 without quotes.
8515
71645f6e
VS
85162012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8517
8518 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
8519
0e1c1f61
VS
85202012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8521
8522 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
8523 iteration of partitions.
8524
9c4b5c13
VS
85252012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8526
8527 Improve gettext support. Stylistic fixes and error handling fixes while
8528 on it.
8529
215c90cb
VS
85302012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8531
8532 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
8533 part. Instead setup the correct stack in RM.
8534 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
8535 for stack.
8536 * include/grub/i386/relocator_private.h: New file.
8537
b5c1f9bf
VS
85382012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8539
8540 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
8541 argument.
8542 * util/grub-fstest.c (options): Add missing DEVICE part.
8543
b525fd83
VS
85442012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8545
8546 Clarify and unify messages.
8547
8548 * grub-core/commands/hashsum.c (options): Unify messages.
8549 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
8550 literal-only message as translatable.
8551 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
8552 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
8553 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
8554 commands.
8555 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
8556 key, not the key used to unlock. Clarify what it's used for.
8557 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
8558 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
8559 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
8560 * util/grub-editenv.c (options): Unify "verbose" message.
8561 * util/grub-fstest.c (read_file): Unify error message.
8562 (fstest): Add quotes around commands.
8563 (options): Unify "verbose" message.
8564 * util/grub-install.in: Add quotes around variable name.
8565 * util/grub-kbdcomp.in: Unify error message.
8566 * util/grub-mkfont.c (main): Likewise.
8567 * util/grub-mkrescue.in: Likewise.
8568 * util/grub-mklayout.c (options): Unify "verbose" message.
8569 * util/grub-mkstandalone.in: Unify help and verbose messages.
8570 * util/grub-mount.c (options): Unify "verbose" message.
8571 * util/grub-probe.c (options): Likewise.
8572 * util/grub-script-check.c (options): Likewise.
8573 * util/grub-setup.c (setup): Unify no-terminator message.
8574 (options): Use DEVICE and not DEV.
8575 Unify "verbose" message.
8576 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
8577
0ae70393
VS
85782012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8579
8580 Improve and unify messages.
8581
8582 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
8583 name. All users updated.
8584 Print filename in error.
8585 (read_device_map): Print filename in error.
8586 * util/getroot.c (grub_guess_root_devices): Print filename in error.
8587 (grub_util_get_os_disk): Likewise.
8588 (grub_util_biosdisk_get_grub_dev): Likewise.
8589 (grub_util_check_block_device): Likewise.
8590 (grub_util_check_char_device): Likewise.
8591 (grub_make_system_path_relative_to_its_root): Likewise.
8592 * util/grub-editenv.c (create_envblk_file): Likewise.
8593 (open_envblk_file): Likewise.
8594 (write_envblk): Likewise.
8595 * util/grub-fstest.c (cmd_cp): Likewise.
8596 (cmd_cat): Likewise.
8597 (cmd_cmp): Likewise.
8598 * util/grub-menulst2cfg.c (main): Likewise.
8599 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
8600 (write_font_width_spec): Likewise.
8601 (write_font_pf2): Likewise.
8602 * util/grub-mkimage.c (generate_image): New argument outname.
8603 All users updated.
8604 Remove unreacheable message.
8605 (options): Unify messages.
8606 (help_filter): Likewise.
8607 * util/grub-mklayout.c (usage): Removed (unused).
8608 (main): Print filename in error.
8609 * util/grub-mkrescue.in: Fix wrong quoting.
8610 * util/grub-setup.c (setup): Print filename in error.
8611 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
8612 (check_sas): Likewise.
8613 * util/misc.c (grub_util_get_fp_size): Removed.
8614 (grub_util_get_image_size): Print filename in error.
8615 (grub_util_read_at): Removed.
8616 (grub_util_read_image): Print filename in error.
8617 (grub_util_load_image): Likewise.
8618 (grub_util_write_image_at): New argument filename. All users updated.
8619 Print filename in error.
8620 (grub_util_write_image): New argument filename. All users updated.
8621 Print filename in error.
8622 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
8623 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
8624
0a96117d
VS
86252012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8626
8627 * grub-core/Makefile.core.def (pxechain): New module.
8628 * grub-core/loader/i386/pc/pxechainloader.c: New file.
8629 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
8630 function.
8631 (grub_pc_net_config_real): Use grub_pxe_get_cached.
8632 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
8633
aca002f7
VS
86342012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8635
8636 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
8637 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
8638 * include/grub/err.h (grub_error_saved): New struct.
8639 (grub_errmsg): Make array size explicit.
8640 * include/grub/misc.h (grub_error_save): New function.
8641 (grub_error_load): Likewise.
8642 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
8643 (grub_error_push): Update `errno' member name.
8644 (grub_error_pop): Likewise
8645 * grub-core/net/tftp.c (tftp_data): New member save_err.
8646 (tftp_receive): Save error.
8647 (tftp_open): Restore error.
8648
a51dab13
VS
86492012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8650
8651 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
8652 to real mode down to execute A20-related code in protected mode as
8653 intended.
8654
eb6e6649
GS
86552012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
8656
8657 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
8658 NULL when the argument `level' has an unexpected value.
8659
92cd0f6e
VS
86602012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8661
8662 Move platform-dependent files from $prefix to $prefix/$platform.
8663
8664 * config.h.in (GRUB_TARGET_CPU): New definition.
8665 (GRUB_PLATFORM): Likewise.
8666 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
8667 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
8668 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
8669 * grub-core/kern/dl.c (grub_dl_load): Likewise.
8670 * grub-core/normal/autofs.c (read_fs_list): Likewise.
8671 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
8672 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
8673 * grub-core/normal/term.c (read_terminal_list): Likewise.
8674 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
8675 $prefix/locale.
8676 (grub_gettext_init_ext): Likewise.
8677 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
8678 grub_platform.
8679 * util/grub-install.in: Update directories.
8680 * util/grub-mknetdir.in: Likewise.
8681 * util/grub-mkrescue.in: Likewise.
8682
db606889
VS
86832012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8684
8685 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
8686 grub_error framework. All users updated.
8687
c39992a4
VS
86882012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8689
8690 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
8691 lists (by always binsearching), improve caching (cache strings
8692 used for binsearch, not only results), improve
8693 maintainability (by using more structured binary search) and correct
8694 error handling.
8695
1e5ec32f
VS
86962012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8697
8698 * grub-core/script/execute.c (grub_script_return): Fix warning.
8699
ac576cde
VS
87002012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8701
8702 * grub-core/script/execute.c (grub_script_return): Fix potential
8703 NULL-dereference.
8704 Reported by: Jim Meyering.
8705
498453f6
VS
87062012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8707
8708 * po/POTFILES.in: Regenerate.
8709 * util/grub-install.in: Gettextize the strings missed in first pass.
8710
8be63f2e
VS
87112012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8712
8713 * Makefile.util.def (grub-mkdevicemap): Removed.
8714 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
8715 * include/grub/util/deviceiter.h: Removed.
8716 * util/deviceiter.c: Likewise.
8717 * util/getroot.c (grub_util_get_os_disk): New function.
8718 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
8719 replacement for EFI.
8720 * util/grub-mkdevicemap.c: Removed.
8721 * util/grub-probe.c (probe): Handle PRINT_DISK.
8722 (argp_parser): Handle -t disk.
8723
8e1e4e39
VS
87242012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8725
8726 * util/grub-mkfont.c: Migrate to argp.
8727 * util/grub-mklayout.c: Likewise.
8728 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8729 * util/grub-mkrelpath.c: Likewise.
8730 * util/grub-probe.c: Likewise.
8731 * util/grub-script-check.c: Likewise.
8732
4459819a
VS
87332012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8734
8735 * util/grub-reboot.in: Add missing datarootdir.
8736 Add missing newline.
8737 * util/grub-set-default.in: Add missing datarootdir.
8738 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
8739 * util/grub-mkrescue.in: Likewise.
8740
f65741c7
VS
87412012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8742
8743 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
8744
c1a33466
VS
87452012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8746
8747 * util/grub-kbdcomp.in: Add decent help and gettextize.
8748 * docs/man/grub-kbdcomp.h2m: New file.
8749
c76899a0
VS
87502012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8751
8752 Migrate grub-mkimage.c to argp.
8753
8754 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
8755 (grub-setup): Likewise.
8756 * util/grub-setup.c (print_version): Move to ...
8757 * util/argp_common.c (print_version): ... here.
8758 * util/grub-setup.c (argp_program_version_hook): Move to ...
8759 * util/argp_common.c (argp_program_version_hook): ... here.
8760 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
8761 safety.
8762 * util/grub-mkimage.c (main): Migrate to argp.
8763
57db0757
VS
87642012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8765
8766 * util/grub-mkrescue.in: Use same message as
8767 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
8768 for better translations.
8769
18534ad9
VS
87702012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8771
8772 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
8773 options with generic grub-mkrescue.in with the goal of future
8774 merge.
8775
c84ba308
VS
87762012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8777
8778 * grub-core/kern/mm.c: Add missing include of i18n.h
8779 * grub-core/lib/relocator.c: Likewise.
8780
347998c2
VS
87812012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8782
8783 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
8784 error.
8785 (allocate_pages): Check return value.
8786 Replace fatal with error.
8787 (grub_linux_boot): Replace printf with dprintf.
8788 Check find_mmap_size return value.
8789 Replace fatal with error.
8790 Don't call grub_machine_fini.
8791 (grub_load_elf64): Replace printf with dprintf.
8792 (grub_cmd_linux): Likewise.
8793 (grub_cmd_initrd): Likewise.
8794 (grub_cmd_payload): Likewise.
8795
c779226e
VS
87962012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8797
8798 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
8799 message.
8800 * grub-core/video/radeon_fuloong2e.c
8801 (grub_video_radeon_fuloong2e_setup): Likewise.
8802 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
8803 * grub-core/video/video.c (grub_video_set_mode): Don't override
8804 standard out of memory message.
8805
dc87d45a
GS
88062012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8807
8808 NetBSD disk wedge support.
8809
8810 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
8811 [__NetBSD__]: Handle NetBSD disk wedges.
8812 * util/getroot.c (convert_system_partition_to_system_disk)
8813 [__NetBSD__]: Likewise.
8814
055f856f
MW
88152012-02-03 Mark Wooding <mdw@distorted.org.uk>
8816
8817 * util/grub-mkconfig.in: Use umask rather than chmod to create
8818 grub.cfg.new to avoid insecure grub.cfg.
8819
4a9f8346
VS
88202012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8821
8822 * grub-core/commands/ls.c: Gettextize.
8823 * grub-core/commands/setpci.c: Likewise.
8824 * grub-core/commands/videotest.c: Likewise.
8825 * grub-core/disk/geli.c: Likewise.
8826 * grub-core/kern/mm.c: Likewise.
8827 * grub-core/lib/relocator.c: Likewise.
8828 * grub-core/loader/efi/appleloader.c: Likewise.
8829 * grub-core/loader/i386/xnu.c: Likewise.
8830 * grub-core/loader/ia64/efi/linux.c: Likewise.
8831 * grub-core/loader/xnu.c: Likewise.
8832 * grub-core/net/dns.c: Likewise.
8833 * grub-core/net/net.c: Likewise.
8834 * grub-core/script/lexer.c: Likewise.
8835 * grub-core/script/parser.y: Likewise.
8836 * grub-core/script/yylex.l: Likewise.
8837 * util/getroot.c: Likewise.
8838 * util/grub-setup.c: Likewise.
8839
a646a366
VS
88402012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8841
8842 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
8843 number.
8844
54e2be26
VS
88452012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8846
8847 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
8848
f7c71e68
VS
88492012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8850
8851 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
8852 macro.
8853 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
8854 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
8855
a32d5c71
VS
88562012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8857
8858 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
8859 * util/grub-install.in: Gettextize.
8860 * util/grub-mkconfig.in: Likewise.
8861 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
8862 if not available.
8863 (grub_warn): Gettextize.
8864 * util/grub-mknetdir.in: Gettextize.
8865 * util/grub-mkrescue.in: Likewise.
8866 * util/grub-mkstandalone.in: Likewise.
8867 * util/grub-reboot.in: Likewise.
8868 * util/grub-set-default.in: Likewise.
8869 * util/grub.d/00_header.in: Likewise.
8870 * util/grub.d/10_hurd.in: Likewise.
8871 * util/grub.d/10_kfreebsd.in: Likewise.
8872 * util/grub.d/10_linux.in: Likewise.
8873 * util/grub.d/10_netbsd.in: Likewise.
8874 * util/grub.d/10_windows.in: Likewise.
8875 * util/grub.d/20_linux_xen.in: Likewise.
8876 * util/grub.d/30_os-prober.in: Likewise.
8877 * po/POTFILES-shell.in: Regenerate.
8878
69edd81a
RL
88792012-02-03 Richard Laager <rlaager@wiktel.com>
8880
8881 * util/grub-mkimage.c (main): Fix format-security warning.
8882 * util/grub-mkrelpath.c (main): Likewise.
8883 * util/grub-probe.c (main): Likewise.
8884
65f08dbf
RL
88852012-02-03 Richard Laager <rlaager@wiktel.com>
8886
8887 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
8888 failure.
8889 Put back lost PRINT_DRIVE.
8890
e9084abe
RL
88912012-02-03 Richard Laager <rlaager@wiktel.com>
8892
8893 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
8894 (grub_guess_root_devices): Replace strlen with sizeof.
8895 Avoid crash.
8896 (find_root_devices_from_poolname): Remove unused variable.
8897 Handle raidzN.
8898
cf5f7ee7
VS
88992012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8900
8901 Support install on multi-device filesystems.
8902
8903 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
8904 (grub_guess_root_devices): ...this. Return char **. All users updated.
8905 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
8906 Removed.
8907 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
8908 (find_root_devices_from_poolname): ... here.
8909 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
8910 Support zfs-fuse.
8911 (grub_guess_root_device): Rename to ...
8912 (grub_guess_root_devices): ... this. Return char **. All users updated.
8913 * util/grub-install.in: Handle multi-device filesystems.
8914 * util/grub-probe.c (probe). Make device_names a char **. Add delim
8915 argument. All users updated.
8916 Handle multi-device filesystems.
8917 Use 'delim' as separator.
8918 Remove device check to allow filesystems on file.
8919 (main): Support -0 argument. Handle multi-device.
8920 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
8921 Fix a cross-device check while on it.
8922 (arguments): Remove root_dev.
8923 (argp_parser): Remove -r.
8924 (main): Remove root_dev.
8925
2f53a9ed
VS
89262012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8927
8928 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
8929
17e1d934
VS
89302012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8931
8932 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
8933 symbol.
8934 Reported by: NODA, Kai <nodakai>.
8935
d3e3fab5
VS
89362012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8937
8938 Fix ehci on amd64.
8939
8940 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
8941 pointers.
8942 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
8943 (grub_ehci_setup_qh): Likewise.
8944 (grub_ehci_find_qh): Likewise.
8945 (grub_ehci_transaction): Likewise.
8946 (grub_ehci_setup_transfer): Likewise.
8947 (grub_ehci_check_transfer): Likewise.
8948 (grub_ehci_portstatus): Likewise.
8949 (grub_ehci_detect_dev): Likewise.
8950 (grub_ehci_transfer_controller_data): New field td_last_phys.
8951 (grub_ehci_setup_transfer): Fill td_last_phys.
8952 (grub_ehci_check_transfer): Use td_last_phys.
8953
3008675b
SG
89542012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
8955
8956 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
8957 if no submenu is present.
8958
fc9b5652
AN
89592012-02-01 Aleš Nesrsta <starous@volny.cz>
8960
8961 CBI support.
8962
8963 * include/grub/usb.h (grub_usbms_protocol_t): New values
8964 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
8965 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
8966 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
8967 (grub_usbms_dev): Add subclass, protocol and intrpt.
8968 Remove in_maxsz and out_maxsz.
8969 (grub_usbms_reset): Rename to ...
8970 (grub_usbms_bo_reset): .. this.
8971 (grub_usbms_cbi_cmd): New function.
8972 (grub_usbms_cbi_reset): Likewise.
8973 (grub_usbms_reset): Likewise.
8974 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
8975 (grub_usbms_transfer): Rename to ...
8976 (grub_usbms_transfer_bo): ... this.
8977 (grub_usbms_transfer_cbi): Likewise.
8978 (grub_usbms_transfer): Likewise.
8979
a2b81d53
AN
89802012-02-01 Aleš Nesrsta <starous@volny.cz>
89812012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8982
8983 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
8984 the support for the CS5536 modification thereos and few bugfixes.
8985
8986 * grub-core/Makefile.core.def (ehci): New module.
8987 * grub-core/bus/usb/ehci.c: New file.
8988 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
8989 port and hubaddr. All users updated.
8990 Save port and hubaddr into dev structure.
8991 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
8992 define.
8993 * include/grub/pci.h (grub_dma_phys2virt): New function.
8994 (grub_dma_virt2phys): Likewise.
8995 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
8996
b1d51f02
VS
89972012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8998
8999 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
9000 check as some mkfs implementations omit it.
9001
fc694106
VS
90022012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9003
9004 * docs/grub.texi (Unicode): Mention identifier and space limitations.
9005
6c0920e3
VS
90062012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9007
9008 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
9009 Add new member volname2.
9010 (grub_jfs_label): Use volname2 if available.
9011
d1a46f9a
VS
90122012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9013
9014 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
9015 over last_mounted as seen in image generated by mkfs.nilfs2.
9016 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
9017
dec8ed14
VS
90182012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9019
9020 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
9021 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
9022 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
9023
7397c69b
VS
90242012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9025
9026 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
9027 over the sector.
9028
b3fe42ad
VS
90292012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9030
9031 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
9032 subvolume name (by removing a bogus and useless check).
9033
10476bb0
VS
90342012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9035
9036 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
9037 sizeof while on it.
9038
9c08ad87
VS
90392012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9040
9041 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
9042 (grub_scsi_read_capacity10): ... this.
9043 (grub_scsi_read_capacity16): New function.
9044 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
9045 0xffffffff.
9046 Fix off-by-one error.
9047 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
9048 64-bit unsigned.
9049 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
9050 (grub_scsi_read_capacity10): ... this.
9051 (grub_scsi_read_capacity_data): Rename to ...
9052 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
9053 (grub_scsi_read_capacity16): New struct.
9054 (grub_scsi_read_capacity16_data): Likewise.
9055 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
9056 grub_scsi_cmd_read_capacity10.
9057 New command grub_scsi_cmd_read_capacity16.
9058
bc8d0f45
VS
90592012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9060
9061 SCSI >2TiB support.
9062
9063 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
9064 (grub_scsi_write16): Likewise.
9065 (grub_scsi_read): Use read16 when necessary.
9066 (grub_scsi_write): Likewise.
9067 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
9068 (grub_scsi_write16): Likewise.
9069 (grub_scsi_cmd_t): Add READ16 and WRITE16.
9070
cc774926
VS
90712012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9072
9073 SCSI write support (for usbms mainly).
9074
9075 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
9076 a const pointer.
9077 (grub_scsi_write): Implement.
9078 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
9079
67639fd7
VS
90802012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9081
9082 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
9083 variable.
9084
9079d3ed
VS
90852012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9086
9087 * grub-core/lib/posix_wrap/string.h (memchr): New function.
9088
c6a6f204
VS
90892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9090
9091 * po/POTFILES.in: Regenerate.
9092
ecbf8cd1
VS
90932012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9094
9095 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
9096 with grub_printf to avoid unnecessary fatal failure.
9097
0b3b3b38
VS
90982012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9099
9100 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
9101 (INT_MAX): Likewise.
9102 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
9103 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
9104 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
9105 (strcpy): Likewise.
9106 (strstr): Likewise.
9107 (strchr): Likewise.
9108 (strncpy): Likewise.
9109 (strcat): Likewise.
9110 (strncat): Likewise.
9111 (strcoll): Likewise.
9112 * include/grub/types.h (GRUB_SHRT_MAX): New define.
9113 (GRUB_INT_MAX): Likewise.
9114
db7337a3
VS
91152012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9116
9117 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
9118 unexpected error.
9119 (optimize_utf8): Likewise.
9120 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
9121
f37c87e1
VS
91222012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9123
9124 * grub-core/boot/i386/pc/lnxboot.S: Use
9125 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
9126 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
9127 location.
9128 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
9129 definition.
9130 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
9131
63fe43f3
VS
91322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9133
9134 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
9135 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
9136 now to avoid double free.
9137 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
9138 hostdisk.
9139 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
9140 * util/grub-probe.c (escape_of_path): Always return a new copy.
9141 (print_full_name): Escape path.
9142 (probe): Don't call grub_util_devname_to_ofpath on NULL.
9143 Fix hints on abstractions.
9144
ebe2c961
VS
91452012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9146
9147 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
9148 Don't add "root" line if no compatibility hont is available.
9149 Suggested by: Seth Goldberg.
9150
2b5336a2
VS
91512012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9152
9153 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
9154 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
9155 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
9156 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
9157
74310bd8
VS
91582012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9159
9160 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
9161
c30582ba
VS
91622012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9163
9164 * util/grub-pe2elf.c (ehdr): Make static.
9165 (shdr): Likewise.
9166 (num_sections): Likewise.
9167 (offset): Likewise.
9168
5f47782c
VS
91692012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9170
9171 Eliminate ofpath limits and possible overflows.
9172
9173 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
9174 (OF_PATH_MAX): Removed.
9175 (MAX_DISK_CAT): New const.
9176 (find_obppath): Use allocated rather than preallocated buffer.
9177 Return result. Argument of_path removed. All users updated.
9178 Add missing fdstat.
9179 (xrealpath): New function.
9180 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
9181 Allocate rather than use preallocated buffer. All users updated.
9182 (__of_path_common): Use allocated rather than preallocatecd buffer.
9183 Return result. Argument of_path removed. All users updated.
9184 (vendor_is_ATA): Read only needed part form the file.
9185 (check_sas): Allocate depending on contents rather than fixed.
9186 (main) [STANDALONE]: Handle NULL result.
9187
f990cbf9
VS
91882012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9189
9190 * grub-core/normal/completion.c (iterate_dev): Close the disk.
9191
9c6e84b8
VS
91922012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9193
9194 Cryptodisk write support.
9195
9196 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
9197 (grub_cryptodisk_decrypt): Moved logic to ...
9198 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
9199 (grub_cryptodisk_write): Implement.
9200 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
9201 (grub_util_fd_write): ... this. Make global.
9202 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
9203
87cf9744
VS
92042012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9205
9206 * include/grub/list.h (grub_list_remove): Don't crash if element is
9207 removed twice.
9208
ca8c0baf
VS
92092012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9210
9211 Rename ofconsole to console.
9212
9213 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
9214 as sysnonym to console.
9215 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
9216 * grub-core/term/ieee1275/console.c: ... this. All users updated.
9217 Rename grub_ofconsole_ to grub_console_. All users updated
9218 (grub_console_term_output): Rename "ofconsole" to "console".
9219 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
9220 as "console".
9221
64c8b8f6
VS
92222012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9223
9224 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
9225 handling.
9226 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
9227 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
9228 GRUB_DISK_DEVICE_FILE_ID.
9229
f6c434d5
VS
92302012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9231
9232 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
9233 and improve performance.
9234
5858b42d
VS
92352012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9236
9237 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
9238 missing ieee1275/ prefix on whole disk.
9239
4ed3c26b
VS
92402012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9241
9242 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
9243 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
9244
df71143e
VS
92452012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9246
9247 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
9248
076e7c0f
VS
92492012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9250
9251 Merge common RAID and LVM logic to an abstract diskfilter.
9252 Add LDM support using the same framework.
9253
9254 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
9255 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
9256 (libgrubmods): Remove grub-core/disk/raid.c and
9257 grub-core/partmap/gpt.c.
9258 * grub-core/Makefile.core.def (ldm): New module.
9259 (raid): Renamed to diskfilter. All users updated.
9260 * grub-core/disk/raid.c: Moved to ...
9261 * grub-core/disk/diskfilter.c: ... here.
9262 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
9263 (lv_num): New var.
9264 (find_array): Renamed to ...
9265 (find_lv): ... this. Support multi-LV. Skip nameless LVs
9266 (grub_is_array_readable): Renamed to ...
9267 (grub_is_lv_readable): ... this. Support multinode hierarchy.
9268 (insert_array): New argument id.
9269 (is_node_readable): New function.
9270 (scan_device): Rename to ...
9271 (scan_disk): .. this. Restrict to one disk.
9272 (scan_devices): New function.
9273 (grub_diskfilter_iterate): Support multi-LV.
9274 Skip invisible and nameless LVs.
9275 (grub_diskfilter_memberlist): Support multi-LV.
9276 (grub_diskfilter_read_node): New function.
9277 (grub_raid_read): Most of logic moved to ...
9278 (read_segment): ... here
9279 (read_lv): New function.
9280 (grub_diskfilter_get_vg_by_uuid): New function.
9281 (grub_diskfilter_make_raid): Likewise.
9282 * grub-core/disk/ldm.c: New file.
9283 * grub-core/disk/lvm.c (vg_list): Removed.
9284 (lv_count): Likewise.
9285 (scan_depth): Likewise.
9286 (is_lv_readable): Likewise.
9287 (grub_lvm_getvalue): Advance pointer past the number.
9288 (find_lv): Removed.
9289 (do_lvm_scan): Refactored into ...
9290 (grub_lvm_detect): ... this. Support raid.
9291 (grub_lvm_iterate): Removed.
9292 (grub_lvm_memberlist): Likewise.
9293 (grub_lvm_open): Likewise.
9294 (grub_lvm_close): Likewise.
9295 (read_lv): Likewise.
9296 (read_node): Likewise.
9297 (is_node_readable): Likewise.
9298 (is_lv_readable): Likewise.
9299 (grub_lvm_read): Likewise.
9300 (grub_lvm_write): Likewise.
9301 (grub_lvm_dev): Use diskfilter
9302 (GRUB_MOD_INIT): Likewise.
9303 (GRUB_MOD_FINI): Likewise.
9304 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
9305 new interface.
9306 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
9307 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9308 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
9309 grub_diskfilter_read_node.
9310 Fix a bug with xor.
9311 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
9312 grub_diskfilter_read_node.
9313 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
9314 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
9315 (grub_disk_dev_iterate): Move from here...
9316 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
9317 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
9318 Make global.
9319 (grub_hostdisk_find_partition_start): Likewise.
9320 (grub_hostdisk_os_dev_to_grub_drive): New function.
9321 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
9322 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
9323 * util/getroot.c (make_device_name): ... here.
9324 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
9325 Move to ...
9326 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
9327 * grub-core/kern/emu/hostdisk.c
9328 (convert_system_partition_to_system_disk): Move to ...
9329 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
9330 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
9331 * util/getroot.c (device_is_wholedisk): ... here.
9332 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
9333 * util/getroot.c (find_system_device): ... here.
9334 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
9335 Move to ...
9336 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
9337 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
9338 Move to ...
9339 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
9340 Handle LDM.
9341 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
9342 Move to ...
9343 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
9344 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
9345 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
9346 DISKFILTER.
9347 * include/grub/raid.h: Renamed to ...
9348 * include/grub/diskfilter.h: ... this.
9349 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
9350 (GRUB_RAID_LAYOUT_*): Make into array.
9351 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
9352 (grub_diskfilter_vg): New struct.
9353 (grub_diskfilter_pv_id): Likewise.
9354 (grub_raid_member): Removed.
9355 (grub_raid_array): Likewise.
9356 (grub_diskfilter_pv): New struct.
9357 (grub_diskfilter_lv): Likewise.
9358 (grub_diskfilter_segment): Likewise.
9359 (grub_diskfilter_node): Likewise.
9360 (grub_diskfilter_get_vg_by_uuid): New proto.
9361 (grub_raid_register): Inline.
9362 (grub_diskfilter_unregister): Likewise.
9363 (grub_diskfilter_make_raid): New proto.
9364 (grub_diskfilter_vg_register): Likewise.
9365 (grub_diskfilter_read_node): Likewise.
9366 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
9367 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
9368 (grub_util_is_ldm): Likewise.
9369 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
9370 (grub_hostdisk_find_partition_start): Likewise.
9371 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
9372 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
9373 New definition.
9374 (grub_gpt_partition_map_iterate): New proto.
9375 * include/grub/lvm.h (grub_lvm_vg): Removed.
9376 (grub_lvm_pv): Likewise.
9377 (grub_lvm_lv): Likewise.
9378 (grub_lvm_segment): Likewise.
9379 (grub_lvm_node): Likewise.
9380 * util/getroot.c [...]
9381 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
9382 (probe_abstraction): Likewise.
9383 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
9384 (main): Remove dead logic.
9385
8a7f9b9c
VS
93862012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
9387
9388 Simplify root device discover and don't fail when trying to open
9389 incorrect devices.
9390
9391 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
9392 function.
9393 (get_diskname_from_path): Likewise.
9394 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
9395 of iterating.
9396
30545b85
VS
93972012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9398
9399 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
9400
28ea58cf
VS
94012012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9402
9403 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
9404 pastthe end.
9405
692dabca
VS
94062012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9407
9408 * util/grub-install.in: Add missing \.
9409 Reported by: gentoofan
9410
f6e4ea70
VS
94112012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
9412
9413 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
9414 (direct_read): Use correct compressed size.
9415 (grub_squash_read_data): Likewise.
9416
94172012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
9418
9419 * docs/grub.texi (Platform limitations): New section.
9420 (Platform-specific operations): Likewise.
9421 * docs/grub-dev.texi (Porting): Likewise.
9422
76261110
VS
94232012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9424
9425 IEEE1275 disk write support.
9426
9427 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
9428 const void *.
9429 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
9430 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
9431 and seek loginc to ...
9432 (grub_ofdisk_prepare): ... here.
9433 (grub_ofdisk_write): Implement.
9434
fc36d603
VS
94352012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9436
9437 ARC disk write support.
9438
9439 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
9440 (reopen): New argument writable. All users updated.
9441 Handle required access mode.
9442 (grub_arcdisk_write): Implement.
9443 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
9444 (grub_arc_firmware_vector): Make buffer to write a const buffer.
9445
e06c2e7a
VS
94462012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9447
9448 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
9449 (read_sblock): Don't attempt to read superblocks outside the disk size.
9450
ff447958
VS
94512012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9452
9453 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
9454 first superblock to find the second one when possible.
9455
9e88df39
VS
94562012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9457
9458 * util/grub-install.in: Fix an ARC bug.
9459 Print a warning if no platform-specific setup is available.
9460
bb26e4ff
VS
94612012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9462
9463 Use static allocation rather than scratch pointer in reed_solomon.
9464 It decreases its size significantly and avoids a variable in .text.
9465
9466 * grub-core/lib/reed_solomon.c (scratch): Removed.
9467 (chosenstat): New const or static array.
9468 (sigma): Likewise.
9469 (errpot): Likewise.
9470 (errpos): Likewise.
9471 (sy): Likewise.
9472 (mstat): Likewise.
9473 (errvals): Likewise.
9474 (eqstat): Likewise.
9475 (pol_evaluate): Replace x with log_x argument. All users updated.
9476 (syndroms): Removed.
9477 (gauss_solve): Use statically allocated arrays.
9478 (rs_recover): Likewise.
9479 Calculate syndroms directly.
9480 (decode_block): Use statically allocated arrays.
9481 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
9482 (main) [TEST]: Allow -DTEST -DSTANDALONE.
9483
2e13ede5
VS
94842012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9485
9486 Eliminate fixed limit on reed solomon decoder length.
9487
9488 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
9489 rather than hardcoding the address.
9490 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
9491 no_reed_solomon_length.
9492 Move gate_a20 to no-reed-solomon part.
9493 Don't force a particular size of no reed-solomon part.
9494 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
9495 Removed.
9496 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
9497 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
9498
f8a9ab12
VS
94992012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9500
9501 * grub-core/commands/wildcard.c (match_files): Handle filenames
9502 without explicit device.
9503 (wildcard_expand): Don't add explicit device if not already present.
9504 * tests/grub_script_echo1.in: Add a new expansion test.
9505
87edb894
VS
95062012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9507
9508 Replace single-linked with double-linked lists. It results in more
9509 compact and more efficient code.
9510
9511 * grub-core/kern/list.c (grub_list_push): Moved from here ...
9512 * include/grub/list.h (grub_list_push): ... to here. Set prev.
9513 (grub_list_remove): Moved from here ...
9514 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
9515 (grub_prio_list_insert): Set prev.
9516 * include/grub/list.h (grub_list): Add prev. All users updated.
9517
48b391e9
VS
95182012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9519
9520 Handle newer autotools. Add some missing quotes while on it.
9521
9522 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
9523 (pkglib_DATA): Move grub-mkconfig_lib from here ...
9524 (pkgdata_DATA): ... here.
9525 * Makefile.util.def (update-grub_lib): Removed.
9526 * conf/Makefile.common (pkglib_DATA): Removed.
9527 (pkglib_SCRIPTS): Likewise.
9528 (pkgdata_DATA): New variable.
9529 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
9530 needed.
9531 Add missing quotes.
9532 Remove unused variable while on it.
9533 * tests/util/grub-shell.in: Likewise.
9534 * util/grub-install.in: Likewise.
9535 * util/grub-mkconfig.in: Likewise.
9536 * util/grub-mknetdir.in: Likewise.
9537 * util/grub-mkrescue.in: Likewise.
9538 * util/grub-mkstandalone.in: Likewise.
9539 * util/grub.d/00_header.in: Likewise.
9540 * util/grub.d/10_hurd.in: Likewise.
9541 * util/grub.d/10_illumos.in: Likewise.
9542 * util/grub.d/10_kfreebsd.in: Likewise.
9543 * util/grub.d/10_linux.in: Likewise.
9544 * util/grub.d/10_netbsd.in: Likewise.
9545 * util/grub.d/10_windows.in: Likewise.
9546 * util/grub.d/20_linux_xen.in: Likewise.
9547 * util/grub.d/30_os-prober.in: Likewise.
9548 * util/update-grub_lib.in: Removed.
9549
95502012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
9551
9552 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
9553 a workaround for intel problem.
9554
66832792
PRP
95552012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
95562012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
95572012-01-23 pfsmorigo
9558
9559 * util/grub-install.in: Support dd'in into PreP partition.
9560 * util/grub-probe.c (probe): Support discovering partition type.
9561 (main): Support -t msdos_parttype.
9562
7816a17e
VS
95632012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
9564
9565 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
9566 infinite recursion using counter.
9567 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
9568 init to skip it if the magic check fails.
9569 (dec_stream_header): Init s->crc32.
9570
8f9d3a8c
ZB
95712012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
95722012-01-22 Zachary Bedell <pendorbound@gmail.com>
95732012-01-22 Richard Laager <rlaager@wiktel.com>
9574
9575 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
9576 All users updated.
9577 (find_bestub): Determine correct size.
9578 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
9579 (scan_disk): Align the size down.
9580 Call check pool before find_bestub to have ashift.
9581
b055dd32
VS
95822012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9583
9584 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
9585 dprintf in no-malloc zone.
9586
d779e9bd
ML
95872012-01-22 Mario Limonciello <mario_limonciello@dell.com>
9588
9589 * configure.ac: Add back in test for limits.h.
9590
b508af69
VS
95912012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9592
9593 Support 4K-sector NTFS.
9594
9595 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
9596 (grub_ntfs_data): Remove blocksize.
9597 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
9598 Remove data argument. All users updated.
9599
dad9c8b5
VS
96002012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9601
9602 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
9603 being in .text to avoid dprel references.
9604 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
9605 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
9606 (grub_arch_highmemsize): Likewise.
9607 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
9608 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
9609 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
9610
d43a777e
VS
96112012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9612
9613 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
9614
9615 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
9616 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
9617
34e4208f
VS
96182012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9619
9620 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
9621 GRUB_UTIL.
9622 (grub_set_datetime_cmos): Likewise.
9623
3ec0fc1c
VS
96242012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9625
9626 Make XZ compression parameters dependent on target and not host CPU.
9627
9628 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
9629 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
9630
22489834
VS
96312012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9632
9633 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
9634 set but not used variable.
9635
8502fbca
VS
96362012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9637
9638 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
9639 created when no uuid support is compiled into mkfs.reiser.
9640
76df2068
VS
96412012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9642
9643 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
9644 (utf8_to_macroman): Do the opposite.
9645 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
9646
64e3f8f6
VS
96472012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9648
9649 * configure.ac: Refise build qemu_mips w/o unifont.
9650
9c271078
VS
96512012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9652
9653 Eliminate grub_min/grub_max prone to overflow usage.
9654
9655 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
9656 (poll_nonroot_hub): Likewise.
9657 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
9658 (grub_affs_label): Likewise.
9659 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
9660 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
9661 (grub_hfs_label): Likewise.
9662 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
9663 * grub-core/fs/zfs/zfs.c (MIN): Remove.
9664 (zap_leaf_array_equal): Use grub_size. Remove MIN.
9665 (zap_leaf_array_get): Likewise.
9666 (dnode_get_path): Likewise.
9667 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
9668 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
9669 * grub-core/script/execute.c (grub_script_break): Likewise.
9670 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
9671 grub_max.
9672 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
9673 * include/grub/misc.h (grub_min): Removed.
9674 (grub_max): Likewise.
9675
80662dbc
VS
96762012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
9677
9678 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
9679 direct.inode = 0.
9680
e6da1467
VS
96812012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9682
9683 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
9684
b1ac4cb1
VS
96852012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9686
9687 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
9688
b4bf7c3b
VS
96892012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9690
9691 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
9692 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
9693
8ee1101a
VS
96942012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9695
9696 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
9697 rather than a hack for grub_strncasemap.
9698
96992012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9700
9701 Support multiple initrds
9702 Note: part of this was accidently committed in r3739.
9703
9704 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
9705 initrd.
9706 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
9707 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
9708 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9709 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9710 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9711
4d1e2bc9
VS
97122012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9713
9714 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
9715 disks with unknown size.
9716 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
9717
75b49ebe
VS
97182012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9719
9720 Remove defines pertaining to arbitrary limits not affecting GRUB
9721 anymore.
9722
9723 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
9724 (EXT2_MAX_SYMLINKCNT): Likewise.
9725 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
9726 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
9727 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
9728 (GRUB_PXE_MAX_BLKSIZE): Likewise.
9729 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
9730 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
9731 (DN_MAX_OBJECT_SHIFT): Likewise.
9732 (DN_MAX_OFFSET_SHIFT): Likewise.
9733 (DN_MAX_OBJECT): Likewise.
9734 (DNODES_PER_LEVEL_SHIFT): Likewise.
9735 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
9736 (SPA_MAXBLOCKSIZE): Likewise.
9737 (SPA_BLOCKSIZES): Likewise.
9738 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
9739 (MZAP_MAX_BLKSZ): Likewise.
9740
74a1dce7
VS
97412012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9742
9743 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
9744 handle NULL appropriately.
9745 Remove MIN.
9746
30c7d3ce
VS
97472012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9748
9749 Fix efiemu.
9750
9751 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
9752 cpu/types.h.
9753 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
9754 * configure.ac: Fix efiemu check.
9755
3c76ea0c
VS
97562012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9757
9758 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
9759 grub_probe.
9760 Reported by: adamwill
9761
7e532280
SG
97622012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
9763
9764 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
9765
30492374
VS
97662012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9767
9768 Fix handling of wide characters in gfxterm.
9769
9770 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
9771 (clear_char): Likewise.
9772 (paint_char): Skip code == NULL chars.
9773 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
9774
e70cb72f
VS
97752012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9776
9777 * grub-core/normal/charset.c: Move comment to right place.
9778
5c827cf9
VS
97792012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9780
9781 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
9782 (GRUB_AFFS_FLAG_FFS): Put back where it was.
9783 (grub_affs_mount): Revert the correct version checking.
9784
53603892
VS
97852012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9786
9787 * docs/grub.texi (Unicode): Mention several other unsupported features.
9788
ff094b9b
VS
97892011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9790
9791 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
9792 case statements as compile-time one.
9793 (direct_read): Prevent spurious warnings.
9794 (grub_squash_read_data): Likewise.
9795
c029da8a
VS
97962011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9797
9798 Various squash4 fixes and LZO and XZ support.
9799
9800 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
9801 Add xzembed source files.
9802 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
9803 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
9804 (grub_squash_inode): New subtype long_dir.
9805 (SQUASH_TYPE_LONG_DIR): New inode type.
9806 (COMPRESSION): New enum.
9807 (XZBUFSIZ): New const.
9808 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
9809 (read_chunk): Use data->decompress.
9810 (zlib_decompress): New function.
9811 (lzo_decompress): Likewise.
9812 (xz_decompress): Likewise.
9813 (squash_mount): Set new data fields.
9814 (grub_squash_iterate_dir): Handle long dir.
9815 (squash_unmount): Free xzdec and xzbuf.
9816 (grub_squash_open): Check ino type.
9817 (direct_read): Stylistic fixes. Use data->decompress.
9818 (grub_squash_read_data): Likewise.
9819 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
9820 (get_byte): Likewise.
9821 (grub_zlib_disk_read): Removed.
9822 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
9823 (GRUB_POSIX_BOOL_DEFINED): New define.
9824 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
9825 * grub-core/lib/xzembed/xz.h: Addmissing includes.
9826 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
9827 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
9828
7a45a539
VS
98292011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9830
9831 Don't override more informative errors.
9832
9833 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
9834 * grub-core/font/font.c (open_section): Likewise.
9835 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
9836 filename. Don't override errors.
9837 (grub_cmd_openbsd_ramdisk): Don't override errors.
9838 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
9839 (grub_cmd_initrd): Likewise.
9840 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9841 (grub_cmd_initrd): Likewise.
9842 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
9843 (grub_cmd_linux): Likewise.
9844 (grub_cmd_initrd): Likewise.
9845 (grub_cmd_payload): Likewise.
9846 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9847 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
9848 (grub_cmd_module): Likewise.
9849 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9850 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9851 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
9852 (grub_cmd_xnu_mkext): Likewise.
9853 (grub_cmd_xnu_ramdisk): Likewise.
9854 (grub_xnu_check_os_bundle_required): Likewise.
9855 (grub_xnu_load_kext_from_dir): Likewise.
9856 (grub_cmd_xnu_kextdir): Likewise.
9857 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
9858
b2d004db
VS
98592011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9860
9861 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
9862 as 1024 in block size field. Found on one of my test images.
9863 Small optimisation while on it.
9864
ec000eac
VS
98652011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9866
9867 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
9868 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
9869 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
9870 performance fixes while on it.
9871 (grub_sfs_close): Fix memory leak while on it.
9872 (grub_sfs_label): Convert Latin1 to UTF-8.
9873
f50e1165
VS
98742011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9875
9876 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
9877 space to avoid overflows.
9878 (grub_hfs_label): Convert from macroman to UTF-8.
9879
2ae254de
VS
98802011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9881
9882 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
9883
0108f491
VS
98842011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9885
9886 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
9887
f45f5f89
VS
98882011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9889
9890 * unicode: Import Unicode 6.0 data.
9891
4d8c4765
VS
98922011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9893
63fa8ef9
VS
9894 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
9895 outside of range.
9896
98972011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9898
9899 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
9900
9901 * include/grub/charset.h (grub_getend): New function.
9902 * grub-core/script/function.c (grub_script_function_find): Use
9903 grub_getend.
9904 * grub-core/normal/completion.c (add_completion): Likewise.
9905
f3cb4a4e
VS
99062011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9907
9908 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
9909 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
9910 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
9911 (GRUB_UNICODE_TAG_END): Likewise.
9912 (GRUB_UNICODE_LAST_VALID): Likewise.
9913
5da8dbc5
VS
99142011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9915
9916 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
9917 len and make it smaller. All users updated.
9918 * util/import_unicode.py: Put length and not end character.
9919 Check length.
9920
8569f13d
VS
99212011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9922
9923 Make better Unicode-compliant and unify some UTF-8 code pathes.
9924
9925 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
9926 valid character.
9927 (grub_is_valid_utf8): Use grub_utf8_process.
9928 Check resulting code range.
9929 (grub_utf8_to_ucs4): Use grub_utf8_process.
9930 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
9931 valid character.
9932
cc4fddf5
VS
99332011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9934
9935 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
9936
bbc47747
VS
99372011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9938
9939 * docs/grub.texi (Filesystems): Mention AFS.
9940
f63d6bf4
VS
99412011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9942
9943 * docs/grub.texi (Filesystems): Clarify restrictions.
9944 (Regexp): Mention non-Unicode regexp behaviour.
9945 (Other): Mention non-Unicode matching behaviour.
9946
74bbf0db
VS
99472011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9948
f63d6bf4 9949 Make HFS implementation use MacRoman.
74bbf0db
VS
9950
9951 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
9952 (macroman): New const array.
9953 (macroman_to_utf8): New function.
9954 (utf8_to_macroman): Likewise.
9955 (grub_hfs_find_dir): Use utf8_to_macroman.
9956 (grub_hfs_dir): Use macroman_to_utf8.
9957 Set case_insensitive.
9958
4ea0316e
VS
99592011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9960
9961 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
9962
d3c13cbd
VS
99632011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9964
9965 Integrate hints into autogeneration scripts.
9966
9967 * docs/grub.texi (Filesystems): Add a hostdisk example.
9968 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
9969 (grub-probe): Add ofpath.
9970 * gentpl.py: Remove group nosparc64.
9971 * grub-core/commands/search.c (cache_entry): New struct.
9972 (cache): New var.
9973 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
9974 * grub-core/commands/search_wrap.c (options): Add platform-specific
9975 hint options.
9976 (grub_cmd_search): Handle platform-specific hints.
9977 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
9978 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
9979 (grub_util_biosdisk_data): Likewise.
9980 (grub_util_biosdisk_open): Set device_map.
9981 (read_device_map): Handle "" as indication of no map.
9982 Set device_map.
9983 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
9984 (grub_util_biosdisk_get_compatibility_hint): New function.
9985 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
9986 * include/grub/emu/hostdisk.h
9987 (grub_util_biosdisk_get_compatibility_hint): New proto.
9988 * util/grub-install.in: Don't call grub-mkdevicemap.
9989 Add platform-specific hint to load.cfg.
9990 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
9991 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
9992 hints. Set root preliminary to compatibility hint, not to OS name.
9993 * util/grub-probe.c (PRINT_*): Add hints.
9994 (print): Make static.
9995 (escape_of_path): New function.
9996 (guess_bios_drive): Likewise.
9997 (guess_efi_drive): Likewise.
9998 (guess_baremetal_drive): Likewise.
9999 (print_full_name): Likewise.
10000 (probe): Handle hints.
10001 (main): Likewise.
10002 * util/ieee1275/devicemap.c: Removed.
10003 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
10004 updated.
10005 (grub_util_devname_to_ofpath): Return NULL on failure.
10006
10007 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
10008 resource leak.
10009 * util/getroot.c (grub_util_pull_device): Fix memory leak.
10010
10011 * po/POTFILES.in: Regenerated.
10012
10013 Allow purely long options
10014
10015 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
10016 (SHORT_ARG_USAGE): Likewise.
10017 (grub_arg_show_help): Compare opt with help_options.
10018 (parse_option): Receive opt as argument. If makes big simplificatons.
10019 All users updated
10020
00ce2df3
VS
100212011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10022
10023 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
10024 Restructure to avoid warning.
10025
e77e325f
VS
100262011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10027
10028 * util/grub-install.in: Account for possible escaped comma in device
10029 name.
10030
165099ea
VS
100312011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10032
10033 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
10034 channel.
10035
ce4a999d
VS
100362011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10037
10038 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
10039 allocation and zero-setting.
10040 (grub_ieee1275_get_devname): Check that alias is complete.
10041
379586ad
VS
100422011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10043
10044 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
10045 unaligned segments.
10046
9197b0ad
VS
100472011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10048
10049 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
10050 prefix.
10051 (grub_ofdisk_open): Check and discard ieee1275 prefix.
10052 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
10053 Add ieee1275 prefix.
10054
edddb7f9
VS
100552011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10056
10057 * docs/grub.texi (Filesystems): Update.
10058
a1a8b1b9
VS
100592011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10060
10061 Support odc, newc and bigendian cpio formats.
10062
10063 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
10064 * grub-core/Makefile.core.def (newc): New module.
10065 (odc): Likewise.
10066 (cpio_be): Likewise.
10067 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
10068 (MAGIC): Likewise.
10069 (MAGIC2): Likewise.
10070 (head) [MODE_ODC]: Adapt for the format.
10071 (head) [MODE_NEWC]: Likewise.
10072 (head) [!MODE_*]: Write fields of interest as arrays.
10073 (MAGIC_USTAR): Removed.
10074 (read_number) [MODE_NEWC]: Change to hex.
10075 (read_number) [!MODE_*]: Parse binary arrays.
10076 (grub_cpio_find_file): Factor out the code for better structure and
10077 always use read_number.
10078 (grub_cpio_mount): Use MAGIC and MAGIC2.
10079 (grub_cpio_dir): Exit on first hook non-0 return.
10080 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
10081 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
10082 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
10083 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
10084 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
10085 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
10086 * grub-core/fs/newc.c: New file.
10087 * grub-core/fs/odc.c: Likewise.
10088 * grub-core/fs/cpio_be.c: Likewise.
10089
58eba9ee
VS
100902011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10091
10092 Fix handling of tar numbers occupying the whole field.
10093
10094 * grub-core/fs/cpio.c (read_number): New function.
10095 (grub_cpio_find_file): Use read_number instead of strtoull.
10096
a54a0e12
VS
100972011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10098
10099 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
10100 occupying the whole field size.
10101
a6120aca
LA
101022011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
10103
10104 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
10105
a93964ce
VS
101062011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10107
10108 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
10109
3ea1ca46
SG
101102011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
10111
10112 * grub-core/Makefile.core.def (lzma_decompress): Add missing
10113 TARGET_IMG_LDFLAGS.
10114
b87f7ef2
VS
101152011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10116
10117 * util/getroot.c (ESCAPED_PATH_MAX): New define.
10118 (mountinfo_entry): Increase the field size to take escaping into
10119 account.
10120 (find_root_device_from_libzfs): Add one byte to size of strings for
10121 security.
10122
62092395
VS
101232011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10124
10125 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
10126 an assert.
10127 * util/grub-setup.c (setup): Likewise.
10128
1f0b1a77
VS
101292011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10130
10131 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
10132 _LzmaDecodeA.
10133
8eba9997
VS
101342011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10135
10136 * docs/grub.texi (Internationalisation): New section.
10137
dd0c91e9
VS
101382011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10139
10140 * docs/grub.texi (Loopback booting): New section.
10141
101422011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
10143
10144 * util/grub-mkstandalone.in: Fix minor typo errors.
10145
198e150a
VS
101462011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10147
10148 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
10149
10150 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
10151 net/icmp.c and net/icmp6.c.
10152 (http): New module.
10153 (priority_queue): Likewise.
10154 * grub-core/io/bufio.c: Rewritten.
10155 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
10156 TYPE_WITH_CONFIGFILE_OPTION.
10157 (legacy_commands): Add bootp and dhcp.
10158 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
10159 (grub_legacy_parse): Likewise.
10160 * grub-core/lib/priority_queue.c: New file.
10161 * grub-core/net/arp.c: Add missing license header.
10162 (arp_find_entry): Removed.
10163 (arp_find_entry): Likewise.
10164 (grub_net_arp_resolve): Rename to ...
10165 (grub_net_arp_send_request): ...this.
10166 (grub_net_arp_receive): New card argument.
10167 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
10168 Set router and DNS server.
10169 (grub_net_configure_by_dhcp_ack): Handle routing information.
10170 (grub_cmd_bootp): Set checksum.
10171 (grub_bootp_init): Remove net_dhcp.
10172 * grub-core/net/dns.c: New file.
10173 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
10174 completion.
10175 (get_card_packet): Handle allocation.
10176 (grub_efinet_findcards): Set mtu.
10177 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
10178 (get_card_packet): Handle allocation.
10179 (emucard): Set mtu.
10180 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
10181 (GRUB_MOD_INIT): Set mtu.
10182 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
10183 mtu.
10184 (get_card_packet): Handle allocation.
10185 (grub_ofnet_findcards): Set mtu.
10186 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
10187 assert.
10188 (grub_net_recv_ethernet_packet): Handle IPv6.
10189 * grub-core/net/http.c: New file.
10190 * grub-core/net/icmp.c: Likewise.
10191 * grub-core/net/icmp6.c: Likewise.
10192 * grub-core/net/ip.c (ip6addr): New type.
10193 (ip6hdr): Likewise.
10194 (reassemble): Likewise.
10195 (cmp): New function.
10196 (reassembles): New variable.
10197 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
10198 (id): New variable.
10199 (send_fragmented): New function.
10200 (grub_net_send_ip_packet): Rename to ...
10201 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
10202 Handle non-UDP.
10203 (grub_net_recv_ip_packets): Rename to ...
10204 (handle_dgram): ... this. Check checksum. Handle non-UDP.
10205 (free_rsm): New function.
10206 (free_old_fragments): Likewise.
10207 (grub_net_recv_ip4_packets): New function.
10208 (grub_net_send_ip6_packet): Likewise.
10209 (grub_net_send_ip_packet): Likewise.
10210 (grub_net_recv_ip6_packets): Likewise.
10211 (grub_net_recv_ip_packets): Likewise.
10212 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
10213 (LINK_LAYER_CACHE_SIZE): New const.
10214 (link_layer_find_entry): New function.
10215 (grub_net_link_layer_add_address): Likewise.
10216 (grub_net_link_layer_resolve_check): Likewise.
10217 (grub_net_link_layer_resolve): Likewise.
10218 (grub_net_ipv6_get_slaac): Likewise.
10219 (grub_net_ipv6_get_link_local): Likewise.
10220 (grub_cmd_ipv6_autoconf): Likewise.
10221 (parse_ip): Handle one number representation.
10222 (parse_ip6): New functoion.
10223 (match_net): Handle IPv6.
10224 (grub_net_resolve_address): Handle IPv6 and DNS.
10225 (grub_net_resolve_net_address): Handle IPv6.
10226 (route_cmp): New function.
10227 (grub_net_route_address): Find best route.
10228 (grub_net_addr_to_str): Handle IPv6.
10229 (grub_net_addr_cmp): New function.
10230 (grub_net_add_addr): Register local route.
10231 (print_net_address): Handle net address.
10232 (grub_net_poll_cards): Retransmit TCP.
10233 (grub_net_poll_cards_idle_real): Likewise.
10234 (have_ahead): New function.
10235 (grub_net_seek_real): Use underlying seek.
10236 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
10237 * grub-core/net/tcp.c: New file.
10238 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
10239 (cmp): New function.
10240 (ack): Likewise.
10241 (tftp_receive): Handle unordered input.
10242 (destroy_pq): New function.
10243 (tftp_close): Close pq.
10244 * grub-core/net/udp.c: Put missing license header.
10245 (grub_net_udp_socket): New function.
10246 (udp_socket_register): Likewise.
10247 (grub_net_udp_close): Likewise.
10248 (grub_net_recv_udp_packet): Check checksum.
10249 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
10250 * include/grub/misc.h (grub_memchr): New function.
10251 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
10252 (grub_net_card_driver): Return buf in recv.
10253 (grub_net_slaac_mac_list): New struct.
10254 (grub_network_level_protocol_id): Add ipv6.
10255 (grub_net_network_level_addr): Likewise.
10256 (grub_net_network_level_net_addr): Likewise.
10257 (grub_net_app_protocol): Add seek.
10258 (grub_net_socket): Removed.
10259 (grub_net_sockets): Likewise.
10260 (grub_net_socket_register): Likewise.
10261 (grub_net_socket_unregister): Likewise.
10262 (FOR_NET_SOCKETS): Likewise.
10263 (grub_net_add_addr): Add const.
10264 (GRUB_NET_BOOTP_*): New enum.
10265 (grub_net_addr_cmp): New proto.
10266 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
10267 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
10268 (grub_net_hwaddr_to_str): NEw proto.
10269 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
10270 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
10271 (grub_dns_init): New proto.
10272 (grub_dns_fini): Likewise.
10273 (grub_net_tcp_retransmit): Likewise.
10274 (grub_net_link_layer_add_address): Likewise.
10275 (grub_net_link_layer_resolve_check): Likewise.
10276 (grub_net_link_layer_resolve): Likewise.
10277 (grub_net_dns_lookup): Likewise.
10278 (grub_net_add_dns_server): Likewise.
10279 (grub_net_remove_dns_server): Likewise.
10280 (GRUB_NET_TRIES): New const.
10281 (GRUB_NET_INTERVAL): Likewise.
10282 * include/grub/net/arp.h: Mostly rewritten.
10283 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
10284 * include/grub/net/ip.h: Mostly rewritten.
10285 * include/grub/net/netbuff.h: Indent.
10286 * include/grub/net/tcp.h: New file.
10287 * include/grub/net/udp.h: Mostly rewritten.
10288 * include/grub/priority_queue.h: New file.
10289 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
10290 (grub_swap_bytes64_compile_time): Likewise.
10291 (grub_cpu_to_be16_compile_time): Likewise.
10292 (grub_cpu_to_be32_compile_time): Likewise.
10293 (grub_cpu_to_be64_compile_time): Likewise.
10294 (grub_be_to_cpu64_compile_time): Likewise.
10295
215c1800
VS
102962011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
10297
10298 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
10299 UINT_TO_PTR with cast.
10300
c17e546c
VS
103012011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10302
10303 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
10304 don't use them.
10305
ff6b18b6
VS
103062011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10307
10308 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
10309 already there.
10310
70ffcc93
VS
103112011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10312
10313 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
10314 confusing ipxe.
10315
e5f4d260
VS
103162011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10317
10318 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
10319 Add missing const attribute.
10320 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
10321 Likewise.
10322 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
10323 Likewise.
10324
8e54b4b7
VS
103252011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10326
10327 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
10328 misaligned access.
10329 (serpent_setkey): Likewise.
10330 (serpent_encrypt_internal): Likewise.
10331 (serpent_decrypt_internal): Likewise.
10332 (serpent_encrypt): Don't put an alignment-increasing cast.
10333 (serpent_decrypt): Likewise.
10334 (serpent_test): Likewise.
10335
813c0a2b
VS
103362011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10337
10338 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
10339
f2b60fbd
VS
103402011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10341
10342 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
10343
10344 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
10345 grub_addr_t casts.
10346 (PTR_TO_UINT64): Likewise.
10347 (PTR_TO_UINT32): Likewise.
10348
5ef5c511
VS
103492011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10350
10351 * util/grub-mkimage.c (generate_image): Decrease the higher limit
10352 because of stack.
10353 * util/grub-setup.c (setup): Don't add redundancy past the higher load
10354 limit.
10355
c476e6df
VS
103562011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10357
10358 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
10359 text_width > available width a bit more gracefully.
10360
384ad7cc
VS
103612011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10362
10363 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
10364 current address calculation.
10365
96f8caf8
VS
103662011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10367
10368 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
10369 stack.
10370 (encode_block): Likewise.
10371
276b7a8b
VS
103722011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10373
10374 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
10375 certainety.
10376
e3fd394a
VS
103772011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10378
10379 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
10380 non-RS part to avoid RS messing with GDT.
10381 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
10382 Increase to suit in realmode routines.
10383
103842011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10385
10386 * grub-core/kern/i386/realmode.S: Increase alignment.
10387 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
10388
ee9c2e7a
VS
103892011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10390
10391 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
10392 be deterministic.
10393 (syndroms): Compute 0 syndrom.
10394 (rs_recover): Use 0 syndrom.
10395
7a7f7cc9
VS
103962011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10397
10398 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
10399
a14b16d1
VS
104002011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10401
10402 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
10403 brackets.
10404
9f59e9fc
VS
104052011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10406
ca1b552c
VS
10407 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
10408 account.
10409 (get_top_pad): Likewise.
10410 (get_right_pad): Likewise.
10411 (get_bottom_pad): Likewise.
10412
104132011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10414
10415 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 10416
e739d698
VS
104172011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10418
10419 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
10420 attribute as the structure isn't guaranteed to be properly aligned.
10421 (grub_efi_pci_device_path): Likewise.
10422 (grub_efi_pccard_device_path): Likewise.
10423 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
10424 specify the size of `memory_type'.
10425 (grub_efi_vendor_device_path): Likewise.
10426 (grub_efi_controller_device_path): Likewise.
10427 (grub_efi_acpi_device_path): Likewise.
10428 (grub_efi_expanded_acpi_device_path): Likewise.
10429 (grub_efi_atapi_device_path): Likewise.
10430 (grub_efi_scsi_device_path): Likewise.
10431 (grub_efi_fibre_channel_device_path): Likewise.
10432 (grub_efi_1394_device_path): Likewise.
10433 (grub_efi_usb_device_path): Likewise.
10434 (grub_efi_usb_class_device_path): Likewise.
10435 (grub_efi_i2o_device_path): Likewise.
10436 (grub_efi_mac_address_device_path): Likewise.
10437 (grub_efi_ipv4_device_path): Likewise.
10438 (grub_efi_ipv6_device_path): Likewise.
10439 (grub_efi_infiniband_device_path): Likewise.
10440 (grub_efi_uart_device_path): Likewise.
10441 (grub_efi_vendor_messaging_device_path): Likewise.
10442 (grub_efi_hard_drive_device_path): Likewise.
10443 (grub_efi_cdrom_device_path): Likewise.
10444 (grub_efi_vendor_media_device_path): Likewise.
10445 (grub_efi_file_path_device_path): Likewise.
10446 (grub_efi_protocol_device_path): Likewise.
10447 (grub_efi_piwg_device_path): Likewise.
10448 (grub_efi_bios_device_path): Likewise.
10449
cb8f88ea
VS
104502011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10451
10452 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
10453 (grub_ucs4_to_utf8_alloc): Likewise.
10454 (grub_ucs4_to_utf8): Likewise.
10455 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
10456 (grub_ucs4_to_utf8_alloc): Likewise.
10457
309e5352
VS
104582011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10459
10460 AFFS never uses unicode.
10461
10462 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
10463 (grub_latin1_to_utf8): New inline function.
10464 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
10465
e7987e1b
VS
104662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10467
10468 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
10469 overflow.
10470
efc2616e
VS
104712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10472
10473 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
10474 (grub_squash_dirent_header): Likewise.
10475 (read_chunk): Don't double swap.
10476 (grub_squash_iterate_dir): Fix swap sizes.
10477
3c349f5a
VS
104782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10479
10480 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
10481
b453412d
VS
104822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10483
10484 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
10485 (grub_hfs_iterate_dir): Likewise.
10486
12e9d4d1
VS
104872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10488
10489 Fix video on platforms where unaligned access is forbidden.
10490 Make several optimisations while on it.
10491
10492 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
10493 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10494 (grub_video_fbblit_replace_32bit_1bit): Likewise.
10495 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
10496 Disable.
10497 (grub_video_fbblit_replace_16bit_1bit):
10498 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10499 (grub_video_fbblit_replace_8bit_1bit): Likewise.
10500 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
10501 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
10502 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
10503 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
10504 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
10505 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
10506 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
10507 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
10508 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
10509 (grub_video_fbblit_replace_index_RGB888): Likewise.
10510 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
10511 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
10512 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
10513 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
10514 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
10515 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
10516 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
10517 Disable.
10518 (grub_video_fbblit_blend_XXX565_1bit):
10519 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10520 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
10521 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
10522 void *.
10523 * grub-core/video/fb/video_fb.c (common_blitter)
10524 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
10525 (grub_video_fb_create_render_target_from_pointer)
10526 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
10527 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
10528 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
10529 definition.
10530 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
10531
ace96609
VS
105322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10533
10534 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
10535 HH22 and HM10 relocations.
10536
fd261d73
VS
105372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10538
10539 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
10540
e59b7857
VS
105412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10542
10543 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
10544 allocation succeeded.
10545
9b4baaa4
VS
105462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10547
10548 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
10549 argument a u8 pointer. All users updated.
10550 Handle unaligned buffers.
10551
dc713193
VS
105522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10553
10554 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
10555 add_part to workaround compiler bug.
10556
30dd48c2
VS
105572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10558
10559 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
10560
0c6087a8
VS
105612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10562
10563 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
10564 Reserve alignment invariants.
10565 (grub_multiboot_load): Likewise.
10566 (retrieve_video_parameters): Likewise.
10567 (grub_multiboot_make_mbi): Likewise.
10568
c2e77777
VS
105692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10570
10571 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
10572 incorrect pointer.
10573
b70b6d11
VS
105742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10575
10576 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
10577 (grub_pata_pio_write): Likewise.
10578
02a2bf83
VS
105792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10580
10581 Add noreturn attributes and remove unreachable code.
10582
10583 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
10584 code.
10585 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
10586 code. Mark as noreturn.
10587 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
10588 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
10589 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
10590 unreachable code.
10591 * grub-core/kern/main.c (grub_main): Mark as noreturn.
10592 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
10593 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
10594 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
10595 * include/grub/kernel.h (grub_main): Mark as noreturn.
10596 * include/grub/reader.h (grub_rescue_run): Likewise.
10597
2019d09e
VS
105982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10599
10600 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
10601 redundant declaration.
10602
d1c501ee
VS
106032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10604
10605 * include/grub/net.h (grub_net_network_level_interfaces): Remove
10606 redundant declaration.
10607 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
10608
61664420
VS
106092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10610
10611 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
10612 to ensure alignment.
10613 (grub_hdparm_print_identify): Make argument uint16 * to ensure
10614 alignment. Ensure tmp alignment.
10615 (grub_cmd_hdparm): Ensure buf alignment.
10616 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
10617 to ensure alignment.
10618 (grub_ata_dumpinfo): Ensure text alignment.
10619 (grub_atapi_identify): Preserve alignment invariant.
10620 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
10621
0d51ee20
VS
106222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10623
10624 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
10625 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
10626 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
10627 * include/grub/misc.h (grub_reboot)
10628 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
10629 (grub_halt) [__mips__]: Likewise.
10630
753ef8c1
VS
106312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10632
10633 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
10634 Remove redundant declaration.
10635 (grub_mmap_get_post64): Likewise.
10636 (grub_mmap_get_upper): Likewise.
10637 (grub_mmap_get_lower): Likewise.
10638
85c85365
VS
106392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10640
10641 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
10642 uint32_t * to ensure alignment.
10643 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
10644
a23f2cc4
VS
106452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10646
93018f64
VS
10647 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
10648 uint16_t * to ensure alignment.
10649 (sun_pc_partition_map_iterate): Make `block' a union to ensure
10650 alignment.
10651
106522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10653
10654 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
10655 to ensure alignment.
10656 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
10657
58acccd6
VS
106582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10659
10660 * grub-core/fs/ntfs.c (u16at): Make into inline function.
10661 Handle unaligned pointers.
10662 (u32at): Likewise.
10663 (u64at): Likewise.
10664 (fixup): Use byte access instead of v16at.
10665 (find_attr): Fix imporper usage of v32at.
10666 (read_data): Likewise.
10667 (list_file): Handle byte-swapping and unaligned strings.
10668 (grub_ntfs_label): Likewise.
10669
9b05cad7
VS
106702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10671
10672 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
10673 as it's not necessarily aligned.
10674
b3950b84
VS
106752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10676
10677 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
10678 redundant declaration.
10679 (grub_serial_init): Likewise.
10680 (grub_terminfo_init): Likewise.
10681
fcd232b7
VS
106822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10683
10684 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
10685 function.
10686 (ZAP_HASH_IDX): Likewise.
10687 (ZAP_LEAF_HASH_SHIFT): Likewise.
10688 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
10689 (LEAF_HASH): Likewise.
10690 (ZAP_LEAF_NUMCHUNKS): Likewise.
10691 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
10692 alignment invariants. Return pointer. All users updated.
10693 (ZAP_LEAF_ENTRY): Make into inline function.
10694 (NBBY): Removed.
10695 (xor): LIkewise.
10696 (xor_out): Use grub_crypto_xor.
10697 (dnode_get_path): Use grub_get_unaligned.
10698 (nvlist_find_value): Likewise.
10699 (grub_zfs_nvlist_lookup_uint64): Likewise.
10700 (grub_zfs_nvlist_lookup_string): Likewise.
10701 (get_nvlist_size): Likewise.
10702 (grub_zfs_open): Likewise.
10703 (fill_fs_info): Likewise.
10704 (grub_zfs_dir): Likewise.
10705 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
10706 alignment invariants.
10707 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
10708 necessarily aligned.
10709
f138623a
VS
107102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10711
10712 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
10713
564840dc
VS
107142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10715
10716 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
10717 arithmetic to conserve alignment invariants.
10718
9b40df20
VS
107192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10720
10721 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
10722 redundant declaration.
10723 (grub_efiemu_mm_obtain_request): Likewise.
10724 (grub_efiemu_prepare): Likewise.
10725
d1c930f9
VS
107262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10727
10728 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
10729 to match types.
10730
4c5f3056
VS
107312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10732
10733 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
10734 case of aunaligned recptr.
10735 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
10736 alignment.
10737 (grub_hfsplus_btree_search): Handle unaligned index.
10738
728cba91
VS
107392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10740
10741 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
10742 to get freetag and skip.
10743
eb561f31
VS
107442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10745
10746 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
10747 array.
10748 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
10749 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
10750
20993fbb
VS
107512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10752
10753 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
10754 name for checksum and fix allocation algorithm.
10755
1f313b94
VS
107562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10757
10758 * include/grub/types.h (grub_properly_aligned_t): New type.
10759 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
10760 (grub_get_unaligned16): Add explicit casts.
10761 (grub_get_unaligned32): Likewise.
10762 (grub_get_unaligned64): Likewise.
10763 (grub_set_unaligned16): New function.
10764 (grub_set_unaligned32): Likewise.
10765
47ae27ec
VS
107662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10767
10768 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
10769
78c2cd1c
VS
107702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10771
10772 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
10773 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
10774 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
10775
53072f9b
VS
107762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10777
10778 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
10779 conditionals.
10780
055dc239
VS
107812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10782
10783 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
10784 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
10785
496bd074
VS
107862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10787
10788 Unify and improve RAID and crypto xor.
10789
10790 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
10791 changed to grub_crypto_xor
10792 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
10793 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
10794 Use bigger types when possible.
10795
ef6e4335
VS
107962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10797
10798 * grub-core/disk/raid.c (scan_devices): Fix condition.
10799
5d048bf2
VS
108002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10801
10802 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
10803 Make name a const ptr.
10804
ee533335
VS
108052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10806
10807 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
10808 first argument a const pointer.
10809 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
10810 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
10811 proto.
10812 (grub_children_iterate): Likewise.
10813 (grub_machine_mmap_iterate): Remove redundant declaration.
10814
cc8f3668
VS
108152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10816
10817 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
10818 (grub_cmd_acpi) [!x86]: Disable EBDA.
10819
c5fc563a
VS
108202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10821
10822 Enable UTF8 in gnulib regexp.
10823
10824 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
10825 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
10826 (isupper): Use grub_isupper.
10827 (isascii): New inline function.
10828 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
10829 * grub-core/lib/posix_wrap/wctype.h: Likewise.
10830 * grub-core/normal/charset.c (grub_utf8_process): New function.
10831 (grub_utf8_to_utf16): Use grub_utf8_process.
10832 (grub_encode_utf8_character): New function.
10833 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
10834 * include/grub/charset.h (grub_utf8_process): New declaration.
10835 (grub_encode_utf8_character): Likewise.
10836 * include/grub/misc.h (grub_islower): New inline function.
10837 (grub_isupper): Likewise.
10838 (grub_strchrsub): Moved down to fix the definitions.
10839
0af2346f
VS
108402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10841
10842 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
10843 specification.
10844
74dbd244
VS
108452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10846
10847 * include/grub/loader.h (grub_loader_register_preboot_hook):
10848 Use struct preboot * and not void * for handle. All users updated.
10849 (grub_loader_unregister_preboot_hook): Likewise.
10850
1bc8f60d
VS
108512011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
10852
10853 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
10854 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
10855 UTF-16-BE. All users updated.
10856 (grub_hfsplus_cmp_catkey): Fix unicode handling.
10857 (grub_hfsplus_iterate_dir): Likewise.
10858 (grub_hfsplus_label): Likewise.
10859
48d6e456
VS
108602011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
10861
10862 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
10863
bf3a3857
VS
108642011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
10865
10866 Add missing const qualifiers.
10867
10868 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
10869 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
10870 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
10871 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
10872 (grub_lvm_check_flag): Likewise.
10873 * grub-core/efiemu/i386/coredetect.c
10874 (grub_efiemu_get_default_core_name): Likewise
10875 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
10876 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
10877 * grub-core/fs/ntfs.c (fixup): Likewise.
10878 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
10879 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
10880 (fzap_lookup): Likewise.
10881 (zap_lookup): Likewise.
10882 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
10883 * grub-core/lib/legacy_parse.c (check_option): Likewise.
10884 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
10885 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
10886 (grub_freebsd_add_meta_module): Likewise.
10887 (grub_cmd_freebsd_module): Likewise.
10888 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
10889 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
10890 (grub_xnu_writetree_get_size): Likewise.
10891 (grub_xnu_writetree_toheap_real): Likewise.
10892 (grub_xnu_find_key): Likewise.
10893 (grub_xnu_create_key): Likewise.
10894 (grub_xnu_create_value): Likewise.
10895 (grub_xnu_register_memory): Likewise.
10896 (grub_xnu_check_os_bundle_required): Likewise.
10897 (grub_xnu_scan_dir_for_kexts): Likewise.
10898 (grub_xnu_load_kext_from_dir): Likewise.
10899 * grub-core/normal/color.c (color_list): Likewise.
10900 * grub-core/normal/completion.c (current_word): Likewise.
10901 * grub-core/normal/menu_entry.c (insert_string): Likewise.
10902 * grub-core/term/serial.c (grub_serial_find): Likewise.
10903 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
10904 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
10905 Likewise.
10906 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
10907 (grub_freebsd_add_meta_module): Likewise.
10908 * include/grub/lib/arg.h (grub_arg_option): Likewise.
10909 * include/grub/net.h (grub_net_card_driver): Likewise.
10910 (grub_net_card): Likewise.
10911 (grub_net_app_protocol): Likewise.
10912 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
10913 * include/grub/serial.h (grub_serial_find): Likewise.
10914 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
10915 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
10916 (grub_xnu_create_value): Likewise.
10917 (grub_xnu_find_key): Likewise.
10918 (grub_xnu_scan_dir_for_kexts): Likewise.
10919 (grub_xnu_load_kext_from_dir): Likewise.
10920
10921 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
10922 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
10923 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
10924 Moved from here ...
10925 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
10926
112b4837
CW
109272011-11-28 Colin Watson <cjwatson@ubuntu.com>
10928
10929 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
10930
49e891ac
VS
109312011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
10932
10933 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
10934 (read_device): Fix size calculation.
10935
fd258e5c
RM
109362011-11-25 Robert Millan <rmh@gnu.org>
10937
10938 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
10939 (find_root_device_from_libzfs): Add zpool output parser to be used
10940 as fallback when libzfs isn't available.
10941
78845dc2
SG
109422011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
10943
10944 * po/Makefile.in.in: Add missing escape-continuation.
10945
adac5211
VS
109462011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
10947
10948 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
10949
10b64f1c
VS
109502011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10951
10952 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
10953
bb416954
VS
109542011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10955
10956 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
10957
bdfe9eeb
VS
109582011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10959
10960 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
10961
581ffa8a
VS
109622011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10963
10964 * grub-core/lib/adler32.c: Add missing license specification.
10965 * grub-core/lib/crc64.c: Likewise.
10966 * grub-core/loader/i386/pc/plan9.c: Likewise.
10967 * grub-core/partmap/plan.c: Likewise.
10968
2536cf64
LK
109692011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
10970
10971 Add facility to debug GRUB with gdb under qemu.
10972
10973 * grub-core/gdb_grub.in: New file.
10974 * grub-core/gmodule.pl.in: Likewise.
10975 * grub-core/Makefile.core.def (gmodule.pl): New script.
10976 (gdb_grub): Likewise.
10977
bc108a4a
VS
109782011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10979
10980 * util/grub-mount.c (argp_parser): Accept relative pathes.
10981 * util/grub-fstest.c (argp_parser): Likewise.
10982
111c1778
VS
109832011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10984
10985 Plan9 support.
10986
10987 * Makefile.util.def (libgrubmods): Add
10988 grub-core/partmap/plan.c.
10989 * docs/grub.texi: Notice Plan9 support.
10990 * grub-core/Makefile.core.def (plan9): New module.
10991 (part_plan): Likewise.
10992 * grub-core/loader/i386/pc/plan9.c: New file.
10993 * grub-core/partmap/plan.c: Likewise.
10994 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
10995 define.
10996 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
10997 * include/grub/mm.h (grub_extend_alloc): New inline function.
10998
c30be3b6
VS
109992011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11000
11001 Make Reed-Solomon faster by using power of generator representation of
11002 GF(256)*.
11003
11004 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
11005 (gf_double_t): Likewise.
11006 (gf_invert): Removed.
11007 (gf_powx): New array.
11008 (gf_powx_inv): Likewise.
11009 (scratch): Move higher.
11010 (gf_reduce): Removed.
11011 (gf_mul): Use powx.
11012 (gf_invert): Likewise.
11013 (init_inverts): Replaced with ...
11014 (init_powx): ...this. All users updated.
11015 (pol_evaluate): Replace multiplications with additions.
11016 (rs_encode): Likewise.
11017 (gauss_eliminate): Call gf_invert.
11018 (grub_reed_solomon_add_redundancy): Call init_powx.
11019 (grub_reed_solomon_recover): Call init_powx unconditionally.
11020
fa5aeffc
VS
110212011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11022
11023 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
11024
a346b81c
VS
110252011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11026
11027 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
11028 disk->partiton for safety.
11029
d89ee414
VS
110302011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11031
11032 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
11033 Fix a memory leak.
11034 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
11035
91ee7b6d
VS
110362011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11037
11038 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
11039
91e5a33d
VS
110402011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11041
11042 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
11043
9edd7be2
VS
110442011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11045
11046 Fix spaces handling in proc/self/mountinfo.
11047
11048 * util/getroot.c (unescape): New function.
11049 (grub_find_root_device_from_mountinfo): Use unescape.
11050
ba102053
VS
110512011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11052
11053 Support ZFS embedding.
11054
11055 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
11056 (grub_zfs_fs): Register grub_zfs_embed.
11057
aa94b870
VS
110582011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11059
11060 Fix MIPS compilation.
11061
11062 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
11063 * include/grub/offsets.h: Rename decompressor fields from
11064 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
11065 * util/grub-mkimage.c (image_targets): Use new names.
11066
5fbdac14
VS
110672011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11068
11069 Defer multiboot device parsing until we're in compressed part.
11070
11071 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
11072 bsd_part. setdevice has fallen into disuse.
11073 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
11074 (bsd_part): Likewise.
11075 (boot_dev): New variable.
11076 (multiboot_trampoline): Don't parse multiboot device.
11077 Pass multiboot device in %edx.
11078 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
11079 grub_boot_device.
11080 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
11081 Likewise.
11082 * grub-core/kern/i386/pc/startup.S: Save edx.
11083 (grub_boot_drive): Removed.
11084 (grub_install_dos_part): Likewise.
11085 (grub_install_bsd_part): Likewise.
11086 (grub_boot_device): New variable.
11087 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
11088 (grub_install_bsd_part): Likewise.
11089 (grub_boot_drive): Likewise.
11090 (grub_boot_device): New variable.
11091 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
11092 Removed.
11093 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
11094 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
11095 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
11096 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
11097 * util/grub-install.in: Remove redundant condition.
11098
691cbb58
VS
110992011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11100
11101 Fix bug introduced by previous commit.
11102
11103 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
11104
60240b8b
VS
111052011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11106
11107 Use decompressors framework on i386-pc. It increases core size
11108 by 46 bytes but improves compatibility and maintainability.
11109
11110 * grub-core/Makefile.core.def (lzma_decompress): New image.
11111 (kernel): Add i386_pc_ldflags.
11112 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
11113 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
11114 to real_to_prot, prot_to_real and device info.
11115 * include/grub/offsets.h: Renamed decompressor offsets.
11116 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
11117 (image_target_desc): Remove raw_size and rename decompressor fields.
11118 (compress_kernel): Handle lzma.
11119 (generate_image): Handle decompressors on i386-pc.
11120
e9d3421c
VS
111212011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11122
11123 * configure.ac: Add -fno-asynchronous-unwind-tables.
11124
2b23074a
VS
111252011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11126
11127 Move assembly code to C by using intwrap. It increases core size
11128 by 88 bytes but improves compatibility and maintainability.
11129
11130 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
11131 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
11132 ... here. Translated to C.
11133 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
11134 * grub-core/term/i386/pc/console.c (grub_console_getkey):
11135 ... here. Translated to C.
11136 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
11137 * grub-core/term/i386/pc/console.c (grub_console_getxy):
11138 ... here. Translated to C.
11139 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
11140 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
11141 ... here. Translated to C.
11142 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
11143 * grub-core/term/i386/pc/console.c (grub_console_cls):
11144 ... here. Translated to C.
11145 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
11146 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
11147 ... here. Translated to C.
11148 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
11149 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
11150 Translated to C.
11151 * grub-core/term/i386/pc/console.c (int10_9): New function.
11152 (grub_console_putchar): Likewise.
11153 * include/grub/i386/pc/console.h: Removed the not anymore shared
11154 functions.
11155
678f4b67
VS
111562011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11157
11158 Move grub_chainloader_real_boot out of the kernel.
11159
11160 * grub-core/Makefile.am: Remove machine/loader.h.
11161 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
11162 Removed.
11163 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
11164 variable.
11165 (grub_relocator16_keep_a20_enabled): Likewise.
11166 (grub_relocator16_boot): Fill new variables.
11167 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
11168 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
11169 relocator.
11170 (grub_chainloader_unload): Likewise.
11171 (grub_chainloader_cmd): Likewise.
11172 * include/grub/i386/pc/loader.h: Removed.
11173 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
11174 and esi. All initialisers updated.
11175
4626edf6
VS
111762011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
111772011-11-12 Colin Watson <cjwatson@ubuntu.com>
11178
11179 * Makefile.util.def (grub-mount): New util.
11180 * .bzrignore: Add grub-mount.
11181 * configure.ac: Check for fuse and enable grub-mount if available.
11182 * docs/man/grub-mount.h2m: New file.
11183 * util/grub-mount.c: Likewise.
11184
10f0117b
VS
111852011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11186
11187 * grub-core/commands/efi/fixvideo.c: Gettextize.
11188 * grub-core/commands/hashsum.c: Likewise.
11189 * grub-core/commands/i386/cmostest.c: Likewise.
11190 * grub-core/commands/i386/pc/drivemap.c: Likewise.
11191 * grub-core/commands/i386/pc/lsapm.c: Likewise.
11192 * grub-core/commands/i386/pc/sendkey.c: Likewise.
11193 * grub-core/commands/lsmmap.c: Likewise.
11194 * grub-core/commands/menuentry.c: Likewise.
11195 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
11196 * grub-core/commands/setpci.c: Likewise.
11197 * grub-core/loader/i386/bsd.c: Likewise.
11198 * grub-core/loader/i386/linux.c: Likewise.
11199 * util/getroot.c: Likewise.
11200 * util/grub-editenv.c: Likewise.
11201 * util/grub-fstest.c: Likewise.
11202 * util/grub-mkfont.c: Likewise.
11203 * util/grub-mkimage.c: Likewise.
11204 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11205 * util/grub-pe2elf.c: Likewise.
11206 * util/grub-probe.c: Likewise.
11207 * util/grub-setup.c: Likewise.
11208 * util/ieee1275/ofpath.c: Likewise.
11209 * util/misc.c: Likewise.
11210 * util/raid.c: Likewise.
11211
566f779b
RM
112122011-11-11 Robert Millan <rmh@gnu.org>
11213
11214 * util/getroot.c (grub_util_get_geom_abstraction): Remove
11215 __attribute__((unused)) from `os_dev', which *is* being used.
11216
b50787de
VS
112172011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11218
11219 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
11220 forgotten define.
11221 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
11222 GRUB_IA64_DL_GOT_ALIGN.
11223 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
11224 GRUB_IA64_DL_TRAMP_ALIGN.
11225
119d11c8
VS
112262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11227
11228 Replace grub_fatal with normal errors in i386 linux loader.
11229
11230 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
11231 (allocate_pages): Check find_efi_mmap_size return value.
11232 (grub_e820_add_region): Return error.
11233 (grub_linux_boot): Check mmap return value.
11234
6e0632e2
VS
112352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11236
11237 * grub-core/commands/acpihalt.c: Gettextized.
11238 * grub-core/commands/cacheinfo.c: Likewise.
11239 * grub-core/commands/cmp.c: Likewise.
11240 * grub-core/commands/efi/loadbios.c: Likewise.
11241 * grub-core/commands/gptsync.c: Likewise.
11242 * grub-core/commands/ieee1275/suspend.c: Likewise.
11243 * grub-core/commands/legacycfg.c: Likewise.
11244 * grub-core/commands/memrw.c: Likewise.
11245 * grub-core/commands/minicmd.c: Likewise.
11246 * grub-core/commands/parttool.c: Likewise.
11247 * grub-core/commands/time.c: Likewise.
11248 * grub-core/commands/videoinfo.c: Likewise.
11249 * grub-core/disk/geli.c: Likewise.
11250 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
11251 * grub-core/disk/luks.c: Likewise.
11252 * grub-core/disk/lvm.c: Likewise.
11253 * grub-core/font/font_cmd.c: Likewise.
11254 * grub-core/fs/zfs/zfscrypt.c: Likewise.
11255 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11256 * grub-core/gfxmenu/view.c: Likewise.
11257 * grub-core/kern/emu/hostdisk.c: Likewise.
11258 * grub-core/kern/emu/main.c: Likewise.
11259 * grub-core/kern/emu/misc.c: Likewise.
11260 * grub-core/kern/emu/mm.c: Likewise.
11261 * grub-core/kern/mips/arc/init.c: Likewise.
11262 * grub-core/kern/mips/loongson/init.c: Likewise.
11263 * grub-core/kern/partition.c: Likewise.
11264 * grub-core/lib/i386/halt.c: Likewise.
11265 * grub-core/lib/mips/arc/reboot.c: Likewise.
11266 * grub-core/lib/mips/loongson/reboot.c: Likewise.
11267 * grub-core/loader/i386/pc/chainloader.c: Likewise.
11268 * grub-core/loader/i386/xnu.c: Likewise.
11269 * grub-core/loader/multiboot.c: Likewise.
11270 * grub-core/net/bootp.c: Likewise.
11271 * grub-core/net/net.c: Likewise.
11272 * grub-core/normal/term.c: Likewise.
11273 * grub-core/partmap/bsdlabel.c: Likewise.
11274 * grub-core/parttool/msdospart.c: Likewise.
11275 * grub-core/term/gfxterm.c: Likewise.
11276 * grub-core/term/terminfo.c: Likewise.
11277 * grub-core/video/i386/pc/vbe.c: Likewise.
11278 * util/grub-menulst2cfg.c: Likewise.
11279 * util/grub-mkdevicemap.c: Likewise.
11280 * util/grub-mklayout.c: Likewise.
11281 * util/grub-mkrelpath.c: Likewise.
11282 * util/grub-script-check.c: Likewise.
11283 * util/ieee1275/grub-ofpathname.c: Likewise.
11284 * util/resolve.c: Likewise.
11285
073aa7a9
VS
112862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11287
11288 Support %1$d syntax.
11289
11290 * tests/printf_unit_test.c: New file.
11291 * Makefile.util.def (printf_test): New test.
11292 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
11293
c76b5417
VS
112942011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11295
11296 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
11297 fix.
11298
df067ad1
VS
112992011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11300
11301 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
11302 dprintf.
11303 * grub-core/font/font.c (grub_font_load): Likewise.
11304
5b289bc5
VS
113052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11306
11307 * util/grub-macho2img.c: Add comment concerning gettext.
11308 * grub-core/lib/legacy_parse.c: Likewise.
11309
c1860f87
VS
113102011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11311
11312 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
11313 (grub_xvasprintf): Likewise.
11314
d35d0d37
VS
113152011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11316
11317 Add const keyword to grub_env_get and gettextize week days.
11318
11319 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
11320 (grub_read_hook_datetime): Return const char *.
11321 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
11322 updated.
11323 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
11324 Mark for gettext.
11325 (grub_get_weekday_name): Return const char *. Call gettext.
11326 * grub-core/script/argv.c (grub_script_argv_append): Receive const
11327 char * and len as the argument. All users updated.
11328 (grub_script_argv_split_append): Receive const char *.
11329 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
11330 * include/grub/env.h (grub_env_get): Likewise.
11331 (grub_env_read_hook_t): Return const char *.
11332 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
11333 (grub_script_argv_split_append): Likewise.
11334
9aed8a71
VS
113352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11336
11337 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
11338
067fdf00
VS
113392011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11340
11341 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
11342 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
11343
a8bd9d39
VS
113442011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11345
11346 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
11347 Fix prototype.
11348
f7ce5baf
VS
113492011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11350
11351 Fix mips compilation.
11352
11353 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
11354 normal decoder.
11355 (hashes): Use in embed decoder as well (for sizes).
11356 (dec_stream_header): Fix embed decompressor logic.
11357 (dec_stream_footer): Likewise.
11358
9bb182f3
VS
113592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11360
11361 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
11362 an error and not a fatal on unrecognised relocation types.
11363
63a9e6f6
VS
113642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11365
11366 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
11367 Issue error rather than printf on unknown arguments.
11368
4c458569
VS
113692011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11370
11371 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
11372 Make buf a const.
11373
e2d22baf
VS
113742011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11375
11376 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
11377 Fix module name.
11378
53dc8590
VS
113792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11380
11381 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
11382 leftover debug printf.
11383
6c189294
VS
113842011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11385
11386 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
11387
f7688369
VS
113882011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11389
11390 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
11391 A stylistic fix.
11392
11a775a3
VS
113932011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11394
11395 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
11396
33f784e8
SL
113972011-11-10 Shea Levy <slevy@tieronedesign.com>
11398
11399 Allow all modules to perform serial IO
11400
11401 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
11402 * include/grub/serial.h (grub_serial_port_configure): New inline
11403 function.
11404 (grub_serial_port_fetch): Likewise.
11405 (grub_serial_port_put): Likewise.
11406 (grub_serial_port_fini): Likewise.
11407 (grub_serial_find): New proto.
11408
f6276525
VS
114092011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11410
11411 Put symlink at the end of the node and fix a potential
11412 memory corruption.
11413
11414 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
11415 Make symlink into an array.
11416 (set_rockridge): Set have_symlink and alloc_dirents.
11417 (grub_iso9660_read_symlink): Use new layout.
11418 (grub_iso9660_iterate_dir): Fix memory corruption.
11419 Use new layout.
11420 (grub_iso9660_dir): Set have_symlink.
11421 (grub_iso9660_open): Likewise.
11422
c3591189
VS
114232011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11424
11425 Remove local keyword.
11426
11427 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
11428 (version_test_gt): Likewise.
11429 (version_find_latest): Likewise.
11430 (gettext_printf): Likewise.
11431 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
11432
cb544caa
VS
114332011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11434
11435 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
11436
45bd824d
VS
114372011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11438
11439 Fix ZFS memory and resource leaks.
11440
11441 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
11442 All users updated.
11443 Free type on exit.
11444 (fill_vdev_info): New parameter inserted. All users updated.
11445 (check_pool_label): Likewise.
11446 (scan_disk): Likewise.
11447 (scan_devices): Close non-inserted disks.
11448 (fzap_iterate): Free l.
11449 (unmount_device): Free children descripto memory.
11450
ad9a2f44
VS
114512011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11452
11453 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
11454 argument (access out of bounds).
11455
6b68db81
VS
114562011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11457
11458 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
11459 >= 6 drives.
11460
28840fda
VS
114612011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11462
11463 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
11464 Fix declaration.
11465
8a5a3a5b
VS
114662011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11467
11468 Fix several memory leaks.
11469
11470 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
11471 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
11472 (grub_cpio_dir): Likewise.
11473 * grub-core/fs/fat.c (grub_fat_label): Likewise.
11474 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
11475 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
11476 (grub_romfs_label): Likewise.
11477 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
11478 (squash_unmount): New function.
11479 (grub_squash_dir): Fix memory leak.
11480 (grub_squash_open): Likewise.
11481 (grub_squash_read): Likewise.
11482 (grub_squash_mtime): Likewise.
11483 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
11484 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
11485 * util/grub-fstest.c (fstest): Likewise.
11486
57b01250
VS
114872011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11488
11489 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
11490 avoid accessing beyond the array.
11491
19e81ba7
VS
114922011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11493
11494 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
11495
52b656c0
VS
114962011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11497
11498 Several AFFS fixes.
11499
11500 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
11501 (GRUB_AFFS_FLAG_FFS): Removed.
11502 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
11503 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
11504 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
11505 (grub_fshelp_node): Make block 32-bit.
11506 Add block_cache and last_block_cache.
11507 (grub_affs_read_block): Fill and use block cache.
11508 (grub_affs_read_file): Removed.
11509 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
11510 boot block.
11511 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
11512 safety.
11513 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
11514 space.
11515 (grub_affs_close): Free block cache.
11516 (grub_affs_read): Use grub_fshelp_read_file directly.
11517
438a746a
VS
115182011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11519
11520 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
11521 with no error set.
11522
49a45021
VS
115232011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11524
11525 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
11526 used variable.
11527 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
11528 Likewise.
11529
3ae17eb8
VS
115302011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11531
11532 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
11533
11534 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
11535 byteswap when needed.
11536
27610c38
VS
115372011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11538
11539 Fix FreeBSD compilation.
11540
11541 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
11542 to avoid circular dependency.
11543 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
11544 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
11545 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
11546
4a19b601
VS
115472011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11548
11549 Fix ZFS crypto error types.
11550
11551 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
11552 (grub_gcm_decrypt): Likewise.
11553 (grub_zfs_load_key_real): Fix error code type. Handle possible error
11554 from PBKDF2.
11555
958ee221
VS
115562011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11557
11558 Illumos support.
11559
11560 * Makefile.util.def (10_illumos): New script.
11561 * configure.ac: Set COND_HOST_ILLUMOS.
11562 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
11563 Support Illumos calls.
11564 (find_partition_start) [__sun__]: Likewise.
11565 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
11566 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
11567 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
11568 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
11569 device.
11570 * util/grub-probe.c (probe) [__sun__]: Do character check.
11571 * util/grub.d/10_illumos.in: New file.
11572
cac14fb6
VS
115732011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11574
11575 Support escaped commas in hostdisk.
11576
11577 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
11578 (find_grub_drive): Use unescape_cmp.
11579 (make_device_name): Escape commas.
11580
78e08dc3
VS
115812011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11582
11583 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
11584
9f421dd1
VS
115852011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11586
11587 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
11588 variable.
11589
ed64e9e2
VS
115902011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11591
11592 Support trampoline jumps on powerpc.
11593
11594 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
11595 __ia64__ path.
11596 (grub_dl_load_segments): Set mod->sz.
11597 (grub_dl_flush_cache): Flush whole space occupied by module, not just
11598 segments.
11599 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
11600 (jump): Likewise.
11601 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
11602 function.
11603 (trampoline): New struct.
11604 (trampoline_template): New const.
11605 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
11606 * include/grub/dl.h (grub_dl): Add sz element.
11607 [__powerpc__]: Follow __ia64__.
11608 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
11609 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
11610 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
11611 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
11612
3084ede4
VS
116132011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11614
11615 ZFS crypto support.
11616
11617 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
11618 * grub-core/Makefile.core.def (zfscrypt): New module.
11619 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
11620 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
11621 it. All users updated.
11622 (grub_zfs_decrypt): New var.
11623 (grub_zfs_load_key): Likewise.
11624 (zio_checksum_functions): Add SHA256+MAC.
11625 (zio_checksum_verify): Handle incomplete comparison due to MAC.
11626 (zio_read): Handle encrypted blocks.
11627 (zap_verify): Remove incorrect check.
11628 (fzap_iterate): Handle non-standard fzap.
11629 (zap_iterate): Likewise.
11630 (zap_iterate_u64): New function.
11631 (dnode_get_fullpath): Load keys.
11632 * grub-core/fs/zfs/zfscrypt.c: New file.
11633 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
11634 (grub_crypto_ecb_encrypt): Make input const.
11635 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
11636 (grub_crypto_ecb_encrypt): Make input const.
11637 (GRUB_CIPHER_AES): New macro.
11638 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
11639 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
11640 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
11641 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
11642 prefix. All users updated.
11643 (grub_zfs_add_key): New proto.
11644 (grub_zfs_decrypt): Likewise.
11645 (grub_zfs_load_key): Likewise.
11646 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
11647 * util/grub-fstest.c (options): Add -K option.
11648 (argp_parser): Likewise.
11649
b632b404
VS
116502011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
11651
11652 Support zle compression on ZFS.
11653
11654 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
11655 (decomp_table): Add zle.
11656 * include/grub/zfs/zio.h (zio_compress): Add zle.
11657
c7ba4f69
VS
116582011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
11659
11660 Support BtrFS embedding.
11661
11662 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
11663 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
11664 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
11665 * util/grub-setup.c (setup): Use fs embedding if available.
11666 Add additional sanity check.
11667
455377d9
VS
116682011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
11669
11670 * util/grub-install.in: Fix condition for config_opt.
11671
c2fd16ca
VS
116722011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11673
11674 Support third redundancy strip on raidz3.
11675
11676 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
11677 Return error on singularity. All users updated.
11678 (read_device): Don't stop on 3rd failure on raidz3.
11679
8622923b
VS
116802011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11681
11682 Support case-insensitive ZFS subvolumes.
11683
11684 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
11685 All users updated.
11686 (zap_hash): Likewise.
11687 (name_cmp): New function.
11688 (zap_leaf_array_equal): New parameter case_insensitive.
11689 All users updated.
11690 (zap_leaf_lookup): Likewise.
11691 (fzap_lookup): Likewise.
11692 (zap_lookup): Likewise.
11693 (dnode_get_path): New parameter case_insensitive. Retrieve case
11694 sensitiviness of a volume. All users updated.
11695 (dnode_get_fullpath): New parameter case_insensitive.
11696 All users updated.
11697 (grub_zfs_dir): Set info.case_insensitiveness.
11698
95f2e860
VS
116992011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11700
11701 Support second redundancy strip on raidz(2,3).
11702
11703 * grub-core/fs/zfs/zfs.c (powx): New array.
11704 (powx_inv): Likewise.
11705 (poly): New const.
11706 (xor_out): New function.
11707 (gf_mul): Likewise.
11708 (recovery): Likewise.
11709 (read_device): Use second redundancy strip.
11710
11ee4389
VS
117112011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11712
11713 Use a power of generator representation of GF(256) multiplication group
11714 to save space time and complexity.
11715
11716 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
11717 (raid6_table2): Likewise.
11718 (powx): New array.
11719 (powx_inv): Likewise.
11720 (poly): New const.
11721 (grub_raid_block_mul): Replace with ...
11722 (grub_raid_block_mulx): ...this.
11723 (grub_raid6_init_table): Rewritten.
11724 (grub_raid6_recover): Use power of generator representation.
11725
09e2763f
VS
117262011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11727
11728 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
11729 for the right device.
11730
8bec9a28
VS
117312011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11732
11733 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
11734 expected by grub-mkimage and it's more clear since there is no implicit
11735 padding.
11736
dbd3a32e
VS
117372011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11738
11739 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
11740 disk.
11741 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
11742
182c872a
PMH
117432011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
11744
11745 * util/grub-mkrescue.in: Fix handling xorriso option.
11746
1e51cabd
VS
117472011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11748
11749 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
11750 NULL.
11751
9cc3581d 117522011-11-03 crocket <crockabiscuit@gmail.com>
11753
11754 * util/grub.d/10_linux.in: Add Slackware initrd naming.
11755
158dc1ea
VS
117562011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11757
11758 XZ CRC64 and SHA256 support.
11759
11760 * Makefile.util.def (libgrubmods): Add crc64.c.
11761 * grub-core/Makefile.core.def (crc64): New module.
11762 * grub-core/lib/crc64.c: New file.
11763 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
11764 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
11765 Fix the type.
11766 (MAX_HASH_SIZE): New define.
11767 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
11768 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
11769 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
11770 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
11771 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
11772 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
11773 Handle non-crc32 hashes.
11774 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
11775 (dec_stream_header): Handle non-crc32 hashes.
11776 (dec_stream_footer): Likewise.
11777 (dec_block_header): Likewise.
11778 (dec_main): Likewise.
11779 (xz_dec_init): Likewise.
11780 (xz_dec_reset): Likewise.
11781 (xz_dec_end): Likewise.
11782 * util/import_gcry.py: Add CRC64 line.
11783
9d9b3d2f
VS
117842011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11785
11786 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
11787 as well.
11788
7d0ac931
VS
117892011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11790
11791 Make reiserfs label retrieval similar to other *_label functions.
11792
11793 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
11794 (REISERFS_MAX_LABEL_LENGTH): Removed.
11795 (REISERFS_LABEL_OFFSET): Likewise.
11796 (grub_reiserfs_label): Rewritten.
11797
117982011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11799
11800 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
11801 field.
11802
cf5ba824
VS
118032011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11804
11805 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
11806
17744004
VS
118072011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
11808
11809 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
11810 drive failure on both raidz and raidz2.
11811
aca5aefc
VS
118122011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
11813
11814 Fix RAIDZ(2) for >= 5 devices.
11815
11816 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
11817 asize argument. All users updated.
11818
ce8ca56e
VS
118192011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11820
11821 Fix RAIDZ(2).
11822
11823 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
11824 (fill_vdev_info_real): Set ashift.
11825 (read_device): Rewrite RAIDZ part based on reverse engineering.
11826
7c01e783
VS
118272011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11828
11829 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
11830 don't report potentially unavialiable fields in debug output.
11831 (find_path): Fix double-free and memory leak.
11832
ce109e84
VS
118332011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11834
11835 Read label on UFS1.
11836
11837 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
11838 (grub_ufs_fs): Always set .label.
11839
87661123
VS
118402011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11841
11842 Use shifts in UFS.
11843
11844 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
11845 (grub_ufs_data): New field log2_blksz.
11846 (grub_ufs_read_file): Use shifts.
11847 (grub_ufs_mount): Check block size and logarithm it.
11848
46bc1dc2
VS
118492011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11850
11851 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
11852 long symlinks.
11853
19ee2987
VS
118542011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11855
11856 Handle symlinks and long names on tar and cpio.
11857
11858 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
11859 (ATTR_FILE): Likewise.
11860 (ATTR_DIR): Likewise.
11861 (ATTR_LNK): Likewise.
11862 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
11863 (grub_cpio_find_file): Fill mode, handle linkname field as well as
11864 L and K entries.
11865 (grub_cpio_mount): Zero-fill data.
11866 (handle_symlink): New function.
46bc1dc2
VS
11867 (grub_cpio_dir): Handle symlinks.
11868 (grub_cpio_open): Likewise.
11869 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 11870
c83a08d8
VS
118712011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11872
11873 Fix iso9660 filename limitations and fix memory leaks.
11874
11875 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
11876 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
11877
45cdd3ea
VS
118782011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11879
11880 Fix JFS file name length limitations.
11881
11882 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
11883 (grub_jfs_diropen): Fix maximum filename length.
11884 (grub_jfs_getent): Fix filename length.
11885 (grub_jfs_lookup_symlink): Fix size checks.
11886
94ef05c2
VS
118872011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11888
11889 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
11890 string.
11891
785ab8c7
VS
118922011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11893
eb0b6b45
VS
11894 Leverage BFS implementation to read AFS.
11895
11896 * Makefile.util.def (libgrubmods): Add afs.c.
11897 * grub-core/Makefile.core.def (afs): New module
11898 * grub-core/fs/afs.c: New file.
11899 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
11900
119012011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11902
11903 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 11904
c4a1628f
VS
119052011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11906
11907 * grub-core/fs/bfs.c: Run indent.
11908
5825b379
VS
119092011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11910
11911 BFS implementation based on the specification.
11912
11913 * grub-core/fs/bfs.c: New file.
11914 * Makefile.util.def (libgrubmods): Add bfs.c.
11915 * grub-core/Makefile.core.def (bfs): New module.
11916
42b2a706
VS
119172011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11918
11919 * util/grub-fstest.c (cmd_cp): Clarify error message.
11920 (cmd_cmp): Likewise.
11921
61b99bfc
YB
119222011-10-30 Yves Blusseau <blusseau@zetam.org>
11923
11924 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
11925 and befs_be.
11926
faba3d16
VS
119272011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
11928
11929 Remove afs and befs because of copyright problem.
11930
11931 * grub-core/fs/afs.c: Removed.
11932 * grub-core/fs/afs_be.c: Removed.
11933 * grub-core/fs/befs.c: Removed.
11934 * grub-core/fs/befs_be.c: Removed.
11935 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
11936 * grub-core/Makefile.core.def (afs): Removed.
11937 (afs_be): Likewise.
11938 (befs): Likewise.
11939 (befs_be): Likewise.
11940
c39224b0
VS
119412011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11942
11943 Prefer rockridge over Joliet.
11944
11945 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
11946 to ...
11947 (set_rockridge): ... here.
11948 (grub_iso9660_mount): Check rockridge on the primary label when
11949 discovering. Ignore Joliet if Rockridge is present.
11950
e551115a
VS
119512011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11952
11953 Use shifts in nilfs2.
11954
11955 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
11956 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
11957 (grub_nilfs2_palloc_entries_per_group): Replace with ...
11958 (grub_nilfs2_log_palloc_entries_per_group): ... this.
11959 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
11960 (grub_nilfs2_entries_per_block): Replaced with ...
11961 (grub_nilfs2_log_entries_per_block_log): ... this.
11962 (grub_nilfs2_blocks_per_group): Replaced with ...
11963 (grub_nilfs2_blocks_per_group_log): ... this.
11964 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
11965 (grub_nilfs2_blocks_per_desc_block_log): ... this.
11966 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
11967 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
11968 (grub_nilfs2_palloc_entry_offset): Replaced ...
11969 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
11970 (grub_nilfs2_dat_translate): Use shifts.
11971 (grub_nilfs2_read_inode): Likewise.
11972 (GRUB_MOD_INIT): Ensure that logs are correct.
11973
564dd58c
VS
119742011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11975
11976 Use shifts in minix filesystem.
11977
11978 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
11979 (GRUB_MINIX_ZONE2SECT): Likewise.
11980 (grub_minix_data): Replace block_size with log_block_size.
11981 (grub_minix_read_file): Use shifts.
11982 (grub_minix_mount): Check block size and take a logarithm.
11983
ed9ba06d
VS
119842011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11985
11986 Use shifts in squash4.
11987
11988 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
11989 (squash_mount): Check block size and take logarithm.
11990 (direct_read): Use shifts.
11991
ad03fe76
VS
119922011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11993
11994 Correct befs block counting logic.
11995
11996 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
11997 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
11998 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
11999 (grub_afs_read_inode): Use block_shift.
12000 (RANGE_SHIFT): New definition.
12001 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
12002 unexpected conditions, use shifts and appropriate types.
12003 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
12004
6563f63d
VS
120052011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12006
12007 * grub-core/disk/raid.c (scan_devices): Check partition.
12008 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
12009
5b1ae25f
VS
120102011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
12011
12012 Support BFS (befs) UUID.
12013
12014 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
12015 (grub_afs_small_data_element_header): New struct.
12016 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
12017 (grub_afs_read_attribute) [MODE_BFS]: New function.
12018 (grub_afs_iterate_dir): Allocate for complete inode.
12019 (grub_afs_mount): Likewise.
12020 (grub_afs_uuid) [MODE_BFS]: New function.
12021 (grub_afs_fs) [MODE_BFS]: Add .uuid.
12022
f8d82408
VS
120232011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
12024
12025 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
12026 (zfs_unmount): Fix memory leak.
12027
5773fb64
VS
120282011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12029
12030 Support NTFS reparse points.
12031
12032 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
12033 (symlink_descriptor): New struct.
12034 (grub_ntfs_read_symlink): New function.
12035 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
12036 (grub_ntfs_open): Likewise.
12037
91c3fdde
VS
120382011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12039
12040 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
12041
3be82e10
VS
120422011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12043
12044 fstest xnu_uuid subcommand.
12045
12046 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
12047 grub-core/commands/xnu_uuid.c.
12048 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
12049 (fstest): Handle xnu_uuid.
12050 (options): Document xnu_uuid.
12051 (argp_parser): Parse xnu_uuid.
12052
8e32442e
VS
120532011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12054
12055 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
12056 -l argument. Add newline at the end if printing.
12057 (GRUB_MOD_INIT): Document -l.
12058
52a05075
VS
120592011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12060
12061 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
12062
1869edb5
VS
120632011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12064
12065 ZFS multi-device and version 33 support.
12066
12067 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
12068 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
12069 (grub_zfs_data): Add multidev-ice-related fields.
12070 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
12071 (dva_get_offset): Make dva const.
12072 (zfs_fetch_nvlist): New function.
12073 (fill_vdev_info_real): Likewise.
12074 (fill_vdev_info): Likewise.
12075 (check_pool_label): Likewise.
12076 (scan_disk): Likewise.
12077 (scan_devices): Likewise.
12078 (read_device): Likewise.
12079 (read_dva): Likewise.
12080 (zio_read_gang): Use read_dva.
12081 (zio_read_data): Likewise.
12082 (zap_leaf_lookup): Add missing endian conversion.
12083 (zap_verify): Add missing endian conversion. All users updated.
12084 (fzap_lookup): Likewise.
12085 (fzap_iterate): Likewise.
12086 (dnode_get_path): Handle SA bonus.
12087 (nvlist_find_value): Make input const. All users updated.
12088 (unmount_device): New function.
12089 (zfs_unmount): Use unmount_device.
12090 (zfs_mount): Use scan_disk.
12091 (zfs_mtime): New function.
12092 (grub_zfs_open): Handle system attributes.
12093 (fill_fs_info): Likewise.
12094 (grub_zfs_dir): Likewise.
12095 (grub_zfs_fs): Add mtime.
12096 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
12097 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
12098 (SA_MTIME_OFFSET): Likewise.
12099 (SA_SYMLINK_OFFSET): Likewise.
12100 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
12101 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
12102 (fstest): Support zfsinfo.
12103 (argp_parser): Likewise.
12104
186b4028
VS
121052011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12106
12107 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
12108 error.
12109
121102011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
12111
12112 ZFS fixes.
12113
12114 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
12115 sharing the same block. Iterate over correct number of indices.
12116 (dnode_get_path): Handle symlinks correctly.
12117
c0584900
VS
121182011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12119
12120 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
12121
67e2bd71
VS
121222011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12123
12124 Read label on HFS+.
12125
12126 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
12127 (grub_hfsplus_btree_search): Fix types.
12128 (grub_hfsplus_label): Implement.
12129
e9cc6b7b
VS
121302011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12131
12132 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
12133
19832ddb
VS
121342011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12135
12136 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
12137
66b40850
VS
121382011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12139
12140 Fix symlink handling on iso9660.
12141
12142 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
12143 All users updated.
12144 (grub_iso9660_susp_iterate): Accept zero-size iterate.
12145 (grub_iso9660_read_symlink): Moved most of code ...
12146 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
12147
db821363
VS
121482011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12149
12150 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
12151 Use union to avoid breaking strict-aliasing rules.
12152
e1211949
VS
121532011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12154
12155 Support multi-extent iso files.
12156
12157 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
12158 Add node.
12159 (grub_fshelp_node): Revamp. All users updated.
12160 (FLAG_*): New enum.
12161 (read_node): New function.
12162 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
12163 All users updated.
12164 (grub_iso9660_mount): Don't attempt to read sua when there is none.
12165 (get_node_size): New function.
12166 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
12167 entries.
12168 Fix memory leak on . and ..
12169 (grub_iso9660_read): Use read_node.
12170 (grub_iso9660_close): Free node.
12171
d4888031
VS
121722011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12173
12174 Fix tar 4G limit and handle paths containing dot.
12175
12176 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
12177 (canonicalize): New function.
12178 (grub_cpio_find_file): Use canonicalize. Store offs in
12179 grub_disk_addr_t.
12180 (grub_cpio_dir): Use grub_disk_addr_t.
12181 (grub_cpio_open): Likewise.
12182
9f12e664
VS
121832011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12184
12185 Fix handling of uncompressed blocks on squashfs and break 4G limit.
12186
12187 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
12188 unused flags.
12189 (grub_squash_inode): Add long_file and block_size.
12190 (grub_squash_cache_inode): New struct.
12191 (grub_squash_dirent): Make types into enum.
12192 (SQUASH_TYPE_LONG_REGULAR): New type.
12193 (grub_squash_frag_desc): Add field size.
12194 (SQUASH_BLOCK_FLAGS): New enum.
12195 (grub_squash_data): Use grub_squash_cache_inode.
12196 (grub_fshelp_node): Make ino_chunk 64-bit.
12197 (read_chunk): Minor argument change. All users updated.
12198 (squash_mount): Use correct le_to_cpu.
12199 (grub_squash_open): Handle LONG_REGULAR.
12200 (direct_read): New function.
12201 (grub_squash_read_data): Handle blocks correctly.
12202
9f326fba
VS
122032011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12204
12205 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
12206
f4d9b64b
VS
122072011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12208
12209 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
12210
5bbd28b8
VS
122112011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12212
12213 Fix 2G limit on ZFS.
12214
12215 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
12216 types.
12217 (uberblock_verify): Likewise.
12218 (dmu_read): Likewise.
12219 (grub_zfs_read): Likewise. Remove invalid cast.
12220
68c72069
VS
122212011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12222
12223 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
12224 (grub_jfs_blkno): Fix incorrect shift.
12225 (grub_jfs_read_file): Use more appropriate types.
12226
6e536dc8
VS
122272011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12228
12229 Support triple indirect on minix2 and minix3.
12230
12231 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
12232 Declare triple_indir_zone.
12233 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
12234 indirect.
12235
e0864e7a
VS
122362011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12237
12238 Minix FS fixes.
12239
12240 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
12241 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
12242 Rename ctime to mtime. All users updated.
12243 (grub_minix_get_file_block): Fix types and double indirect computations.
12244
89481cab
VS
122452011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12246
12247 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
12248 if no label is found.
12249 (grub_fat_iterate_dir): Fix file size type.
12250 (grub_fat_iterate_dir): Likewise.
12251
f646e143
VS
122522011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12253
12254 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
12255 save some space.
12256 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
12257 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12258
534d769e
VS
122592011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12260
12261 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
12262
e084ba18
VS
122632011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12264
12265 * util/import_gcry.py: Accept space between # and include.
12266
3471ecdf
VS
122672011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12268
12269 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
12270
124df5f6
VS
122712011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12272
12273 Fine grainely disable warnings on lexer. Remove Wno-error on it.
12274
12275 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
12276 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
12277 yylex_strncpy.
12278 * grub-core/script/yylex.l: Add fine-grained #pragma.
12279
4defb8d5
VS
122802011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12281
12282 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
12283 New inline function.
12284 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
12285 Likewise.
12286 (memset) [GRUB_UTIL]: Likewise.
12287 (memcmp) [GRUB_UTIL]: Likewise.
12288
4e94ae65
VS
122892011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12290
12291 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
12292 inline function rather than a define.
12293
18c575e5
VS
122942011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12295
12296 * util/grub-setup.c: Add missing include.
12297
f8bc22a8
VS
122982011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12299
12300 * util/ieee1275/grub-ofpathname.c: Add missing include.
12301
3ce69fc9
VS
123022011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12303
12304 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
12305 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
12306 Likewise.
12307
d1e293bb
VS
123082011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12309
12310 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
12311 grub_memcmp usage.
12312
7a5c54a4
VS
123132011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12314
12315 * util/grub-install.in: Add datarootdir as per automake manual
12316 suggestion.
12317 * util/grub-mknetdir.in: Likewise.
12318
123192011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
12320
12321 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
12322 suggestion.
12323 * util/grub.d/10_kfreebsd.in: Likewise.
12324 * util/grub.d/10_linux.in: Likewise.
12325 * util/grub.d/10_netbsd.in: Likewise.
12326 * util/grub.d/10_windows.in: Likewise.
12327 * util/grub.d/20_linux_xen.in: Likewise.
12328
766f7d08
VS
123292011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
12330
12331 Remove redundant grub_kernel_image_size.
12332
12333 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
12334 _edata and _start.
12335 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
12336 the small code. It moves it only by few bytes but simplifies the code.
12337 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
12338 _start.
12339 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
12340 (grub_kernel_image_size): Removed.
12341 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
12342 (grub_kernel_image_size): Removed.
12343 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
12344 compiled with Apple toolchain.
12345 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
12346 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
12347 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
12348 (grub_total_module_size): Likewise.
12349 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
12350 Removed.
12351 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
12352 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
12353 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
12354 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
12355 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
12356 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
12357 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
12358 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
12359 Removed.
12360 (grub_total_module_size): Removed.
12361 * util/grub-mkimage.c (image_target_desc): Remove image_size.
12362 (image_targets): Likewise.
12363 Set .compressed_size to no field on sparc.
12364 (generate_image): Remove kernel_image_size handling.
12365
fcf1d672
SJ
123662011-10-19 Szymon Janc <szymon@janc.net.pl>
12367
12368 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
12369 NULL pointer dereference.
12370
de9c615e
VS
123712011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12372
12373 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
12374 done with a dedicated section.
12375
12376 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
12377 Ensure the correct position of boot_path.
12378 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
12379 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
12380 other fields.
12381 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
12382 * include/grub/boot.h: Removed. All references removed.
12383 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
12384 Removed.
12385 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
12386
e55599dc
VS
123872011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12388
12389 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
12390 name.
12391
36dd20ad
VS
123922011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12393
12394 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
12395
f8f72eb8
VS
123962011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12397
12398 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
12399 Don't add the bogus brackets.
12400
a374751b
VS
124012011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12402
12403 ExFAT support.
12404
12405 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
12406 * grub-core/Makefile.core.def (exfat): New module.
12407 * grub-core/fs/exfat.c: New file.
12408 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
12409 (GRUB_FAT_ATTR_*): Make into an enum.
12410 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
12411 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
12412 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
12413 (GRUB_FAT_MAXFILE): Removed.
12414 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
12415 (grub_current_fat_bpb_t): New type.
12416 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
12417 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
12418 (grub_fat_dir_node_t): New type.
12419 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
12420 (fat_log2) [MODE_EXFAT]: Removed.
12421 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
12422 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
12423 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
12424 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
12425 (grub_fat_label) [MODE_EXFAT]: New function.
12426 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
12427 reserved_first_sector to 0.
12428
544c2487
VS
124292011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12430
12431 Move grub_reboot out of the kernel.
12432
12433 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
12434 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
12435 * grub-core/lib/efi/reboot.c: ... here.
12436 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
12437 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
12438 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
12439 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
12440 * grub-core/lib/i386/reboot_trampoline.S: ... here.
12441 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
12442 * grub-core/lib/ieee1275/reboot.c: ... here.
12443 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
12444 * grub-core/lib/mips/arc/reboot.c: ... here.
12445 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
12446 * grub-core/lib/mips/loongson/reboot.c: ...here.
12447 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
12448 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
12449 * include/grub/emu/misc.h (grub_reboot): New function declaration.
12450 * include/grub/i386/reboot.h: New file.
12451 * include/grub/mips/loongson/ec.h: Fix includes.
12452 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
12453 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
12454 * grub-core/lib/i386/reboot.c: New file.
12455
a97501d2
VS
124562011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
12457
12458 Make grub_prefix into module to fix the arbitrary limit and save
12459 some space.
12460
12461 * grub-core/kern/emu/main.c (grub_prefix): Removed.
12462 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
12463 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
12464 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
12465 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
12466 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
12467 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
12468 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
12469 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
12470 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
12471 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
12472 * include/grub/ia64/efi/kernel.h: Removed.
12473 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
12474 (grub_prefix): Removed.
12475 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
12476 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
12477 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
12478 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
12479 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
12480 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
12481 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
12482 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
12483 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
12484 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
12485 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
12486 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
12487 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
12488 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
12489 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
12490 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
12491 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
12492 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
12493 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
12494 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
12495 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
12496 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
12497 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
12498 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
12499 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
12500 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
12501 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
12502 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
12503 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
12504 from module.
12505 * util/grub-mkimage.c (image_target_desc): Removed prefix and
12506 prefix_end.
12507 (image_targets): Likewise.
12508 (generate_image): Put prefix as a module.
12509
39705fad
VS
125102011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12511
12512 Replace grub_module_iterate with FOR_MODULES.
12513
12514 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
12515 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
12516 (grub_efi_modules_addr): ...this.
12517 * grub-core/kern/efi/init.c (grub_modbase): New variable.
12518 (grub_efi_init): Set grub_modbase.
12519 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
12520 (grub_modbase): New variable.
12521 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
12522 (grub_modbase): New variable.
12523 (grub_machine_init): Set grub_modbase.
12524 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
12525 (grub_modbase): New variable.
12526 (grub_machine_init): Set grub_modbase.
12527 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
12528 (grub_modbase): New variable.
12529 (grub_machine_init): Set grub_modbase.
12530 * grub-core/kern/main.c (grub_module_iterate): Remove.
12531 (grub_modules_get_end): Use grub_modbase.
12532 (grub_load_modules): Use FOR_MODULES.
12533 (grub_load_config): Likewise.
12534 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
12535 (grub_modbase): New variable.
12536 (grub_machine_init): Set grub_modbase.
12537 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
12538 (grub_modbase): New variable.
12539 (grub_machine_init): Set grub_modbase.
12540 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
12541 Removed.
12542 (grub_modbase): New variable.
12543 (grub_machine_init): Set grub_modbase.
12544 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
12545 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
12546 (grub_module_iterate): Likewise.
12547 (grub_modbase): New variable declaration.
12548 (FOR_MODULES): New macro.
12549
2afb7f6c
VS
125502011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12551
12552 * configure.ac: Check for __ctzdi2 and __ctzsi2.
12553 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
12554
366e34fa
VS
125552011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12556
12557 Fix few obvious type discrepancies.
12558
12559 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
12560 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
12561 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
12562 variable.
12563 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
12564 and connected types.
12565 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
12566 offset.
12567 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
12568 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
12569 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
12570 and connected types.
12571
177b960e
VS
125722011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12573
12574 Fix python 3.x incompatibilities.
12575
12576 * gentpl.py: Put brackets around print strings.
12577 * util/import_gcry.py: Open explicitly as utf-8.
12578 Use in instead of has_key.
12579
3b619ae1
VS
125802011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12581
12582 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
12583 (GRUB_XFS_INO_AGBITS): Make into inline function.
12584 (GRUB_XFS_INO_INOINAG): Likewise.
12585 (GRUB_XFS_INO_AG): Likewise.
12586 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
12587 (GRUB_XFS_EXTENT_OFFSET): Likewise.
12588 (GRUB_XFS_EXTENT_BLOCK): Likewise.
12589 (GRUB_XFS_EXTENT_SIZE): Likewise.
12590 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
12591 (GRUB_XFS_NEXT_DIRENT): Likewise.
12592 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
12593 (grub_xfs_read_file): Fix offset type.
12594
8bcebcb8
RM
125952011-10-15 Robert Millan <rmh@gnu.org>
12596
12597 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
12598
0017e5ef
RM
125992011-10-15 Robert Millan <rmh@gnu.org>
12600
12601 Fix build problem on FreeBSD and GNU/kFreeBSD.
12602
12603 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
12604
d8919552
VS
126052011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12606
12607 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
12608
12609 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
12610 types.
12611 (grub_hfsplus_btree_recoffset): Likewise.
12612 (grub_hfsplus_btree_recptr): Likewise.
12613 (grub_hfsplus_find_block): Likewise.
12614 (grub_hfsplus_btree_search): Likewise.
12615 (grub_hfsplus_read_block): Likewise.
12616 (grub_hfsplus_read_file): Likewise.
12617 (grub_hfsplus_mount): Likewise.
12618 (grub_hfsplus_btree_iterate_node): Likewise.
12619 (grub_hfsplus_btree_search): Likewise.
12620 (grub_hfsplus_iterate_dir): Likewise.
12621 (grub_hfsplus_read): A small code simplification.
12622
c81296b6
VS
126232011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12624
12625 * grub-core/kern/emu/hostdisk.c
12626 (convert_system_partition_to_system_disk): Don't assume that children
12627 of mapper nodes are mapper nodes.
12628
0eb8ffb1
VS
126292011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12630
12631 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
12632 * include/grub/misc.h (grub_isxdigit): New function.
12633 * grub-core/video/colors.c (my_isxdigit): Removed. All users
12634 switched to grub_isxdigit.
12635 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
12636 number starting with a letter.
12637
a98f4a08
RM
126382011-10-09 Robert Millan <rmh@gnu.org>
12639
12640 LVM support for FreeBSD and GNU/kFreeBSD.
12641
12642 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
12643 GNU/kFreeBSD.
12644 (LVM_DEV_MAPPER_STRING): Move from here ...
12645 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
12646 * util/getroot.c: Include `<grub/util/lvm.h>'.
12647 (grub_util_get_dev_abstraction): Enable
12648 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
12649 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
12650 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
12651 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
12652 support it.
12653 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
12654 GNU/kFreeBSD.
12655 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
12656 when LVM abstraction is required for ${GRUB_DEVICE}.
12657
050e8e90
SJ
126582011-10-06 Szymon Janc <szymon@janc.net.pl>
12659
12660 Add support for LZO compression in GRUB:
12661 - import of minilzo library,
12662 - LZO decompression for btrfs,
12663 - lzop files decompression.
12664
12665 * grub-core/io/lzopio.c: New file.
12666 * grub-core/lib/adler32.c: Likewise.
12667 * grub-core/lib/minilzo/lzoconf.h: Likewise.
12668 * grub-core/lib/minilzo/lzodefs.h: Likewise.
12669 * grub-core/lib/minilzo/minilzo.c: Likewise.
12670 * grub-core/lib/minilzo/minilzo.h: Likewise.
12671 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
12672 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
12673 grub-core/lib/minilzo/minilzo.c to common.
12674 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
12675 cflags in cppflags.
12676 * grub-core/Makefile.core.def (btrfs): Likewise.
12677 * grub-core/Makefile.core.def (lzopio): New module.
12678 (adler32): Likewise.
12679 * grub-core/fs/btrfs.c: Include minilzo.h.
12680 (GRUB_BTRFS_COMPRESSION_LZO): New define.
12681 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
12682 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
12683 (grub_btrfs_lzo_decompress): New function.
12684 (grub_btrfs_extent_read): Add support for LZO compression type.
12685 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
12686 (GRUB_USHRT_MAX): Likewise.
12687 (GRUB_UINT_MAX): Likewise.
12688 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
12689 (UINT_MAX): Likewise.
12690 (CHAR_BIT): Likewise.
12691 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
12692 grub-core/lib/posix_wrap/limits.h
12693 (UCHAR_MAX): Likewise.
12694 * include/grub/file.h (grub_file_filter_id): New compression filter
12695 GRUB_FILE_FILTER_LZOPIO.
12696 * include/grub/file.h (grub_file_filter_id): Set
12697 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
12698 * include/grub/types.h (grub_get_unaligned16): New function.
12699 (grub_get_unaligned32): Likewise.
12700 (grub_get_unaligned64): Likewise.
12701 * util/import_gcry.py (cryptolist): Add adler32.
12702
0eb8ffb1
VS
127032011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
12704
12705 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
12706 in perspective decreases the complexity of build system and fixes
12707 compilation right now.
12708
ce79cc99 127092011-10-01 Ales Nesrsta <starous@volny.cz>
12710
12711 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
12712 (fixed problem related to using UHCI with coreboot).
12713
8667a314
BC
127142011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
12715
12716 * gentpl.py: Use Autogen macros so that the output template file
12717 (Makefile.tpl) size is reduced.
12718
fc5efcc0
MK
127192011-09-29 Mads Kiilerich <mads@kiilerich.com>
12720
12721 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
12722 extra_dist.
12723
d1ab689d
ML
127242011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12725
12726 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
12727 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
12728
c05de032
ML
127292011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12730
12731 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
12732 _fullpath.
12733
cca7ccd8
ML
127342011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12735
12736 Remove extra declaration of sleep for mingw32.
12737
12738 * util/misc.c (sleep) [__MINGW32__]: Removed.
12739 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
12740
e0b0dc83
GS
127412011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
12742
12743 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
12744 type and packname.
12745 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
12746 Resurrected.
12747 (NETBSD_BTINFO_BOOTWEDGE): New definition.
12748 (grub_netbsd_btinfo_bootwedge): New struct.
12749 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
12750 New function.
12751 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
12752
91a1a164
TH
127532011-09-28 Thomas Haller <thomas.haller@fen-net.de>
12754
12755 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
12756 loader.
12757
2ded951e
AB
127582011-09-28 Andreas Born <futur.andy@googlemail.com>
12759
12760 Fix incorrect identifiers in bash-completion.
12761
12762 * util/bash-completion.d/grub-completion.bash.in
12763 (_grub_mkpasswd-pbkdf2): Rename to ...
12764 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
12765 (_grub_script-check): Rename to ...
12766 (_grub_script_check): ... this. All users updated.
12767
69915030
VS
127682011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
12769
12770 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
12771 Return 0 if disk isn't biosdisk.
12772
20fd15f9
GS
127732011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
12774
12775 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
12776 on NetBSD.
12777 * Makefile.util.def (grub-fstest): Likewise.
12778
1a7d7db9
GS
127792011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
12780
12781 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
12782 Get sector size from disk label.
12783
2221ab6c
CW
127842011-09-05 Colin Watson <cjwatson@ubuntu.com>
12785
12786 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
12787 */README* as well as README*.
12788 Reported by: Axel Beckert.
12789
ca51c4a0
VS
127902011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12791
12792 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
12793 case of less than 256 MiB of RAM.
12794
ab80f326
VS
127952011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12796
12797 * grub-core/commands/wildcard.c (make_regex): Handle @.
12798
4155e697
VS
127992011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12800
12801 * util/grub-install.in: Move cryptodisk logic to appropriate place.
12802
ab178c08
SJ
128032011-08-21 Szymon Janc <szymon@janc.net.pl>
12804
12805 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
12806 AC_LANG_CONFTEST macros.
12807
7dc3c686
SJ
128082011-08-20 Szymon Janc <szymon@janc.net.pl>
12809
12810 Add grub-fstest option to uncompress data for commands.
12811
12812 * util/grub-fstest.c (uncompress): New var.
12813 (options): New option -u.
12814
fe8d4a7b
SJ
128152011-08-20 Szymon Janc <szymon@janc.net.pl>
12816
12817 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
12818 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
12819
a5219af1
SJ
128202011-08-20 Szymon Janc <szymon@janc.net.pl>
12821
12822 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
12823 file type was not recognized correctly (not gzip or corrupted).
12824
f87abff5
VS
128252011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12826
12827 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
12828 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
12829
d94497ea
VS
128302011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12831
12832 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
12833 loongson.
12834 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
12835 video_radeon_fuloong2e.
12836 * grub-core/video/radeon_fuloong2e.c: New file.
12837 * include/grub/video.h (grub_video_id_t): Add new ID
12838 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
12839
0d1fd011
VS
128402011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12841
12842 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
12843 define.
12844 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
12845 that PRID matches the detected subplatform and reset the subplatform
12846 if it doesn't.
12847
84beb0ee
VS
128482011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12849
12850 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
12851
1227c133
VS
128522011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12853
12854 Fix PCI iterating on functions >= 4.
12855
12856 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
12857 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
12858 Removed.
12859 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
12860 (grub_pci_read): Fix bitmask.
12861 (grub_pci_read_word): Likewise.
12862 (grub_pci_read_byte): Likewise.
12863 (grub_pci_write): Likewise.
12864 (grub_pci_write_word): Likewise.
12865 (grub_pci_write_byte): Likewise.
12866
9594c689
VS
128672011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12868
12869 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
12870 can still be specified in TARGET_CFLAGS)
12871
14a2562c
VS
128722011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12873
12874 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
12875
12876 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
12877 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
12878 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
12879 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
12880 (FULOONG): Rename to ...
12881 (FULOONG2F): ... this. All users updated.
12882 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
12883 (machtype_fuloong2f_str): ... this.
12884 (machtype_fuloong2e_str): New string.
12885 Check for machtype_fuloong2e_str.
12886 * grub-core/loader/mips/linux.c (loongson_machtypes)
12887 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
12888 * grub-core/term/serial.c (loongson_defserial)
12889 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
12890 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
12891 loongson_defserial.
12892 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
12893 Rename to ...
12894 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
12895 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
12896 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
12897 to IMAGE_FULOONG2F_FLASH. All users updated.
12898 (image_targets): Rename images.
12899 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
12900
b526cbb6
SJ
129012011-08-19 Szymon Janc <szymon@janc.net.pl>
12902
12903 Make enable of disk cache statistics code configurable.
12904
12905 * configure.ac: --enable-cache-stats added.
12906 * config.h.in (DISK_CACHE_STATS): New define.
12907 * grub-core/Makefile.core.def (cacheinfo): New command.
12908 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
12909 * grub-core/commands/cacheinfo.c: New file.
12910 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
12911 moved to cacheinfo.c.
12912 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
12913 debug code.
12914 * include/grub/disk.h: Likewise.
12915
fb739ccd
SJ
129162011-08-19 Szymon Janc <szymon@janc.net.pl>
12917
12918 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
12919 * grub-core/Makefile.am: Likewise.
12920
2bba8cfd
VS
129212011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12922
12923 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
12924 non-zero pull.
12925
43526629
VS
129262011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12927
12928 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
12929 All users updated.
12930 (grub_jfs_lookup_symlink): Use correct starting inode.
12931
5c144cc8
VS
129322011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12933
12934 * util/grub-setup.c (main): Add missing gcry initialisation.
12935
b1257f65
VS
129362011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12937
12938 Don't accept text modes on EFI when booting Linux.
12939
12940 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
12941 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
12942
828bc390
ML
129432011-08-15 Mario Limonciello <mario_limonciello@dell.com>
129442011-08-15 Colin Watson <cjwatson@ubuntu.com>
12945
12946 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
12947 use of "/path/.." as in grub-install for EFI as well as handling
12948 symlinks correctly.
12949 Fixes Debian bug #637768.
12950
5f60ccac
CW
129512011-08-15 Colin Watson <cjwatson@ubuntu.com>
12952
12953 * util/grub-probe.c: Remove duplicate #include.
12954
6dc212f9
RM
129552011-08-10 Robert Millan <rmh@gnu.org>
12956
12957 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
12958
12959 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
12960 function.
12961 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
12962 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
12963
66816d85
RM
129642011-08-03 Robert Millan <rmh@gnu.org>
12965
12966 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
12967 la_array as packed.
12968 Reported by: Zachary Bedell
12969
20168fca
CW
129702011-07-26 Colin Watson <cjwatson@ubuntu.com>
12971
12972 * configure.ac: The Loongson port requires grub-mkfont due to its
12973 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
12974 be built.
12975
303b6246
CW
129762011-07-26 Colin Watson <cjwatson@ubuntu.com>
12977
12978 * util/grub-install.in: Don't source grub-mkconfig_lib until after
12979 processing arguments (otherwise help2man fails when GRUB has not yet
12980 been installed).
12981
6795300e
VS
129822011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12983
41aa28ea
VS
12984 New script grub-mkstandalone.
12985
12986 * Makefile.util.def (grub-mkstandalone): New script.
12987 * docs/man/grub-mkstandalone.h2m: New file.
12988 * util/grub-mkstandalone.in: Likewise.
12989
129902011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12991
12992 Support ATA disks with 4K sectors.
6795300e
VS
12993
12994 * include/grub/ata.h (grub_ata): New member log_sector_size.
12995 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
12996 (grub_ata_identify): Read sector size.
12997 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
12998
92227597
VS
129992011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13000
13001 * util/grub-install.in: Don't use uhci outside of x86.
13002
c77069f5
VS
130032011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13004
13005 * util/grub-mkrescue.in: Add missing quotes.
13006
130072011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
13008
13009 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
13010 dereference.
13011
583168a2
VS
130122011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13013
13014 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
13015
6be1c01f
VS
130162011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13017
13018 * include/grub/video.h: add missing EXPORT_FUND on
13019 grub_video_edid_checksum and grub_video_edid_preferred_mode.
13020
a1167439
VS
130212011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13022
13023 * include/grub/mips/kernel.h: Fix define conflict.
13024
bf66054f
VS
130252011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13026
13027 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
13028 all four ways.
13029
8fc4fa45
CW
130302011-07-21 Colin Watson <cjwatson@ubuntu.com>
13031
13032 Preferred resolution detection for VBE.
13033
13034 * grub-core/video/video.c (grub_video_edid_checksum): New function.
13035 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
13036 the Flat Panel extension, in line with the X.org VESA driver.
13037 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
13038 New function.
13039 (grub_vbe_bios_get_ddc_capabilities): Likewise.
13040 (grub_vbe_bios_read_edid): Likewise.
13041 (grub_vbe_get_preferred_mode): Likewise.
13042 (grub_video_vbe_setup): When the mode is "auto", try to get the
13043 preferred mode from VBE, and use the largest mode that is no larger
13044 than the preferred mode (some BIOSes expose a preferred mode that is
13045 not in their mode list!). If this fails, fall back to 640x480 as a
13046 safe conservative choice.
13047 (grub_video_vbe_get_edid): New function.
13048 (grub_video_vbe_adapter): Add get_edid.
13049 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
13050 (struct grub_video_adapter): Add get_edid.
13051 (grub_video_edid_checksum): Add prototype.
13052 (grub_video_edid_preferred_mode): Likewise.
13053 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
13054 structure.
13055
13056 * grub-core/commands/videoinfo.c (print_edid): New function.
13057 (grub_cmd_videoinfo): Print EDID if available.
13058
13059 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
13060 is more appropriate on a wider range of platforms than 640x480.
13061 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
13062 documentation.
13063
ca5572a9
VS
130642011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13065
13066 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
13067
e4bcf625
VS
130682011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13069
13070 * po/POTFILES.in: Regenerate.
13071
c4edd548
VS
130722011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13073
13074 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
13075 incorrect memory usage.
13076
16a2bab0
VS
130772011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13078
13079 * util/grub-install.in: Source grub-mkconfig_lib.
13080
2e418de6
VS
130812011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
13082
13083 Remove getroot.c from core on emu platform.
13084
13085 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
13086 kern/emu/raid.c.
13087 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
13088 useless.
13089 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
13090 * util/getroot.c (get_win32_path): ... here.
13091 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
13092 * util/getroot.c (fini_libzfs): ... here.
13093 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
13094 * util/getroot.c (grub_get_libzfs_handle): ... here.
13095 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
13096 Moved from here...
13097 * util/getroot.c (grub_find_zpool_from_dir): ... here.
13098 * grub-core/kern/emu/misc.c
13099 (grub_make_system_path_relative_to_its_root): Moved from here...
13100 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
13101 * grub-core/kern/emu/getroot.c: Moved from here ...
13102 * util/getroot.c: ... here. All users updated.
13103 * grub-core/kern/emu/raid.c: Moved from here ...
13104 * util/raid.c: ... here. All users updated.
13105
def9832a
VS
131062011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
13107
13108 * po/POTFILES.in: Regenerate.
13109
cd8fe79a
VS
131102011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
13111
13112 Fix compilation on GNU/Linux.
13113
13114 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
13115 Disable geli.
13116 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
13117 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
13118 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
13119
a251b719
VS
131202011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
131212011-07-07 Michael Gorven <michael@gorven.za.net>
131222011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
13123
13124 LUKS and GELI support.
13125
13126 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
13127 grub-core/disk/luks.c, grub-core/disk/geli.c,
13128 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
13129 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
13130 grub-core/lib/arg.c.
13131 (libgrubmods.a): Remove gcrypts cflags and cppflags.
13132 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
13133 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
13134 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
13135 (grub-bin2h): Add libgcry.a.
13136 (grub-mkimage): Likewise.
13137 (grub-mkrelpath): Likewise.
13138 (grub-script-check): Likewise.
13139 (grub-editenv): Likewise.
13140 (grub-mkpasswd-pbkdf2): Likewise.
13141 (grub-pe2elf): Likewise.
13142 (grub-fstest): Likewise.
13143 (grub-mkfont): Likewise.
13144 (grub-mkdevicemap): Likewise.
13145 (grub-probe): Likewise.
13146 (grub-ofpath): Likewise.
13147 (grub-mklayout): Likewise.
13148 (example_unit_test): Likewise.
13149 (grub-menulst2cfg): Likewise.
13150 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
13151 * grub-core/Makefile.core.def (cryptodisk): New module.
13152 (luks): Likewise.
13153 (geli): Likewise.
13154 * grub-core/disk/AFSplitter.c: New file.
13155 * grub-core/disk/cryptodisk.c: Likewise.
13156 * grub-core/disk/geli.c: Likewise.
13157 * grub-core/disk/luks.c: Likewise.
13158 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
13159 grub_util_is_lvm.
13160 (grub_util_get_dm_abstraction): New function.
13161 (grub_util_follow_gpart_up): Likewise.
13162 (grub_util_get_geom_abstraction): Likewise.
13163 (grub_util_get_dev_abstraction): Use new functions.
13164 (grub_util_pull_device): Pull GELI and LUKS.
13165 (grub_util_get_grub_dev): Handle LUKS and GELI.
13166 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
13167 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
13168 (follow_geom_up): Removed.
13169 (grub_util_fd_seek): New function.
13170 (open_device): Use grub_util_fd_seek.
13171 (nread): Rename to ..
13172 (grub_util_fd_read): ... this. All users updated.
13173 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
13174 (grub_crypto_cbc_decrypt): Likewise.
13175 (grub_crypto_hmac_write): Likewise.
13176 (grub_crypto_hmac_buffer): Likewise.
13177 (grub_password_get): Extend to util.
13178 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
13179 New member modname.
13180 (gcry_md_spec) [GRUB_UTIL]: Likewise.
13181 * include/grub/cryptodisk.h: New file.
13182 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
13183 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
13184 LUKS and GELI.
13185 (grub_util_follow_gpart_up): New proto.
13186 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
13187 (grub_util_fd_read): Likewise.
13188 (grub_cryptodisk_cheat_mount): Likewise.
13189 (grub_util_cryptodisk_print_uuid): Likewise.
13190 (grub_util_get_fd_sectors): Likewise.
13191 * util/grub-fstest.c (mount_crypt): New var.
13192 (fstest): Mount crypto if requested.
13193 (options): New option -C.
13194 (argp_parser): Parse -C.
13195 (main): Init and fini gcry.
13196 * util/grub-install.in: Support cryptodisk install.
13197 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
13198 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
13199 cryptodisk.
13200 (prepare_grub_to_access_device): Likewise.
13201 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
13202 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
13203 (probe_cryptodisk_uuid): New function.
13204 (probe_abstraction): Likewise.
13205 (probe): Use new functions.
13206 * util/import_gcry.py: Create Makefile.utilgcry.def.
13207 Add modname member.
13208
9bfdcbbc
VS
132092011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
13210
13211 Lazy device scanning.
13212
13213 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
13214 (grub-setup): Remove util/raid.c.
13215 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
13216 * grub-core/disk/lvm.c (scan_depth): New variable.
13217 (grub_lvm_iterate): Rescan if necessary.
13218 (find_lv): New function based on grub_lvm_open.
13219 (grub_lvm_open): Use find_lv. Rescan on error.
13220 (is_node_readable): New function.
13221 (is_lv_readable): Likewise.
13222 (grub_lvm_scan_device): Skip already found disks.
13223 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
13224 Stop if searched device is found and readable.
13225 * grub-core/disk/raid.c (inscnt): New variable.
13226 (scan_depth): Likewise.
13227 (scan_devices): New function based on grub_raid_register. Abort if
13228 looked for device is found.
13229 (grub_raid_iterate): Rescan if needed.
13230 (find_array): NEw function based on -grub_raid_open.
13231 (grub_raid_open): Use find_array and rescan.
13232 (insert_array): Set became_readable_at.
13233 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
13234 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
13235 New function.
13236 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
13237 (grub_util_pull_device): New function.
13238 (grub_util_get_grub_dev): Call grub_util_pull_device.
13239 * util/raid.c: Moved to ..
13240 * grub-core/kern/emu/raid.c: ... here.
13241 (grub_util_raid_getmembers): New parameter "bootable".
13242 All users updated. Support 1.x.
13243 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
13244 All users updated.
13245 * include/grub/disk.h (grub_disk_pull_t): New enum.
13246 (grub_disk_dev): Change iterate prototype.
13247 All users updated.
13248 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
13249 New proto.
13250 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
13251 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
13252 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
13253 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
13254 All users updated.
13255 * include/grub/util/raid.h: Removed.
13256
1c358e59
VS
132572011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
13258
13259 * po/POTFILES.in: Regenerate.
13260
abee94ed
VS
132612011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
13262
13263 Unify sparc init with other ieee1275.
13264
13265 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
13266 instead of kern/sparc64/ieee1275/init.c.
13267 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
13268 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
13269 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
13270 grub/machine/kernel.h.
13271 (grub_ieee1275_original_stack) [__sparc__]: New variable.
13272 (grub_claim_heap) [__sparc__]: Use sparc version.
13273 (grub_machine_init): Moved args parsing to
13274 (grub_parse_cmdline): ...this.
13275 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
13276 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
13277 New definition.
13278 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
13279
13280 Move BOOTP to separate file.
13281
13282 * grub-core/Makefile.core.def (net): Add net/bootp.c.
13283 * grub-core/net/net.c: Move all BOOTP functions to
13284 * grub-core/net/bootp.c: ... here.
13285
13286 Use frame interface on PXE.
13287
13288 * grub-core/Makefile.core.def (pxecmd): Removed.
13289 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
13290 * grub-core/commands/i386/pc/pxecmd.c: Removed.
13291 * grub-core/i386/pc/pxe.c: Moved from here ...
13292 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
13293 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
13294 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
13295
13296 EFI network support.
13297
13298 * grub-core/Makefile.core.def (efinet): New module.
13299 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
13300 here...
13301 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
13302 All users updated.
13303 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
13304 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
13305 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
13306 * grub-core/net/drivers/efi/efinet.c: New file.
13307 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
13308 (grub_efi_net_config): New extern var.
13309
13310 Various cleanups and bugfixes.
13311
13312 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
13313 error.
13314 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
13315 disk declared as partition.
13316 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
13317 leak on failure.
13318 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
13319 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
13320 (grub_debug_zalloc): Likewise.
13321 (grub_debug_realloc): Likewise.
13322 (grub_debug_memalign): Likewise.
13323 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
13324 Check that target is IPv4.
13325 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
13326 local-mac-address as fallback.
13327 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
13328 memory leak.
13329 * grub-core/net/ip.c (ipchksum): Rename to ...
13330 (grub_net_ip_chksum): ... this. All users updated.
13331 (grub_net_recv_ip_packets): Special handling for DHCP.
13332 * util/grub-mkimage.c (generate_image): Zero-out aout header.
13333
13334 Unify prefix handling
13335
13336 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
13337 (grub_machine_get_bootlocation): ... this.
13338 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
13339 (grub_machine_get_bootlocation): ... this.
13340 (grub_prefix): New variable.
13341 (prefix): Removed.
13342 (root_dev): New variable.
13343 (dir): Likewise.
13344 (main): Use new variables.
13345 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
13346 Revamped into ...
13347 (grub_machine_get_bootlocation): ... this.
13348 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
13349 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
13350 (grub_machine_get_bootlocation): ... this.
13351 (grub_machine_set_prefix): Removed.
13352 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
13353 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
13354 Revamped into ...
13355 (grub_machine_get_bootlocation): ... this.
13356 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
13357 (grub_set_prefix_and_root): ... this. All users updated.
13358 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
13359 Revamped into ...
13360 (grub_machine_get_bootlocation): ... this.
13361 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
13362 (grub_machine_get_bootlocation): New proto.
13363 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
13364
13365 Less intrusive and more reliable seek on network implementation.
13366
13367 * grub-core/kern/file.c (grub_file_net_seek): Removed.
13368 (grub_file_seek): Don't call grub_file_net_seek.
13369 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
13370 (grub_net_fs_read_real): .. this.
13371 (grub_net_seek_real): Use net->offset.
13372 (grub_net_fs_read): Seek if necessary.
13373
13374 Unify IEEE1275 netwotk config with the other platforms.
13375
13376 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
13377 New variable.
13378 (grub_machine_get_bootlocation): Support network.
13379 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
13380 Support type and device parsing.
13381 (grub_ieee1275_get_device_type): New function.
13382 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
13383 into ...
13384 (grub_ieee1275_net_config_real): ... this.
13385 (grub_ofnet_probecards): Removed.
13386 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
13387 * include/grub/ieee1275/ofnet.h: Removed.
13388 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
13389 extern var.
13390 (grub_ieee1275_get_device_type): New function.
13391
13392 Unify network device closing across platforms and make more robust.
13393
13394 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
13395 grub_grubnet_fini.
13396 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
13397 already.
13398 * grub-core/net/net.c (grub_net_network_level_interface_register):
13399 Update num_ifaces.
13400 (grub_net_card_unregister): Close all interfaces.
13401 (receive_packets): Don't poll if no iterfaces are registered.
13402 Open if necessary.
13403 (grub_net_fini_hw): New function.
13404 (grub_net_restore_hw): Likewise.
13405 (fini_hnd): New variable.
13406 (GRUB_MOD_INIT): Register preboot hook.
13407 (GRUB_MOD_FINI): Run and unregister preboot hook.
13408
13409 Poll network cards when idle.
13410
13411 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
13412 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
13413 * grub-core/net/net.c (receive_packets): Save last poll time.
13414 (grub_net_poll_cards_idle_real): New function.
13415 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
13416 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
13417 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
13418
13419 Rename ofnet interfaces.
13420
13421 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
13422 (grub_ofnet_findcards): Use ofnet_%s names.
13423
13424 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
13425
13426 Cleanup socket opening.
13427
13428 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
13429 (grub_net_fs_close): Likewise.
13430 (grub_net_fs_read_real): Use eof member.
13431 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
13432 (+grub_net_udp_close): New inline function.
13433
13434 * include/grub/net/tftp.h: Moved to the top of ...
13435 * grub-core/net/tftp.c: ... here.
13436 * include/grub/net/ip.h: Moved mostly to the top of ...
13437 * grub-core/net/ip.c: ... here.
13438 * include/grub/net/ethernet.h: Moved mostly to the top of ...
13439 * grub-core/net/ethernet.c: ... here.
13440
13441 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
13442
13443 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
13444 FS name.
13445
13446 * include/grub/net/ip.h (ipv4_ini): Removed.
13447 (ipv4_fini): Likewise.
13448
13449 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
13450 (grub_net_send_ip_packets): Likewise.
13451
cf1337aa
VS
134522011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13453
13454 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
13455 grub_read_cmos prototype.
13456
93c06ff9
VS
134572011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13458
13459 VGA text support in qemu-mips
13460
13461 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
13462 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
13463 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
13464 text.
13465 * grub-core/kern/i386/qemu/init.c: Renamed to ...
13466 * grub-core/kern/vga_init.c: ... this.
13467 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
13468 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
13469 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
13470 Adjust.
13471 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
13472 GRUB_MACHINE_PCI_IO_BASE.
13473
748ccabe
VS
134742011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13475
13476 MIPS qemu flash support.
13477
13478 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
13479 magic.
13480 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
13481 (grub_machine_init): Probe memory if its size isn't known.
13482 * util/grub-mkimage.c (image_targets): Add flash targets.
13483 (generate_image): Handle flash targets.
13484
d7345994
VS
134852011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13486
13487 MIPS qemu at_keyboard support.
13488
13489 * gentpl.py (videoinkernel): Add qemu-mips.
13490 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
13491 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
13492 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
13493 modules.
13494 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
13495 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
13496 * grub-core/term/serial.c (grub_serial_register)
13497 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
13498
a07a81b3
VS
134992011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13500
13501 CMOS support on sparc.
13502
13503 * gentpl.py (cmos): Add powerpc and sparc.
13504 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
13505 powerpc and sparc.
13506 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
13507 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
13508 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
13509 grub_set_datetime_cmos.
13510 * grub-core/lib/ieee1275/cmos.c: New file.
13511 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
13512 (find_rtc): Set no_ieee1275_rtc on error.
13513 (grub_get_datetime): Call grub_get_datetime_cmos on error.
13514 (grub_set_datetime): Call grub_set_datetime_cmos on error.
13515 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
13516 fail. Move value to argument. All users updated
13517 (grub_cmos_write): Likewise.
13518 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
13519 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
13520 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
13521 grub_get_datetime_cmos and grub_set_datetime_cmos.
13522
77546584
GS
135232011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
13524
13525 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
13526 sourcing grub-mkconfig_lib.
13527 * util/update-grub_lib.in: Likewise.
13528 * util/grub.d/00_header.in: Likewise.
13529 * util/grub.d/10_hurd.in: Likewise.
13530 * util/grub.d/10_kfreebsd.in: Likewise.
13531 * util/grub.d/10_linux.in: Likewise.
13532 * util/grub.d/10_netbsd.in: Likewise.
13533 * util/grub.d/10_windows.in: Likewise.
13534 * util/grub.d/20_linux_xen.in: Likewise.
13535 * util/grub.d/30_os-prober.in: Likewise.
13536
54894791
CW
135372011-06-28 Colin Watson <cjwatson@ubuntu.com>
13538
13539 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
13540 default_bg_color rather than black.
13541 (grub_gfxterm_fullscreen): Likewise.
13542 (grub_gfxterm_background_color_cmd): Save new background color in
13543 default_bg_color.
13544
8d5d8444
VS
135452011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13546
13547 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
13548
5afeb5bd
VS
135492011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13550
13551 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
13552 mismerge.
13553
ba7df45e
VS
135542011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13555
13556 Chainloading on coreboot support.
13557
13558 * grub-core/Makefile.core.def (chain): Add coreboot.
13559 * grub-core/loader/i386/coreboot/chainloader.c: New file.
13560
d0b526b2
VS
135612011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13562
13563 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
13564 if it happens.
13565
5ff1d945
VS
135662011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13567
13568 Implement time command.
13569
13570 * grub-core/Makefile.core.def (time): New module.
13571 * grub-core/commands/time.c: New file.
13572 * grub-core/script/parser.y: Remove "time" keyword.
13573 * grub-core/script/yylex.l: Likewise.
13574
5ebaad7e
VS
135752011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13576
13577 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
13578
bdea3798
VS
135792011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13580
13581 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
13582 when handling leftovers.
13583
b28c5655
VS
135842011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13585
13586 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
13587 so that help2man doesn't fail.
13588
b6f945dc
VS
135892011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13590
13591 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
13592 type in pointers on sparc64.
13593 (get_card_packet): Likewise.
13594
f9b75e8a
CW
135952011-06-27 Colin Watson <cjwatson@ubuntu.com>
13596
13597 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
13598 with `*'.
13599 (grub_cmd_videoinfo): Fetch current video mode.
13600
1e3d9b86
VS
136012011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13602
13603 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
13604 because of underlying system restrictions.
13605
efff4b1c
VS
136062011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13607
13608 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
13609 necessary.
13610
9fc9ce37
VS
136112011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13612
13613 Coreboot video support.
13614
13615 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
13616 (vbe): Likewise.
13617 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
13618 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
13619 here ...
13620 * grub-core/kern/i386/int.S: ... here.
13621 * grub-core/video/i386/pc/vbe.c: Updated includes.
13622 * grub-core/video/i386/pc/vga.c: Likewise.
13623 * include/grub/i386/coreboot/memory.h
13624 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
13625 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
13626 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
13627 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
13628 Disable interrupts.
13629 * include/grub/i386/pc/vga.h: Removed. All users updated.
13630
41bec7fe
VS
136312011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13632
13633 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
13634 definitions for dprintf.
13635 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
13636
ca80309d
VS
136372011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13638
13639 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
13640 prototype.
13641 (get_card_packet): Likewise.
13642
9e322ce8
YB
136432011-06-26 Yves Blusseau <blusseau@zetam.org>
13644
13645 Display the path of the file when file is not found
13646
13647 * grub-core/fs/fat.c: Display the filename when file is not found.
13648 * grub-core/fs/fshelp.c: Likewise.
13649 * grub-core/fs/hfs.c: Likewise.
13650 * grub-core/fs/jfs.c: Likewise.
13651 * grub-core/fs/minix.c: Likewise.
13652 * grub-core/fs/ufs.c: Likewise.
13653 * grub-core/fs/btrfs.c: Likewise.
13654 * grub-core/commands/i386/pc/play.c: Likewise.
13655
cbf597af
SJ
136562011-06-26 Szymon Janc <szymon@janc.net.pl>
13657
13658 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
13659 pointer checks before calling grub_free().
13660 * grub-core/commands/wildcard.c (match_devices): Likewise.
13661 * grub-core/commands/wildcard.c (match_files): Likewise.
13662 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
13663 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
13664 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
13665 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
13666 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
13667 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
13668 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
13669 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
13670 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
13671
6295b32f
P
136722011-06-25 Patrick <p55@mailinator.com>
13673
13674 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
13675
77c0840b
VS
136762011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
13677
13678 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
13679 (grub_pxe_send): Likewise.
13680 (GRUB_MOD_INIT): Fix types.
13681
40ea05de
SJ
136822011-06-24 Szymon Janc <szymon@janc.net.pl>
13683
13684 * grub-core/io/xzio.c: Fix code style issues
13685
90162423
MRA
136862011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
136872011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
13688
13689 Network infrastructure.
13690 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
13691
13692 * include/grub/net/arp.h: New file.
90162423
MRA
13693 * include/grub/net/device.h: Likewise.
13694 * include/grub/net/ethernet.h: Likewise.
13695 * include/grub/net/ip.h: Likewise.
13696 * include/grub/net/netbuff.h: Likewise.
13697 * include/grub/net/tftp.h: Likewise.
13698 * include/grub/net/udp.h: Likewise.
13699 * include/grub/ieee1275/ofnet.h: Likewise.
13700 * include/grub/emu/export.h: Likewise.
13701 * include/grub/net.h: Likewise.
13702 * grub-core/net/arp.c: Likewise.
13703 * grub-core/net/ethernet.c: Likewise.
13704 * grub-core/net/ip.c: Likewise.
13705 * grub-core/net/udp.c: Likewise.
13706 * grub-core/net/tftp.c: Likewise.
13707 * grub-core/net/netbuff.c: Likewise.
13708 * grub-core/net/net.c: Likewise.
13709 * grub-core/net/drivers/emu/emunet.c: Likewise.
13710 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
13711 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
13712 export.h.
13713 * grub-core/Makefile.core.def (net): New module.
13714 (tftp): Likewise.
13715 (ofnet): Likewise.
13716 (emunet): Likewise.
13717 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
13718 network protocols.
13719 * grub-core/kern/device.c (grub_net_open) : New variable.
13720 (grub_device_open): Handle network device.
13721 (grub_device_close): Likewise.
13722 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
13723 (grub_grubnet_fini): Likewise.
13724 (grub_file_seek): Seek in network device.
13725 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
13726 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
13727 network root.
13728 (grub_machine_fini): Call grub_grubnet_fini.
13729 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
13730 network.
13731 (grub_ieee1275_get_aliasdevname): New function.
13732 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
13733 Add unofficial Solaris network info.
13734 (grub_multiboot_make_mbi): Likewise.
13735 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
13736 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
13737 * include/grub/device.h (grub_fs): Removed.
13738 * include/grub/err.h (grub_err_t): Add network-related values.
13739 * include/grub/i386/pc/pxe.h: Removed bootp parts.
13740 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
13741 (grub_ieee1275_get_aliasdevname): New proto.
13742 * include/grub/net.h: Rewritten.
423a1849 13743
031f22a0
VS
137442011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13745
13746 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
13747 names.
13748
4388ca72
VS
137492011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13750
13751 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
13752 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
13753 it truncates the output.
13754 Reported by: Ximin Luo.
13755
98e2f506
VS
137562011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13757
13758 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
13759
2a5e94d8
VS
137602011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13761
13762 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
13763 partmap before abstraction.
13764
535c1910
AK
137652011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
13766
13767 * util/grub-mkconfig_lib.in: Add missing quotes.
13768
bc09e1a2
VS
137692011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13770
13771 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
13772 old method if mountinfo would return /dev/root and /dev/root doesn't
13773 exist.
13774
290766fb
VS
137752011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13776
13777 ZFS zlib support
13778
13779 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
13780 (decomp_table): Add zlib entries.
13781 (zio_read): USe 8 bits for compression function rather than 3.
13782 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
13783
137842011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13785
13786 * grub-core/disk/ahci.c: Add missing license statements.
13787 * grub-core/fs/romfs.c: Likewise.
13788 * grub-core/lib/ia64/setjmp.S: Likewise.
13789 * grub-core/loader/i386/pc/freedos.c: Likewise.
13790 * grub-core/loader/ia64/efi/linux.c: Likewise.
13791 * grub-core/video/colors.c: Likewise.
13792 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
13793
5ab3f48a
VS
137942011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13795
13796 AHCI support.
13797
13798 * grub-core/Makefile.core.def (ata_pthru): Removed.
13799 (ahci): New module.
13800 (pata): Likewise.
13801 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
13802 on unload.
13803 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
13804 readwrite.
13805 (grub_hdparm_do_check_powermode_cmd): Likewise.
13806 (grub_hdparm_do_smart_cmd): Likewise.
13807 (grub_hdparm_set_val_cmd): Likewise.
13808 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
13809 * grub-core/disk/ahci.c: New file.
13810 * grub-core/disk/ata.c: Factor out the low-level part into ...
13811 * grub-core/disk/pata.c: ... here.
13812 * grub-core/disk/ata_pthru.c: Contents moved to ...
13813 * grub-core/disk/pata.c: ... here.
13814 * grub-core/disk/scsi.c (grub_scsi_names): New array.
13815 (grub_scsi_iterate): Use grub_scsi_names.
13816 (grub_scsi_open): Likewise.
13817 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
13818 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
13819 (grub_ata_regs_t): New struct.
13820 (grub_disk_ata_pass_through_parms): Likewise.
13821 (grub_ata_device): Renamed to ...
13822 (grub_ata): ... this.
13823 (grub_ata_dev): New struct.
13824 Removed all low-level inline functions.
13825 * include/grub/scsi.h: Add PATA and AHCI subsystems.
13826 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
13827 iterate hooks and open. All users updated.
13828 * util/grub-install.in: Handle AHCI disk module.
13829
c31dc5f5
SJ
138302011-06-23 Szymon Janc <szymon@janc.net.pl>
13831
13832 Add support for DRI and RSTn markers in JPEG files.
13833
13834 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
13835 (JPEG_MARKER_RST0): Likewise.
13836 (JPEG_MARKER_RST1): Likewise.
13837 (JPEG_MARKER_RST2): Likewise.
13838 (JPEG_MARKER_RST3): Likewise.
13839 (JPEG_MARKER_RST4): Likewise.
13840 (JPEG_MARKER_RST5): Likewise.
13841 (JPEG_MARKER_RST6): Likewise.
13842 (JPEG_MARKER_RST7): Likewise.
13843 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
13844 (grub_jpeg_decode_dri): New function.
13845 (grub_jpeg_decode_sos): Move image data related part into
13846 grub_jpeg_decode_data function.
13847 (grub_jpeg_decode_data): New function.
13848 (grub_jpeg_reset): New function.
13849 (grub_jpeg_decode_jpeg): Handle new markers.
13850
fe12fd5b
VS
138512011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13852
13853 * util/ieee1275/ofpath.c (check_sas): Close fd.
13854 (main): Free of_path.
13855 Reported by: David Volgyes <dvolgyes>.
13856
03147f46
VS
138572011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13858
13859 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
13860 Reported by: David Volgyes <dvolgyes>.
13861
cad3237f
VS
138622011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13863
13864 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
13865 file after stat.
13866 Reported by: David Volgyes <dvolgyes>.
13867
13548d26
VS
138682011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13869
13870 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
13871
13872 Reported by: David Volgyes <dvolgyes>.
13873
e061a1b5
VS
138742011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13875
13876 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
13877 Prevent memory leak.
13878
1abe47dc
VS
138792011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13880
13881 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
13882 (main): Close file.
e061a1b5 13883 Reported by: David Volgyes <dvolgyes>.
1abe47dc 13884
fbc62666
VS
138852011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13886
13887 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
13888 to continue if allocation is failed.
13889
13890 Reported by: David Volgyes <dvolgyes>.
13891
e98c83e9
DV
138922011-06-23 David Volgyes <dvolgyes>
13893
13894 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
13895 dereference.
13896
a199a8cd
VS
138972011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13898
13899 Fix spurious warning.
13900
13901 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
13902 (acorn_partition_map_find): Use .bin member.
13903
e2d1dba0
VS
139042011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13905
13906 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
13907 /dev/root as a valid device.
13908
8a5d6919
JM
139092011-06-23 Jim Meyering <meyering@redhat.com>
13910
e2d1dba0
VS
13911 Avoid NULL deref in grub_device_open.
13912
8a5d6919
JM
13913 * grub-core/kern/device.c (grub_device_open): Don't dereference
13914 a NULL pointer upon failed grub_env_get.
13915
f7db6f4a
VS
139162011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13917
13918 Support non-512B sectors and agglomerate reads.
13919
13920 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
13921 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
13922 (disk_io_guid): Removed.
13923 (make_devices): Locate solely by BlockIO.
13924 (grub_efidisk_open): Fill log_sector_size and total_sectors.
13925 (grub_efidisk_read): Use read_blocks.
13926 (grub_efidisk_write): Use write_blocks.
13927 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
13928 log_sector_size.
13929 (get_safe_sectors): Handle non-512B sectors.
13930 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
13931 sectors.
13932 (grub_biosdisk_write): Handle non-512B sectors.
13933 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
13934 (grub_scsi_read): Remove special non-512B block handling (now handled
13935 one level up).
13936 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
13937 and do sanity checks.
13938 (grub_disk_adjust_range): Handle non-512B sectors.
13939 (transform_sector): New function.
13940 (grub_disk_read_small): Likewise.
13941 (grub_disk_read): Rewritten.
13942 (grub_disk_write): Handle non-512B sectors.
13943 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
13944 log_sector_size.
13945 (open_device): Use log_sector_size.
13946 (grub_util_biosdisk_read): Likewise.
13947 (grub_util_biosdisk_write): Likewise.
13948 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
13949 non-512B sectors.
13950 (pc_partition_map_embed): Likewise.
13951 * include/grub/disk.h (grub_disk): New field log_sector_size.
13952 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
13953 (GRUB_DISK_CACHE_BITS): Increased to 6.
13954 * util/grub-fstest.c (fstest): New command testload.
13955 (argp_parser): Likewise.
13956
881ac815
RM
139572011-06-16 Robert Millan <rmh@gnu.org>
13958
13959 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
13960 `ata' driver on kernel of FreeBSD 9.
13961
13962 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
13963 (get_ataraid_disk_name): New functions.
13964 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
13965 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
13966 get_ataraid_disk_name() and get_ada_disk_name().
13967
1e9aef7d
CW
139682011-06-13 Colin Watson <cjwatson@ubuntu.com>
13969
13970 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
13971 input format.
13972
351c7c8a
CW
139732011-05-29 Colin Watson <cjwatson@ubuntu.com>
13974
13975 * docs/grub.texi (Obtaining and Building GRUB): Substitute
13976 `ftp.gnu.org' for `alpha.gnu.org'.
13977
6b4e6430
CW
139782011-05-27 Colin Watson <cjwatson@ubuntu.com>
13979
13980 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
13981 partitions under /dev/disk/by-id/.
13982
c64db050
CW
139832011-05-27 Colin Watson <cjwatson@ubuntu.com>
13984
13985 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
13986 after ten consecutive open failures. Scanning all the way up to
13987 10000 is excessive and can cause serious performance problems in
13988 some configurations.
13989 Fixes Ubuntu bug #787461.
13990
245f4aba
VS
139912011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13992
13993 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
13994 opening new one.
13995
f767c929
VS
139962011-05-21 Colin Watson <cjwatson@ubuntu.com>
139972011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13998
13999 Don't stat devices unless we have to.
14000
14001 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
14002 dir == /dev/mapper.
14003 (grub_guess_root_device): Use already known os_dev if possible.
14004 * grub-core/kern/emu/hostdisk.c
14005 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
14006 if device is known to be a dm one.
14007
f35fa3a6
CW
140082011-05-20 Colin Watson <cjwatson@ubuntu.com>
14009
14010 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
14011 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
14012 Reported by: Pawel Tecza.
14013
9a79fcf2
VS
140142011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
14015
14016 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
14017 (lsefisystab): Likewise.
14018 (lssal): Likewise.
14019 (lsefimmap): Likewise.
14020 (hdparm): Enable on qemu-mips.
14021 (setjmp): Add ia64 nodist.
14022 (serial): Simplify tags.
14023
63e3eea9
CW
140242011-05-18 Colin Watson <cjwatson@ubuntu.com>
14025
14026 * Makefile.util.def (grub-ofpathname): Install manual page.
14027
09728256
CW
140282011-05-18 Colin Watson <cjwatson@ubuntu.com>
14029
14030 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
14031
8b63a142
CW
140322011-05-18 Colin Watson <cjwatson@ubuntu.com>
14033
14034 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
14035
e775d8ed
VS
140362011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14037
14038 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
14039 into dprintf.
14040
bf947d36
VS
140412011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14042
14043 Use full 64-bit division.
14044
14045 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
14046 (grub_divmod64): ... this.
14047 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
14048 version.
14049
b84f26c5
CW
140502011-05-18 Colin Watson <cjwatson@ubuntu.com>
14051
14052 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
14053 `source'.
14054
5626056f
CW
140552011-05-18 Colin Watson <cjwatson@ubuntu.com>
14056
14057 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
14058 to avoid accidents when debugging with 'sh -x'.
14059 * grub-core/gensyminfo.sh.in: Likewise.
14060 * tests/example_scripted_test.in: Likewise.
14061 * tests/grub_cmd_regexp.in: Likewise.
14062 * tests/grub_script_blanklines.in: Likewise.
14063 * tests/grub_script_dollar.in: Likewise.
14064 * tests/grub_script_expansion.in: Likewise.
14065 * tests/grub_script_final_semicolon.in: Likewise.
14066 * tests/partmap_test.in: Likewise.
14067 * tests/util/grub-shell-tester.in: Likewise.
14068 * tests/util/grub-shell.in: Likewise.
14069
e2965f4a
CW
140702011-05-18 Colin Watson <cjwatson@ubuntu.com>
14071
14072 Move gfxmenu color handling to video, so that gfxterm can use it
14073 too.
14074
14075 * grub-core/gfxmenu/named_colors.c: Move to ...
14076 * grub-core/video/colors.c: ... here. Rename
14077 grub_gui_get_named_color to grub_video_get_named_color.
14078 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
14079 * grub-core/video/colors.c (my_isxdigit): ... here.
14080 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
14081 Move to ...
14082 * grub-core/video/colors.c (parse_hex_color_component): ... here.
14083 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
14084 to ...
14085 * grub-core/video/colors.c (grub_video_parse_color): ... here.
14086
14087 * include/grub/gui.h (grub_gui_color_t): Move to ...
14088 * include/grub/video.h (grub_video_rgba_color_t): ... here.
14089 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
14090 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
14091 * include/grub/gui.h (grub_gui_map_color): Move to ...
14092 * include/grub/video.h (grub_video_map_rgba_color): ... here.
14093 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
14094 to ...
14095 * include/grub/video.h (grub_video_get_named_color): ... here.
14096 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
14097 * include/grub/video.h (grub_video_parse_color): ... here.
14098
14099 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
14100 video/colors.c.
14101 (gfxmenu): Remove gfxmenu/named_colors.c.
14102 (video) [videomodules]: Add video/colors.c.
14103
14104 Add a background_color command.
14105
14106 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
14107 function.
14108 (GRUB_MOD_INIT): Register background_color command.
14109 (GRUB_MOD_FINI): Unregister background_color command.
14110 (redraw_screen_rect): Allow blend/replace of text layer to be
14111 controlled independently from whether there is a background bitmap.
14112 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
14113 changing bitmap.
14114
1e4b4390
VS
141152011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14116
26618ff0
VS
14117 Patch BPB in ntldr and chainloader --bpb.
14118
1e4b4390
VS
14119 * grub-core/fs/fat.c: Include grub/fat.h.
14120 (grub_fat_bpb): Moved to ...
14121 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
14122 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
14123 grub/ntfs.h.
14124 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
14125 Moved from here...
14126 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
14127 here.
14128 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
14129 New function.
14130 (grub_chainloader_cmd): Patch BPB if --bpb is given.
14131 (GRUB_MOD_INIT): Show --bpb.
14132 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
14133 * grub-core/normal/main.c (features): New variable.
14134 (GRUB_MOD_INIT): Set feature_* variables.
14135 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
14136 proto.
14137 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
14138
cf02731e
VS
141392011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14140
14141 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
14142 for cleanness.
14143
e3a1073f
VS
141442011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14145
14146 FreeDOS direct loading support.
14147
14148 * docs/grub.texi (Supported OS): Add FreeDOS.
14149 * grub-core/Makefile.core.def (freedos): New module.
14150 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
14151 variable.
14152 (grub_relocator16_boot): Handle %ebx.
14153 * grub-core/lib/i386/relocator16.S: Likewise.
14154 * grub-core/loader/i386/pc/freedos.c: New file.
14155
05caa461
VS
141562011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14157
14158 Long Linux command line support.
14159
14160 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
14161 (maximal_cmdline_size): New variable.
14162 (allocate_pages): Use maximal_cmdline_size.
14163 (grub_cmd_linux): Set and use maximal_cmdline_size.
14164 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
14165 (allocate_pages): Use maximal_cmdline_size.
14166 (grub_cmd_linux): Set and use maximal_cmdline_size.
14167 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
14168 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
14169 and cmdline_size.
14170
a2491e23
VS
141712011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
141722011-05-18 Colin Watson <cjwatson@ubuntu.com>
14173
14174 Improve devmapper support
14175
14176 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
14177 (grub_util_is_lvm): New function.
14178 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
14179 than lvm if not dmraid.
14180 Handle mapped md nodes.
14181 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
14182 (grub_util_device_is_mapped): ... this. Make always available. All users
14183 updated.
14184 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
14185 (convert_system_partition_to_system_disk): Handle lvm, mpath and
14186 dmraid nodes.
14187 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
14188
6ad6223e
VS
141892011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14190
14191 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
14192
14193 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
14194 * grub-core/modinfo.sh.in: New file.
14195 * grub-core/Makefile.core.def (modinfo.sh): New script.
14196 * util/grub-mknetdir.in: Use modinfo.sh.
14197 * util/grub-mkrescue.in: Likewise.
14198
543a8f6e
VS
141992011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14200
14201 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
14202 Fix potential usage of Elf32 instead of Elf64 when compiling on
14203 32-bit architecture. Add endianness macros while on it.
14204
4959e111
VS
142052011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14206
14207 Use mipsel- rather than mips- in directories involving mipsel ports to
14208 allow both endiannesses coexist.
14209
14210 * configure.ac: proparate target_cpu=mipsel rather than resetting to
14211 mips. All conditions adjusted.
14212 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
14213 variable.
14214 * util/grub-install.in: Adjust conditions to take renaming into account.
14215 * util/grub-mkimage.c (image_targets): Likewise. New target
14216 mips-qemu_mips-elf for bigendian mips.
14217
35341bbc
VS
142182011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14219
14220 Avoid unnecessary copying on MIPS.
14221
14222 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
14223 early if src == dest.
14224 * util/grub-mkimage.c (generate_image): Arange for src == dest if
14225 compression is none.
14226
b772baed
VS
142272011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14228
14229 Reduce memory footprint on SGI by putting modules before the kernel
14230 as opposed to after.
14231
14232 * grub-core/Makefile.core.def (kernel): Increase linking address.
14233 (none_decompress): Likewise.
14234 (xz_decompress): Likewise.
14235 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
14236 address.
14237 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
14238 layout change.
14239 (grub_arch_modules_addr): New function.
14240 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
14241 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
14242 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
14243 here.
14244 * grub-core/kern/mips/startup.S (total_size): Rename to ...
14245 (grub_total_modules_size): ... this. Make global.
14246 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
14247 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
14248 New definition.
14249 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
14250 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
14251 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
14252 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
14253 * util/grub-mkimage.c (image_target_desc): New flag
14254 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
14255 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
14256 (generate_image): Handle images with modules before kernel.
14257
566a1917
VS
142582011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14259
14260 Prevent potential loss of memory map by overwrite on qemu-mips.
14261
14262 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
14263 Save ram size in $s4.
14264 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
14265 All users changed to grub_arch_memsize.
14266 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
14267 Loongson.
14268 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
14269 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
14270 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
14271 external variable.
14272
5d420cd9
CW
142732011-05-17 Colin Watson <cjwatson@ubuntu.com>
14274
14275 * .bzrignore: Remove grub-dumpbios.
14276
d064b830
CW
142772011-05-17 Colin Watson <cjwatson@ubuntu.com>
14278
14279 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
14280 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
14281 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
14282 existing options which append).
14283 * docs/grub.texi (Simple configuration): Document new options.
14284 Reported by: Ian Jackson. Fixes Debian bug #617538.
14285
3ca2b466
CW
142862011-05-17 Colin Watson <cjwatson@ubuntu.com>
14287
14288 * util/grub-fstest.c (cmd_cat): New function.
14289 (fstest): Handle CMD_CAT.
14290 (options): Add cat.
14291 (argp_parser): Handle cat.
14292
24c9143a
CW
142932011-05-17 Colin Watson <cjwatson@ubuntu.com>
14294
14295 * Makefile.util.def (grub-bin2h): Don't install.
14296 * docs/man/grub-bin2h.h2m: Remove.
14297
90f7ac19
VS
142982011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14299
14300 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
14301 place.
14302
8d4a5178
VS
143032011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14304
14305 Reenable qemu-mips port.
14306
14307 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
14308 Fix small arc bug while on it.
14309 * gentpl.py: Handle qemu_mips.
14310 * grub-core/Makefile.am: Likewise.
14311 * grub-core/Makefile.core.def: Likewise.
14312 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
14313 inappropriate includes.
14314 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
14315 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
14316 * grub-core/kern/main.c (grub_modules_get_end)
14317 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
14318 * grub-core/kern/mips/qemu-mips: Moved to ..
14319 * grub-core/kern/mips/qemu_mips: ... this.
14320 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
14321 (grub_machine_init): Call terminfo_init and serial_init.
14322 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
14323 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
14324 New variable.
14325 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
14326 parameter passing.
14327 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
14328 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
14329 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
14330 * include/grub/mips/qemu_mips/cmos.h: New file.
14331 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
14332 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
14333 Removed.
14334 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
14335 Use correct mips-style address.
14336 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
14337 (GRUB_TICKS_PER_SECOND): Removed.
14338 (grub_get_rtc): Likewise.
14339 (grub_cpu_idle): Likewise.
14340 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
14341 New definition.
14342 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
14343 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
14344 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
14345 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
14346 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
14347 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
14348 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
14349 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
14350
400b9371
VS
143512011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14352
14353 SGI ARCS port.
14354
14355 * Makefile.util.def (libgrubmods.a): Add dvh.c.
14356 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
14357 platforms.
14358 * configure.ac: New target mips-arc.
14359 * gentpl.py: Likewise.
14360 * grub-core/Makefile.am: Likewise.
14361 * grub-core/Makefile.core.def: Likewise.
14362 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
14363 (none_decompress): Likewise.
14364 (lsdev): New module.
14365 (datetime): Use lib/arc/datetime.c on ARC.
14366 (part_dvh): New module.
14367 * grub-core/commands/arc/lsdev.c: New file.
14368 * grub-core/disk/arc/arcdisk.c: Likewise.
14369 * grub-core/kern/mips/arc/init.c: Likewise.
14370 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
14371 aligned addresses.
14372 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
14373 support.
14374 (grub_arch_dl_relocate_symbols): Likewise.
14375 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
14376 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
14377 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
14378 platforms.
14379 * grub-core/lib/arc/datetime.c: New file.
14380 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
14381 pci.h on non-loongson.
14382 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
14383 (grub_linux_boot): Set unused registers to 0.
14384 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
14385 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
14386 * grub-core/mmap/mips/uppermem.c: ...here.
14387 * grub-core/partmap/dvh.c: New file.
14388 * grub-core/term/arc/console.c: Likewise.
14389 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
14390 (grub_terminfo_set_current): Add terminal "arc".
14391 (grub_terminfo_readkey): Support ARC sequences.
14392 * include/grub/arc/arc.h: New file.
14393 * include/grub/arc/console.h: Likewise.
14394 * include/grub/disk.h (grub_disk_dev_id): Add
14395 GRUB_DISK_DEVICE_ARCDISK_ID.
14396 * include/grub/mips/arc/kernel.h: New file.
14397 * include/grub/mips/arc/memory.h: Likewise.
14398 * include/grub/mips/arc/time.h: Likewise.
14399 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
14400 * include/grub/mips/kernel.h (grub_halt): ... here.
14401 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
14402 here...
14403 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
14404 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
14405 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
14406 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
14407 proto.
14408 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
14409 from here ...
14410 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
14411 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
14412 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
14413 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
14414 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
14415 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
14416 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
14417 (grub_phys_addr_t): Moved from here ...
14418 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
14419 (grub_vtop): Moved from here ...
14420 * include/grub/mips/memory.h (grub_vtop): ... here.
14421 (grub_map_memory): Moved from here ...
14422 * include/grub/mips/memory.h (grub_map_memory): ... here.
14423 (grub_unmap_memory): Moved from here ...
14424 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
14425 (grub_machine_mmap_iterate): Moved from here ...
14426 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
14427 (grub_mmap_get_lower): Moved from here ...
14428 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
14429 (grub_mmap_get_upper): Moved from here ...
14430 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
14431 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
14432 here ...
14433 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
14434 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
14435 here ...
14436 * include/grub/mips/time.h (grub_get_rtc): ... here.
14437 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
14438 here ...
14439 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
14440 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
14441 here ...
14442 * include/grub/mips/time.h (grub_cpu_idle): ... here.
14443 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
14444 definition.
14445 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
14446 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
14447 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
14448 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
14449 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
14450 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
14451 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
14452 (GRUB_MACHINE_LINK_ADDR): Likewise.
14453 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
14454 to 6.
14455 * util/grub-install.in: Run dvhtool on ARC.
14456 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 14457 (generate_image): Handle ECOFF output for mips-arc.
400b9371 14458
c8ecc840
VS
144592011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14460
14461 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
14462 blocks.
14463
153a4b55
VS
144642011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14465
14466 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
14467 after enabling port.
14468
ff44d107
VS
144692011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14470
14471 Skip incorrect USB devices.
14472
14473 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
14474 configcnt == 0.
14475 * include/grub/usb.h (grub_usb_err_t): New enum value
14476 GRUB_USB_ERR_BADDEVICE.
14477
638dbe4f
VS
144782011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14479
14480 Fuloong video init support.
14481
14482 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
14483 well.
14484 (grub_vga_read_arx): New function.
14485 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
14486 definition.
14487 (framebuffer): New members io, mmioptr and mmiobase.
14488 (read_sis_cmd): New function.
14489 (write_sis_cmd): Likewise.
14490 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
14491 rather than 640x400.
14492 * grub-core/video/sis315_init.c: New file.
14493
c3fc520c
VS
144942011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14495
14496 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
14497 non-loongson.
14498 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
14499 to grub_dl_register_symbol.
14500
67b1e5c9
VS
145012011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14502
14503 Fix compilation errors.
14504
14505 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
14506 potentially unused.
14507 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
14508 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
14509 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
14510 to loongson machines.
14511
b756f75f
VS
145122011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14513
14514 Several FS mtime support.
14515
14516 * grub-core/fs/affs.c (grub_affs_time): New struct.
14517 (grub_affs_file): New field mtime.
14518 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
14519 type. Removed 'size'. New field 'di'. All users updated.
14520 (grub_affs_mount): Simplify checsum checking.
14521 (grub_affs_iterate_dir): New helper grub_affs_create_node.
14522 (grub_affs_dir): Handle mtime.
14523 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
14524 (grub_cpio_dir): Likewise.
14525 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
14526 (grub_hfs_filerec): New field mtime.
14527 (grub_hfs_dir): Handle mtime.
14528 (grub_hfs_mtime): New function.
14529 (grub_hfs_fs): Register grub_hfs_mtime.
14530 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
14531 (grub_iso9660_dir): New field mtime.
14532 (grub_fshelp_node): New field dirent.
14533 (iso9660_to_unixtime): New function.
14534 (iso9660_to_unixtime2): Likewise.
14535 (grub_iso9660_read_symlink): Use node->dirent.
14536 (grub_iso9660_iterate_dir): Likewise.
14537 (grub_iso9660_dir): Set mtime.
14538 (grub_iso9660_mtime): New function.
14539 (grub_iso9660_fs): Register grub_iso9660_mtime.
14540 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
14541 (grub_jfs_inode): New fields atime, ctime and mtime.
14542 (grub_jfs_dir): Set mtime.
14543 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
14544 * grub-core/fs/ntfs.c (list_file): Set mtime.
14545 (grub_ntfs_dir): Likewise.
14546 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
14547 (grub_reiserfs_iterate_dir): Set mtime.
14548 (grub_reiserfs_dir): Likewise.
14549 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
14550 (grub_fshelp_node): Likewise.
14551 (grub_sfs_iterate_dir): Set mtime.
14552 (grub_sfs_dir): Likewise.
14553 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
14554 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
14555 (grub_xfs_inode): New fields atime, mtime, ctime.
14556 (grub_xfs_dir): Set mtime.
14557 * include/grub/datetime.h (grub_datetime2unixtime): New function.
14558 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
14559 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
14560
14561 Support UDF symlinks.
14562
14563 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
14564 (grub_ufs_read_symlink): New function. All users updated.
14565
14566 Check amiga partmap checksum.
14567
14568 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
14569 (grub_amiga_partition): Likewise.
14570 (amiga_partition_map_checksum): New function.
14571 (amiga_partition_map_iterate): Check checksum.
14572
5470225d
VS
145732011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14574
14575 ROMFS support.
14576
14577 * Makefile.util.def (libgrubmods.a): Add romfs.
14578 * grub-core/Makefile.core.def (romfs): New module.
14579 * grub-core/fs/romfs.c: New file.
14580
d4680a35
VS
145812011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14582
14583 Squashfs v4 support.
14584
14585 * Makefile.util.def (libgrubmods.a): Add squash4.
14586 * grub-core/Makefile.core.def (squash4): New module.
14587 * grub-core/fs/squash4.c: New file.
14588 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
14589 disk_input_start, disk_input.
14590 (get_byte): Handle disk_input.
14591 (grub_zlib_disk_read): New function.
14592 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
14593
bcb18e74
FZ
145942011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
145952011-05-15 Feiran Zheng <famcool@gmail.com>
14596
14597 * Makefile.util.def (libgrubmods.a): Add minix3.
14598 * grub-core/Makefile.core.def (minix3): New module.
14599 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
14600 (GRUB_MINIX_BSIZE): Removed.
14601 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
14602 (grub_minix_ino_t): New type.
14603 (grub_minix_le_to_cpu_ino): New macro.
14604 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
14605 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
14606 (grub_minix_data): New field block_size.
14607 (grub_minix_read_file): Handle 64-bit correctly.
14608 * grub-core/fs/minix3.c: New file.
14609
32297d5f
TG
146102011-05-15 Tristan Gingold <gingold@free.fr>
146112011-05-15 Robert Millan <rmh.grub@aybabtu.com>
146122011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14613
14614 IA64 support.
14615
14616 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
14617 * configure.ac: Add ia64-efi target.
14618 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
14619 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
14620 * gentpl.py: Add ia64_efi platform.
14621 Rename x86_efi to efi and Add ia64-efi. All users updated.
14622 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
14623 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
14624 Remove kern/generic/rtc_get_time_ms.c on EFI.
14625 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
14626 kern/ia64/dl_helper.c on ia64-efi.
14627 Add kern/emu/cache.c on emu.
14628 (linux): Use on loader/ia64/efi/linux.c on ia64.
14629 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
14630 whether symbol is a function.
14631 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
14632 (grub_symbol): New field 'isfunc'.
14633 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
14634 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
14635 (grub_dl_load_segments): Place all sections into the same region.
14636 [__ia64__]: Create trampolines and got.
14637 [GRUB_MACHINE_EMU]: Call mprotect.
14638 (grub_dl_resolve_symbols): Resolve symbol type as well.
14639 [__ia64__]: Create function descriptors.
14640 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
14641 (grub_rtc_get_time_ms): ... this. Expressions simplified.
14642 (grub_get_rtc): New function.
14643 * grub-core/kern/emu/cache.c [__ia64__]: New file.
14644 * grub-core/kern/emu/cache.S: Renamed to ...
14645 * grub-core/kern/emu/cache_s.S: ... this.
14646 [__ia64__]: Add a nop.
14647 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
14648 [__ia64__]: New function.
14649 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
14650 * grub-core/kern/ia64/dl.c: New file.
14651 * grub-core/kern/ia64/dl_helper.c: Likewise.
14652 * grub-core/kern/ia64/efi/init.c: New file.
14653 * grub-core/kern/ia64/efi/startup.S: Likewise.
14654 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
14655 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
14656 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
14657 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
14658 * grub-core/loader/ia64/efi/linux.c: New file.
14659 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
14660 (GRUB_MOD_DEP): Likewise.
14661 (grub_dl) [__ia64__]: New fields got and tramp.
14662 (grub_dl): New field 'base'.
14663 (grub_dl_register_symbol): New argument isfunc. All users updated.
14664 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
14665 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
14666 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
14667 (grub_ia64_dl_get_tramp_got_size): New proto.
14668 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
14669 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
14670 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
14671 * include/grub/efi/api.h: Skip call wrappers on ia64.
14672 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
14673 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
14674 * include/grub/elf.h (ELF_ST_INFO): New definition.
14675 * include/grub/ia64/efi/kernel.h: New file.
14676 * include/grub/ia64/efi/memory.h: Likewise.
14677 * include/grub/ia64/efi/time.h: Likewise.
14678 * include/grub/ia64/kernel.h: Likewise.
14679 * include/grub/ia64/setjmp.h: Likewise (from glibc).
14680 * include/grub/ia64/time.h: New file.
14681 * include/grub/ia64/types.h: Likewise.
14682 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
14683 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
14684 New protos.
14685 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
14686 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
14687 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
14688 * util/grub-mkimage.c (image_target_desc): New field pe_target.
14689 All users updated.
14690 (EFI64_HEADER_SIZE): New definition. All users updated.
14691 (image_targets): Add ia64-efi.
14692 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
14693 jumpers_addr. All users updated.
14694 Create function descriptors.
14695 (count_funcs): New function.
14696 (unaligned_uint32): New struct.
14697 (MASK20): New definition.
14698 (MASK19): Likewise.
14699 (MASKF21): Likewise.
14700 (add_value_to_slot_20b): New function.
14701 (add_value_to_slot_21_real): Likewise.
14702 (add_value_to_slot_21): Likewise.
14703 (ia64_kernel_trampoline): New struct.
14704 (nopm): New variable.
14705 (jump): Likewise.
14706 (make_trampoline): New function.
14707 (relocate_addresses): Handle ia64.
14708 (make_reloc_section): Likewise.
14709 (load_image): Likewise.
14710
983b414d
VS
147112011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14712
14713 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
14714 warning. Move variables before code while on it.
14715
5d063cdc
VS
147162011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14717
14718 Fuloong support.
14719
14720 * configure.ac: Rename yeeloong platform to loongson. All users updated.
14721 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
14722 * grub-core/boot/mips/loongson/fuloong.S: New file.
14723 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
14724 Explicitly init CS5536.
14725 [FULOONG]: Don't use serial until CS5536 is available.
14726 Set GPIO based on dumps.
14727 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
14728 [FULOONG]: Handle GPIO and memory controller differences.
14729 Parse machine type in $a2.
14730 * grub-core/boot/mips/startup_raw.S: Determine and save the
14731 architecture.
14732 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
14733 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
14734 init on architecture type.
14735 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
14736 SIS315E. Don't init at_keyboard on fuloong.
14737 (grub_halt): Support Fuloong.
14738 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
14739 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
14740 (loongson_machtypes): New array.
14741 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
14742 type.
14743 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
14744 config. All users updated. Handle CS5536 serial.
14745 * grub-core/term/serial.c (grub_serial_register): Conditionalise
14746 default port on machine type. Register serial as inactive.
14747 * grub-core/video/sis315pro.c: New file.
14748 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
14749 definition.
14750 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
14751 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
14752 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
14753 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
14754 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
14755 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
14756 to ...
14757 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
14758 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
14759 definition.
14760 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
14761 (grub_arch_machine): New extern var.
14762 * include/grub/mips/loongson/serial.h
14763 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
14764 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
14765 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
14766 (GRUB_MACHINE_SERIAL_PORT0): ... this.
14767 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
14768 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
14769 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
14770 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
14771 * include/grub/term.h (grub_term_register_input_inactive): New inline
14772 function.
14773 (grub_term_register_output_inactive): Likewise.
14774 * include/grub/video.h (grub_video_driver_id): New value
14775 GRUB_VIDEO_DRIVER_SIS315PRO.
14776 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
14777 New field "names". All users updated.
14778 New field value IMAGE_FULOONG_FLASH.
14779 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
14780
6ada82d1
JU
147812011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
14782
14783 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
14784 and add some clarification.
14785
90c571a4
VS
147862011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14787
14788 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
14789 platforms if kernel is compressed.
14790
de04eecf
VS
147912011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14792
14793 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
14794 unused modules since currently referrence counter isn't reliable and
14795 there isn't much memory to recover there anyway.
14796
57688121
VS
147972011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14798
14799 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
14800 rather than resetting it to allow modules to reference themselves
14801 in init.
14802
3d2c7e35
VS
148032011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14804
14805 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
14806 counter on dependencies since grub_dl_unref already handles this.
14807
b25db218
VS
148082011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14809
14810 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
14811 on error if not already done.
14812
25a45338
VS
148132011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14814
14815 Fix few potential memory misusage.
14816
14817 * grub-core/font/font.c (load_font_index): Don't free char_index to
14818 avoid double free.
b25db218
VS
14819 (grub_font_load): Zero-fill font at alloc for safety.
14820 Close file on error.
14821 (free_font): Free bmp_idx.
25a45338 14822
0cac83df
VS
148232011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14824
14825 * docs/grub.texi (Installation): Fix several outdated claims.
14826
2217a143
VS
148272011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14828
14829 Handle module_license on windows.
14830
14831 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
14832 sections shifted.
14833 (insert_string): Make argument const char * instead of char *.
14834 (write_section_data): Handle long section names.
14835 Handle module_license.
14836
d4de6b01
VS
148372011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14838
14839 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
14840 handle class-free menuentries.
14841 (grub_normal_add_menu_entry): Add a check to be sure.
14842
4c2a3b43
VS
148432011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14844
14845 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
14846 PgUp and PgDown.
14847
85c6210f
VS
148482011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14849
14850 * configure.ac: Bump version to 1.99.
14851
36084912
VS
148522011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14853
14854 Give ATA device a bit more time on first try in order to allow disks
14855 to spin up.
14856
14857 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
14858 if dev->present is 1. Reset dev->present on failure.
14859 (grub_ata_device_initialize): Set dev->present to 1.
14860 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
14861 (grub_ata_device): New member 'present'.
14862
bda0e219
VS
148632011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14864
14865 * util/grub-mkimage.c (generate_image): Update hash.
14866
19e1c41b
VS
148672011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14868
14869 Flush caches on DMA memory.
14870
14871 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
14872 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
14873 (grub_dma_free): Likewise.
14874 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
14875
91bbcc0c
VS
148762011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14877
14878 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
14879 to avoid asm treating ld and sd as macros.
14880
60ddfad3
VS
148812011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14882
14883 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
14884 decompressor.
14885
a298aa04
VS
148862011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14887
14888 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
14889 grub_decompress_core since later would fail if grub_decompress_core
14890 is too far.
14891
9b44feca
VS
148922011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14893
14894 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
14895 R_MIPS_JALR since it's used by newer compiler.
14896
56dbe7b4
VS
148972011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
14898
14899 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
14900
52856af2
VS
149012011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14902
14903 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
14904 file_path to 0 for surety.
14905 (grub_chainloader_boot): Set exit_data to NULL.
14906 Unset the loader once done.
14907 (grub_cmd_chainloader): Fix confusing error message if file is empty.
14908
9c9bfc6d
VS
149092011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14910
14911 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
14912 unknown key into a dprintf.
14913
dd94a3df
VS
149142011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14915
14916 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
14917 on first non-existant partition.
14918
fa68d99c
VS
149192011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14920
14921 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
14922 openning fails.
14923 Reported by: Mark Korenberg.
14924
157effb7
VS
149252011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14926
14927 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
14928 overflow.
14929
ea75312f
VS
149302011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14931
14932 * util/grub-mkimage.c (main): Explicitely flush and sync the output
14933 before closing to ensure that it will be readable by grub-setup.
14934
072b5d31
VS
149352011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14936
14937 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
14938 (devpath_1): Use MAKE_PIWG_PATH.
14939 (devpath_2): Likewise.
14940 (devpath_3): Likewise.
14941 (devpath_4): Likewise.
14942 (devpath_5): Likewise.
14943 (devpath_6): Likewise.
14944
14945 The appleldr.mod was checked that to be binary identical to previous
14946 version.
14947
7fae0051
Z
149482011-05-05 Zach <mikezackles>
14949
14950 Support 2010 Macbooks.
14951
14952 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
14953 (devs): Add devpath_6.
14954
7c515bee
VS
149552011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14956
14957 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
14958 /dev/random. /dev/urandom is good enough for our purposes (salting).
14959
ed660bd8
VS
149602011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14961
14962 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
14963
ee5614b7
VS
149642011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14965
14966 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
14967 hexadecimal.
14968
664889a6
VS
149692011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14970
14971 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
14972 and not 0 on failure.
14973
bd405bbc
CW
149742011-05-03 Colin Watson <cjwatson@ubuntu.com>
14975
14976 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
14977 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
14978 disk; otherwise grub_fs_probe will not fall back to the next
14979 filesystem.
14980 (grub_pxefs_open): Likewise, for consistency.
14981 Reported and tested by: Ezekiel Grave.
14982
4ebff753
CW
149832011-05-03 Colin Watson <cjwatson@ubuntu.com>
14984
14985 * tests/partmap_test.in: Don't hardcode path to parted.
14986 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
14987
8f942553
CW
149882011-05-01 Colin Watson <cjwatson@ubuntu.com>
14989
14990 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
14991 of `ls' to find out which devices are available.
14992
3c62402d
VS
149932011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14994
14995 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
14996 than source address for efi mmap buffer.
14997
723f63f2
VS
149982011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14999
15000 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
15001 wrong action on non-detecting the magic.
15002
68797f92
VS
150032011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15004
15005 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
15006 already supplied by another part of the module (fixes compilation on
15007 FreeBSD).
15008
6be8715d
VS
150092011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15010
15011 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
15012 match the one used by mdadm.
15013
e91dba5b
CW
150142011-04-21 Colin Watson <cjwatson@ubuntu.com>
15015
15016 * po/README: Add instructions for creating po/LINGUAS.
15017
c85140b3
CW
150182011-04-21 Colin Watson <cjwatson@ubuntu.com>
15019
15020 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
15021 #551428.
15022
15023 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
15024 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
15025 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
15026 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
15027 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
15028 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
15029 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
15030 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
15031 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
15032 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
15033 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
15034 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
15035 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
15036 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
15037 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
15038 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
15039 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
15040 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
15041 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
15042 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
15043 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
15044 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
15045
92051871
CW
150462011-04-21 Colin Watson <cjwatson@ubuntu.com>
15047
15048 * grub-core/kern/emu/getroot.c
15049 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
15050 test that was incorrectly reintroduced in r3214.
15051 Reported by: Ian Dall. Fixes Savannah bug #33133.
15052
b13f79a4
CW
150532011-04-21 Colin Watson <cjwatson@ubuntu.com>
15054
15055 Fix stack pointer handling in 16-bit relocator.
15056
15057 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
15058 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
15059 Fixes Ubuntu bug #683904.
15060
9b710a88
VS
150612011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15062
15063 * configure.ac: Bump version to 1.99~rc2.
15064
d97e7b59
VS
150652011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15066
15067 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
15068 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
15069 * grub-core/lib/x86_64/setjmp.S: Likewise.
15070 * grub-core/lib/mips/setjmp.S: Likewise.
15071 * grub-core/lib/powerpc/setjmp.S: Likewise.
15072 * grub-core/lib/sparc64/setjmp.S: Likewise.
15073
0624551c
VS
150742011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15075
15076 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
15077 * grub-core/lib/efi/datetime.c: Likewise.
15078
e8f28d4c
VS
150792011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15080
15081 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
15082 New function.
15083 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
15084 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
15085 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
15086
bba79a15
VS
150872011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15088
15089 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
15090 bitmap.
15091 (grub_gfxterm_term_init): Likewise.
15092
abc474ef
VS
150932011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15094
15095 Take into account the decorations the computing menu entry width.
15096
15097 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
15098 (grub_gfxmenu_create_box): Register get_border_width.
15099 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
15100 if available.
15101 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
15102 get_border_width.
15103
e74b3947
EP
151042011-04-18 Endres Puschner <code@e7p.de>
15105
15106 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
15107 Don't skip first class.
15108
34faa595
VS
151092011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15110
15111 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
15112 chunks.
15113 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
15114
93a777e3
VS
151152011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15116
15117 Complete 64-bit division support.
15118
15119 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
15120 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
15121 * include/grub/misc.h (grub_divmod64): Rename to ...
15122 (grub_divmod64_full): ... this.
15123 (grub_divmod64): New inline function.
15124
a5102d94
VS
151252011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15126
15127 * util/grub-mkimage.c (generate_image): Add forgotten comma.
15128
f3fb7b36
VS
151292011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15130
15131 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
15132 performing the necessary test.
15133
9ac718b0
VS
151342011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
15135
15136 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
15137 (kfreebsd.elf): Likewise.
15138 (pc-chainloader.elf): Likewise.
15139 (ntldr.elf): Likewise.
15140
50d2cc5a
VS
151412011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
15142
15143 Identify RAID by its UUID rather than (guessed) name.
15144
15145 * grub-core/disk/raid.c (ascii2hex): New function.
15146 (grub_raid_open): Accept mduuid/%s specification.
15147 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
15148 (get_mdadm_uuid): ... this.
15149 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
15150
e03f7bea
VS
151512011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
15152
15153 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
15154 to negative size.
15155
e74c3112
CW
151562011-04-13 Colin Watson <cjwatson@ubuntu.com>
15157
15158 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
15159 btrfs subvolume.
15160 * util/grub.d/20_linux_xen.in: Likewise.
15161
78fa584f
CW
151622011-04-13 Colin Watson <cjwatson@ubuntu.com>
15163
15164 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
15165 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
15166
15167 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
15168 Build a list of relevant visible mounts using the mnt_id and
15169 parent_mnt_id fields, and then scan that list at the end.
15170
9d5f8162
CW
151712011-04-12 Colin Watson <cjwatson@ubuntu.com>
15172
15173 * docs/grub.texi (normal): New section.
15174 (normal_exit): New section.
15175 (Embedded configuration): Add reference to normal.
15176 (GRUB only offers a rescue shell): Likewise.
15177 * docs/grub-dev.texi (Error Handling): Fix typo.
15178
09a9d66f
CW
151792011-04-12 Colin Watson <cjwatson@ubuntu.com>
15180
15181 * NEWS: Drop obsolete entry about probe-only btrfs support.
15182
0c676933
CW
151832011-04-12 Colin Watson <cjwatson@ubuntu.com>
15184
15185 * util/import_gcry.py: Fix typo.
15186
ec9f5e0d
VS
151872011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15188
15189 * NEWS: Add btrfs support.
15190
fe6b2cba
VS
151912011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
151922011-04-11 Colin Watson <cjwatson@ubuntu.com>
15193
15194 BtrFS support. Written by me (Vladimir) with important bugfixes and
15195 even more important testing by Colin.
15196
15197 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
15198 * grub-core/Makefile.core.def (btrfs): Add crc.c.
15199 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
15200 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
15201 mem_input_off and mem_input. All users updated to accept in-RAM input.
15202 (gzio_seek): New function.
15203 (test_zlib_header): Likewise.
15204 (grub_gzio_read): Likewise.
15205 (grub_zlib_decompress): Likewise.
15206 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
15207 Accept partial and non-virtual mounts.
15208 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
15209 avoid receiving /dev/dm-X as device.
15210 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
15211 Handle bind and partial mounts.
15212 * grub-core/lib/crc.c: New file.
15213 * include/grub/deflate.h: Likewise.
15214 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
15215 proto.
15216 * include/grub/lib/crc.h: New file.
15217
e745cf0c
VS
152182011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15219
15220 Implement automatic module license checking according to new GNU
15221 guidelines.
15222
15223 * grub-core/kern/dl.c (grub_dl_check_license): New function.
15224 (grub_dl_load_core): Use grub_dl_check_license.
15225 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
15226 (GRUB_MOD_LICENSE): Likewise.
15227 (GRUB_MOD_DUAL_LICENSE): Likewise.
15228 All modules updated.
15229
2a9bc016
CW
152302011-04-11 Colin Watson <cjwatson@ubuntu.com>
15231
15232 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
15233 reserved_first_sector to 1. btrfs reserves plenty of space for boot
15234 loaders.
15235 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
15236
8a3bc88e
VS
152372011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15238
15239 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
15240
af869a4a
VS
152412011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15242
15243 * util/grub-fstest.c (read_file): Report GRUB error if file opening
15244 failed.
15245
9ee8d94f
VS
152462011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15247
15248 * grub-core/kern/file.c (grub_file_open): Don't take into account the
15249 parenthesis in the middle of the filename.
15250
b01abe3e
VS
152512011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15252
15253 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
15254 rather than trying to put initrd way too high.
15255 Reported by: Ryan Lortie <desrt@desrt.ca>
15256
335bda1e
VS
152572011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15258
15259 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
15260 improperly removed string.
15261
5ca1a64d
VS
152622011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15263
15264 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
15265 is_disk.
15266 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
15267 (open_device) Likewise.
15268 (grub_util_biosdisk_close): Likewise.
d8ce9995 15269 Reported by: Mark Korenberg.
5ca1a64d 15270
cbac5b1e
AK
152712011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
15272
15273 * util/grub-mkconfig_lib.in: Add missing quotes.
15274
088cdb65
CW
152752011-04-10 Colin Watson <cjwatson@ubuntu.com>
15276
15277 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
15278 is NULL.
15279
8b8a81fa
VS
152802011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15281
15282 Dynamically count the number of lines for the lower banner.
15283
15284 * grub-core/normal/menu_entry.c (per_term_screen): New member
15285 num_entries.
15286 (print_down): Use num_entries.
15287 (update_screen): Likewise.
15288 (grub_menu_entry_run): Set num_entries.
15289 * grub-core/normal/menu_text.c (menu_viewer_data): New member
15290 num_entries.
15291 (grub_print_message_indented): Move real part to ...
15292 (grub_print_message_indented_real): ... here. Additional argument
15293 dry_run.
15294 (draw_border): Additional argument num_entries.
15295 (print_message): Additional argument dry_run.
15296 (print_entries): Receive menu viewer data.
15297 (grub_menu_init_page): New argment num_entries.
15298 (menu_text_set_chosen_entry): Use num_entries.
15299 (grub_menu_try_text): Likewise.
15300 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
15301 All users updated.
15302 (grub_ucs4_count_lines): New function.
15303 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
15304 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
15305 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
15306 (grub_term_border_height): Likewise.
15307 (grub_term_num_entries): Likewise.
15308
277f955b
VS
153092011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15310
15311 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
15312 Remove now unused string.
15313
536ce85a
CW
153142011-04-09 Colin Watson <cjwatson@ubuntu.com>
15315
15316 * docs/grub-dev.texi (Finding your way around): Update for 1.99
15317 build system.
15318 (Getting started): GRUB is developed in Bazaar now, not Subversion.
15319
15320 (Comment): Fix typo.
15321 (Getting started): General copy-editing.
15322 (Typical Development Experience): Likewise.
15323 (Error Handling): Likewise.
15324 (Video API): Likewise.
15325
2cf09e32
CW
153262011-04-09 Colin Watson <cjwatson@ubuntu.com>
15327
15328 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
15329 throughout.
15330
1ec652f4
VS
153312011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15332
15333 * util/grub-mkimage.c (main): Handle special naming of yeeloong
15334 directory.
15335
2c583728
CW
153362011-04-08 Colin Watson <cjwatson@ubuntu.com>
15337
15338 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
15339 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
15340 "development".
15341
d7a565e9
VS
153422011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15343
15344 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
15345 grub_strcpy since the lines aren't necessarily 0-terminated.
15346
7c2e4909
VS
153472011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15348
15349 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
15350 root on legacy.
15351
34c09785
VS
153522011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15353
15354 * grub-core/commands/probe.c (options): Argument to set isn't optional.
15355 (GRUB_MOD_INIT): DEVICE isn't optional.
15356
6a6f8058
VS
153572011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15358
15359 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
15360 word on new line if it's too long anyway. Fixes a hang.
15361
2e335e90
VS
153622011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15363
15364 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
15365 const.
15366 * util/grub-setup.c (main): Reuse md device name if available.
15367 * util/raid.c (grub_util_raid_getmembers): Receive device name and
15368 not GRUB name as argument.
15369 Based on patch by: Florian Wagner <fwagner>.
15370
10a7a867
VS
153712011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15372
15373 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
15374 Place mbi on low memory for better compatibility.
15375
7a3d6cd9
VS
153762011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15377
15378 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
15379
18dd6b47
VS
153802011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
153812011-04-08 Colin Watson <cjwatson@ubuntu.com>
15382
15383 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 15384 * conf/Makefile.common: Likewise.
18dd6b47 15385
3c0e3f14
VS
153862011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15387
f7148863
VS
15388 * grub-core/normal/menu.c: Add missing include.
15389
153902011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15391
15392 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 15393
6d1fa41f
MZ
153942011-04-08 Martin Zuther <mzuther@mzuther.de>
15395
15396 * util/grub-mkconfig.in: Ignore emacsen backup.
15397
478182a8
VS
153982011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15399
15400 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
15401 on open.
15402 (grub_util_biosdisk_close): Likewise.
15403
72a89a54
VS
154042011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15405
15406 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
15407 const attribute and use grub_isdigit.
15408
b5ebecfa
A
154092011-04-06 Andrey <dev_null@ukr.net>
15410
15411 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
15412 gcc warning.
15413
7755f66e
VS
154142011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15415
15416 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
15417 useful grub_dprintf's.
15418
461121ff
VS
154192011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15420
15421 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
15422
2a961775
VS
154232011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15424
15425 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
15426
adf594cc
VS
154272011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15428
15429 Output errors if theme loading failed.
15430
15431 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
15432 grub_gfxterm_fullscreen on error paths to ...
15433 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
15434 theme loading error.
15435
665900a3
VS
154362011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15437
15438 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
15439 space for older compilers.
15440 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15441
a562b479
VS
154422011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15443
15444 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
15445 and report them as not RAID members since they are useless for GRUB.
15446 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
15447
850e9373
VS
154482011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15449
15450 Increase LVM implementation robustness in order not to crash on
15451 configurations like pvmove. Previously code assumed that in some places
15452 only lvs or only pvs are used whereas it seems that they are used
15453 interchangeably.
15454
15455 * grub-core/disk/lvm.c (read_node): New function.
15456 (read_lv): Use read_node.
15457 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
15458 Match volumes only at the end when all lvs are found. Take both
15459 pvs (first) and lvs (second) into account.
15460 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
15461 mirror_* into node_*. All users updated.
15462 (grub_lvm_stripe): Merge this ...
15463 (grub_lvm_mirror): ... and this ...
15464 (grub_lvm_node): ... into this. All users updated.
15465
6f332153
VS
154662011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15467
15468 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
15469 of function to allow further scanning for LVMs.
15470
829ea451
VS
154712011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15472
15473 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
15474 on failed seek as it breaks open fd reusage.
15475
09ceb9a5
VS
154762011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15477
15478 * util/grub-install.in: Add a recommendation to use --recheck before
15479 reporting bugs.
15480
67e11623
VS
154812011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15482
15483 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
15484 are obtained.
15485
caee5efd
VS
154862011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15487
15488 GRUB developper manual based on existing Internals section and
15489 contributions by the various authors with active copyright assignment.
15490
15491 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
15492 * docs/font_char_metrics.png: New file.
15493 * docs/font_char_metrics.txt: Likewise.
15494 * docs/grub-dev.texi: Likewise.
15495 * docs/grub.texi (Internals): Move from here ...
15496 * docs/grub-dev.texi: ... here.
15497
2cccc747
CW
154982011-04-01 Colin Watson <cjwatson@ubuntu.com>
15499
15500 Store the loopback device as data on loopback grub_disk structures,
15501 rather than the file it points to. This fixes use of freed memory
15502 if an existing loopback device is replaced.
15503
15504 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
15505 disk->data, not dev->file.
15506 (grub_loopback_read): Adjust file assignment to match.
15507 Fixes Ubuntu bug #742967.
15508
186ae367
CW
155092011-04-01 Colin Watson <cjwatson@ubuntu.com>
15510
15511 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
15512 when replacing an existing device.
15513
cfed2ad0
VS
155142011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
15515
15516 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
15517 memory corruptions.
15518
15519 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
15520 unsigned.
15521 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
15522 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
15523 (grub_jfs_read_inode): Likewise.
15524 (grub_jfs_opendir): Likewise. Remove now useless casts.
15525 (grub_jfs_getent): Likewise.
15526 Make ino a grub_uint32_t rather than int.
15527 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
15528 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
15529 division and module with bit operations.
15530 (grub_jfs_find_file): Make ino a grub_uint32_t.
15531 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
15532
05d2ed32
CW
155332011-04-01 Colin Watson <cjwatson@ubuntu.com>
15534
15535 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
15536 warning. (This was in fact always initialised before use, but GCC
15537 wasn't smart enough to prove that.)
15538 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
15539
91dc6073
VS
155402011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
15541
15542 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
15543 stack alignment.
15544 (efi_wrap_1): Likewise.
15545 (efi_wrap_2): Likewise.
15546 (efi_wrap_3): Likewise.
15547 (efi_wrap_4): Likewise.
15548 (efi_wrap_5): Likewise.
15549 (efi_wrap_6): Likewise.
15550 (efi_wrap_10): Likewise.
15551 Based on information by: Red Hat/Peter Jones.
15552
a8afc1d1
CW
155532011-03-31 Colin Watson <cjwatson@ubuntu.com>
15554
15555 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
15556 set-but-not-used variable.
15557
a826cc7d
CW
155582011-03-31 Colin Watson <cjwatson@ubuntu.com>
15559
15560 * docs/grub.texi (Simple configuration): Be more explicit about
15561 GRUB_DEFAULT, and add an example.
15562 Reported by: Leslie Rhorer.
15563
875b67ba
CW
155642011-03-30 Colin Watson <cjwatson@ubuntu.com>
15565
15566 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
15567 shell".
15568
fd7cd914
AS
155692011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
15570
15571 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
15572 * util/grub.d/20_linux_xen.in: Likewise.
15573
090b1b6a
VS
155742011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15575
15576 * util/grub.d/10_linux.in: Try alternative config filenames where
15577 we parse config file.
15578 * util/grub.d/20_linux_xen.in: Likewise.
15579
baad885c
AS
155802011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
15581
15582 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
15583 * util/grub.d/20_linux_xen.in: Likewise.
15584
241e41f5
VS
155852011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15586
15587 * grub-core/disk/raid.c (insert_array): Add few potentially
15588 useful grub_util_info.
15589 (grub_raid_register): Likewise.
15590
56445fb2
VS
155912011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15592
15593 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
15594 Preserve partition number in mdadm code path.
15595
c871b1c6
VS
155962011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15597
15598 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
15599 few potentially useful grub_util_info.
15600
5e631b4f
CW
156012011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15602
15603 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
15604
2d5d0333
CW
156052011-03-30 Colin Watson <cjwatson@ubuntu.com>
15606
15607 * docs/grub.texi (default): Use @example rather than nested
15608 itemized lists to avoid breaking gendocs.
15609
3d7ed04e
CW
156102011-03-30 Colin Watson <cjwatson@ubuntu.com>
15611
15612 * docs/grub.texi (Future): Update.
15613
abf04200 156142011-03-30 Colin Watson <cjwatson@ubuntu.com>
15615
15616 * docs/grub.texi (Environment): New chapter.
15617 (Changes from GRUB Legacy): Link to "Environment block" section for
15618 details of limitations.
15619 (Simple configuration): Likewise. Link to documentation of gfxmode
15620 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
15621 respectively.
15622 (Shell-like scripting): Note that normal variables are stored in the
15623 environment.
15624 (gettext): Link to documentation of lang and locale_dir.
15625 (list_env): New section.
15626 (load_env): New section.
15627 (save_env): New section.
15628
15629 (Reporting bugs): Fix typo.
15630
e1ad0edd
VS
156312011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15632
15633 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
15634 the example.
15635
5d803174
VS
156362011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15637
15638 * grub-core/term/at_keyboard.c (set_scancodes)
15639 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
15640
2a2da1d0
CW
156412011-03-30 Colin Watson <cjwatson@ubuntu.com>
15642
15643 * docs/grub.texi (Menu-specific commands): Remove some semantics
15644 that were true in GRUB Legacy but not in GRUB 2.
15645 (submenu): New section.
15646 (false): New section.
15647 (read): New section.
15648 (true): New section.
15649
a7527639
CW
156502011-03-30 Colin Watson <cjwatson@ubuntu.com>
15651
15652 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
15653
156542011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
15655
15656 * docs/grub.texi (Simple configuration): Explain some of the
15657 current limitations of grub-mkconfig.
8a748df2 15658 Reported by: Leslie Rhorer.
e30af029 15659
fc858482
VS
156602011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15661
15662 Old macs search for boot.efi rather than for bootia32.efi.
15663
15664 * util/grub-install.in: Copy bootia32.efi to boot.efi.
15665 * util/grub-mkrescue.in: Likewise.
15666 Suggested by: Peter Jones.
15667
e1eb511d
VS
156682011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15669
15670 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
15671
70e75364
VS
156722011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15673
15674 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
15675 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
15676 (grub_lvm_mirror): New struct.
15677 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
15678 (grub_lvm_iterate): Iterate only visible volumes.
15679 (grub_lvm_read): Factor out to ..
15680 (read_lv): ... this. Support mirrors.
15681 (grub_lvm_read): New wrapper function.
15682 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
15683 stripped or mirrored.
15684
fc18f6a3
VS
156852011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15686
15687 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
15688
5c650f4c
CW
156892011-03-29 Colin Watson <cjwatson@ubuntu.com>
15690
15691 * docs/grub.texi (loopback): New section.
15692
61d7156b
CW
156932011-03-29 Colin Watson <cjwatson@ubuntu.com>
15694
15695 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
15696 removed -p option.
15697
994b8264
CW
156982011-03-29 Colin Watson <cjwatson@ubuntu.com>
15699
15700 * docs/grub.texi (BIOS installation): New section, partly based on
15701 previous text in other sections.
15702 (Installing GRUB using grub-install): Replace BIOS discussion with a
15703 cross-reference.
15704 (Images): Likewise.
15705
9e4d19e0
VS
157062011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15707
15708 * grub-core/kern/emu/hostdisk.c (find_partition_start)
15709 [HAVE_DIOCGDINFO]: Add safety checks.
15710
a307c0b2
VS
157112011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15712
15713 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
15714 per default compiled in kernel and prior to 8.0 isn't shipped at all.
15715
b4db4f39
CW
157162011-03-29 Colin Watson <cjwatson@ubuntu.com>
15717
15718 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
15719 real_sb->size is zero (e.g. RAID-0), get the disk size from
15720 real_sb->data_size instead.
15721 Fixes Ubuntu bug #743136.
15722
35e5f84c
VS
157232011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15724
15725 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
15726 printf clauses for printing size and start.
15727
d2e29d81
VS
157282011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15729
15730 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
15731 Reported and tested by: Timothy Nikkel.
15732
ed5587af
VS
157332011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15734
15735 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
15736 (dirty_region_add_real): ... this.
15737 (dirty_region_add): Don't discard margin refresh when performing
15738 scheduled repaint.
15739
a1dc717c
VS
157402011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15741
15742 * grub-core/lib/relocator.c (allocate_regstart)
15743 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
15744 terminals are capabple of malloc-free operation.
15745 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
15746 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
15747
9f3677d3
VS
157482011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
15749
15750 * util/grub-setup.c: Copy the partition table zone if floppy support
15751 is disabled, even if no partition table is found.
15752
15753 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
15754 during POST if an invalid partition table is contained in the PBR
15755 of the active partition when GRUB is installed to a partition.
15756
24148725
CW
157572011-03-28 Colin Watson <cjwatson@debian.org>
15758
15759 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
15760 comment.
15761
f329eda7
CW
157622011-03-28 Colin Watson <cjwatson@debian.org>
15763
15764 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
15765 to be specific about what kind of RAID device we're scanning for.
15766
c482ad98
SG
157672011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
15768
15769 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
15770 return freed string.
15771
5ee04984
VS
157722011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15773
15774 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
15775
f4727da9
VS
157762011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15777
15778 Use libgeom on FreeBSD to detect partitions.
15779
15780 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
15781 (grub-mkrelpath): Likewise.
15782 (grub-script-check): Likewise.
15783 (grub-editenv): Likewise.
15784 (grub-mkpasswd-pbkdf2): Likewise.
15785 (grub-fstest): Likewise.
15786 (grub-mkfont): Likewise.
15787 (grub-mkdevicemap): Likewise.
15788 (grub-probe): Likewise.
15789 (grub-setup): Likewise.
15790 (grub-ofpathname): Likewise.
15791 (grub-mklayout): Likewise.
15792 (example_unit_test): Likewise.
15793 (grub-menulst2cfg): Likewise.
15794 * grub-core/Makefile.core.def (grub-emu): Likewise.
15795 (grub-emu-lite): Likewise.
15796 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
15797 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
15798 define HAVE_DIOCGDINFO.
15799 (follow_geom_up) [FreeBSD]: New function.
15800 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
15801 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
15802 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
15803 unconditionally of HAVE_DIOCGDINFO.
15804
82fe6c75
VS
158052011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15806
15807 Fix FreeBSD compilation problem.
15808
15809 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
15810 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
15811
4c6c9431
CW
158122011-03-24 Colin Watson <cjwatson@ubuntu.com>
15813
15814 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
15815 Switch back to page zero before loading a kernel, since some kernel
15816 drivers expect that.
15817 Thanks to: Felix Kuehling.
15818
c7064d94
VS
158192011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15820
15821 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
15822 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
15823 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
15824
3f71cded
VS
158252011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15826
15827 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
15828 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
15829
ef6de21a
VS
158302011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15831
15832 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
15833 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
15834 malloc is disabled.
15835
8bc66a2c
VS
158362011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15837
15838 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
15839 for modules headers when counting the needed allocation size.
15840
5657722c
VS
158412011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15842
15843 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
15844 if no ASCII character is found to prevent crash.
15845
41a85f55
AK
158462011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
15847
15848 * grub-core/video/bitmap.c (match_extension): Ignore case.
15849
59e1e5f1
VS
158502011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15851
15852 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
15853
bd4d051a
VS
158542011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15855
15856 * grub-core/script/parser.y: Declare "time" as valid argument.
15857
bae7fcc1
PJ
158582011-03-23 Peter Jones <pjones@redhat.com>
15859
15860 Fix incorrect assert failure reporting.
15861
15862 * grub-core/tests/example_functional_test.c (example_test): Add
15863 a failure comment.
15864 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
15865 (failure_start): ...this. Check that malloc succeeded.
15866 Don't call xvasprintf. Return failure struct.
15867 (failure_append_vtext): New function.
15868 (failure_append_text): Likewise.
15869 (add_failure): Likewise.
15870 (grub_test_assert_helper): Likewise.
15871 * include/grub/test.h (grub_test_assert_helper): New declaration.
15872 (grub_test_assert): Macro rewritten.
15873
537dc9be
VS
158742011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15875
15876 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
15877
fa3e01bf
VS
158782011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15879
15880 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
15881
b1d28404
VS
158822011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15883
15884 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
15885 into GRUB-style one.
15886
2e3e2e09
VS
158872011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15888
15889 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
15890 error and not grub_errno.
15891 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
15892
ed57e557
VS
158932011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15894
15895 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
15896 GRUB_USB_SPEED_NONE in case of failure and not the error code.
15897
d1611f01
VS
158982011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15899
15900 * grub-core/efiemu/i386/pc/cfgtables.c
15901 (grub_machine_efiemu_init_tables): Make declaration a prototype.
15902 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
15903 (grub_xnu_unlock): Likewise.
15904 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
15905
7d4e39d6
VS
159062011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15907
15908 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
15909 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
15910 * grub-core/commands/hashsum.c (aliases): Likewise.
15911 * grub-core/commands/setpci.c (pci_registers): Likewise.
15912 * grub-core/disk/usbms.c (attach_hook): Likewise.
15913 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
15914 (zio_checksum_table): Likewise.
15915 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
15916 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
15917 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
15918 * grub-core/lib/relocator.c (leftovers): Likewise.
15919 (extra_blocks): Likewise.
15920 * grub-core/loader/i386/bsd.c (relocator): Likewise.
15921 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
15922 (modules_last): Likewise.
15923 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
15924 (devices): Likewise.
15925 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
15926 (modules_last): Likewise.
15927 * grub-core/normal/auth.c (users): Likewise.
15928 * grub-core/normal/context.c (initial_menu): Likewise.
15929 (current_menu): Likewise.
15930 * grub-core/normal/crypto.c (crypto_specs): Likewise.
15931 * grub-core/term/serial.c (grub_serial_ports): Likewise.
15932 (grub_serial_terminfo_input_template): Likewise.
15933 (grub_serial_terminfo_output_template): Likewise.
15934 (grub_serial_terminfo_input): Likewise.
15935 (grub_serial_terminfo_output): Likewise.
15936 (registered): Likewise.
15937 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
15938
40fc4659
VS
159392011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15940
15941 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
15942 grub_video_mode_type_t.
15943 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
15944 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
15945 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
15946
2da48d28
VS
159472011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15948
15949 * util/grub-install.in: Correct the x86-64 name as x86_64.
15950
9b43bf39
CW
159512011-03-11 Colin Watson <cjwatson@ubuntu.com>
15952
15953 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
15954 initial chunk read from the kernel always includes GRUB's multiboot
15955 header, which is now outside the first sector.
15956
be1a7ce0
CW
159572011-03-09 Colin Watson <cjwatson@ubuntu.com>
15958
15959 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
15960 cached mmap_size, so that this works correctly when called multiple
15961 times.
15962 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
15963
83a3c48d
CW
159642011-03-09 Colin Watson <cjwatson@ubuntu.com>
15965
15966 * docs/grub.texi (Simple configuration): Tidy up formatting.
15967
57d75699
SJ
159682011-03-07 Szymon Janc <szymon@janc.net.pl>
15969
15970 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
15971 Set-but-not-used variable removed.
15972
028501a0
VS
159732011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
15974
15975 Workaround yet another IEEE1275 bug.
15976
15977 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
15978 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
15979 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
15980 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
15981 is set.
15982 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15983 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
15984
d998657d
VS
159852011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
15986
15987 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
15988 error.
15989
fee7cdd4
CW
159902011-02-11 Colin Watson <cjwatson@ubuntu.com>
15991
15992 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
15993 empty, since in that case we can only generate either nothing or a
15994 syntactically invalid configuration file.
15995 Reported by: Michal Suchanek. Fixes Debian bug #612898.
15996
97286eb5
CW
159972011-02-09 Colin Watson <cjwatson@ubuntu.com>
15998
15999 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
16000 (Making a GRUB bootable CD-ROM): Likewise.
16001 (Invoking grub-mkrescue): New section.
16002 Reported by: Yann Dirson. Fixes Debian bug #612585.
16003
22b28eb3
CW
160042011-02-09 Colin Watson <cjwatson@ubuntu.com>
16005
16006 * util/grub-install.in: Remove unnecessary brackets from tr
16007 arguments.
16008 * util/grub.d/10_hurd.in: Likewise.
16009 * util/grub.d/10_kfreebsd.in: Likewise.
16010 * util/grub.d/10_linux.in: Likewise.
16011 * util/grub.d/20_linux_xen.in: Likewise.
16012 Reported by: Jamie Heilman. Fixes Debian bug #612564.
16013
7e735e43
CW
160142011-02-08 Colin Watson <cjwatson@ubuntu.com>
16015
16016 * include/grub/file.h (not_easly_seekable): Rename to ...
16017 (not_easily_seekable): ... this. Update all users.
16018
800f1881
CW
160192011-01-28 Colin Watson <cjwatson@ubuntu.com>
16020
16021 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
16022 grub-mkrescue.
16023
3281d3d6
VS
160242011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
16025
16026 * util/grub-mkimage.c (generate_image): Refuse to create the images
16027 bigger than the actual flash (512K) in Loongson machines. 512K is also
16028 the biggest chip supported by them.
16029
3533413c
VS
160302011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16031
16032 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
16033
73ae4f4f
VS
160342011-01-22 Anthony DeRobertis <anthony@derobert.net>
16035
16036 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
16037 super_offset field.
16038
37f4f608
VS
160392011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16040
16041 * util/grub-install.in: Ignore install device on platforms
16042 where it doesn't make sense. Always use UUIDs except on pc, efi and
16043 sparc64.
16044 Reported by: Daniel Kahn Gillmor.
16045
03a4ccb5
VS
160462011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16047
16048 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
16049
ffc8f4d8
VS
160502011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16051
16052 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
16053 (iterate_real): Don't rely on partition being non-NULL.
16054
80f23be7
VS
160552011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16056
16057 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
16058 supported platforms. Put a compile time assert for this rather than
16059 generate a warning with 32-bit shift.
16060
5d4f4dd5
VS
160612011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16062
16063 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
16064 logical expression more readable.
16065
e489601a
VS
160662011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16067
16068 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
16069 even if some elements have a name.
16070 Reported by: Alexander GQ Gerasiov.
16071
96e0a6ea
CW
160722011-01-22 Colin Watson <cjwatson@ubuntu.com>
16073
16074 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
16075 path unreadable if `grub-probe -t abstraction' fails, for example if
16076 memberlist fails on an LVM volume group.
16077 Reported by: Darius Jahandarie.
16078
81431e2b
CW
160792011-01-22 Colin Watson <cjwatson@ubuntu.com>
16080
16081 * docs/grub.texi (Simple configuration): Document
16082 GRUB_PRELOAD_MODULES.
16083
5e79d66a
CW
160842011-01-17 Colin Watson <cjwatson@ubuntu.com>
16085
16086 * .bzrignore: Remove nonexistent grub-pbkdf2.
16087
646ada34
VS
160882011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
16089
16090 * configure.ac: Bump version to 1.99~rc1.
16091
04360337
VS
160922011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16093
16094 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
16095 for safety.
16096
46c9db88
VS
160972011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
16098
16099 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
16100 module.
16101
161022011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
16103
16104 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
16105
4fbf1852
VS
161062011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16107
16108 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
16109 diskdevid.
16110
f1632d4d
VS
161112011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16112
16113 Fix compilation on cygwin.
16114
16115 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
16116 -R .drectve on cygwin.
16117 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
16118 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
16119 (COND_CYGWIN): New condition.
16120 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
16121 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
16122 not @TARGET_OBJ2ELF@.
16123 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
16124 type to determine whether aux is to be used.
16125
0b5e127b
VS
161262011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16127
16128 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
16129 realpath'ed device string.
16130 Handle floppy (somewhat).
16131 Issue error in unknown case rather than garbage.
16132 Reported by: Axel Beckert.
16133
173b71e9
VS
161342011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16135
16136 * util/grub.d/00_header.in (load_video): Handle the case when no video
16137 drivers available.
16138 Thanks to: Axel Beckert.
16139
f8f479db
VS
161402011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16141
16142 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
16143 variable. Fixes problem on big endian platforms.
16144
8fc0a245
VS
161452011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16146
16147 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
16148 It doesn't work well there.
16149
b8494fbe
VS
161502011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16151
16152 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
16153 warning.
16154 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
16155 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
16156 counter.
16157
b44a558c
VS
161582011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16159
16160 Use alias->path rather than buggy "canon".
16161
16162 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
16163 (ofdisk_hash_add): New argument curcan. All users updated.
16164
51fa856c
CW
161652011-01-11 Colin Watson <cjwatson@ubuntu.com>
16166
16167 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
16168
9da068a5
VS
161692011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16170
16171 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
16172 loadmask before doing any calculations. Use correct type for offset.
16173 (grub_linux_load64): Likewise.
16174
86205c94
CW
161752011-01-11 Colin Watson <cjwatson@ubuntu.com>
16176
16177 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
16178 with NULL.
16179 (console_grub_equivalences_unshift): Likewise.
16180 Reported by: Daniel Dehennin.
16181
4531a206
VS
161822011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16183
16184 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
16185 (set_env_limn_ro): Likewise.
16186 (GRUB_MOD_INIT): Likewise.
16187 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
16188 ARRAY_SIZE while on it.
16189 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
16190 * grub-core/normal/context.c (grub_env_export): Move from here ...
16191 * grub-core/kern/env.c (grub_env_export): ... here.
16192 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
16193 prefix.
16194 * grub-core/kern/main.c (grub_main): Export root and prefix.
16195 * include/grub/env.h (grub_env_export): Export.
16196 Reported by: Seth Goldberg.
16197
45146057
VS
161982011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16199
16200 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16201 Take into account space used by ELF sections and multiboot palette.
16202 Reported by: Grégoire Sutre.
16203
f093110b
VS
162042011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16205
16206 * BUGS: New file.
16207
3395fe52
VS
162082011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16209
16210 Pass more appropriate video id to Linux.
16211
16212 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
16213 grub_video_get_driver_id and variable gfxpayloadforcelfb to
16214 fill have_vga.
16215 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
16216 shift params->lfb_size.
16217 * include/grub/i386/linux.h: Make an enume out of have_vga values.
16218
c2fa6cbb
VS
162192011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16220
16221 * util/grub-menulst2cfg.c: Add missing include of misc.h.
16222
b3ff6ff0
VS
162232011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16224
16225 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
16226 separator and pass bootpath/devid even if only one of them is available.
16227 Reported by: Seth Goldberg.
16228
ae67942e
VS
162292011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16230
16231 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
16232 implementations bug on them.
16233
16234 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
16235 memory.
16236 (filter_memory_map): Likewise.
16237
d570097a
VS
162382011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16239
16240 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
16241 Reported by: nebuchadnezzar.
16242
a508e776
VS
162432011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16244
16245 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
16246 Reported by: nebuchadnezzar.
16247
dcb883b1
VS
162482011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16249
16250 Submenu default support.
16251
16252 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
16253 auto_boot. All users updated.
16254 Declared static.
16255 Handle chosen and default with submenus.
16256 (grub_menu_execute_with_fallback): Declared static.
16257 Don't notify failure if autobooted. Upper level does it.
16258 (menuentry_eq): New function.
16259 (get_entry_number): Use menuentry_eq.
16260 (show_menu): New parameter "autobooted". All users updated.
16261 (grub_show_menu): Likewise.
16262 * include/grub/normal.h (grub_show_menu): Likewise.
16263 * include/grub/menu.h (grub_menu_execute_entry): Removed.
16264 (grub_menu_execute_with_fallback): Likewise.
16265
6fef99b4
VS
162662011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16267
16268 * util/grub-mklayout.c (usage): Update help text.
16269
47a77af5
VS
162702011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16271
16272 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
16273
ce6bb3ee
VS
162742011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16275
16276 * util/grub-menulst2cfg.c (main): Trim the line.
16277
db87be2a
VS
162782011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16279
16280 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
16281 (grub_machine_init): Don't check amount of low memory as reportedly
16282 INT 12h can be broken and if low memory is too low we wouldn't have
16283 gotten into grub_machine_init anyway.
16284
c49849cc
VS
162852011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16286
16287 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
16288 (grub_machine_mmap_iterate): Take low memory into account
16289
b1969b30
VS
162902011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16291
16292 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
16293 badfs.
16294 Reported by: TiCPU.
16295
cf0eaf13
VS
162962011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16297
16298 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
16299 members errors.
16300
1f060f39
GS
163012011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
16302
16303 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
16304 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
16305
a21e5672
GS
163062011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
16307
16308 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
16309 openbsd and netbsd types being in part_bsd module.
16310
c88172fa
VS
163112011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16312
16313 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
16314 (_FILE_OFFSET_BITS): Likewise.
16315 Reported by: Seth Goldberg.
16316
53798c4b
GS
163172011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16318
16319 * configure.ac: Check for libdevmapper header.
16320
e7121b69
VS
163212011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16322
16323 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
16324 avoid aliasing.
16325 (fzap_lookup): Likewise.
16326 (dnode_get): Likewise.
16327 (make_mdn): Likewise.
16328 (zfs_mount): Likewise.
16329 (fzap_iterate): Use temporary pointer to avoid aliasing.
16330 (grub_zfs_read): Likewise.
16331 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
16332 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
16333 pointers to avoid aliasing.
16334 (grub_cmd_xnu_kernel64): Likewise.
16335 (grub_xnu_load_driver): Likewise.
16336
fc836af9
VS
163372011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16338
16339 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
16340 aliasing warning.
16341 (grub_cmd_terminal_output): Likewise.
16342 Reported and tested by: Grégoire Sutre.
16343
f9f37648
VS
163442011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16345
16346 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
16347 warning.
16348 Reported and tested by: Grégoire Sutre.
16349
ec1dfd63
VS
163502011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16351
16352 * configure.ac: Do CPU substitution even if it's specified explicitly.
16353 Reported and tested by: Alain Greppin.
16354
9462775a
VS
163552011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16356
16357 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
16358 Reported and tested by: Alain Greppin.
16359
0fd48e35
VS
163602011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16361
16362 Satisfy some bison versions need for inttypes.h.
16363
16364 * grub-core/lib/posix_wrap/inttypes.h: New file.
16365 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
16366 (int16_t): Likewise.
16367 (int32_t): Likewise.
16368 (int64_t): Likewise.
16369 Reported and tested by: Alain Greppin.
16370
43f1bc83
VS
163712011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16372
16373 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
16374 Silence spurious warning.
16375 Reported and tested by: Alain Greppin.
16376
64d1f041
SJ
163772011-01-07 Szymon Janc <szymon@janc.net.pl>
16378
16379 * docs/grub.texi (Support automatic decompression): Update with xz
16380 decompression support.
16381
25953e10
SJ
163822011-01-07 Szymon Janc <szymon@janc.net.pl>
16383
16384 Improve loaders' kernel command line handling.
16385
16386 * grub-core/lib/cmdline.c: New file.
16387 * include/grub/lib/cmdline.h: Likewise.
16388 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
16389 grub_create_loader_cmdline to create kernel command line.
16390 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16391 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
16392 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
16393 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
16394 (linux): Add lib/cmdline.c on common.
16395
e72d259f
VS
163962011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16397
16398 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
16399 inopos might be unaligned.
16400
c0cf26da
VS
164012011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16402
16403 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
16404 endian transformations.
16405 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16406 Based on report by: Doug Nazar.
16407
0ca09e6c
DN
164082011-01-07 Doug Nazar <nazard.michi@gmail.com>
16409
16410 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
16411 array->members[i].start_sector.
16412 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
16413
014b6806
VS
164142011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16415
16416 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
16417 Reported and tested by: Grégoire Sutre.
16418
415502c2
CW
164192011-01-06 Colin Watson <cjwatson@ubuntu.com>
16420
16421 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
16422 avoid causing test failures by clearing the screen.
16423
71b6a2b7
CW
164242011-01-06 Colin Watson <cjwatson@ubuntu.com>
16425
16426 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
16427 Fix prefix check to handle the case where dir ends with a slash
16428 (most significantly, "/" itself).
16429 Reported by: Michael Vogt.
16430
b3f8d28a
VS
164312011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16432
16433 Run terminfo_cls on initing terminfo output to clear the screen and
16434 move the cursor to (0,0).
16435
16436 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
16437 Call grub_terminfo_output_init.
16438 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
16439 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
16440 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
16441
4c3e4f37
VS
164422011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16443
16444 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
16445 only when needed.
16446
488f71f1
VS
164472011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16448
16449 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
16450 CTRL.
16451
18a38098
VS
164522011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16453
16454 The E820 type 5 is BADRAM, not EXEC_CODE.
16455
16456 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
16457 (GRUB_E820_BADRAM): New define.
16458 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
16459 into reserved. Propagate BADRAM.
16460 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
16461 (GRUB_E820_BADRAM): New define.
16462
9eae2084
VS
164632011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16464
16465 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
16466 Ignore the memory post-4G.
16467 (grub_relocator_firmware_alloc_region): Additional debug statement.
16468
ebc71d28
VS
164692011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16470
16471 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
16472 names.
16473 Reported by: David Pravec.
16474
446fa400
VS
164752011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16476
16477 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
16478 BIOSes.
16479
a0159f37
VS
164802011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16481
16482 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
16483 Prevent overflow.
16484 (grub_reed_solomon_recover): Likewise.
16485
e5146ca1
VS
164862011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16487
16488 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
16489
164902011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
16491
16492 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
16493 variable.
16494
5b1bdf12
CW
164952011-01-04 Colin Watson <cjwatson@ubuntu.com>
16496
16497 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
16498 descriptions of extract_legacy_entries_source and
16499 extract_legacy_entries_configfile.
16500 Reported by: Seung Soo, Ha.
16501
99d925aa
CW
165022011-01-03 Colin Watson <cjwatson@ubuntu.com>
16503
16504 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
16505 on devices that do not implement function 0.
16506
4af0504b
DV
165072011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
16508
16509 * grub-core/fs/hfsplus.c: Make parent unsigned.
16510 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
16511 overflows.
16512 (grub_hfsplus_cmp_extkey): Likewise
16513
469ee10a
VS
165142011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
16515
16516 * util/grub-install.in: Correctly use bootloader_id and not
16517 GRUB_DISTRIBUTOR on efibootmgr line.
16518
323a8e9c
VS
165192011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
16520
16521 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
16522
1b394975
IC
165232010-12-31 Ian Campbell <ijc@hellion.org.uk>
16524
16525 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
16526 Xen and reorder menu item wording to make it clearer that this entry
16527 will launch Xen. Print separate messages when loading Xen and
16528 Linux.
16529
275bff5f
VS
165302010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16531
16532 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
16533 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
16534 loop in case of incorrect amiga partmap.
16535
307806cb
VS
165362010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16537
16538 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
16539 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
16540 Reported by:EHeM.
16541
b12b923e
VS
165422010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16543
16544 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
16545 spurious warning.
16546 Reported by: crocket
16547
14b48a19
VS
165482010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16549
16550 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
16551 Preload EFIemu.
16552 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
16553
693db2df
VS
165542010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16555
16556 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
16557 is loaded
16558 (grub_cmd_xnu_kextdir): Likewise.
16559 (grub_cmd_xnu_splash): Likewise.
16560
c7638645
VS
165612010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16562
16563 Avoid using Reed-Solomon with 0 redundancy.
16564
16565 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
16566 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
16567 or 0 redundancy.
16568 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
16569 (grub_reed_solomon_recover): Likewise.
16570
25dd4780
VS
165712010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16572
16573 Don't use disk subsystem in freebsd_boot.
16574
16575 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
16576 (freebsd_biosdev): Likewise.
16577 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
16578 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
16579
0b2db943
VS
165802010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
16581
16582 Handling of files of unknown size is currently limited. They can't be
16583 used e.g. for initrd or modules. Moreover gzip handling of not
16584 easily seekable files is buggy. Disable unknown file size for now. May
16585 be inefficient but works.
16586
16587 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
16588 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
16589
5c408d0f
MP
165902010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
16591
16592 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
16593 floppy probe.
16594
190a011a
JD
165952010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
16596
16597 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
16598
022d01b8
SL
165992010-12-25 Shea Levy <shlevy>
16600
16601 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
16602
c4855fdc
VS
166032010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16604
16605 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
16606 Windows Server 2008.
16607 Reported by: Devin Giddings.
16608
0354b867
VS
166092010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16610
16611 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
16612 writing an error message because of async power management.
16613 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
16614 (grub_reboot): Likewise.
16615
ab66c69f
JU
166162010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
16617
16618 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
16619 keep unit tests from failing when they shouldn't.
16620
1426ef35
CW
166212010-12-21 Colin Watson <cjwatson@ubuntu.com>
16622
16623 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
16624 previous patch increased the size of the RS code by 20 bytes (at
16625 least with gcc-4.4), so increase this by 20 bytes to match.
16626 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16627
20641b6b
CW
166282010-12-21 Colin Watson <cjwatson@ubuntu.com>
16629
16630 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
16631 scratch area. Make sure to initialise chosen in standalone mode as
16632 well as non-standalone.
16633 Reported by: Robert Hooker and Andy Whitcroft.
16634 Tested by: Andy Whitcroft.
16635
d060ad60
CW
166362010-12-21 Colin Watson <cjwatson@ubuntu.com>
16637
16638 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
16639 constructing a new unescaped string and passing it to grub_xputs in
16640 one go, rather than passing characters to grub_printf one at a time.
16641
b889cfad
CW
166422010-12-21 Colin Watson <cjwatson@ubuntu.com>
16643
16644 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
16645 initialising utf16.
16646
4e01b6c8
CW
166472010-12-21 Colin Watson <cjwatson@ubuntu.com>
16648
16649 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
16650 comment. Add an extra layer of quotation, requiring the output of
16651 this function to be used in a printf format string.
16652 (gettext_printf): New function.
16653 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
16654 Extract translatable strings from here-documents and use a temporary
16655 variable instead, so that xgettext can find them.
16656 * util/grub.d/10_kfreebsd.in: Likewise.
16657 * util/grub.d/10_linux.in: Likewise.
16658 * util/grub.d/20_linux_xen.in: Likewise.
16659
16660 * po/grub.d.sed: New file.
16661 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
16662 arguments. Set c-format flags on all strings extracted from
16663 util/grub.d/ (xgettext refuses to include these itself for strings
16664 it extracted from a shell file, but these really are c-format).
16665
5318fe98
VS
166662010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
16667
16668 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
16669 Avoid next pointing to nowhere.
16670
6c85b743
VS
166712010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16672
16673 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
16674 rather than assuming than rootblock is exactly in the middle.
16675 (grub_affs_label): Likewise.
16676
a2a08a35
VS
166772010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16678
16679 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
16680 reserved_first_sector to 0.
16681 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
16682 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
16683 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
16684
7059d1ec
VS
166852010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16686
16687 Fix handling of UTF-16 UDF labels.
16688
16689 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
16690 (read_string): .. here.
16691 (grub_udf_label): Use read_string.
16692
30aff4cb
BC
166932010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
16694
16695 * grub-core/normal/menu_entry.c (run): Execute commands from menu
16696 editor under argument scope.
16697 Reported by: Jordan Uggla
16698
5cf86f4b
VS
166992010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16700
16701 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
16702
32570200
CW
167032010-12-18 Colin Watson <cjwatson@ubuntu.com>
16704
16705 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
16706 line, and other keys scroll an entire page (previous handling was
16707 for \r and \n to scroll a page and other keys to scroll two lines).
16708
e1dffcf2
VS
167092010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16710
16711 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16712 Set ptrdest to correct get_physical_target_address rather than
16713 incorrect get_virtual_current_address.
16714
b04298cf 167152010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
16716
16717 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
16718 correct cat to grub_uint8_t * rather than grub_uint32_t *.
16719
5367ecd3
CW
167202010-12-10 Colin Watson <cjwatson@ubuntu.com>
16721
16722 * .bzrignore: Ignore grub-core/rs_decoder.S.
16723
1fb430f8
CW
167242010-12-10 Colin Watson <cjwatson@ubuntu.com>
16725
16726 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
16727 .mo/.mo.gz opening sequence to ...
16728 (grub_mofile_open_lang): ... here.
16729 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
16730 * util/grub.d/00_header.in (grub_lang): Include country part of
16731 locale.
16732 Reported by: Mario Limonciello.
16733
a94a6671
RM
167342010-12-09 Robert Millan <rmh@gnu.org>
16735
16736 * NEWS: Document addition of ZFS support.
16737
24b7938b
CW
167382010-12-04 Colin Watson <cjwatson@ubuntu.com>
16739
16740 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
16741 rather than `/ 2', as the latter requires -Wa,--divide which would
16742 require bumping our minimum binutils version.
16743
bddc3ef6
BC
167442010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
16745
16746 * util/grub-script-check.c (main): Print script line number on
16747 error.
16748
bf78d5b2
RM
167492010-12-01 Robert Millan <rmh@gnu.org>
16750
16751 * grub-core/fs/zfs/zfs.c: New file.
16752 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
16753 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
16754 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
16755 * grub-core/fs/zfs/zfsinfo.c: Likewise.
16756
16757 * include/grub/zfs/dmu.h: Likewise.
16758 * include/grub/zfs/dmu_objset.h: Likewise.
16759 * include/grub/zfs/dnode.h: Likewise.
16760 * include/grub/zfs/dsl_dataset.h: Likewise.
16761 * include/grub/zfs/dsl_dir.h: Likewise.
16762 * include/grub/zfs/sa_impl.h: Likewise.
16763 * include/grub/zfs/spa.h: Likewise.
16764 * include/grub/zfs/uberblock_impl.h: Likewise.
16765 * include/grub/zfs/vdev_impl.h: Likewise.
16766 * include/grub/zfs/zap_impl.h: Likewise.
16767 * include/grub/zfs/zap_leaf.h: Likewise.
16768 * include/grub/zfs/zfs.h: Likewise.
16769 * include/grub/zfs/zfs_acl.h: Likewise.
16770 * include/grub/zfs/zfs_znode.h: Likewise.
16771 * include/grub/zfs/zil.h: Likewise.
16772 * include/grub/zfs/zio.h: Likewise.
16773 * include/grub/zfs/zio_checksum.h: Likewise.
16774
16775 * Makefile.util.def: Build ZFS into libgrubmods.
16776 * grub-core/Makefile.core.def: Build zfs.mod.
16777
3f0f3831
SJ
167782010-11-30 Szymon Janc <szymon@janc.net.pl>
16779
16780 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
16781 variable.
16782 * grub-core/commands/wildcard.c (match_files): Likewise.
16783
3a4253b2
RM
167842010-11-30 Robert Millan <rmh@gnu.org>
16785
16786 * grub-core/loader/i386/bsd.c
16787 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
16788 whether kernel is loaded using grub_loader_is_loaded(), rather
16789 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
16790 certain error conditions.
16791
8c317b27
RM
167922010-11-30 Robert Millan <rmh@gnu.org>
16793
c5c9cd3e
RM
16794 * grub-core/commands/echo.c: Include `<grub/term.h>'.
16795 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 16796
49d3ab46
VS
167972010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
16798
16799 Avoid using tricks for initialising endian variables.
16800
16801 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
16802 Make const.
16803 (GRUB_MOD_INIT): Don't byte-swap.
16804 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
16805 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
16806 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
16807 (grub_swap_bytes32_compile_time): Likewise.
16808 (grub_cpu_to_le32_compile_time): Likewise.
16809 (grub_cpu_to_le16_compile_time): Likewise.
16810
f420a804
VS
168112010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
16812
16813 * util/grub-setup.c (setup): Stop recommending --force. People who
16814 understand the dangers of blocklists are able to find this option
16815 anyway and the ones who don't shouldn't use it anyway.
16816
4e7db17b
RM
168172010-11-26 Robert Millan <rmh@gnu.org>
16818
16819 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
16820 Update all users.
16821
9be57a0d
CW
168222010-11-26 Colin Watson <cjwatson@ubuntu.com>
16823
16824 Fix LVM-on-RAID probing.
16825
16826 * util/grub-probe.c (probe): Remember which disk was detected as
16827 RAID (perhaps an LVM physical volume). Use that disk's raidname
16828 rather than that of the top-level disk.
16829
2c7859b3 168302010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 16831
d7647bb6
BC
16832 Fix cmdline argument quotes for setparams command of menuentry
16833 definitions.
7e623b0d
BC
16834
16835 * grub-core/commands/menuentry.c (setparams_prefix): Use single
16836 quotes for arguments.
f866fe80 16837 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 16838 grub_strchrsub function instead.
f866fe80 16839
7955bea0 16840 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 16841
74f72a64
CW
168422010-11-24 Colin Watson <cjwatson@ubuntu.com>
16843
16844 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
16845 effort by skipping "." and ".." entries up-front.
16846 Suggested by: Michael Lazarev.
16847
5a407278
CW
168482010-11-24 Colin Watson <cjwatson@ubuntu.com>
16849
16850 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
16851 ldflags to ldadd, to fix link line ordering.
16852 (none_decompress): Likewise.
16853
3030d8ec
CW
168542010-11-24 Colin Watson <cjwatson@ubuntu.com>
16855
16856 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
16857 platforms.
16858 (grub-emu-lite): Remove kern/emu/cache.S.
16859
b7fbac12
CW
168602010-11-23 Colin Watson <cjwatson@ubuntu.com>
16861
16862 * util/deviceiter.c (compare_devices): If the by-id link for a
16863 device couldn't be resolved, fall back to sorting by the by-id link
16864 rather than segfaulting.
16865 Reported and tested by: Daniel Mierswa.
16866
5225f328
CW
168672010-11-23 Colin Watson <cjwatson@ubuntu.com>
16868
16869 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
16870 ldflags, to fix link line ordering.
16871
038b3ce8
CW
168722010-11-23 Colin Watson <cjwatson@ubuntu.com>
16873
16874 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
16875 linkers are picky about this.
16876
bf16e98e
CW
168772010-11-23 Colin Watson <cjwatson@ubuntu.com>
16878
16879 * grub-core/Makefile.am (command.lst): Adjust sed expression
16880 ordering so that extended and priority commands aren't treated as
16881 ordinary commands.
16882
7242bab6
CW
168832010-11-23 Colin Watson <cjwatson@ubuntu.com>
16884
16885 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
16886 Remove byte-swapping function calls, which are not valid in
16887 structure initialisers.
16888 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
16889 non-const.
16890 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
16891 grub_gpt_partition_type_bios_boot.
16892
14e8b279
CW
168932010-11-22 Colin Watson <cjwatson@ubuntu.com>
16894
16895 Fix test program build on GNU/kFreeBSD.
16896
16897 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
16898 $(LIBNVPAIR)' library dependencies.
16899
e6f63338 169002010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
16901
16902 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
16903
cf8ffc38
CW
169042010-11-22 Colin Watson <cjwatson@ubuntu.com>
16905
16906 * util/grub-install.in: Remove excessive quoting that broke
16907 installations to RAID devices.
16908
7f8b0fd7
VS
169092010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16910
16911 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
16912 bootloader version instead of 0.
16913
dfd240b1
VS
169142010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16915
16916 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
16917 warning.
16918
7b61e609
VS
169192010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16920
16921 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
16922 retrieve the metadat sector if size isn't known.
16923 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16924
9dfe92d0
RM
169252010-11-18 Robert Millan <rmh@gnu.org>
16926
16927 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
16928 with grub_memcmp().
16929
41cc919e
VS
169302010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
16931
16932 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
16933 arrow.
16934 Reported by: Jordan Uggla.
16935
1afcc914
VS
169362010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16937
16938 Make better UTF compliant.
16939
16940 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
16941 sequences as incorrect.
16942 (grub_is_valid_utf8): Likewise.
16943 (grub_utf8_to_ucs4): Likewise.
16944 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
16945 (grub_ucs4_to_utf8_alloc): Likewise.
16946 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
16947
f1808884
VS
169482010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16949
16950 Make legacy_source behave like source.
16951
16952 * grub-core/commands/legacycfg.c (legacy_file): Don't call
16953 grub_show_menu.
16954 (grub_cmd_legacy_source): Call grub_show_menu if needed.
16955
24ec575b
CW
169562010-11-16 Colin Watson <cjwatson@debian.org>
16957
16958 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
16959 (-Wunused implies -Wunused-parameter, but not vice versa).
16960
72b7c7aa
CW
169612010-11-16 Colin Watson <cjwatson@ubuntu.com>
16962
16963 * configure.ac: Make error messages less confusing by testing for
16964 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
16965 accepted, but produces a diagnostic if something else is wrong).
16966
e98937aa
VS
169672010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
16968
16969 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
16970 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
16971 (now unused).
16972 (grub_keyboard_controller_init)
16973 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
16974 read the initial state since controller isn't inited yet.
16975
f6bbabc3
VS
169762010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
16977
16978 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
16979 allocate_regbeg may need to create new chunk header.
16980
22e7dbb2
VS
169812010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16982
16983 Fix quoting in legacy parser.
16984
16985 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
16986 single quotes.
16987 (grub_legacy_parse): Likewise.
16988 Reported by: Jordan Uggla.
16989 Tested by: Jordan Uggla.
16990
03f80960
VS
169912010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16992
16993 Don't add -lgcc on i386 and x86_64.
16994
16995 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
16996 * conf/Makefile.common (LDADD_KERNEL): Likewise.
16997 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
16998
779dc15b
VS
169992010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17000
17001 * configure.ac: Add -Wno-trampolines when supported.
17002
d20a3b37
MV
170032010-11-14 Modestas Vainius <modax@debian.org>
17004
17005 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
17006 fakeraid.
17007
e5360933
GC
170082010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17009
17010 Add generic logical block size support for UDF.
17011
17012 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
17013 (GRUB_UDF_BLKSZ): Removed.
17014 (struct grub_udf_data): New field "lbshift" to hold the logical block
17015 size of the file system in log2 format. All users updated.
17016 (sblocklist): Change type to unsigned.
17017 (grub_udf_mount): Change type of "sblklist" to unsigned.
17018 Move AVDP search before VRS recognition, because the latter requires
17019 knowledge of the logical block size, which is detected during the
17020 former.
17021 Detect and validate logical block size during AVDP search, adding
17022 support for block sizes 512, 1024 and 4096.
17023 Make VRS recognition independent of block size.
17024
cb0229c5
GC
170252010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17026
17027 Properly handle deleted files on UDF.
17028
17029 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
17030 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
17031 set.
17032
406858a8
GC
170332010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17034
17035 Support reading files larger than 2 GiB.
17036
17037 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
17038 "offset" to grub_off_t.
17039 (grub_udf_read_file): Likewise for parameter "pos".
17040
130da6a7
VS
170412010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17042
17043 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
17044 unavailable.
17045 (Simple configuration): Refer to Changes from GRUB Legacy about
17046 save_env availability.
17047
65e93f6b
VS
170482010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17049
17050 * util/grub-install.in: Ignore empty partition table detection
17051 instead of trying to include part_ module.
17052
1fd08bf1
VS
170532010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17054
17055 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
17056 LVM on RAID support.
17057
de1a024f
VS
170582010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17059
17060 Properly define WORDS_BIGENDIAN in wrapped environments.
17061
17062 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
17063 definition.
17064 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
17065
17066 Reported by: Manoel Rebelo Abranches.
17067 Tested by: Manoel Rebelo Abranches.
17068
bc5dd0b9
VS
170692010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17070
17071 * util/grub-mkconfig.in: Fix quoting.
17072
58c184be
VS
170732010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17074
17075 Support big ext2 files.
17076
17077 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
17078 (grub_ext2_read_block): Support triple indirect blocks.
17079 (grub_ext2_read_file): Use 64-bit types and read size_high.
17080 (grub_ext2_open): Read size_high.
17081 Reported by: Ximin Luo.
17082 Tested by: Manoel Rebelo Abranches.
17083
5f0c02b3
VS
170842010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17085
17086 * util/grub-install.in: Handle filenames containing spaces.
17087 Reported by: Jordan Uggla.
17088 Tested by: Jordan Uggla.
17089
4417aae6
VS
170902010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17091
17092 * util/grub-mkconfig.in (grub_script_check): New variable.
17093 Use grub_script_check instead of grub-script-check.
17094 Reported by: Barry Jackson.
17095
7625a68e
VS
170962010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17097
17098 * docs/grub.texi (menu): Correct the order.
17099 Reported by: D. Hugh Redelmeier.
17100
10001ac5
VS
171012010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
17102
17103 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
17104 jump.
17105
9c4cf53b
MRA
171062010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
17107
10001ac5
VS
17108 * include/grub/elfload.h (grub_elf32_size): New parameter.
17109 All users updated.
9c4cf53b
MRA
17110 Return maximum segments alignment.
17111 (grub_elf64_size): Likewise.
17112 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
17113 Return maximum segments alignment.
17114 (grub_elf64_size): Likewise.
17115 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
17116 (grub_linux_claimmap_iterate): New function. Uses the
17117 "available" property in the "memory" node for memory allocation
17118 for kernel in the PowerPC loader.
9c4cf53b
MRA
17119 (grub_linux_load32): Correctly find linux entry point offset.
17120 (grub_linux_load64): Likewise.
17121
d2bf06bf
RM
171222010-11-07 Robert Millan <rmh@gnu.org>
17123
17124 On mips-yeeloong, build with -march=loongson2f when this flag is
17125 available (GCC >= 4.4).
17126 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
17127 `-march=mips3'.
17128 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
17129 or otherwise add -march=mips3.
17130
898c99a2
BC
171312010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
17132
87220a68
BC
17133 Suppress shell expansion on echo '*' and echo "*" like cases.
17134 Reported by: Jordan Uggla.
898c99a2
BC
17135
17136 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
17137 string arguments before shell expansion.
17138 * tests/grub_cmd_echo.in: New testcases.
17139
4f9b406a
RM
171402010-11-07 Robert Millan <rmh@gnu.org>
17141
17142 * conf/mips-qemu-mips.rmk: Remove stale file from previous
17143 transition.
17144
80c6d25e
VS
171452010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
17146
17147 * grub-core/kern/emu/hostdisk.c
17148 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
17149
4a1a0153
VS
171502010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17151
17152 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
17153 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
17154 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
17155
34706ddc
VS
171562010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17157
17158 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
17159
6972dea9
VS
171602010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17161
17162 * util/grub-install.in: Replace useless recomendation to pass
17163 --modules with a recomendation to report a bug.
17164
9c693bd6
VS
171652010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17166
17167 Properly register serial terminfo.
17168 Reported by: Jordan Uggla
17169
17170 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
17171 const.
17172 (grub_serial_terminfo_output_template): Likewise.
17173 (grub_cmd_serial): Register "serial" with terminfo.
17174 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
17175 grub_serial_terminfo_output.
17176
6c9e4c0c
RM
171772010-11-05 Robert Millan <rmh@gnu.org>
17178
17179 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
17180 needed).
17181
b9b3839f
RM
171822010-11-05 Robert Millan <rmh@gnu.org>
17183
17184 On Yeeloong, pass machine type information to Linux.
17185
17186 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
17187 (LOONGSON_MACHTYPE): New macro, set to
17188 "machtype=lemote-yeeloong-2f-8.9inches".
17189 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
17190 additional argument to Linux.
17191
1a3aaff4
RM
171922010-11-04 Robert Millan <rmh@gnu.org>
17193
17194 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
17195 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
17196 (its SATA disks are detected as slaveless IDE master drives on
17197 kFreeBSD).
17198 Reported by Carsten Aulbert.
17199
a75f4f62
CW
172002010-11-02 Colin Watson <cjwatson@ubuntu.com>
17201
17202 * util/bin2h.c (main): Fix spelling error in generated output.
17203
33b4b0c6
GS
172042010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
17205
17206 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
17207
2b36fbf4
VS
172082010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17209
17210 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
17211 vga= option is supplied.
17212
74aaf558
VS
172132010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17214
17215 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
17216 * util/grub.d/10_kfreebsd.in: Likewise.
17217 * util/grub.d/10_linux.in: Likewise.
17218 * util/grub.d/20_linux_xen.in: Likewise.
17219
6428dec3
VS
172202010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17221
17222 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
17223 argument as an argument to no-argument option.
17224
f8729d98
VS
172252010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17226
17227 * util/grub.d/10_linux.in: Add missing load_video with explicit
17228 GRUB_GFXPAYLOAD_LINUX.
17229
89d68fa6
VS
172302010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17231
17232 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
17233
3a1197cd
VS
172342010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17235
17236 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
17237 elements with invlid index.
17238 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17239 * grub-core/disk/raid.c (insert_array): Automatically reallocate
17240 members.
17241 * include/grub/raid.h (grub_raid_member): New struct.
17242 (grub_raid_array): Transform devices and start_sector into usage of
17243 grub_raid_member. All users updated
17244 (allocated_devs): New member.
17245
71574288
VS
172462010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17247
17248 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
17249 is modified
17250
8d40ec65
BC
172512010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
17252
17253 NetBSD build fix for getline function conflict from gnulib.
17254
17255 * Makefile.util.def (libgrubkern.a): New library for grub kernel
17256 components that depend on gnulib headers.
17257 (libgrubmods.a): Renamed from earlier libgrub.a.
17258 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
17259
95b9257e
VS
172602010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17261
17262 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
17263 install rather than creating a broken install.
17264
26c53dc6
VS
172652010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17266
17267 * util/grub-setup.c (argp): Remove misleading example of installing to
17268 a partition.
17269
4171b3c5
VS
172702010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17271
17272 * util/grub-setup.c (setup): Clarify the error message.
17273
18568d18
VS
172742010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17275
17276 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
17277
4f6a2e21
VS
172782010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17279
17280 * grub-core/kern/emu/misc.c
17281 (grub_make_system_path_relative_to_its_root)
17282 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
17283
172842010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
17285
17286 * grub-core/kern/emu/misc.c
17287 (grub_make_system_path_relative_to_its_root): Revert r2882.
17288
e138c458
VS
172892010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
17290
17291 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
17292 useless field head. All users updated.
17293 (free_subchunk): Correct handling of IN_REGION subchunk.
17294
0cbcdf0e
CW
172952010-10-22 Colin Watson <cjwatson@ubuntu.com>
17296
17297 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
17298 (Supported kernels): Likewise.
17299
b65ea155
GS
173002010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
17301
17302 Make mktemp invocations portable.
17303
17304 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
17305 exit if mktemp fails.
17306 * tests/grub_script_blockarg.in: Likewise.
17307 * tests/partmap_test.in: Likewise.
17308 * tests/util/grub-shell-tester.in: Likewise.
17309 * tests/util/grub-shell.in: Likewise.
17310 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17311 * Makefile.am: Likewise, and chain shell commands with `&&'
17312 instead of ';'.
17313 * util/grub-mkrescue.in: Use the same explicit template as above, and
17314 exit if mktemp fails.
17315
05f43cdd
BC
173162010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
17317
17318 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
17319 Linux kernel, reported by Dennis Schridde.
17320
800e6a9b
SJ
173212010-10-17 Szymon Janc <szymon@janc.net.pl>
17322
17323 * grub-core/normal/auth.c (grub_auth_check_authentication):
17324 Set-but-not-used variable removed.
17325
d82df574
VS
173262010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17327
17328 * docs/grub.texi (GNU/Linux): Document APM unavailability with
17329 32-bit linux protocol.
17330
7bced458
VS
173312010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17332
17333 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
17334 cursor shape for sanity.
17335
5b027690
VS
173362010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17337
17338 * docs/grub.texi (Installation): Document buggy BIOS install.
17339
ba5f65cf
VS
173402010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17341
17342 * docs/grub.texi (Installation): Indent.
17343
fdf2ec9c
VS
173442010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17345
17346 * util/grub-setup.c (setup): New parameter allow_floppy.
17347 (arguments): New member allow_floppy.
17348 (argp_parser): Handle --allow-floppy.
17349 (main): Pass allow_floppy.
17350 * util/grub-install.in: New option --allow-floppy passed though to
17351 grub-setup.
17352
861dfd4c
VS
173532010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17354
17355 * util/grub-install.in: Handle partitionless disks.
17356
f77a8c24
VS
173572010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17358
17359 * util/grub-setup.c (setup): Don't clean blocklists before readability
17360 verfification.
17361
27d9ee32
VS
173622010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17363
17364 * docs/grub.texi (Installation): Document embedding zone. Remove
17365 obsolete grub-install example.
17366
6bdda8f8
SJ
173672010-10-16 Szymon Janc <szymon@janc.net.pl>
17368
17369 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
17370 Set-but-not-used variable ifdef'ed.
17371 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
17372 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
17373 variable removed.
17374 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
17375 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
17376 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
17377 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
17378 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
17379 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
17380 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
17381 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
17382 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
17383 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
17384 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
17385 Likewise.
17386
e19b016b
VS
173872010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17388
17389 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
17390 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
17391 enum value.
17392
6c8d3002
VS
173932010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17394
17395 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
17396 synonym to _S5_. Needed for some DSDTs.
17397
c32b51c9
VS
173982010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17399
17400 Userspace ACPI parser debugging.
17401
17402 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
17403 headers and add relevant defines. Don't include standard headers.
17404 (main) [GRUB_DSDT_TEST]: New function.
17405 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
17406 Don't declare functions.
17407
fbfbeb39
VS
174082010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17409
17410 Remove dead grub_efi_mm_fini.
17411
17412 * grub-core/kern/efi/mm.c (allocated_page): Removed.
17413 (ALLOCATED_PAGES_SIZE): Likewise.
17414 (MAX_ALLOCATED_PAGES): Likewise.
17415 (allocated_pages): Likewise.
17416 (grub_efi_allocate_pages): Don't record allocated pages.
17417 (grub_efi_free_pages): Likewise.
17418 (grub_efi_mm_init): Likewise.
17419 (grub_efi_mm_fini): Removed.
17420
65f7ed7c
VS
174212010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17422
17423 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
17424 (grub_efi_mm_init): Take into account the memory map size increase.
17425
24977b44
VS
174262010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17427
17428 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
17429 (serial_hw_put): Wait based on real time rather than port reads. Don't
17430 roken ports.
17431 * include/grub/serial.h (grub_serial_port): New field broken.
17432
1eb01cd2
RM
174332010-10-16 Robert Millan <rmh@gnu.org>
17434
17435 * grub-core/kern/emu/misc.c
17436 (grub_make_system_path_relative_to_its_root): Fix premature return
17437 when processing non-root ZFS filesystems.
5f8b440b 17438 Reported by Sergio Talens-Oliag.
1eb01cd2 17439
2d5fed60
RM
174402010-10-15 Robert Millan <rmh@gnu.org>
17441
17442 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
17443 guarantee compressed ones are processed first.
17444
d0f4c1ea
VS
174452010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17446
17447 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
17448 grub_efiemu_autocore.
17449
d87c681f
VS
174502010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17451
17452 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
17453 rather than 0x1b.
17454 (grub_console_getkey): Use correct jae opcode rather than ja.
17455
219b3564
RM
174562010-10-12 Robert Millan <rmh@gnu.org>
17457
17458 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
17459 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
17460 variable. All references updated.
17461
17462 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
17463
20c6bb7e
VS
174642010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
17465
17466 Correctly distinguish mdraid flavours.
17467
17468 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
17469 (insert_array): New argument raid.
17470 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
17471 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
17472 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
17473
74baff84
VS
174742010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
17475
17476 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
17477 handling of special keys.
17478
3ef068df 174792010-10-02 Aleš Nesrsta <starous@volny.cz>
17480
c7980ad9
VS
17481 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
17482 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 17483
a9455194 174842010-10-02 Aleš Nesrsta <starous@volny.cz>
17485
c7980ad9
VS
17486 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
17487 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
17488 users updated.
a9455194 17489 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 17490 Use right endpoint when querying descriptor.
a9455194 17491
441cfe65
VS
174922010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
17493
17494 Clear out 0x80 color bit on EFI.
17495 Tested by: decoder
17496 Reported by: decoder and meta tech.
17497
17498 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
17499 (grub_console_setcolorstate): Clear out 0x80 bit.
17500 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
17501 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
17502 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
17503
bf26bcc4
VS
175042010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
17505
17506 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
17507 Set to "auto".
17508
6e3c515d
VS
175092010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17510
17511 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
17512 mo_file after freeing.
17513
e6d983ba
VS
175142010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17515
17516 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
17517
74ccb5b5
VS
175182010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17519
17520 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
17521 flags.
17522
17821956
VS
175232010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17524
17525 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
17526 usage.
17527
ee74fa48
VS
175282010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17529
17530 Put terminfo into core on ieee1275 and yeeloong (needed for console).
17531
17532 * gentpl.py: New groups terminfoinkernel and terminfomodule.
17533 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
17534 and terminfo.h when needed.
17535 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
17536 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
17537 (terminfo): Enable only on terminfokernel.
17538 (extcmd): Likewise.
17539 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
17540 * include/grub/lib/arg.h: Likewise.
17541 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
17542 incorrect usage of ->.
17543
aa438e68
VS
175442010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17545
17546 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
17547 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
17548
57994012
VS
175492010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17550
17551 Fix coreboot compilation.
17552
17553 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
17554 Take VBE info into account even if only text is supported.
17555 (fill_vbe_info): Take into account the case when only VGA text
17556 is supported.
17557 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
17558 on coreboot, multiboot and qemu.
17559
2a406611
VS
175602010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17561
17562 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
17563 debug messages.
17564 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
17565
d33613fc
VS
175662010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17567
17568 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
17569 parameters.
17570
44a1b432
VS
175712010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17572
17573 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
17574 if they were BSD-style.
17575
edde54e6
VS
175762010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17577
17578 * grub-core/boot/i386/pc/lnxboot.S: Replace
17579 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
17580 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
17581
b65830fa
VS
175822010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17583
17584 Write embedding zone using Reed-Solomon.
17585
17586 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
17587 * grub-core/Makefile.am (rs_decoder.S): New target.
17588 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
17589 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
17590 (multiboot): Move to RS part.
17591 (post_reed_solomon): New label.
17592 (grub_boot_drive): Move to non-RS part since it's modified in memory
17593 on boot.
17594 Include rs_decoder.S.
17595 * grub-core/lib/reed_solomon.c: New file.
17596 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
17597 New definition.
17598 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
17599 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
17600 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
17601 * include/grub/partition.h (grub_partition_map): Change prototype of
17602 embed to allow returning additional sectors.
17603 * include/grub/reed_solomon.h: New file.
17604 * util/grub-setup.c (setup): Handle Reed-Solomon.
17605
0b4b227f
CW
176062010-09-28 Colin Watson <cjwatson@ubuntu.com>
17607
17608 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
17609 i386 and x86-64 definedness tests.
17610
f772623b
YB
176112010-09-27 Yves Blusseau <blusseau@zetam.org>
17612
17613 Fix generation of kernel_syms.lst
17614
17615 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
17616 ASM_PREFIX
17617
8e57a6ca
RM
176182010-09-26 Robert Millan <rmh@gnu.org>
17619
17620 Support degraded ZFS arrays in "grub-probe -t device" resolution.
17621
17622 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
17623 the pool is an array of devices, iterate through it and return the
17624 first device that passes a stat() test (instead of blindly returning
17625 the first one).
17626
f9130836
RM
176272010-09-26 Robert Millan <rmh@gnu.org>
17628
17629 Build fixes for GNU/kFreeBSD.
17630
17631 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
17632 to programs that require ZFS conversion.
17633 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
17634 kernels that don't have FLOPPY_MAJOR.
17635
96510faf
BC
176362010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
17637
17638 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
17639
449333eb
BC
176402010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
17641
17642 Fix grub-emu build.
17643
17644 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
17645 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
17646 mdraid09 and mdraid1x.
17647
e1fd1939
CW
176482010-09-24 Colin Watson <cjwatson@ubuntu.com>
17649
17650 Re-enable grub-extras.
17651
17652 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
17653 avoid confusing Automake. Run autogen only twice, once for the top
17654 level and once for grub-core. Add Makefile.util.def and
17655 Makefile.core.def from extra modules to the appropriate autogen
17656 invocations. If Makefile.common exists in an extra module, include
17657 it in both Makefile.util.am and grub-core/Makefile.core.am;
17658 similarly, include any Makefile.util.common file in Makefile.util.am
17659 and any Makefile.core.common file in grub-core/Makefile.core.am.
17660 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
17661 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
17662 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
17663 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
17664
17665 * gentpl.py (gvar_add): Turn GVARS into a set.
17666 (global_variable_initializers): Sort global variables on output.
17667 (vars_init): New function.
17668 (first_time): Likewise.
17669 (library): Ensure that non-global variable initialisations are
17670 emitted before the first time we emit code for a library block.
17671 Append to variables rather than setting them. Only emit
17672 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
17673 each conditional path.
17674 (program): installdir() emits an Autogen macro, so must be passed to
17675 var_add rather than gvar_add.
17676 (data): Likewise.
17677 (script): Likewise.
17678 (rules): New function, centralising handling for different target
17679 types. Set up Guile association lists for first_time and vars_init,
17680 and send most output to a diversion so that variable initialisations
17681 can be emitted first.
17682 (module_rules): Use new rules function.
17683 (kernel_rules): Likewise.
17684 (image_rules): Likewise.
17685 (library_rules): Likewise.
17686 (program_rules): Likewise.
17687 (script_rules): Likewise.
17688 (data_rules): Likewise.
17689
17690 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
17691
17692 * .bzrignore: Add contrib and grub-core/contrib. Remove
17693 grub-core/Makefile.gcry.am.
17694
1d12cf29
YB
176952010-09-24 Yves Blusseau <blusseau@zetam.org>
17696
17697 * grub-core/lib/LzFind.c: Add missing include.
17698 * grub-core/lib/LzmaEnc.c: Likewise.
17699 * grub-core/script/lexer.c: Likewise.
17700 * grub-core/script/yylex.l: Likewise.
17701 * util/grub-macho2img.c: Likewise.
17702 * util/grub-menulst2cfg.c: Likewise.
17703 * util/grub-mklayout.c: Likewise.
17704 * util/grub-mkpasswd-pbkdf2.c
17705 * util/grub-mkrelpath.c: Likewise.
17706 * util/resolve.c: Likewise.
17707
dd363028
BC
177082010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
17709
17710 * Makefile.util.def (example_unit_test): Add
17711 grub-core/gnulib/libgnu.a.
17712
f5a109e2
GS
177132010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
17714
17715 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
17716
6d0fa83c
VS
177172010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
17718
17719 Support xz compression on yeeloong.
17720
17721 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
17722 * configure.ac: Check for LZMA.
17723 * grub-core/Makefile.core.def (xz_decompress): New target.
17724 (none_decompress): Likewise.
17725 * grub-core/boot/decompressor/minilib.c: New file.
17726 * grub-core/boot/decompressor/none.c: Likewise.
17727 * grub-core/boot/decompressor/xz.c: Likewise.
17728 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
17729 * grub-core/kern/mips/cache_flush.S: Likewise.
17730 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
17731 * grub-core/kern/mips/startup.S: Move first stage to ...
17732 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
17733 nomacro.
17734 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
17735 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
17736 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
17737 Allocate statically.
17738 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
17739 Allocate statically or use scratch. Don't check CRC32.
17740 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
17741 Allocate statically. Don't check CRC32.
17742 * include/grub/decompressor.h: New file.
17743 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
17744 Removed.
17745 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
17746 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
17747 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
17748 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
17749 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
17750 * util/grub-mkimage.c (grub_compression_t): New type.
17751 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
17752 (image_target_desc): New field default_compression.
17753 (image_targets): Adjust yeeloong targets.
17754 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
17755 (compress_kernel): New parameter comp.
17756 (generate_image): Likewise. Handle new compression case.
17757 (options): New option --compression
17758 (help): Likewise.
17759 (main): Handle new option.
17760
1b655af6
GS
177612010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
17762
17763 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
17764
8f03f0b5
CW
177652010-09-22 Colin Watson <cjwatson@ubuntu.com>
17766
17767 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
17768 typo in __i386__ conditional.
17769
7835dfd3
VS
177702010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
17771
17772 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
17773 include.
17774
e255597e
VS
177752010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
17776
6d0fa83c 17777 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
17778
17779 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
17780 new tags as supported.
17781 (acpiv2_size): New function.
17782 (grub_multiboot_get_mbi_size): Take new tags into account.
17783 (grub_multiboot_make_mbi): Add new tags.
17784 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 17785
6cc14051 177862010-09-21 Aleš Nesrsta <starous@volny.cz>
17787
17788 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
17789 Added missing configuration of USB device.
17790
df7769d8
CW
177912010-09-21 Colin Watson <cjwatson@ubuntu.com>
17792
17793 * grub-core/normal/menu_entry.c (run): Make sure we always return
17794 a value.
17795
b031012d
CW
177962010-09-21 Colin Watson <cjwatson@ubuntu.com>
17797
17798 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
17799 NumberOfPages is UINT64 according to the UEFI specification, not
17800 UINTN. Fix printf format.
17801
174de8f3
CW
178022010-09-21 Colin Watson <cjwatson@ubuntu.com>
17803
17804 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
17805 `err' to grub_usb_err_t.
17806 Reported and tested by: KESHAV P.R.
17807
d7dbe923
CW
178082010-09-21 Colin Watson <cjwatson@ubuntu.com>
17809
17810 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
17811 tpart non-const, so that we can assign to it. (Since this is a
17812 typedef, the constness refers to the pointer rather than what it
17813 points to.)
17814
8d5e2af3
CW
178152010-09-21 Colin Watson <cjwatson@ubuntu.com>
17816
17817 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
17818 $(top_srcdir)/grub-core/gnulib as well as
17819 $(top_builddir)/grub-core/gnulib.
17820 Reported by: KESHAV P.R.
17821
5c527783
CW
178222010-09-21 Colin Watson <cjwatson@ubuntu.com>
17823
17824 * util/grub-install.in: Fix the bootloader ID option to be
17825 consistently --bootloader-id, not --bootloader_id.
17826 Reported by: KESHAV P.R.
17827
d309a16e
CW
178282010-09-21 Colin Watson <cjwatson@ubuntu.com>
17829
17830 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
17831 check hash checksum." consistently translatable.
17832
b830cd16
YB
178332010-09-21 Yves Blusseau <blusseau@zetam.org>
17834
17835 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
17836 $(top_builddir).
17837
c4fe27a8
CW
178382010-09-21 Colin Watson <cjwatson@ubuntu.com>
17839
17840 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
17841 (GRUB_MOD_INIT): Register sha1sum command.
17842 (GRUB_MOD_FINI): Unregister sha1sum command.
17843
a4c1d277
YB
178442010-09-21 Yves Blusseau <blusseau@zetam.org>
17845
17846 Keep boot and grub directory names in sync with utils scripts
17847
17848 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
17849 * config.h.in: Add previous macros.
17850 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
17851 * util/grub-install.in: Use $bootdir and $grubdir variables.
17852
4eff79d2
CW
178532010-09-21 Colin Watson <cjwatson@ubuntu.com>
17854
17855 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
17856 convert partition names to disk names if the new `convert' parameter
17857 is set.
17858 (grub_util_biosdisk_get_grub_dev): If opening the disk device
17859 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
17860 disk in its own right. This can happen with Xen disk images.
17861
934d7e44
YB
178622010-09-21 Yves Blusseau <blusseau@zetam.org>
17863
17864 * util/grub-editenv.c: Update strings to avoid warnings when generating
17865 grub.pot file.
17866 * util/grub-setup.c: Likewise.
934d7e44 17867
df3367cc
VS
178682010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
17869
17870 * configure.ac: Change version to 1.99~beta0.
17871
77a94e98
VS
178722010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
17873
17874 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
17875 Add BADRAM.
17876 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
17877 Likewise.
17878 * include/multiboot.h: Resynced with specification.
17879 * include/multiboot2.h: Likewise.
17880
269004c1
CW
178812010-09-21 Colin Watson <cjwatson@ubuntu.com>
17882
17883 Fix po directory handling.
17884
17885 * configure.ac: Create po/Makefile.in rather than po/Makefile.
17886 * grub-core/gnulib/Makefile.am: Import gettext module.
17887 * m4/gnulib-cache.m4: Likewise.
17888 * m4/gnulib-comp.m4: Likewise.
17889 * m4/gettext.m4: New file, from gnulib.
17890 * m4/glibc2.m4: Likewise.
17891 * m4/iconv.m4: Likewise.
17892 * m4/intdiv0.m4: Likewise.
17893 * m4/intl.m4: Likewise.
17894 * m4/intldir.m4: Likewise.
17895 * m4/intlmacosx.m4: Likewise.
17896 * m4/intmax.m4: Likewise.
17897 * m4/inttypes-pri.m4: Likewise.
17898 * m4/lcmessage.m4: Likewise.
17899 * m4/lib-ld.m4: Likewise.
17900 * m4/lib-link.m4: Likewise.
17901 * m4/lib-prefix.m4: Likewise.
17902 * m4/lock.m4: Likewise.
17903 * m4/nls.m4: Likewise.
17904 * m4/po.m4: Likewise.
17905 * m4/printf-posix.m4: Likewise.
17906 * m4/progtest.m4: Likewise.
17907 * m4/threadlib.m4: Likewise.
17908 * m4/uintmax_t.m4: Likewise.
17909 * m4/visibility.m4: Likewise.
17910 * po/Makefile.am: Remove.
17911 * po/Makefile.in.in: New file, from gettext.
17912 ($(DOMAIN).pot-update): Support POTFILES-shell.
17913 * po/Makevars: New file.
17914 * po/POTFILES-shell: Rename to ...
17915 * po/POTFILES-shell.in: ... this. Update.
17916 * po/POTFILES: Rename to ...
17917 * po/POTFILES.in: ... this. Update.
17918 * po/Rules-quot: New file, from gettext.
17919 * po/boldquot.sed: Likewise.
17920 * po/en@boldquot.header: Likewise.
17921 * po/en@quot.header: Likewise.
17922 * po/insert-header.sin: Likewise.
17923 * po/quot.sed: Likewise.
17924 * po/remove-potcdate.sin: Likewise.
17925
3e0fa5d0
VS
179262010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17927
17928 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
17929
ade9bd66
VS
179302010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17931
17932 * util/grub.d/20_linux_xen.in: Use submenus.
17933
fc55cc4c
VS
179342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17935
17936 Support submenus.
17937
17938 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
17939 parameter submenu. All users updated.
17940 * grub-core/normal/main.c (free_menu): Rename to ...
17941 (grub_normal_free_menu): ... this. Made global.
17942 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
17943 if requested.
17944 * grub-core/normal/menu_entry.c (screen): New field submenu.
17945 (make_screen): Set submenu.
17946 (run): Open new context if requested.
17947 * include/grub/menu.h (grub_menu_entry): New field submenu.
17948 * include/grub/normal.h (grub_normal_free_menu): New proto.
17949
600cedf7
VS
179502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17951
17952 Menu entries extractor.
17953
17954 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
17955 variants.
17956 (GRUB_MOD_INIT): Register new variants.
17957 (GRUB_MOD_FINI): Unregister new variants.
17958 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
17959 into grub_cmd_legacy_source.
17960 (grub_cmd_legacy_source): Implement extractor variants.
17961 (GRUB_MOD_INIT): Register new variants.
17962 (GRUB_MOD_FINI): Unregister new variants.
17963 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
17964 as an extractor.
17965 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
17966 search as an extractor.
17967 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
17968 test as an extractor.
17969 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
17970 as an extractor.
17971 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
17972 (grub_env_new_context): New function.
17973 (grub_env_context_open): Likewise.
17974 (grub_env_extractor_open): Likewise.
17975 (grub_env_extractor_close): Likewise.
17976 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
17977 grub_extractor_level.
17978 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
17979 * include/grub/env.h (grub_env_extractor_open): New proto.
17980 (grub_env_extractor_close): Likewise.
17981 * include/grub/normal.h (grub_extractor_level): New external variable.
17982
7bda3a87
VS
179832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17984
17985 Make cutmem accept a region specification.
17986 Suggested by: Samuel Thibault
17987
17988 * grub-core/mmap/mmap.c (parsemem): New function.
17989 (grub_cmd_cutmem): Handle new arguments.
17990
2ea57f88
VS
179912010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17992
17993 New command cutmem.
17994
17995 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
17996 (GRUB_MOD_INIT): Register new command.
17997 (GRUB_MOD_FINI): Unregister new command.
17998
74342e31
VS
179992010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18000
18001 Support some annoying BSD and Minix subpartitions.
18002
18003 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
18004 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
18005 Properly handle concatenation.
18006 * grub-core/kern/device.c (grub_device_iterate): Likewise.
18007 * grub-core/normal/completion.c (iterate_partition): Likewise.
18008 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
18009 contain partition. All users updated.
18010 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
18011 struct.
18012 (grub_openbsdlabel_partition_map): Likewise.
18013 (bsdlabel_partition_map_iterate): Rename to ..
18014 (iterate_real): ... this. New arguments sector, freebsd and pmap.
18015 (bsdlabel_partition_map_iterate): New function.
18016 (netopenbsdlabel_partition_map_iterate): Likewise.
18017 (netbsdlabel_partition_map_iterate): Likewise.
18018 (openbsdlabel_partition_map_iterate): Likewise.
18019 (GRUB_MOD_INIT): Register new partmaps.
18020 (GRUB_MOD_FINI): Unregister new partmaps.
18021 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
18022 (grub_partition_msdos_iterate): ... this. All users updated.
18023 Don't support embedding other than in a minix partition.
18024 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
18025 proto.
18026 * include/grub/partition.h (grub_partition): New field msdostype.
18027 * util/grub-install.in: Handle openbsd and netbsd types being in
18028 part_bsd module.
18029
1e8d555b
VS
180302010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18031
18032 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
18033
18034 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
18035 * grub-core/Makefile.core.def (mdraid): Renamed to ...
18036 (mdraid09): ... this.
18037 (mdraid1x): New module.
18038 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
18039 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
18040
899d8af4
VS
180412010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18042
18043 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
18044 vsprintf.
18045
40901acd
CW
180462010-09-20 Colin Watson <cjwatson@ubuntu.com>
18047
18048 * grub-core/commands/efi/lsefimmap.c: Correct header.
18049 * NEWS: Update.
18050
dfe3b247
CW
180512010-09-20 Colin Watson <cjwatson@ubuntu.com>
18052
18053 * util/grub-editenv.c (argp_parser): Don't pass translated strings
18054 as printf format strings; the translations might contain '%' which
18055 could cause a crash.
18056 (main): Likewise.
18057 * util/grub-fstest.c (argp_parser): Likewise.
18058 * util/grub-setup.c (argp_parser): Likewise.
18059 (main): Likewise.
18060
3286a4b4
VS
180612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18062
18063 Use argp in grub-fstest.
18064
18065 * util/grub-fstest.c: Don't include getopt.h.
18066 Include argp.h.
18067 (root): New variable.
18068 (args_count): Likewise.
18069 (nparm): Likewise.
18070 (num_disks): Likewise.
18071 (images): Likewise.
18072 (cmd): Likewise.
18073 (debug_str): Likewise.
18074 (args): Likewise.
18075 (options): Transformed to argp.
18076 (usage): Removed.
18077 (main): Split argument parsing into ...
18078 (argp_parser): ... this. Changed to argp format.
18079 (argp): New variable.
18080 (main): Use argp_parse.
18081
3dccbe4b
TG
180822010-09-20 Tristan Gingold <gingold@free.fr>
180832010-09-20 Robert Millan <rmh.grub@aybabtu.com>
180842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18085
18086 * grub-core/commands/efi/lsefimmap.c: New file.
18087 * grub-core/Makefile.core.def (lsefimmap): New module.
18088 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
18089
38c259a7
VS
180902010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18091
18092 Pause the execution (10s max) if any errors are displayed so the user
18093 has a chance to see them.
18094
18095 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
18096 (grub_print_error): Increment grub_err_printed_errors.
18097 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
18098 execution if any errors were displayed.
18099 (show_menu): Remove old code for pause.
18100 * grub-core/normal/menu_entry.c (run): Likewise.
18101 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
18102 users updated.
18103 (grub_normal_get_char_counter): Likewise.
18104 * include/grub/err.h (grub_err_printed_errors): New external variable.
18105 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
18106
f218b09c
VS
181072010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18108
18109 Support multiboot VBE info.
18110
18111 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18112 Take VBE info into account.
18113 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
18114 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
18115 Call fill_vbe_info when appropriate.
18116 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
18117 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
18118 as supported.
18119 (grub_multiboot_get_mbi_size): Take new tags into account.
18120 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
18121 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
18122 Call fill_vbe_tag when appropriate.
18123 (grub_multiboot_make_mbi): Properly align tags.
18124 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
18125 function.
18126 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
18127 proto.
18128 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
18129
a9cc5438
VS
181302010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18131
18132 Suport manual terminal geometry specification.
18133
18134 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
18135 Save state in grub_ofconsole_terminfo_output.
18136 (grub_ofconsole_term): Use grub_terminfo_getwh.
18137 (grub_ofconsole_getwh): Removed.
18138 * grub-core/term/serial.c (grub_serial_getwh): Removed.
18139 (grub_serial_term): Use grub_terminfo_getwh.
18140 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
18141 (options): New struct.
18142 (OPTION_*): New enum.
18143 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
18144 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
18145 width and height.
18146 (grub_terminfo_getwh): New proto.
18147 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
18148
1a8fed20
VS
181492010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18150
18151 Handle legacy "terminal" command.
18152
18153 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
18154 and FLAG_TERMINAL.
18155 (legacy_commands): Add terminal and title.
18156 (grub_legacy_parse): Handle terminal. Simplify title handling.
18157
41e9c57d
VS
181582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18159
18160 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
18161 parameters overflow.
18162
61c874c5
CW
181632010-09-20 Colin Watson <cjwatson@ubuntu.com>
18164
18165 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
18166 widthspec.h.
18167
18168 * docs/grub.texi (Shell-like scripting): Document `!'.
18169 (Network): Simplify using new i386-pc-pxe format. Mention
18170 grub-mknetdir.
18171
18172 * NEWS: Update.
18173
943682b4
CW
181742010-09-20 Colin Watson <cjwatson@ubuntu.com>
18175
18176 * Makefile.am (SUBDIRS): Restore "."; it's important to force
18177 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
18178 when needed.
18179
6d3d698d
CW
181802010-09-20 Colin Watson <cjwatson@ubuntu.com>
18181
18182 * grub-core/commands/efi/lsefisystab.c: Correct header.
18183 * grub-core/commands/efi/lssal.c: Likewise.
18184 * grub-core/commands/testload.c: Likewise.
18185
c982589f
CW
181862010-09-20 Colin Watson <cjwatson@ubuntu.com>
18187
18188 * util/grub-mkrescue.in: Add explicit root argument to --set to
18189 prevent the UUID being interpreted as an argument to --set (matches
18190 previous change to prepare_grub_to_access_device).
18191
a63c31b6
CW
181922010-09-20 Colin Watson <cjwatson@ubuntu.com>
18193
18194 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
18195 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
18196 the verbosity of later #ifs.
18197 (find_partition_start): Define this function on FreeBSD too.
18198 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
18199 function.
18200 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
18201 on FreeBSD.
18202
6439b8ee
YB
182032010-09-20 Yves Blusseau <blusseau@zetam.org>
18204
18205 * util/grub-editenv.c: Use argp instead of getopt.
18206
c5930ec8
YB
182072010-09-20 Yves Blusseau <blusseau@zetam.org>
18208
18209 * util/grub-setup.c: Use argp instead of getopt.
18210
15c69261
YB
182112010-09-20 Yves Blusseau <blusseau@zetam.org>
18212
18213 Use gnulib-tool to create gnulib source files.
18214
18215 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
18216 grub-core/gnulib directories
18217 * .bzignore: Add **/.deps and autogenerated gnulib files
18218 * configure.ac: Assign auxiliary directory to build-aux, add invocation
18219 of gnulib macros, add grub-core/gnulib/Makefile
18220 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
18221 include m4 directory to aclocal.
18222 * Makefile.util.def: Remove direct compilation of gnulib source files
18223 and use the new grub-core/gnulib/libgnu.a.
18224 * build-aux/config.rpath: move config.rpath from top directory to
18225 build-aux
18226 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
18227 in gnulib headers
18228 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
18229 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
18230 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
18231 header.
18232 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
18233 string.
18234
e511c9f5
YB
182352010-09-20 Yves Blusseau <blusseau@zetam.org>
18236
18237 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
18238 grub-core/genmod.sh and grub-core/gensyminfo.sh
18239
c2dede05
BC
182402010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
18241
18242 Add a test for echo command options.
18243
18244 * tests/grub_cmd_echo.in: New test.
18245 * Makefile.util.def: Rules for new test.
18246
c55f5018
SJ
182472010-09-20 Szymon Janc <szymon@janc.net.pl>
18248
18249 Remove crc.mod and move crc command to hashsum.mod.
18250 Remove lib/crc.c - users updated to use gcrypt implementation.
18251
18252 * grub-core/commands/crc.c: Removed.
18253 * grub-core/Makefile.core.def (crc): Module removed.
18254 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
18255 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
18256 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
18257 * grub-core/lib/crc.c: Removed.
18258 * include/grub/lib/crc.h: Removed.
18259 * Makefile.util.def (crc): Remove lib/crc.c
18260 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
18261 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
18262 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
18263 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
18264 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
18265 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
18266
e0337366
VS
182672010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18268
18269 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
18270
742f9232
VS
182712010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18272
18273 Split config.h for util and core.
18274
18275 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
18276 (ADDR32): Likewise.
18277 (DATA32): Likewise.
18278 (BSS_START_SYMBOL): Likewise.
18279 (END_SYMBOL): Likewise.
18280 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
18281 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
18282 * config.h.in: New file.
18283 * configure.ac: Use config-util.h as config define file.
18284 Rename MACHINE into GRUB_MACHINE. All users updated.
18285 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
18286 updated.
18287 (NESTED_FUNC_ATTR): Likewise.
18288 Substitue new variables.
18289 (COND_HAVE_ASM_USCORE): New conditional.
18290 * grub-core/Makefile.am (ASM_PREFIX): New variable.
18291 (kernel_syms.lst): Use ASM_PREFIX.
18292 * grub-core/kern/emu/console.c: Include config-util.h.
18293 * grub-core/kern/emu/misc.c: Likewise.
18294 * grub-core/kern/emu/mm.c: Likewise.
18295 * include/grub/emu/misc.h: Likewise.
18296 * include/grub/libgcc.h: Likewise.
18297
39feb0e8
VS
182982010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18299
18300 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
18301 constants usage.
18302 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
18303 Fix GRUB_TERM_KEY_* constants usage.
18304 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
18305
9af6dac3
VS
183062010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18307
18308 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
18309 print pointer.
18310 * grub-core/bus/usb/uhci.c: Remove empty define.
18311 (grub_uhci_check_transfer): Add missing cast.
18312 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
18313 print pointer.
18314 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
18315 PRIuGRUB_SIZE.
18316 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
18317
d6d94820
VS
183182010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18319
18320 * grub-core/Makefile.core.def (legacycfg): Add
18321 lib/i386/pc/vesa_modes_table.c on emu.
18322
3572f2b6
BC
183232010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
18324
18325 Reduce number of temporary files generated by build system.
18326
18327 * grub-core/gencmdlist.sh: Removed.
18328 * grub-core/genfslist.sh: Removed.
18329 * grub-core/genhandlerlist.sh: Removed.
18330 * grub-core/genmodsrc.sh: Removed.
18331 * grub-core/genpartmaplist.sh: Removed.
18332 * grub-core/genparttoollist.sh: Removed.
18333 * grub-core/gentermiinallist.sh: Removed.
18334 * grub-core/genvideolist.sh: Removed.
18335
18336 * grub-core/genmod.sh.in: New file.
18337 * grub-core/gensyminfo.sh.in: New file.
18338
18339 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
18340 * conf/Makefile.extra-dist: Update with new files.
18341 * gentpl.py: Remove rules related to unnecessary temporary files.
18342 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
18343 and und-* files.
18344 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
18345 genmod.sh scripts.
18346 * grub-core/bus/usb/uhci.c: Remove empty #define.
18347 * grub-core/genmoddep.awk: Updated with new syminfo format.
18348 * util/bash-completion.d/Makefile.am: Add config.log to
18349 CLEANFILES.
18350
c836b030
YB
183512010-09-19 Yves Blusseau <blusseau@zetam.org>
18352
18353 * Makefile.util.def: Add forgotten $(LIBINTL) library.
18354
2f4e8053
BC
183552010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
18356
18357 * util/grub-mkconfig.in: Check the config script for syntax errors
18358 before saving.
18359
75831c34
CW
183602010-09-19 Colin Watson <cjwatson@ubuntu.com>
183612010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18362
18363 * Makefile.util.def (grub-install): Use util/grub-install.in on all
18364 platforms.
18365 * util/grub-install.in: Add EFI and IEEE1275 support.
18366 * util/i386/efi/grub-install.in: Removed.
18367 * util/ieee1275/grub-install.in: Likewise.
18368
eaf41b25
VS
183692010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18370
18371 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
18372 (grub_cmd_cmosclean): Likewise.
18373 (GRUB_MOD_INIT): Register command cmosclean.
18374 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
18375 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
18376
1a9130dd
CPE
183772010-09-18 Carles Pina i Estany <carles@pina.cat>
183782010-09-18 Aleš Nesrsta <starous@volny.cz>
183792010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18380
18381 Add keyboard layouts support.
18382
18383 * Makefile.util.def (grub-mklayout): New file.
18384 (grub-kbdcomp): New script.
18385 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
18386 Add keyboard_layouts.h.
18387 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
18388 commands/boot.c on yeeloong.
18389 (keylayouts): New module.
18390 * grub-core/bus/usb/ohci.c
18391 * grub-core/bus/usb/uhci.c
18392 * grub-core/bus/usb/usbhub.c (rescan): New variable.
18393 (grub_usb_add_hub): Poll interrupt pipe for device handling.
18394 (attach_root_port): Likewise.
18395 (poll_nonroot_hub): Likewise.
18396 (grub_usb_poll_devices): Likewise.
18397 (detach_device): Close transfer.
18398 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
18399 function.
18400 (grub_usb_bulk_setup_readwrite): Likewise.
18401 (grub_usb_bulk_finish_readwrite): Likewise.
18402 * grub-core/commands/keylayouts.c: New file.
18403 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
18404 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
18405 aliases.
18406 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
18407 support scancode 2.
18408 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
18409 * include/grub/keyboard_layouts.h: New file.
18410 * util/grub-mklayout.c: New file.
18411 * util/grub-kbdcomp.in: Likewise.
18412
a1d84a5e
VS
184132010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18414
18415 Unify memory types.
18416
18417 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
18418 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
18419 types.
18420 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
18421 (grub_upper_mem): Likewise.
18422 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
18423 * include/grub/memory.h (grub_memory_type_t): New enum.
18424 All users updated.
18425
9696382e
VS
184262010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18427
18428 * grub-core/Makefile.core.def (lsapm): New module.
18429 * grub-core/commands/i386/pc/lsapm.c: New file.
18430 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
18431 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
18432 Likewise.
18433 * include/grub/i386/pc/apm.h: New file.
18434 * include/multiboot.h (multiboot_apm_info): New struct.
18435
184362010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18437
18438 GRUB-legacy configuration file support.
18439
18440 * Makefile.util.def (grub-menulst2cfg): New util.
18441 * docs/man/grub-menulst2cfg.h2m: New file.
18442 * grub-core/Makefile.core.def (legacycfg): New module.
18443 * grub-core/commands/legacycfg.c: New file.
18444 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
18445 (grub_normal_add_menu_entry): ... this.
18446 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
18447 (grub_normal_set_password): ...this.
18448 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
18449 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
18450 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
18451 * grub-core/lib/legacy_parse.c: New file.
18452 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
18453 * include/grub/i386/pc/vesa_modes_table.h: New file.
18454 * include/grub/legacy_parse.h: Likewise.
18455 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
18456 * util/grub-menulst2cfg.c: New file.
18457
bf8d1338
CW
184582010-09-17 Colin Watson <cjwatson@ubuntu.com>
18459
18460 * grub-core/kern/emu/hostdisk.c
18461 (convert_system_partition_to_system_disk): Initialise node.
18462
9c0bad2e
CW
184632010-09-17 Colin Watson <cjwatson@ubuntu.com>
18464
18465 * grub-core/kern/emu/hostdisk.c
18466 (convert_system_partition_to_system_disk): Fix devmapper memory pool
18467 leak.
18468 Reported and based on patch by: Modestas Vainius.
18469
a939d135
CW
184702010-09-17 Colin Watson <cjwatson@ubuntu.com>
18471
18472 Fix DM-RAID probing with recent versions of device-mapper udev
18473 rules.
18474
18475 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
18476 canonicalise device paths under /dev/mapper/.
18477 (convert_system_partition_to_system_disk): Compare the
18478 uncanonicalised path to /dev/mapper/ rather than the canonicalised
18479 path, since device nodes under /dev/mapper/ are often symlinks.
18480
0f7ee3c9
YB
184812010-09-17 Yves Blusseau <blusseau@zetam.org>
18482
18483 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
18484
10854d0d
YB
184852010-09-16 Yves Blusseau <blusseau@zetam.org>
18486
18487 * configure.ac: Avoid some annoying error messages if freetype-config
18488 program is not found.
18489
108538d8
CW
184902010-09-16 Colin Watson <cjwatson@ubuntu.com>
18491
18492 Support RAID on virtio devices, and others.
18493
18494 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
18495 Rename to ...
18496 [__MINGW32__] (grub_find_device): ... this.
18497 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
18498 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
18499 reasonable default if dir is NULL.
18500 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
18501 ...
18502 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
18503 (grub_guess_root_device): Update callers.
18504 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
18505
18506 * util/raid.c (grub_util_getdiskname): Remove.
18507 (grub_util_raid_getmembers): Use grub_find_device rather than
18508 grub_util_getdiskname.
18509
e5bfc130
CW
185102010-09-16 Colin Watson <cjwatson@ubuntu.com>
18511
18512 * docs/grub.texi (serial): Remove obsolete comment about GRUB
18513 needing to be compiled with serial support.
18514 (ls): Indicate that multiple files are accepted.
18515 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
18516 indicate that multiple files are accepted.
18517
be458ae2
CW
185182010-09-16 Colin Watson <cjwatson@ubuntu.com>
18519
18520 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
18521 libgrub_a_init.c, and util/bash-completion.d/grub.
18522
cb731b5e
VS
185232010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18524
18525 * util/grub-setup.c (setup): Fix incorrect container semantics.
18526
35139e8a
VS
185272010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18528
18529 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
18530 misusage.
18531 Reported by: J. Nick Terry
18532
e50fca4a
VS
185332010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18534
18535 Move embedding routines to partmap sources files.
18536
18537 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
18538 [GRUB_UTIL]: New variable.
18539 (gpt_partition_map_iterate): Set part.parent.
18540 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
18541 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
18542 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
18543 New function.
18544 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
18545 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
18546 (grub_partition_map) [GRUB_UTIL]: New field embed.
18547 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
18548 (setup): Use ->embed.
18549
f00478b7
VS
185502010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18551
18552 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
18553 function.
18554 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
18555 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
18556
2b94e3ff
YB
185572010-09-15 Yves Blusseau <blusseau@zetam.org>
18558
18559 Add function to get completions from usage.
18560
18561 * util/bash-completion.d/grub-completion.bash.in: Add function to get
18562 completions from usage. Use LC_ALL=C to get options properly.
18563
2e04a006
VS
185642010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18565
18566 * grub-core/gnulib/basename-lgpl.c: Imported.
18567 * grub-core/gnulib/basename.c: Likewise.
18568 * grub-core/gnulib/dirname-lgpl.c: Likewise.
18569 * grub-core/gnulib/dirname.c: Likewise.
18570 * grub-core/gnulib/dirname.h: Likewise.
18571 * grub-core/gnulib/stripslash.c: Likewise.
18572
5dcdf93a
VS
185732010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18574
18575 * grub-core/gnulib/error.c: Resynced.
18576 * grub-core/gnulib/getopt.c: Likewise.
18577 * grub-core/gnulib/getopt_int.h: Likewise.
18578 * grub-core/gnulib/regex.h: Likewise.
18579 * grub-core/gnulib/regex_internal.c: Likewise.
18580 * grub-core/gnulib/regex_internal.h: Likewise.
18581
014f47b7
SJ
185822010-09-15 Szymon Janc <szymon@janc.net.pl>
18583
18584 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
18585 CRC calculations and validity checks.
18586 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
18587 calculations.
18588
dd521a4a
SJ
185892010-09-15 Szymon Janc <szymon@janc.net.pl>
18590
18591 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
18592
79c4eeb9
VS
185932010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18594
18595 Fix incorrect echo options handling.
18596 Reported by: Yves Blusseau.
18597
18598 * include/grub/command.h (grub_command_flags_t): New flags
18599 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
18600 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
18601 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
18602
ed80f7d5
VS
186032010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18604
18605 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
18606 users updated.
18607 (GRUB_COMMAND_FLAG_MENU): Likewise.
18608 (GRUB_COMMAND_FLAG_BOTH): Likewise.
18609 (GRUB_COMMAND_FLAG_TITLE): Removed.
18610 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
18611 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
18612 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
18613 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
18614 (grub_command_flags_t): New enum. All users updated.
18615
5fe7620a
SG
186162010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
18617
18618 Fix solaris compilation.
18619
18620 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
18621 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
18622 (grub-emu-list): Likewise.
18623
545b752f
VS
186242010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18625
18626 Remove deprecated root command.
18627
18628 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
18629 updated.
18630
6c1a338c
VS
186312010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18632
18633 * util/i386/pc/grub-setup.c: Merge this ...
18634 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
18635 * util/grub-setup.c: ... into this.
18636 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
18637 New struct.
18638
186392010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18640
18641 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
18642 possible.
18643
d2ea4551
VS
186442010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18645
18646 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
18647 allocate p.
18648
3c3b5040
VS
186492010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18650
18651 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
18652 explicit root argument to set to prevent UUID to be interpreted as
18653 argument to set.
18654
b71c3fae
VS
186552010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18656
18657 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
18658
275433e6
VS
186592010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18660
18661 Don't export grub_gate_a20.
18662
18663 * grub-core/kern/i386/pc/init.c: Remove leftovers.
18664 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
18665 to ...
18666 (grub_gate_a20): ... this. All users updated.
18667 * include/grub/i386/pc/init.h: Removed. All users updated.
18668
a5dbb1f1
VS
186692010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18670
18671 Create euro.pf2 which supports most European languages.
18672
18673 * Makefile.am (grubdata_DATA): Add euro.pf2.
18674 (euro.pf2): New target.
18675 (CLEANFILES): Add euro.pf2.
18676
62a747cb
VS
186772010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18678
18679 * configure.ac: Disable emu-usb by default to prevent inadvertent
18680 device takeover.
18681
608e43b1
VS
186822010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18683
18684 Disable usbserial on grub-emu since our libusb code isn't good enough
18685 yet.
18686
18687 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
18688 (usbserial_pl2303): Likewise.
18689 (usbserial_ftdi): Likewise.
18690
94564f81
VS
186912010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18692
18693 * include/grub/disk.h (grub_disk): Remove has_partitions.
18694 All users updated.
18695 * disk/loopback.c (grub_loopback): Remove has_partitions.
18696 All users updated.
18697 (options): Remove partitions. All users updated.
18698 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
18699 * util/i386/pc/grub-setup.c (setup): copy partition table only when
18700 actual partition table is found.
18701
3352800b
VS
187022010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18703
18704 Remove readability checks (too many false negatives).
18705
18706 * util/grub-install.in: Remove readability checks.
18707 * util/grub-mkconfig.in: Likewise.
18708 * util/grub.d/10_hurd.in: Likewise.
18709 * util/grub.d/10_kfreebsd.in: Likewise.
18710 * util/grub.d/10_linux.in: Likewise.
18711 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
18712 way.
18713
2419f17a
VS
187142010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18715
18716 Enable acpi shutdown on all ACPI platforms.
18717
18718 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
18719 on coreboo, multiboot and EFI.
18720 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
18721 (grub_acpi_halt): Likewise.
18722 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
18723 (grub_cmd_halt): Don't call grub_acpi_halt directly.
18724 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
18725 * grub-core/lib/i386/halt.c (grub_halt)
18726 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
18727
0575c7c3
VS
187282010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18729
18730 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
18731 context.
18732
54ac3cd1
VS
187332010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18734
18735 * grub-core/video/efi_gop.c: Fix over-80-chars line.
18736 * grub-core/video/efi_uga.c: Likewise.
18737
b2a30ac5
VS
187382010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18739
18740 Filter devaliases and never open same device twice.
18741
18742 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
18743 (last_ihandle): Likewise.
18744 (ofdisk_hash_ent): New member shortest.
18745 (ofdisk_hash_add): Add canonical path too.
18746 (scan): New function.
18747 (grub_ofdisk_iterate): Iterate over hashed entries.
18748 (compute_dev_path): Don't add :0.
18749 (grub_ofdisk_open): Don't really open the disk.
18750 (grub_ofdisk_close): Avoid closing unrelated disk.
18751 (grub_ofdisk_read): Implement reopen logic.
18752 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
18753 New function.
18754 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
18755 New proto.
18756
fb53b340
VS
187572010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18758
18759 Fix sparc64.
18760
18761 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
18762 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
18763 right address. Add sparc64_ieee1275_ldflags.
18764 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
18765 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
18766 to grub_host_to_target_addr
18767 (load_image): Likewise.
18768
f452b040
VS
187692010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18770
18771 * grub-core/normal/completion.c (complete_file): Handle device
18772 containing slash.
18773 Fix based on patch by Doug Nazar.
18774
9b5b2541
VS
187752010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18776
18777 grub-mknetdir script.
18778
18779 * Makefile.util.def (grub-mknetdir): New module.
18780 * tests/util/grub-shell.in: Support boot=net
18781 * util/grub-mknetdir.in: New file.
18782
9d2be652
VS
187832010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18784
18785 videoinfo on non-vbe.
18786
18787 * grub-core/Makefile.core.def (vbeinfo): Removed.
18788 (vbetest): Removed.
18789 (videoinfo): New module.
18790 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
18791 * grub-core/commands/i386/pc/vbetest.c: Removed.
18792 * grub-core/commands/videoinfo.c: New file.
18793 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
18794 specification.
18795 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
18796 as vbetest.
18797 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
18798 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
18799 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
18800 mode_number. New parameter mode. All users updated.
18801 (grub_video_gop_iterate): New function.
18802 (grub_video_efi_gop): New member iterate.
18803 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
18804 (grub_vbe_set_video_mode): Remove setting useless fields.
18805 (vbe2videoinfo): New function.
18806 (grub_video_vbe_iterate): Likewise.
18807 (grub_video_vbe_setup): Use vbe2videoinfo.
18808 (grub_video_vbe_print_adapter_specific_info): New function.
18809 (grub_video_vbe_adapter): New fields iterate and
18810 print_adapter_specific_info.
18811 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
18812 All users updated.
18813 (grub_video_mode_info): New field mode_number.
18814 (grub_video_adapter): New fields iterate and
18815 print_adapter_specific_info.
18816
179503f5
TG
188172010-09-13 Tristan Gingold <gingold@free.fr>
188182010-09-13 Robert Millan <rmh.grub@aybabtu.com>
188192010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18820
18821 * grub-core/commands/efi/lsefisystab.c: New file.
18822 * grub-core/commands/efi/lssal.c: Likewise.
18823 * grub-core/Makefile.core.def (lsacpi): New module.
18824 (lsefisystab): Likewise.
18825 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
18826 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
18827 (grub_efi_sal_system_table): New struct.
18828 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
18829 (grub_efi_sal_system_table_memory_descriptor): Likewise.
18830 (grub_efi_sal_system_table_platform_features): Likewise.
18831 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
18832 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
18833 (grub_efi_sal_system_table_ap_wakeup): Likewise.
18834 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
18835
cf9827de
VS
188362010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18837
18838 Support explicit user claim that a device is BIOS-visible.
18839
18840 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
18841 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
18842 * grub-core/kern/emu/hostdisk.c
18843 (convert_system_partition_to_system_disk): Support mdX.
18844 (find_system_device): New parameter add. All users updated.
18845 (grub_util_biosdisk_is_present): New function.
18846 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
18847 proto.
18848
53f0eb1f
VS
188492010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18850
18851 Search hints support.
18852
18853 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
18854 All users updated.
18855
b23ffd70
YB
188562010-09-13 Yves Blusseau <blusseau@zetam.org>
18857
18858 Bash completion script for util commands
18859
18860 * Makefile.am: Add util/bash-completion.d directory
18861 * configure.ac: Likewise.
18862 * util/bash-completion.d/Makefile.am: New file.
18863 * util/bash-completion.d/grub-completion.bash.in: Likewise.
18864
d547dc28
VS
188652010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18866
18867 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
18868 (print_backlog): set backlog_ucs4 and backlog_glyphs.
18869 Reported by: Yves Blusseau.
18870
2fc8ccb9
VS
188712010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18872
18873 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
18874 partition size and offset.
18875
d8a84076
VS
188762010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18877
18878 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
18879
84fb3b3d
VS
188802010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18881
18882 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
18883
768ec2e2
VS
188842010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18885
18886 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
18887 (grub_xvasprintf): Likewise.
18888
4870900f
VS
188892010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18890
18891 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
18892
faca6bec
VS
188932010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18894
18895 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
18896 args ending with NULL.
18897
188982010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
18899
18900 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
18901 pointer.
18902
3c70f225
SJ
189032010-09-11 Szymon Janc <szymon@janc.net.pl>
18904
18905 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
18906
4df7996d
VS
189072010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18908
18909 Shutdown using ACPI.
18910
18911 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
18912 * grub-core/commands/acpihalt.c: New file.
18913 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
18914 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
18915 (grub_acpi_halt): New proto.
18916 (GRUB_ACPI_SLP_EN): New const.
18917 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
18918 (GRUB_ACPI_OPCODE_*): New enum.
18919 (GRUB_ACPI_EXTOPCODE_*): Likewise.
18920
126b4c32
TG
189212010-09-11 Tristan Gingold <gingold@free.fr>
189222010-09-11 Robert Millan <rmh.grub@aybabtu.com>
189232010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18924
18925 * commands/lsacpi.c: New file.
18926 * grub-core/Makefile.core.def (lsacpi): New module.
18927 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
18928 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
18929 (grub_acpi_madt_entry_header): New struct.
18930 (grub_acpi_madt): Likewise.
18931 (grub_acpi_madt_entry_interrupt_override): Likewise.
18932 (grub_acpi_madt_entry_sapic): Likewise.
18933 (grub_acpi_madt_entry_lsapic): Likewise.
18934 (grub_acpi_madt_entry_platform_int_source): Likewise.
18935 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
18936 (PRIuGRUB_UINT32_T): Likewise.
18937 (PRIxGRUB_UINT64_T): Likewise.
18938
1aa4fe88
VS
189392010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18940
18941 Implement loading palette on ieee1275_fb.
18942
18943 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
18944 (have_setcolors): Likewise.
18945 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
18946 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
18947 (grub_video_ieee1275_set_palette): Implement.
18948
25761e13
VS
189492010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
189502010-09-11 Colin Watson <cjwatson@ubuntu.com>
18951
18952 * util/grub-install.in (grub_partition): New variable.
18953 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
18954 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
18955 Fixes a bug reported by Yves Blusseau.
18956
050abaea
VS
189572010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18958
18959 Fix emu on mipsel.
18960
18961 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
18962 =grub_cpu_flush_cache on all mips and not only yeeloong.
18963 * configure.ac (COND_mips): New conditional.
18964 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
18965 platforms.
18966 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
18967 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
18968 [GRUB_LINKER_HAVE_INIT]: New function.
18969 (grub_emu_post_init): Likewise.
18970 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
18971 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
18972 * include/grub/cache.h (_mips): Include mips/cache.h.
18973 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
18974 LVM and RAID prototypes.
18975 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
18976 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
18977 function.
18978
5ed7d816
CW
189792010-09-10 Colin Watson <cjwatson@ubuntu.com>
18980
18981 * util/grub-install.in: Don't try to verify core.img until after
18982 running grub-mkimage to create it.
18983
90367e04
RM
189842010-09-10 Robert Millan <rmh@gnu.org>
18985
18986 * util/grub.d/10_hurd.in: Add misc readability checks.
18987 * util/grub.d/10_kfreebsd.in: Likewise.
18988 * util/grub.d/10_linux.in: Likewise.
18989
c452fa66
CW
189902010-09-10 Colin Watson <cjwatson@ubuntu.com>
18991
18992 * util/grub-install.in: ${imgext} won't be defined here until the
18993 install branch is merged. For the meantime, only verify core.img on
18994 i386-pc and sparc64-ieee1275 platforms.
18995
c38fe9f4
RM
189962010-09-10 Robert Millan <rmh@gnu.org>
18997
18998 Solaris support in grub_find_zpool_from_dir(). Thanks
18999 Seth Goldberg for referring to getextmntent() facility.
19000
19001 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
19002 `sys/mkdev.h'.
19003 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
19004 `<sys/mnttab.h>'.
19005 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
19006 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
19007 method for finding zpool name.
19008
905f7773
CW
190092010-09-10 Colin Watson <cjwatson@ubuntu.com>
19010
19011 grub-fstest needs the host and hostfs modules while other utilities
19012 actively require those modules to be absent, so grub-fstest needs
19013 its own initialisation and finalisation code.
19014
19015 * Makefile.am (grub_fstest.pp): New target.
19016 (grub_fstest_init.lst): Likewise.
19017 (grub_fstest_init.c): Likewise.
19018 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
19019
fb90b546
RM
190202010-09-10 Robert Millan <rmh@gnu.org>
19021
19022 * configure.ac: Check for `struct statfs.f_fstypename' and
19023 `struct statfs.f_mntfromname'.
19024
19025 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
19026 kFreeBSD-specific code.
19027
66d4bea5
RM
190282010-09-10 Robert Millan <rmh@gnu.org>
19029
19030 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
19031 on ZFS. Now non-main filesystems are supported as / too.
19032
b6a690ee
CW
190332010-09-09 Colin Watson <cjwatson@ubuntu.com>
19034
19035 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
19036 and grub-core/disk/host.c to ...
19037 (grub-fstest): ... here. Having the host disk implementation
19038 present confuses grub-probe and other utility programs.
19039
19040 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
19041 when writing to a file, not when writing to stdout.
19042
8901b00c 190432010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
19044
19045 * tests/partmap_test.in: New test for partitions.
19046 * Makefile.util.def: Rules for new test.
19047
7bf45fdd
RM
190482010-09-09 Robert Millan <rmh@gnu.org>
19049
19050 * util/grub-probe.c (probe): Fix a pair of unhandled error
19051 conditions.
19052
4dfbc574
RM
190532010-09-09 Robert Millan <rmh@gnu.org>
19054
19055 Basic Btrfs support (detection and UUID).
19056
19057 * grub-core/fs/btrfs.c: New file.
19058 * Makefile.util.def (library): Register btrfs.c.
19059 * grub-core/Makefile.core.def: Likewise.
19060
6b8e78ae
RM
190612010-09-08 Robert Millan <rmh@gnu.org>
19062
19063 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
19064 with (optional) parameters to specify device and relative path.
19065 * util/grub-install.in: Use is_path_readable_by_grub() to
19066 verify readability of a few critical files.
19067 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
19068 verify readability of grub.cfg.new.
19069
27f21a8b
VS
190702010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
19071
19072 Split minix.mod into minix.mod and minix2.mod.
19073
19074 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
19075 * grub-core/Makefile.core.def (minix2): New module.
19076 * grub-core/fs/minix.c: Use definitions instead of runtime version
19077 checking.
19078 * grub-core/fs/minix2.c: New file.
19079
c0e53ea5
YB
190802010-09-08 Yves Blusseau <blusseau@zetam.org>
19081
19082 Add new --boot-directory option to replace --root-directory
19083
19084 * util/grub-install.in: Add new --boot-directory option
19085 * util/grub-reboot.in: Likewise.
19086 * util/grub-set-default.in: Likewise.
19087
b9fe6ea2
YB
190882010-09-08 Yves Blusseau <blusseau@zetam.org>
19089
19090 * util/grub-mkconfig.in: Use new variable.
19091
d87aedff
YB
190922010-09-08 Yves Blusseau <blusseau@zetam.org>
19093
19094 * configure.ac: Define some useful variables.
19095
e55e8495
VS
190962010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
19097
19098 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19099 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
19100 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
19101 Use terminfo and don't use cursor-on/cursor-off unless it's known
19102 to work.
19103 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
19104 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
19105
6fa6d675
CW
191062010-09-08 Colin Watson <cjwatson@ubuntu.com>
19107
19108 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
19109 starts with "(,", fill the drive containing the loaded image in
19110 between those two characters, but expect that a full partition
19111 specification including partition map names will follow.
19112
92f2aef0
RM
191132010-09-08 Robert Millan <rmh@gnu.org>
19114
19115 * configure.ac: Remove `--enable-grub-fstest' option.
19116 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
19117
19118 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
19119 `grub-fstest' instead of `grub-probe' for readability verification.
19120 * util/grub-probe.c (probe): Remove readability verification kludge.
19121
99fd620d
RM
191222010-09-08 Robert Millan <rmh@gnu.org>
19123
19124 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
19125 initializing `GRUB_FS'.
19126
058e30ac 191272010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
19128
19129 Not command (!) support to GRUB script.
19130
19131 * tests/grub_script_not.in: New test.
19132 * Makefile.util.def: Rules for new test.
19133
19134 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
19135 ! command as a special case.
19136 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
19137
b61d05ed 191382010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19139
058e30ac 19140 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
19141 grub_free.
b61d05ed 19142
4d69c786 191432010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19144
19145 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
19146
aa3119c4 191472010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19148
19149 * docs/grub.texi (Shell-like scripting): Documentation for break,
19150 continue, shift and return commands.
19151
db0f7e3d
VS
191522010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
19153
19154 Rename CD-ROM to cd on BIOS.
19155
19156 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
19157 "cd".
19158 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
19159
88b87c93
VS
191602010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19161
19162 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
19163 * util/grub-probe.c (main): Likewise.
19164 * util/i386/pc/grub-setup.c (main): Likewise.
19165 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
19166 Reported and debugged by: alexxy
19167
294f324d
VS
191682010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19169
19170 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
19171 diagnostic info.
19172
d7ee3441
JS
191732010-09-05 Jo Shields <directhex@apebox.org>
19174
19175 * util/grub.d/30_os-prober.in: Add missing classes.
19176
d7e06c1f
VS
191772010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19178
19179 * docs/grub.texi (Theme file format): Document new position format.
19180
fc157e53
VS
191812010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19182
19183 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
19184 a table. Use @code instead of @verbatim.
19185
506e9a1c
CB
191862010-09-05 Colin D Bennett <colin@gibibit.com>
19187
19188 Gfxmenu documentation.
19189
19190 * docs/grub.texi (Theme file format): New chapter.
19191
f0aff67c
SJ
191922010-09-05 Szymon Janc <szymon@janc.net.pl>
19193
19194 * grub-core/Makefile.core.def (xzio): New module.
19195 * grub-core/io/xzio.c: New file.
19196 * grub-core/lib/xzembed/xz.h: New file (from xembed).
19197 * grub-core/lib/xzembed/xz_config.h: Likewise.
19198 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
19199 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
19200 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
19201 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
19202 * grub-core/lib/xzembed/xz_private.h: Likewise.
19203 * grub-core/lib/xzembed/xz_stream.h: Likewise.
19204 * include/grub/file.h (grub_file_filter_id): New compression filter
19205 GRUB_FILE_FILTER_XZIO.
19206
82a85062
VS
192072010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19208
19209 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
19210 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
19211 size.
19212
3579415d
VS
192132010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19214
19215 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
19216 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
19217
5124ae6d
VS
192182010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19219
19220 Uncompressed checksum support.
19221
19222 * grub-core/commands/hashsum.c (options): Add option --uncompress.
19223 (check_list): New parameter uncompress.
19224 (grub_cmd_hashsum): Handle --uncompress.
19225
9aadb3d1
VS
192262010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19227
19228 Reintroduce testload.
19229
19230 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
19231 from here ...
19232 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
19233 (GRUB_MOD_INIT): New function.
19234 (GRUB_MOD_FINI): Likewise.
19235 * grub-core/Makefile.core.def (testload): New module.
19236
a17792c3
SJ
192372010-09-05 Szymon Janc <szymon@janc.net.pl>
19238
19239 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
19240 (uint8_t): New type.
19241 (uint16_t): Likewise.
19242 (uint32_t): Likewise.
19243 (uint64_t): Likewise.
19244
b81e40a3
SJ
192452010-09-05 Szymon Janc <szymon@janc.net.pl>
19246
19247 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
19248
fc2ef117
VS
192492010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19250
19251 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
19252 Made static.
19253 (grub_gzfile_open): Removed. All users updated.
19254 (GRUB_MOD_INIT): New function.
19255 (GRUB_MOD_FINI): Likewise.
19256 * grub-core/kern/file.c (grub_file_filters_all): New variable.
19257 (grub_file_filters_enabled): Likewise.
19258 (grub_file_open): Handle filters.
19259 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
19260 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
19261 * include/grub/file.h (grub_file_filter_id_t): New type.
19262 (grub_file_filter_t): Likewise.
19263 (grub_file_filters_all): New extern variable.
19264 (grub_file_filters_enabled): Likewise.
19265 (grub_file_filter_register): New inline function.
19266 (grub_file_filter_unregister): Likewise.
19267 (grub_file_filter_disable): Likewise.
19268 (grub_file_filter_disable_compression): Likewise.
19269 * include/grub/gzio.h: Removed.
19270
35ee15e0
BC
192712010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19272
19273 Filename expansion support for wildcards in GRUB script.
19274
19275 * tests/grub_script_expansion.in: New test.
19276 * Makefile.util.def: Rule for new test.
19277
19278 * grub-core/commands/wildcard.c: New file, implements filename
19279 expansion support for GRUB script.
19280 * grub-core/Makefile.core.def: Rule update for regexp.mod.
19281 * grub-core/script/argv.c: Cosmetic changes.
19282 * grub-core/script/execute.c (grub_script_arglist_to_argv):
19283 Refactored to perform wildcard expansion on arguments.
19284 * include/grub/script_sh.h (grub_script_wildcard_translator): New
19285 struct.
19286
19287 * tests/util/grub-shell.in: Fix quoting for read input.
19288
5f0c4aca
BC
192892010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19290
19291 Support for updating environment variables with matched substrings
19292 of regexp.
19293
19294 * tests/grub_cmd_regexp.in: New test.
19295 * Makefile.util.def: Rule for new test.
19296
19297 * grub-core/commands/regexp.c: New option -s to update environment
19298 variables with regexp matches.
19299
3759a35f
SJ
193002010-09-04 Szymon Janc <szymon@janc.net.pl>
19301
19302 * include/grub/file.h (grub_file): New member not_easly_seekable.
19303 (grub_file_seekable): New inline function.
19304 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
19305 easily seekable.
19306 (grub_gzio_open): Set not_easly_seekable.
19307 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
19308 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
19309
ed8c6dec
BC
193102010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19311
19312 Support for options to appear multiple times on cmdline.
19313
19314 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
19315 * grub-core/commands/extcmd.c: Support for repeatable option.
19316 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
19317 repeatable option support.
19318
19319 Refactor menuentry into a regular command.
19320
19321 * grub-core/commands/menuentry.c: New file, menuentry command
19322 implementation.
19323 * grub-core/Makefile.core.def: Rule update for normal.mod.
19324 * grub-core/normal/main.c: Moved menuentry creation to
19325 grub-core/commands/menuentry.c.
19326 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
19327 (grub_menu_execute_entry_real): Removed.
19328 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
19329 function.
19330 (grub_script_execute_menuentry): Removed.
19331 * grub-core/script/parser.y (menuentry): Removed.
19332 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
19333 * grub-core/script/yylex.l (menuentry): Removed.
19334 * include/grub/menu.h (grub_menu_init): New prototype.
19335 (grub_menu_fini): New prototype.
19336 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
19337 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
19338 (grub_script_execute_sourcecode): New prototype.
19339
dacd0cf0
BC
193402010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19341
19342 "return" command for GRUB script functions.
19343
19344 * tests/grub_script_return.in: New test.
19345 * Makefile.util.def: Rules for new test.
19346
19347 * grub-core/script/execute.c (grub_script_return): New function.
19348 * grub-core/script/main.c: Register/unregister return commaond.
19349 * include/grub/script_sh.h (grub_script_return): New prototype.
19350
52e72f9d
BC
193512010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19352
19353 "setparams" command to update positional parameters.
19354
19355 * tests/grub_script_setparams.in: New test.
19356 * Makefile.util.def: Rules for new test.
19357
19358 * grub-core/script/argv.c (grub_script_argv_make): New function.
19359 * grub-core/script/execute.c (replace_scope): New function.
19360 (grub_script_setparams): New function.
19361 * grub-core/script/lexer.c: Remove unused variables.
19362 * grub-core/script/main.c: Register/unregister setparams command.
19363 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
19364 (grub_script_setparams): New prototype.
19365
25b60c91
BC
193662010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19367
19368 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
19369 grub_free order.
19370
37e7bf68
BC
193712010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19372
19373 Support for passing block of commands as an argument to extcmds.
19374
19375 * Makefile.util.def: Rules for new test.
19376 * tests/grub_script_blockarg.in: New test.
19377 * grub-core/tests/test_blockarg.c: New file, block argument
19378 command used in the test.
19379
19380 * include/grub/extcmd.h (grub_extcmd_context): New struct.
19381 (grub_register_extcmd_prio): New function prototype.
19382 (grub_extcmd_dispatcher): New function prototype.
19383 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
19384 type.
19385 * include/grub/script_sh.h (struct grub_script): New members
19386 `children', `next_siblings' and `refcnt' for block arguments and
19387 reference counting.
19388 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
19389 (grub_script_arg): New member `script' for block argument.
19390 (grub_script_argv): New member `script' for block argument.
19391 (grub_parser_param): New member `scripts' for block argument.
19392 (grub_script_mem_free): New extern function prototype.
19393 (grub_script_ref): New function prototype.
19394 (grub_script_unref): New function prototype.
19395
19396 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
19397 extcmd form to support block arguments.
19398 * grub-core/script/argv.c: Block arguments support.
19399 * grub-core/script/execute.c: Likewise.
19400 * grub-core/script/lexer.c: Likewise.
19401 * grub-core/script/main.c: Likewise.
19402 * grub-core/script/script.c: Likewise.
19403 * grub-core/script/parser.y: Likewise. New `block' and `block0'
19404 non-terminals.
19405
19406 * grub-core/commands/acpi.c: Update extcmd implementations with
19407 grub_extcmd_context_t.
19408 * grub-core/commands/cat.c: Likewise.
19409 * grub-core/commands/echo.c: Likewise.
19410 * grub-core/commands/extcmd.c: Likewise.
19411 * grub-core/commands/hashsum.c: Likewise.
19412 * grub-core/commands/hdparm.c: Likewise.
19413 * grub-core/commands/help.c: Likewise.
19414 * grub-core/commands/hexdump.c: Likewise.
19415 * grub-core/commands/i386/cpuid.c: Likewise.
19416 * grub-core/commands/i386/pc/drivemap.c: Likewise.
19417 * grub-core/commands/i386/pc/halt.c: Likewise.
19418 * grub-core/commands/i386/pc/sendkey.c: Likewise.
19419 * grub-core/commands/iorw.c: Likewise.
19420 * grub-core/commands/keystatus.c: Likewise.
19421 * grub-core/commands/loadenv.c: Likewise.
19422 * grub-core/commands/ls.c: Likewise.
19423 * grub-core/commands/lspci.c: Likewise.
19424 * grub-core/commands/memrw.c: Likewise.
19425 * grub-core/commands/probe.c: Likewise.
19426 * grub-core/commands/search_wrap.c: Likewise.
19427 * grub-core/commands/setpci.c: Likewise.
19428 * grub-core/commands/sleep.c: Likewise.
19429 * grub-core/disk/loopback.c: Likewise.
19430 * grub-core/hello/hello.c: Likewise.
19431 * grub-core/loader/i386/bsd.c: Likewise.
19432 * grub-core/loader/xnu.c: Likewise.
19433 * grub-core/term/gfxterm.c: Likewise.
19434 * grub-core/term/serial.c: Likewise.
19435 * grub-core/tests/lib/functional_test.c: Likewise.
19436
888d1500
BC
194372010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19438
19439 Multi-line quoted strings support.
19440
19441 * grub-core/script/lexer.c (append_newline): Removed.
19442 (grub_script_lexer_yywrap): Refactored.
19443 (grub_script_lexer_init): Refactored.
19444 * grub-core/script/yylex.l (yywrap): New function.
19445 (grub_lexer_resplit): New function.
19446 (grub_lexer_unput): New function.
19447 * include/grub/script_sh.h (grub_lexer_param): New members, unput
19448 and resplit.
19449 * tests/grub_script_echo1.in: Added few more testcases.
19450
dda060dd
VS
194512010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
19452
19453 * grub-core/kern/misc.c: Don't add abort alias in utils.
19454 Reported by: echoline.
19455
6556eba9
BC
194562010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
19457
19458 Add missing files into "make dist" tarball for other platforms.
19459
19460 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
19461 * conf/Makefile.common (dist_noinst_DATA): New variable.
19462 * conf/Makefile.extra-dist: Added missing make dist files.
19463 * grub-core/Makefile.core.def: Likewise.
19464
c8e7bf5f
VS
194652010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
19466
19467 Compress grub_prefix.
19468
19469 * grub-core/boot/i386/pc/lnxboot.S: Use
19470 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
19471 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
19472 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
19473 GRUB_MACHINE_PREFIX_END. All users updated.
19474 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
19475 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
19476 + 0x40.
19477 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
19478 * util/grub-mkimage.c (image_target_desc): Change data_end to
19479 prefix_end. All users updated.
19480
a7c00cdb
VS
194812010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
19482
19483 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
19484 value.
19485 (grub_openbsd_boot): Likewise.
19486 (grub_netbsd_boot): Likewise.
19487 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
19488 (grub_xnu_boot): Likewise.
19489
9f915872
VS
194902010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19491
19492 * configure.ac: Clean LIBS variable after tests.
19493
efa1bee7
CW
194942010-09-02 Colin Watson <cjwatson@ubuntu.com>
19495
19496 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
19497
61d720e5
VS
194982010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19499
19500 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
19501 echo if libdevmapper will be used.
19502
ef8e0ec8
IT
195032010-09-02 Ian Turner <Ian.Turner@deshaw.com>
19504
19505 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
19506 constant for the same file.
19507
03e261d8
VS
195082010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19509
19510 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
19511
c2a4eba6
CW
195122010-09-02 Colin Watson <cjwatson@ubuntu.com>
19513
19514 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
19515 grub-core/*.pp.
19516
9056cbf3
CW
195172010-09-02 Colin Watson <cjwatson@ubuntu.com>
19518
19519 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
19520 required by the boot protocol.
19521
19522 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
19523 ebp and edi members.
19524 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
19525 state.ebp and state.edi.
19526 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
19527 %ebp and %edi according to grub_relocator32_ebp and
19528 grub_relocator32_edi respectively.
19529 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
19530 and state.edi.
19531
529cc99a
VS
195322010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19533
19534 Add i386-pc-pxe image target.
19535
19536 * util/grub-mkimage.c (image_target_desc): New enum value
19537 IMAGE_I386_PC_PXE.
19538 (image_targets): New target i386-pc-pxe.
19539 (generate_image): Handle i386-pc-pxe image.
19540
9a093920
VS
195412010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19542
19543 Fix grub_pxe_scan.
19544
19545 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
19546 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
19547 All users updated.
19548 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
19549 (grub_pxe_pxenv): Correct type.
19550
f9cefc4e
CW
195512010-09-01 Colin Watson <cjwatson@ubuntu.com>
19552
19553 * NEWS: Document most of the important changes since 1.98.
19554
4066f57f
CW
195552010-09-01 Colin Watson <cjwatson@ubuntu.com>
19556
19557 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
19558 generated manual page) a little.
19559
da2891f9
CW
195602010-09-01 Colin Watson <cjwatson@ubuntu.com>
19561
19562 * docs/grub.texi: Add myself as an author.
19563
ad717fae
VS
195642010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
19565
19566 * Makefile.util.def (libgrub.a): Add missing sunpc.
19567 Reported by: Seth Goldberg.
19568
eefe8abd
VS
195692010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19570
19571 Interrupt wrapping and code simplifications.
19572
9494ef9a
VS
19573 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
19574 x86_noieee1275 which are functionaly equivalent in this case.
19575 (grub-install): Make source on each platform explicit. Enable on
19576 all noemu.
19577 * gentpl.py (x86_efi_pc): Removed group.
19578 (x86_noefi): Likewise.
19579 (i386_noefi): Likewise.
19580 (x86_noieee1275): Likewise.
19581 (i386_noieee1275): Likewise.
19582 (i386_noefi_noieee1275): Likewise.
19583 (i386_pc_qemu_coreboot): Likewise.
19584 (i386_coreboot_multiboot): Likewise.
19585 (i386_pc_coreboot_multiboot_qemu): Likewise.
19586 (x86_noefi_mips): Likewise.
19587 (noieee1275): Likewise.
19588 (ieee1275_mips): Likewise.
19589 (noemu_noieee1275): Likewise.
19590 (cmos): New group.
19591 (usb): Likewise.
19592 (videoinkernel): Likewise.
19593 (videomodules): Likewise.
eefe8abd 19594 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
19595 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
19596 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
19597 include/grub/loader.h, include/grub/msdos_partition.h,
19598 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
19599 include/grub/machine/console.h, include/grub/machine/vga.h,
19600 include/grub/machine/vbe.h, include/grub/machine/init.h,
19601 include/grub/machine/kernel.h, include/grub/cpu/time.h,
19602 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 19603 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
19604 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
19605 * grub-core/Makefile.core.def (kernel): Explicit the source for
19606 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
19607 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
19608 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
19609 Use videoinkernel tag.
19610 (usb): Enable on all usb.
19611 (usbserial_common): Likewise.
19612 (usbserial_pl2303): Likewise.
19613 (usbserial_ftdi): Likewise.
19614 (uhci): Enable on all x86.
19615 (ohci): Enable on all pci.
19616 (cmostest): Enable on all CMOS.
19617 (acpi): Include commands/acpi.c on all platforms.
19618 (halt): Add relevant lib/*/halt.c.
19619 (hdparm): Enable on all pci.
19620 (lspci): Likewise.
19621 (usbtest): Enable on all usb.
19622 (ata): Enable on all pci.
19623 (ata_pthru): Likewise.
19624 (usbms): Enable on all usb.
19625 (usb_keyboard): Likewise.
19626 (font): Use tag videomodules.
19627 (bufio): Likewise.
19628 (datetime): Use tag cmos. Enable on all noemu.
19629 (mmap): Use tags common and x86.
19630 (gfxterm): Use tag videomodules.
19631 (bitmap): Likewise.
19632 (bitmap_scale): Likewise.
19633 (video_fb): Likewise.
19634 (video): Likewise.
19635 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
19636 adjust padding accordingly. All users updated.
19637 (grub_ohci_transaction): Fix bad format specification.
19638 (GRUB_MOD_INIT): Add asserts for struct size.
19639 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
19640 (grub_alloc_td): Likewise.
19641 (grub_free_queue): Likewise.
19642 (grub_uhci_transfer): Likewise.
19643 (grub_uhci_transaction): Fix bad format specification.
19644 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
19645 (grub_usb_bulk_readwrite): Likewise.
19646 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
19647 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
19648 Made static.
19649 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
19650 Made static.
19651 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
19652 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
19653 Transformed into C.
19654 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
19655 Moved from here ...
19656 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
19657 ... here. Transformed into C. Made static.
19658 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
19659 Moved from here ...
19660 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
19661 ... here. Transformed into C. Made static.
19662 * grub-core/kern/i386/pc/startup.S
19663 (grub_biosdisk_check_int13_extensions): Moved from here ...
19664 * grub-core/disk/i386/pc/biosdisk.c
19665 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
19666 Made static.
19667 * grub-core/kern/i386/pc/startup.S
19668 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
19669 * grub-core/disk/i386/pc/biosdisk.c
19670 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
19671 Transformed into C. Made static.
19672 * grub-core/kern/i386/pc/startup.S
19673 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
19674 * grub-core/disk/i386/pc/biosdisk.c
19675 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
19676 Transformed into C. Made static.
19677 * grub-core/kern/i386/pc/startup.S
19678 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
19679 * grub-core/disk/i386/pc/biosdisk.c
19680 (grub_biosdisk_get_diskinfo_standard): ... here.
19681 Transformed into C. Made static.
19682 * grub-core/kern/i386/pc/startup.S
19683 (grub_biosdisk_get_num_floppies): Moved from here ...
19684 * grub-core/disk/i386/pc/biosdisk.c
19685 (grub_biosdisk_get_num_floppies): ... here.
19686 Transformed into C. Made static.
19687 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
19688 New function.
19689 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
19690 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
19691 Transformed into C. Made static.
19692 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
19693 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
19694 Transformed into C. Made static.
19695 * grub-core/kern/i386/ieee1275/init.c: Removed.
19696 * grub-core/kern/i386/misc.S: Likewise.
19697 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
19698 Splitted from here ...
19699 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
19700 Transformed into C. Made static. All users updated.
19701 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
19702 Transformed into C. Made static. All users updated.
19703 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
19704 Moved from here...
19705 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
19706 Transformed into C. Made static. All users updated.
19707 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
19708 Moved from here...
19709 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
19710 Transformed into C. Made static. All users updated.
19711 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
19712 Removed (replaced by C version).
19713 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
19714 Moved from here...
19715 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
19716 Transformed into C. Made static.
19717 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
19718 Moved from here...
19719 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
19720 ... here. Transformed into C.
19721 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
19722 Moved from here...
19723 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
19724 ... here. Transformed into C.
19725 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
19726 Moved from here...
19727 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
19728 ... here. Transformed into C. Made static.
19729 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
19730 Moved from here...
19731 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
19732 ... here. Transformed into C.
21ed554b
VS
19733 * grub-core/kern/i386/pc/startup.S
19734 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
19735 * grub-core/video/i386/pc/vbe.c
19736 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
19737 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
19738 Moved from here...
19739 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
19740 ... here. Transformed into C.
19741 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
19742 Moved from here...
19743 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
19744 ... here. Transformed into C.
19745 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
19746 Moved from here...
19747 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
19748 ... here. Transformed into C.
19749 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
19750 Moved from here...
19751 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
19752 ... here. Transformed into C.
19753 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
19754 Moved from here...
19755 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
19756 ... here. Transformed into C. Made static.
19757 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
19758 Moved from here...
19759 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
19760 ... here. Transformed into C. Made static.
19761 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
19762 Moved from here...
19763 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
19764 ... here. Transformed into C. Made static.
19765 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
19766 pxe_rm_entry as third argument.
19767 (grub_bios_interrupt): New function.
19768 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
19769 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
19770 of calling grub_stop.
19771 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
19772 * grub-core/lib/efi/halt.c (grub_halt): ...here.
19773 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
19774 * grub-core/lib/emu/halt.c (grub_halt): ... here.
19775 * grub-core/lib/i386/halt.c: Moved from here ...
19776 * grub-core/lib/i386/halt.c: ... here.
19777 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
19778 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
19779 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
19780 grub_stop_floppy.
19781 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
19782 * include/grub/i386/coreboot/init.h: Removed.
19783 * include/grub/i386/multiboot/init.h: Likewise.
19784 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
19785 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
19786 * include/grub/i386/pc/int.h: New file.
19787 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
19788 (grub_pxe_scan): Removed.
19789 (grub_pxe_call): Update prototype.
19790 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
19791 prototypes.
19792 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
19793 * include/grub/i386/qemu/init.h: Removed.
19794 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
19795 noreturn.
19796 (grub_halt): Likewise.
19797 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
19798 (grub_reboot): Likewise.
19799 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
19800 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
19801 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
19802
215dd471
RM
198032010-08-30 Robert Millan <rmh@gnu.org>
19804
19805 * NEWS: Document addition of ZFS support in `grub-install' and
19806 `grub-mkconfig'.
19807
ebd65b82
BC
198082010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
19809
19810 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
19811 dprintf output.
19812
11721d19
VS
198132010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19814
19815 Remove leftover embedding of font objects.
19816
19817 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
19818 * util/grub-install.in (font): Removed.
19819 * util/grub-mkimage.c (generate_image): Remove font support. All users
19820 updated.
19821
37837d4e
VS
198222010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19823
19824 Remove leftover embedding of font objects.
19825
19826 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
19827 * util/grub-install.in (font): Removed.
19828 * util/grub-mkimage.c (generate_image): Remove font support. All users
19829 updated.
19830
b4c1aae0
VS
198312010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19832
19833 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 19834 Reported by: Ian Turner
b4c1aae0 19835
8920a08d
VS
198362010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19837
19838 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
19839 timeout to avoid indefinite boot stalling.
19840
f21db033
VS
198412010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19842
19843 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
19844 (grub_env_write_color_highlight): Likewise.
19845
9a9de209
VS
198462010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19847
19848 * grub-core/normal/term.c (print_more): Return to normal and not
19849 to standard state after printing "---MORE---".
19850
3dca01d7
VS
198512010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19852
19853 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
19854 Mask out the bit 0x80 since it has other meaning that specifiing color.
19855
0b986c40
VS
198562010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19857
19858 New relocator. Allows for more kernel support and more straightforward
19859 loader writing.
19860
19861 * Makefile.am (BOOTTARGET): New variable.
19862 (QEMU32): Likewise.
19863 (linux.init.x86_64): New target.
19864 (linux.init.i386): Likewise.
19865 (multiboot.elf): Likewise.
19866 (kfreebsd.elf): Likewise.
19867 (kfreebsd.aout): Likewise.
19868 (pc-chainloader.elf): Likewise.
19869 (pc-chainloader.bin): Likewise.
19870 (ntldr.elf): Likewise.
19871 (ntldr.bin): Likewise.
19872 (multiboot2.elf): Likewise.
19873 (kfreebsd.init.x86_64): Likewise.
19874 (kfreebsd.init.i386): Likewise.
19875 (knetbsd.init.i386): Likewise.
19876 (kopenbsd.init.i386): Likewise.
19877 (knetbsd.init.x86_64): Likewise.
19878 (kopenbsd.init.x86_64): Likewise.
19879 (linux-initramfs.i386): Likewise.
19880 (linux-initramfs.x86_64): Likewise.
19881 (kfreebsd-mfsroot.i386.img): Likewise.
19882 (knetbsd.image.i386): Likewise.
19883 (kopenbsd.image.i386): Likewise.
19884 (kopenbsd.image.x86_64): Likewise.
19885 (knetbsd.miniroot-image.i386.img): Likewise.
19886 (kfreebsd-mfsroot.x86_64.img): Likewise.
19887 (knetbsd.image.x86_64): Likewise.
19888 (knetbsd.miniroot-image.x86_64.img): Likewise.
19889 (kfreebsd-mfsroot.i386.gz): Likewise.
19890 (bootcheck-kfreebsd-i386): Likewise.
19891 (kfreebsd-mfsroot.x86_64.gz): Likewise.
19892 (bootcheck-kfreebsd-x86_64): Likewise.
19893 (knetbsd.miniroot-image.i386.gz): Likewise.
19894 (bootcheck-knetbsd-i386): Likewise.
19895 (bootcheck-kopenbsd-i386): Likewise.
19896 (bootcheck-kopenbsd-x86_64): Likewise.
19897 (knetbsd.miniroot-image.x86_64.gz): Likewise.
19898 (bootcheck-knetbsd-x86_64): Likewise.
19899 (bootcheck-linux-i386): Likewise.
19900 (bootcheck-linux-x86_64): Likewise.
19901 (bootcheck-linux16-i386): Likewise.
19902 (bootcheck-linux16-x86_64): Likewise.
19903 (bootcheck-multiboot): Likewise.
19904 (bootcheck-multiboot2): Likewise.
19905 (bootcheck-kfreebsd-aout): Likewise.
19906 (bootcheck-pc-chainloader): Likewise.
19907 (bootcheck-ntldr): Likewise.
19908 (CLEANFILES): Add new targets.
19909 (BOOTCHECKS): New variable.
19910 (.PHONY): Add bootchecks.
19911 (SUCCESSFUL_BOOT_STRING): New variable.
19912 (BOOTCHECK_TIMEOUT): Likewise.
19913 (bootcheck): New target
19914 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
19915 * configure.ac: Correct efiemu excuse.
19916 * docs/grub.texi (Supported kernels): New chapter.
19917 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
19918 include/grub/mm_private.h. Simplify inclusion of
19919 include/grub/boot.h, include/grub/loader.h
19920 and include/grub/msdos_partition.h
19921 (KERNEL_HEADER_FILES) [i386_coreboot]:
19922 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
19923 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
19924 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
19925 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
19926 include/grub/machine/loader.h.
19927 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
19928 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
19929 extra_dist.
19930 (pci.mod): Enable on i386-multiboot.
19931 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
19932 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
19933 i386-qemu.
19934 (relocator.mod): Rewritten.
19935 (aout.mod): Enable on all x86.
19936 (bsd.mod): Likewise.
19937 (ntldr.mod): New module.
19938 (linux.mod): Use loader/i386/linux.c on all x86.
19939 (xnu.mod): Enable on all x86.
19940 (vga_text.mod): disable on EFI and QEMU.
19941 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
19942 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
19943 * grub-core/efiemu/loadcore.c: Likewise.
19944 * grub-core/efiemu/main.c: Likewise.
19945 (grub_efiemu_exit_boot_services): Removed.
19946 (grub_efiemu_finish_boot_services): Likewise.
19947 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
19948 function.
19949 * grub-core/efiemu/i386/nocfgtables.c: New file.
19950 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
19951 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
19952 (grub_efi_finish_boot_services): Moved from here ...
19953 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
19954 Fille finish memory map and related data.
19955 (finish_mmap_buf): New variable.
19956 (grub_efi_uintn_t finish_mmap_size): Likewise.
19957 (grub_efi_uintn_t finish_key): Likewise.
19958 (grub_efi_uintn_t finish_desc_size): Likewise.
19959 (grub_efi_uint32_t finish_desc_version): Likewise.
19960 (grub_efi_is_finished): Likewise.
19961 (grub_efi_get_memory_map): Use saved memory map if EFI is already
19962 finished.
19963 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
19964 (grub_elf64_phdr_iterate): Likewise.
19965 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
19966 (grub_os_area_size): Likewise.
19967 (grub_machine_init): Don't reserve os area.
19968 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
19969 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
19970 * grub-core/kern/i386/loader.S: Removed.
19971 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
19972 (grub_os_area_size): Likewise.
19973 (grub_machine_init): Don't reserve os area.
19974 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
19975 Don't call grub_dl_unload_all.
19976 Don't include loader.S.
19977 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
19978 Declare the memory after _end as available.
19979 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 19980 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 19981 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
19982 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
19983 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
19984 * include/grub/mm_private.h (grub_mm_header): ... here.
19985 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
19986 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
19987 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
19988 (grub_mm_region): ..here. Removed addr. Added pre_size.
19989 All users updated.
19990 * grub-core/kern/mm.c (base): Renamed to ...
19991 (grub_mm_base): ... this. Made global.
19992 (grub_real_malloc): Alloc from end of region.
19993 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
19994 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
19995 * grub-core/kern/powerpc/cache_flush.S: ... here.
19996 * grub-core/lib/efi/relocator.c: New file.
19997 * grub-core/lib/i386/relocator.c: Rewritten.
19998 * grub-core/lib/i386/relocator16.S: New file.
19999 * grub-core/lib/i386/relocator32.S: Likewise.
20000 * grub-core/lib/i386/relocator64.S: Likewise.
20001 * grub-core/lib/i386/relocator_asm.S: Rewritten.
20002 * grub-core/lib/i386/relocator_common.S: New file.
20003 * grub-core/lib/ieee1275/relocator.c: Likewise.
20004 * grub-core/lib/mips/relocator.c: Rewritten.
20005 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
20006 stylistic adjustments.
20007 * grub-core/lib/powerpc/relocator.c: New file.
20008 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
20009 * grub-core/lib/relocator.c: Rewritten.
20010 * grub-core/lib/x86_64/relocator_asm.S: New file.
20011 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
20012 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
20013 (bsd_tag): New struct.
20014 (tags): New variable.
20015 (tags_last): Likewise.
20016 (netbsd_module): New struct.
20017 (netbsd_mods): New variable.
20018 (netbsd_mods_last): Likewise.
20019 (openbsd_opts): New parameter "serial".
20020 (OPENBSD_SERIAL_ARG): New definition.
20021 (netbsd_opts): New parameter "serial".
20022 (NETBSD_SERIAL_ARG): New definition.
20023 (grub_freebsd_add_meta): Reorganised into ...
20024 (grub_bsd_add_meta): ...this. All users updated.
20025 (grub_freebsd_add_mmap): Reorganised into ...
20026 (generate_e820_mmap): ...this...
20027 (grub_bsd_add_mmap): ...and this. All users updated.
20028 (grub_freebsd_list_modules): Use tags.
20029 (grub_netbsd_add_meta_module): New function.
20030 (grub_netbsd_list_modules): Likewise.
20031 (grub_freebsd_boot): Use relocator and finish EFI.
20032 (grub_openbsd_boot): Likewise.
20033 (grub_netbsd_setup_video): New function.
20034 (grub_netbsd_add_modules): Likewise.
20035 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
20036 and finish EFI.
20037 (grub_bsd_unload): Unload tags.
20038 (grub_bsd_load_aout): Use relocator.
20039 (grub_bsd_elf32_size_hook): New function.
20040 (grub_bsd_elf32_hook): Use relocator.
20041 (grub_bsd_elf64_size_hook): New function.
20042 (grub_bsd_elf64_hook): Use relocator.
20043 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
20044 (grub_bsd_load): Zero-out openbsd_ramdisk.
20045 (grub_bsd_load): Use relocator.
20046 (grub_cmd_openbsd): Support serial.
20047 (grub_cmd_netbsd): Support modules.
20048 (grub_cmd_freebsd_module): Use relocator.
20049 (grub_netbsd_module_load): New function.
20050 (grub_cmd_netbsd_module): Likewise.
20051 (grub_cmd_openbsd_ramdisk): Likewise.
20052 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
20053 kopenbsd_ramdisk.
20054 (GRUB_MOD_FINI): Unregister new commands.
20055 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
20056 (grub_freebsd_load_elfmodule_obj): Use relocator.
20057 (grub_freebsd_load_elfmodule): Likewise.
20058 (grub_freebsd_load_elf_meta): Likewise.
20059 (grub_netbsd_load_elf_meta): New function.
20060 (grub_openbsd_find_ramdisk): Likewise.
20061 * grub-core/loader/i386/bsd_helper.S: Removed.
20062 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
20063 * grub-core/loader/i386/bsd_trampoline.S: Removed.
20064 * grub-core/loader/i386/efi/linux.c: Likewise.
20065 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
20066 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
20067 (DEFAULT_VIDEO_MODE): Likewise.
20068 (real_mode_target): New variable.
20069 (prot_mode_target): Likewise.
20070 (initrd_mem_target): Likewise.
20071 (relocator): Likewise.
20072 (efi_mmap_buf): Likewise.
20073 (efi_mmap_size): Likewise.
20074 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
20075 (free_pages): Use relocator.
20076 (allocate_pages): Account for efi_mmap and use relocator. Return error.
20077 (grub_linux_setup_video): Return error.
20078 (grub_linux_trampoline_start): Removed.
20079 (grub_linux_trampoline_end): Likewise.
20080 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
20081 andd video parameters depending on firmware.
20082 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
20083 [GRUB_MACHINE_EFI]: Pass EFI parameters.
20084 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
20085 (grub_cmd_initrd): Use relocator.
20086 * grub-core/loader/i386/linux_trampoline.S: Removed.
20087 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
20088 (elf_sec_entsize): Likewise.
20089 (elf_sec_shstrndx): Likewise.
20090 (elf_sections): Likewise.
20091 (grub_multiboot_load): Use relocator.
20092 (grub_multiboot_get_mbi_size): Account for sections.
20093 (grub_multiboot_make_mbi): Use relocator and support sections.
20094 (grub_multiboot_add_elfsyms): New function.
20095 (grub_multiboot_free_mbi): Free sections.
20096 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
20097 (grub_linux_real_target): Likewise.
20098 (grub_linux_real_chunk): Likewise.
20099 (grub_linux16_prot_size): Likewise.
20100 (grub_linux16_boot): Use relocator.
20101 (grub_linux_unload): Unload relocator.
20102 (grub_cmd_linux): Use relocator.
20103 (grub_cmd_initrd): Likewise.
20104 * grub-core/loader/i386/pc/ntldr.c: New file.
20105 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
20106 Don't try to guess CPU frequency.
20107 (grub_xnu_set_video): Stretch bitmap.
20108 (grub_xnu_boot): Use relocator.
20109 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
20110 (grub_linux_unload): Free relocator.
20111 (grub_linux_load32): Use relocator.
20112 (grub_linux_load64): Likewise.
20113 (grub_cmd_initrd): Likewise.
20114 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
20115 (grub_multiboot_unload): Unload relocator.
20116 (grub_cmd_multiboot): Use relocator.
20117 (grub_cmd_module): Likewise.
20118 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
20119 Use relocator and support sections.
20120 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
20121 (elf_sec_entsize): Likewise.
20122 (elf_sec_shstrndx): Likewise.
20123 (elf_sections): Likewise.
20124 (grub_multiboot_load): Use relocator.
20125 (grub_multiboot_get_mbi_size): Account for sections.
20126 (grub_multiboot_make_mbi): Use relocator and support sections.
20127 (grub_multiboot_add_elfsyms): New function.
20128 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
20129 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
20130 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
20131 Prototype changed. All users updated.
20132 (grub_xnu_align_heap): Simplified.
20133 (grub_xnu_writetree_toheap): Likewise.
20134 (grub_xnu_unload): Unload relocator.
20135 (grub_cmd_xnu_kernel): Use relocator.
20136 (grub_cmd_xnu_kernel64): Likewise.
20137 (grub_xnu_register_memory): Simplified.
20138 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
20139 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
20140 EFI is finished.
20141 (grub_console_checkkey): Likewise.
20142 (grub_console_getkey): Likewise.
20143 (grub_console_getwh): Likewise.
20144 (grub_console_getxy): Likewise.
20145 (grub_console_gotoxy): Likewise.
20146 (grub_console_cls): Likewise.
20147 (grub_console_setcolorstate): Likewise.
20148 (grub_console_setcursor): Likewise.
20149 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
20150 * grub-core/tests/boot/kbsd.init-i386.S: New file.
20151 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
20152 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
20153 * grub-core/tests/boot/kernel-8086.S: Likewise.
20154 * grub-core/tests/boot/kernel-i386.S: Likewise.
20155 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
20156 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
20157 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
20158 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
20159 * grub-core/tests/boot/knetbsd.cfg: Likewise.
20160 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
20161 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
20162 * grub-core/tests/boot/linux.cfg: Likewise.
20163 * grub-core/tests/boot/linux.init-i386.S: Likewise.
20164 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
20165 * grub-core/tests/boot/linux16.cfg: Likewise.
20166 * grub-core/tests/boot/multiboot.cfg: Likewise.
20167 * grub-core/tests/boot/multiboot2.cfg: Likewise.
20168 * grub-core/tests/boot/ntldr.cfg: Likewise.
20169 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
20170 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
20171 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
20172 New definition.
20173 * include/grub/dl.h (grub_dl_unload_all): Removed.
20174 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
20175 (grub_efi_finish_boot_services): Change prototype.
20176 (grub_efi_is_finished): New variable.
20177 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
20178 Changed prototype.
20179 (grub_efiemu_finish_boot_services): Removed.
20180 (grub_machine_efiemu_init_tables): New prototype.
20181 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
20182 (grub_elf64_phdr_iterate): Likewise.
20183 * include/grub/i386/bsd.h: Include relocator.h.
20184 (freebsd_tag_header): New struct.
20185 (grub_openbsd_bios_mmap): Removed.
20186 (grub_unix_real_boot): Removed.
20187 (grub_freebsd_load_elfmodule32): Changed prototype.
20188 (grub_freebsd_load_elfmodule_obj64): Likewise.
20189 (grub_freebsd_load_elf_meta32): Likewise.
20190 (grub_freebsd_load_elf_meta64): Likewise.
20191 (grub_freebsd_add_meta): Removed.
20192 (grub_netbsd_load_elf_meta32): New prototype.
20193 (grub_netbsd_load_elf_meta64): Likewise.
20194 (grub_bsd_add_meta): Likewise.
20195 (grub_openbsd_ramdisk_descriptor): New struct.
20196 (grub_openbsd_find_ramdisk32): New prototype.
20197 (grub_openbsd_find_ramdisk64): Likewise.
20198 * include/grub/i386/coreboot/loader.h: Removed.
20199 * include/grub/i386/efi/loader.h: Likewise.
20200 * include/grub/i386/ieee1275/loader.h: Likewise.
20201 * include/grub/i386/linux.h (linux_kernel_header): Change void *
20202 to grub_uint32_t.
20203 * include/grub/i386/loader.h: Removed.
20204 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
20205 value.
20206 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
20207 (grub_phys_addr_t): New type.
20208 (grub_vtop): New inline function.
20209 (grub_map_memory): Likewise.
20210 (grub_unmap_memory): Likewise.
20211 * include/grub/i386/multiboot/loader.h: Removed.
20212 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
20213 (NETBSD_BTINFO_CONSOLE): New definition.
20214 (NETBSD_BTINFO_SYMTAB): Likewise.
20215 (NETBSD_BTINFO_MODULES): Likewise.
20216 (NETBSD_BTINFO_FRAMEBUF): Likewise.
20217 (grub_netbsd_bootinfo): New struct.
20218 (grub_netbsd_btinfo_common): Use explicit bitsize.
20219 (grub_netbsd_btinfo_mmap_entry): Removed.
20220 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
20221 (grub_netbsd_btinfo_bootdisk): New struct.
20222 (grub_netbsd_btinfo_symtab): Likewise.
20223 (grub_netbsd_btinfo_serial): Likewise.
20224 (grub_netbsd_btinfo_modules): Likewise.
20225 (grub_netbsd_btinfo_framebuf): Likewise.
20226 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
20227 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
20228 Likewise.
20229 (grub_openbsd_bootargs): Use explicit bitsize.
20230 (grub_openbsd_bootarg_console): New struct.
20231 (GRUB_OPENBSD_COM_MAJOR): New definition.
20232 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
20233 * include/grub/i386/pc/efiemu.h: Removed.
20234 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
20235 * include/grub/i386/qemu/loader.h: Removed.
20236 * include/grub/i386/relocator.h: Rewritten.
20237 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
20238 * include/grub/mips/memory.h: New file.
20239 * include/grub/mips/multiboot.h: Rewritten.
20240 * include/grub/mips/relocator.h: Rewritten.
20241 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
20242 (grub_vtop): New function.
20243 (grub_map_memory): Likewise.
20244 (grub_unmap_memory): Likewise.
20245 * include/grub/misc.h (ALIGN_DOWN): New definition.
20246 * include/grub/mm.h (grub_mm_check_real): New proto.
20247 (GRUB_MM_CHECK): New definition.
20248 * include/grub/mm_private.h: New file.
20249 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
20250 (grub_multiboot_get_mbi_size): Removed.
20251 (grub_multiboot_make_mbi): Change prottype.
20252 (grub_multiboot_set_accepts_video): New proto.
20253 (grub_multiboot_add_elfsyms): Likewise.
20254 (grub_multiboot_payload_eip): New variable.
20255 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
20256 New prototype.
20257 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
20258 New definition.
20259 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
20260 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
20261 * include/grub/powerpc/ieee1275/loader.h: Removed.
20262 * include/grub/powerpc/memory.h: New file.
20263 * include/grub/powerpc/relocator.h: Likewise.
20264 * include/grub/relocator.h: Likewise.
20265 * include/grub/relocator_private.h: Likewise.
20266 * include/grub/sparc64/ieee1275/loader.h: Removed.
20267 * include/grub/x86_64/memory.h: New file.
20268 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
20269 (grub_xnu_heap_malloc): Likewise.
20270 (grub_xnu_heap_real_start): Removed.
20271 (grub_xnu_heap_start): Likewise.
20272 (grub_xnu_relocator): New variable.
20273 (grub_xnu_heap_target_start): Likewise.
20274 * tests/util/grub-shell.in: Support non-pc.
20275 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 20276
5303b85d
VS
202772010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20278
20279 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
20280 on malloc error.
20281 (grub_bidi_logical_to_visual): Check that malloc succeded.
20282 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
20283 puts.
20284 (grub_xputs_normal): Likewise.
20285
d768d159
VS
202862010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20287
20288 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
20289 extra_dist.
20290
202912010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20292
20293 * grub-core/efiemu/runtime/efiemu.sh: Removed.
20294
5bf84df4
VS
202952010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20296
20297 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
20298
3626810e
VS
202992010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20300
20301 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
20302 dprintf.
20303
a7363f53
BC
203042010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
20305
20306 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
20307
902f75f6
VS
203082010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20309
20310 * grub-core/normal/term.c (print_more): Fix a memory leak.
20311 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
20312 (grub_xputs_normal): Likewise.
20313
3c707967
VS
203142010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20315
20316 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
20317 the begining of the string
20318
2053cc07
VS
203192010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20320
20321 * grub-core/script/script.c (grub_script_parse): Free parsed on
20322 failure.
20323
46422ebf
VS
203242010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20325
20326 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
20327 on failure.
20328
9e0fa3f6
VS
203292010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20330
20331 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
20332 return.
20333
3393cf16
VS
203342010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20335
20336 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
20337 (scroll_up): Fix a memory leak.
20338
b17540cb
VS
203392010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20340
20341 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
20342 errors.
20343
67140446
VS
203442010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
20345
20346 Handle USB pendrives exposed as floppies.
20347
20348 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
20349 floppy.
20350 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
20351 Check for partitions on all devices.
20352
e35e46fc
VS
203532010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20354
20355 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
20356 (readkey): Likewise.
20357
d24c6190
BC
203582010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
20359
20360 Multiple variable names support to "export" command.
20361
20362 * normal/context.c (grub_cmd_export): "export" command supports
20363 multiple variable names.
20364
04ddcc6a
ST
203652010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
20366
20367 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
20368 --target=drive output to Mach device name.
20369
0c8b61d8
BC
203702010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
20371
20372 New Automake based build system for GRUB.
20373
20374 * ABOUT-NLS: New file.
20375 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
20376 in Makefile.util.def file.
20377 * Makefile.util.def: New file. Autogen build definitions file for
20378 GRUB host utils.
20379 * conf/Makefile.common: New file. Common variables for GRUB host
20380 utils and target modules.
20381 * conf/Makefile.extra-dist: New file. Extra files for make dist.
20382 * docs/Makefile.am: New file. Automake file for docs.
20383 * gentpl.py: New file. Python script to generate Autogen
20384 template.
20385 * grub-core/Makefile.am: New file. GRUB target modules' rules
20386 that doesn't fit in Makefile.core.def file.
20387 * grub-core/Makefile.core.def: New file. Autogen build
20388 definitions file for GRUB target modules.
20389 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
20390 specific setjmp.S file.
20391 * po/Makefile.am: New file.
20392
20393 * .bzrignore: New ignores.
20394 * INSTALL: New requirements, without Ruby.
20395 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
20396 * autogen.sh: Updated to invoke autogen as necessary.
20397 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
20398 and defines for Automake conditionals.
20399 * geninit.sh: Refactoring.
20400
20401 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
20402 necessary.
20403 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
20404 New prototype.
20405
20406 * include/grub/test.h: Fix functional test modules' naming.
20407 * grub-core/tests/example_functional_test.c: Fix test module name.
20408
20409 * util/misc.c: Hosted versions' of grub functions for libgrub.a
20410 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
20411 * util/grub-editenv.c: Likewise.
20412 * util/grub-fstest.c: Likewise.
20413 * util/grub-mkdevicemap.c: Likewise.
20414 * util/grub-mkfont.c: Likewise.
20415 * util/grub-mkimage.c: Likewise.
20416 * util/grub-mkpasswd-pbkdf2.c: Likewise.
20417 * util/grub-probe.c: Likewise.
20418 * util/grub-script-check.c: Likewise.
20419 * util/i386/pc/grub-setup.c: Likewise.
20420 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20421
20422 * tests/util/grub-shell.in: Fix override directory path.
20423 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
20424 * util/import_gcry.py: Create Makefile.gcry.def file instead.
20425
20426 * util/lvm.c: Update #includes.
20427 * util/raid.c: Likewise.
20428 * util/resolve.c: Likewise.
20429 * grub-core/bus/emu/pci.c: Likewise.
20430 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
20431 * grub-core/lib/posix_wrap/string.h: Likewise.
20432 * grub-core/kern/emu/main.c: Likewise.
20433
20434 * grub-core/gensymlist.sh: New file. Script for generating kernel
20435 symbols file.
20436 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
20437
20438 * grub-core/gentrigtables.c: Fix unused variable warnings.
20439
20440 * Makefile.in: Removed.
20441 * conf/any-emu.rmk: Removed.
20442 * conf/common.rmk: Removed.
20443 * conf/i386-coreboot.rmk: Removed.
20444 * conf/i386-efi.rmk: Removed.
20445 * conf/i386-ieee1275.rmk: Removed.
20446 * conf/i386-multiboot.rmk: Removed.
20447 * conf/i386-pc.rmk: Removed.
20448 * conf/i386-qemu.rmk: Removed.
20449 * conf/i386.rmk: Removed.
20450 * conf/mips-yeeloong.rmk: Removed.
20451 * conf/mips.rmk: Removed.
20452 * conf/powerpc-ieee1275.rmk: Removed.
20453 * conf/sparc64-ieee1275.rmk: Removed.
20454 * conf/tests.rmk: Removed.
20455 * conf/x86-efi.rmk: Removed.
20456 * conf/x86_64-efi.rmk: Removed.
20457 * gendistlist.sh: Removed.
20458 * geninitheader.sh: Removed.
20459 * genkernsyms.sh.in: Removed.
20460 * genmk.rb: Removed.
20461 * gensymlist.sh.in: Removed.
20462 * mkinstalldirs: Removed.
20463 * boot: Moved ...
20464 * grub-core/boot: ... to here.
20465 * bus: Moved ...
20466 * grub-core/bus: ... to here.
20467 * commands: Moved ...
20468 * grub-core/commands: ... to here.
20469 * disk: Moved ...
20470 * grub-core/disk: ... to here.
20471 * efiemu: Moved ...
20472 * grub-core/efiemu: ... to here.
20473 * font: Moved ...
20474 * grub-core/font: ... to here.
20475 * fs: Moved ...
20476 * grub-core/fs: ... to here.
20477 * gencmdlist.sh: Moved ...
20478 * grub-core/gencmdlist.sh: ... to here.
20479 * genemuinit.sh: Moved ...
20480 * grub-core/genemuinit.sh: ... to here.
20481 * genemuinitheader.sh: Moved ...
20482 * grub-core/genemuinitheader.sh: ... to here.
20483 * genfslist.sh: Moved ...
20484 * grub-core/genfslist.sh: ... to here.
20485 * genhandlerlist.sh: Moved ...
20486 * grub-core/genhandlerlist.sh: ... to here.
20487 * genmoddep.awk: Moved ...
20488 * grub-core/genmoddep.awk: ... to here.
20489 * genmodsrc.sh: Moved ...
20490 * grub-core/genmodsrc.sh: ... to here.
20491 * genpartmaplist.sh: Moved ...
20492 * grub-core/genpartmaplist.sh: ... to here.
20493 * genparttoollist.sh: Moved ...
20494 * grub-core/genparttoollist.sh: ... to here.
20495 * genterminallist.sh: Moved ...
20496 * grub-core/genterminallist.sh: ... to here.
20497 * gentrigtables.c: Moved ...
20498 * grub-core/gentrigtables.c: ... to here.
20499 * genvideolist.sh: Moved ...
20500 * grub-core/genvideolist.sh: ... to here.
20501 * gettext: Moved ...
20502 * grub-core/gettext: ... to here.
20503 * gfxmenu: Moved ...
20504 * grub-core/gfxmenu: ... to here.
20505 * gnulib: Moved ...
20506 * grub-core/gnulib: ... to here.
20507 * hello: Moved ...
20508 * grub-core/hello: ... to here.
20509 * hook: Moved ...
20510 * grub-core/hook: ... to here.
20511 * io: Moved ...
20512 * grub-core/io: ... to here.
20513 * kern: Moved ...
20514 * grub-core/kern: ... to here.
20515 * lib: Moved ...
20516 * grub-core/lib: ... to here.
20517 * loader: Moved ...
20518 * grub-core/loader: ... to here.
20519 * mmap: Moved ...
20520 * grub-core/mmap: ... to here.
20521 * normal: Moved ...
20522 * grub-core/normal: ... to here.
20523 * partmap: Moved ...
20524 * grub-core/partmap: ... to here.
20525 * parttool: Moved ...
20526 * grub-core/parttool: ... to here.
20527 * script: Moved ...
20528 * grub-core/script: ... to here.
20529 * term: Moved ...
20530 * grub-core/term: ... to here
20531 * tests/example_functional_test.c: Moved ...
20532 * grub-core/tests/example_functional_test.c: ... to here.
20533 * tests/lib/functional_test.c: Moved ...
20534 * grub-core/tests/lib/functional_test.c: ... to here.
20535 * tests/lib/test.c: Moved ...
20536 * grub-core/tests/lib/test.c: ... to here.
20537 * video: Moved ...
20538 * grub-core/video: ... to here.
20539
645586e6
BC
205402010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
20541
20542 Replace --enable-grub-emu-modules with grub-emu-lite.
20543
20544 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
20545 cache.S.
20546
20547 * include/grub/emu/misc.h (grub_emu_init): New prototype.
20548 * kern/emu/full.c: New file. For grub-emu specific initialization.
20549 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
20550 * kern/emu/main.c: Call initialization function grub_emu_init.
20551
20552 * Makefile.in: Include grub-emu-lite in install.
20553 * commands/parttool.c: Use grub_no_autoload to differentiate
20554 between grub-emu and grub-emu-lite.
20555 * include/grub/misc.h: New variable grub_no_autoload.
20556
20557 * conf/any-emu.rmk: New rules for grub-emu-lite.
20558 * configure.ac: Remove --enable-grub-emu-modules.
20559 * genmk.rb: Cleanup unnecessary rules.
20560 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
20561
20562 * normal/main.c: Don't load list files on grub-emu-lite.
20563 * util/misc.c (grub_arch_sync_caches): Removed.
20564
f86a4030
CW
205652010-08-23 Colin Watson <cjwatson@ubuntu.com>
20566
20567 * kern/mips/startup.S (grub_prefix): Update comment to refer to
20568 grub-mkimage rather than grub-mkelfimage.
20569 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
20570
06776944
VS
205712010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
20572
20573 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
20574 a key after CapsLock or NumLock. It's just a qemu bug.
20575
df262419
VS
205762010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
20577
20578 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
20579 needed by libusb wrapper.
20580
b40ea81b
ST
205812010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
20582
20583 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
20584
dee50575
VS
205852010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
20586
20587 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
20588 --nounzip is passed.
20589
fb1d7b79
VS
205902010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
20591
20592 USB hotunplugging and USB serial support.
20593
20594 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
20595 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
20596 (grub_uhci_transfer): Respect timeout and set *actual.
20597 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
20598 non-standard length.
20599 (grub_usb_device_attach): Autoload modules.
20600 (GRUB_MOD_INIT): Set grub_term_poll_usb.
20601 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
20602 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
20603 users updated.
20604 (grub_usb_add_hub): Fill nports and children.
20605 (attach_root_port): Receive hub instead of controller.
20606 All users updated. Fill hub->devices.
20607 (grub_usb_root_hub): Allocate hub->devices.
20608 (detach_device): New function.
20609 (poll_nonroot_hub): Fill children and detach devices.
20610 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
20611 actual arguments. All users updated.
20612 (grub_usb_bulk_read_extended): New function.
20613 * bus/usb/serial/common.c: New file.
20614 * bus/usb/serial/ftdi.c: Likewise.
20615 * bus/usb/serial/pl2303.c: Likewise.
20616 * commands/terminal.c (handle_command): Support wildcard.
20617 * commands/usbtest.c: Output "Unknown" instead of empty string.
20618 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
20619 (usbserial_common_mod_SOURCES): New variable.
20620 (usbserial_common_mod_CFLAGS): Likewise.
20621 (usbserial_common_mod_LDFLAGS): Likewise.
20622 (pkglib_MODULES): Add usbserial_pl2303.mod.
20623 (usbserial_pl2303_mod_SOURCES): New variable.
20624 (usbserial_pl2303_mod_CFLAGS): Likewise.
20625 (usbserial_pl2303_mod_LDFLAGS): Likewise.
20626 (pkglib_MODULES): Add usbserial_ftdi.mod.
20627 (usbserial_ftdi_mod_SOURCES): New variable.
20628 (usbserial_ftdi_mod_CFLAGS): Likewise.
20629 (usbserial_ftdi_mod_LDFLAGS): Likewise.
20630 (pkglib_MODULES): Add serial.mod.
20631 (serial_mod_SOURCES): New variable.
20632 (serial_mod_CFLAGS): Likewise.
20633 (serial_mod_LDFLAGS): Likewise.
20634 * conf/i386-pc.rmk: Likewise.
20635 * conf/mips-yeeloong.rmk: Likewise.
20636 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
20637 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
20638 * disk/usbms.c (first_available_slot): New variable.
20639 (grub_usbms_attach): Don't reuse free slots due to potential cache
20640 problems.
20641 * include/grub/serial.h: Moved to ..
20642 * include/grub/ns8250.h: ...this.
20643 * include/grub/serial.h: New file.
20644 * include/grub/term.h (grub_term_poll_usb): New variable.
20645 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
20646 readkey. All users updated.
20647 (grub_terminfo_output_state): Pass term to put.
20648 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
20649 (grub_usb_controller_dev): Add timeout and actual arguments to
20650 transfer. All users updated.
20651 (grub_usb_interface): New field detach_data.
20652 (grub_usb_device): New fields children and nports.
20653 (grub_usb_ep_type_t): New type.
20654 (grub_usb_get_ep_type): New function.
20655 (grub_usb_bulk_read_extended): Likewise.
20656 * include/grub/usbdesc.h (grub_usb_desc): New type.
20657 * include/grub/usbserial.h: New file.
20658 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
20659 * kern/term.c (grub_term_poll_usb): New variable.
20660 (grub_getkey): Call grub_term_poll_usb if set.
20661 (grub_checkkey): Likewise.
20662 (grub_getkeystatus): Likewise.
20663 * term/serial.c: Moved controller-specific parts to ...
20664 * term/ns8250.c: ... here.
20665 * term/serial.c: Mostly rewritten.
20666 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
20667 according to spec.
20668
21a313de
RM
206692010-08-20 Robert Millan <rmh@gnu.org>
20670
20671 Make kFreeBSD code more generic to support ext2fs as root, ufs as
20672 a separate module and maybe other interesting combinations.
20673
20674 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
20675 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
20676 (kfreebsd_entry): Add generic filesystem module load routine.
20677 Map GRUB `ext2' to kFreeBSD `ext2fs'.
20678
63c734a6
CW
206792010-08-20 Colin Watson <cjwatson@ubuntu.com>
20680
20681 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
20682 "numcenter" (I misunderstood the purpose of this entry).
20683 * docs/grub.texi (sendkey): Likewise.
20684
c4d16542
CW
206852010-08-20 Colin Watson <cjwatson@ubuntu.com>
20686
20687 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
20688 status flag options; simply omitting the option is equivalent and
20689 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
20690 (keysym_table): Rename "num5numlock" to "numlock".
20691 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
20692 can uniformly say that only the last of multiple `sendkey'
20693 invocations has any effect.
20694 * docs/grub.texi (sendkey): New section.
20695
93541d66
CW
206962010-08-19 Colin Watson <cjwatson@ubuntu.com>
20697
20698 * commands/i386/pc/sendkey.c (options): Fix three typos.
20699
b4ece5e1
VS
207002010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
20701
20702 Implement sendkey support.
20703
20704 * commands/i386/pc/sendkey.c: New file.
20705 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
20706 (sendkey_mod_SOURCES): New variable.
20707 (sendkey_mod_CFLAGS): Likewise.
20708 (sendkey_mod_LDFLAGS): Likewise.
20709
51f1f5af
CW
207102010-08-18 Colin Watson <cjwatson@ubuntu.com>
20711
20712 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
20713 fix warnings from Autoconf.
20714
9da94e05
CW
207152010-08-18 Colin Watson <cjwatson@ubuntu.com>
20716
20717 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
20718 to avoid false positives with some assemblers that output things
20719 like "someprefix_func" as part of their output.
20720
729a0f2e
RM
207212010-08-15 Robert Millan <rmh@gnu.org>
20722
20723 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
20724 errors.
20725 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
20726 grub_get_libzfs_handle() errors.
20727
f3710e08
RM
207282010-08-14 Robert Millan <rmh@gnu.org>
20729
20730 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
20731 filesystem is not ZFS.
20732
7a3c13de
BC
207332010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20734
20735 Fix for misspelled color names defaulting to black/black (bug
20736 reported by Doug Nazar)
20737
20738 * include/grub/normal.h (grub_parse_color_name_pair): Add return
20739 status to prototype.
20740 * normal/color.c (grub_parse_color_name_pair): Return failure
20741 status.
20742 (grub_env_write_color_normal): Ignore bad color names.
20743 (grub_env_write_color_highlight): Likewise.
20744 * normal/main.c (GRUB_MOD_INIT): Set default color names.
20745
ab8ba50d
BC
207462010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20747
20748 "shift" command support to GRUB script.
20749
20750 * include/grub/script_sh.h (grub_script_shift): New prototype.
20751 * script/execute.c (grub_script_shift): New function.
20752 * script/main.c (grub_script_init): Register shift command.
20753 (grub_script_fini): Unregister shift command.
20754 * util/grub-script-check.c (grub_script_cmd_shift): New function.
20755
20756 * tests/grub_script_shift.in: New testcase.
20757 * conf/tests.rmk: Rules for new testcase.
20758
4d61999e
BC
207592010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20760
20761 "continue" command support to GRUB script.
20762
20763 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
20764 (grub_script_break): Continue support.
20765 * script/main.c (grub_script_init): Register continue command.
20766 (grub_script_fini): Unregister continue command.
20767
20768 * tests/grub_script_continue.in: New testcase.
20769 * conf/tests.rmk: Rules for new testcase.
20770
4df51e00
BC
207712010-08-12 BVK Chaitanya <bvk@dbook>
20772
20773 "break" command support to GRUB script.
20774
20775 * conf/common.rmk: Rule updates to grub-script-check.
20776 * include/grub/misc.h (grub_min): New function.
20777 * include/grub/script_sh.h (grub_script_init): New prototype.
20778 (grub_script_fini): New prototype.
20779 (grub_script_break): New prototype.
20780 * script/main.c (grub_script_init): New function.
20781 (grub_script_fini): New function.
20782 * script/execute.c (grub_script_break): New function.
20783 * normal/main.c: Calls to grub_script_{init,fini}.
20784 * util/grub-script-check.c (grub_script_break): New function.
20785
20786 * tests/grub_script_break.in: New testcase.
20787 * conf/tests.rmk: Rules for new test case.
20788
f12c8420
BC
207892010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20790
20791 Function parameters support to GRUB script.
20792
20793 * script/yylex.l (VARIABLE): Regular expression update.
20794 * script/function.c (grub_script_function_call): Moved ...
20795 * script/execute.c (grub_script_function_call): ... to here.
20796 (grub_script_execute_arglist_to_argv): Removed.
20797 (grub_script_arglist_to_argv): New function.
20798 * script/argv.c: New file.
20799 (grub_script_argv_free): New function.
20800 (grub_script_argv_next): Likewise.
20801 (grub_script_argv_append): Likewise.
20802 (grub_script_argv_split_append): Likewise.
20803 * include/grub/script_sh.h (grub_script_argv): New struct.
20804 (grub_script_argv_free): New function.
20805 (grub_script_argv_next): Likewise.
20806 (grub_script_argv_append): Likewise.
20807 (grub_script_argv_split_append): Likewise.
20808
20809 * conf/common.rmk (normal.mod): New source script/argv.c.
20810
20811 * tests/grub_script_echo1.in: More tests.
20812 * tests/grub_script_vars1.in: Likewise.
20813 * tests/grub_script_functions.in: New test case.
20814 * conf/tests.rmk: Rules for new testcase.
20815
8022b748
BC
208162010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20817
20818 Remove grub_script_cmdblock struct.
20819
20820 * include/grub/script_sh.h: Remove grub_script_cmdblock.
20821 * script/parser.y: Likewise.
20822 * script/execute.c: Rename cmdblock suffix to cmdlist.
20823 * script/script.c: Likewise.
20824 * util/grub-script-check.c: Likewise.
20825
79a6ba61
YB
208262010-08-11 Yves Blusseau <blusseau@zetam.org>
20827
20828 * .bzrignore: add grub-macho2img
20829
d04b9414
VS
208302010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
20831
20832 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
20833
f947ab49
VS
208342010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
20835
20836 Remove the dump of sm712 initialisation sequence.
20837
20838 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
20839 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
20840 (GRUB_VGA_IO_MISC_WRITE): Likewise.
20841 (GRUB_VGA_CR_*): Added many registers.
20842 (GRUB_VGA_SR_*): Likewise.
20843 (GRUB_VGA_GR_*): Likewise.
20844 (grub_vga_write_arx): New function.
20845 (grub_video_hw_config): New struct.
20846 (grub_vga_set_geometry): New function.
20847 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
20848 GRUB_PCI_CLASS_SUBCLASS_VGA.
20849 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
20850 * video/sm712.c (grub_sm712_write_reg): New function
20851 (grub_sm712_read_reg): Likewise.
20852 (grub_sm712_sr_write): Likewise.
20853 (grub_sm712_gr_write): Likewise.
20854 (grub_sm712_cr_write): Likewise.
20855 (grub_sm712_write_arx): Likewise.
20856 (grub_sm712_cr_shadow_write): Likewise.
20857 (grub_sm712_write_dda_lookup): Likewise.
20858 (grub_video_sm712_setup): Initialise the video rather then
20859 blindly replay the dump.
20860 (main) [TEST]: Add a routine to be able to compile as standalone for
20861 tests.
20862 * video/sm712_init.c (sm712_init): Removed.
20863 (sm712_sr_seq1): New array.
20864 (sm712_sr_seq2): Likewise.
20865
f0206638
VS
208662010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
20867
20868 * include/grub/vga.h: Add missing grub/pci.h include.
20869
2764da3b
YB
208702010-08-10 Yves Blusseau <blusseau@zetam.org>
20871
20872 * util/grub-macho2img.c (main): fix typo
20873
cf0c775e
VS
208742010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
20875
20876 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
20877 (grub_vga_gr_read): Likewise.
20878 (grub_vga_cr_write): Likewise.
20879 (grub_vga_cr_read): Likewise.
20880 (grub_vga_sr_write): Likewise.
20881 (grub_vga_sr_read): Likewise.
20882 (grub_vga_palette_read): Likewise.
20883 (grub_vga_palette_write): Likewise.
20884 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
20885 (grub_sm712_sr_read): New function.
20886 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
20887 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
20888
07f360e9
RM
208892010-08-09 Robert Millan <rmh@gnu.org>
20890
20891 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
20892 out unused variables on non-ZFS build.
20893
346c2072
RM
208942010-08-08 Robert Millan <rmh@gnu.org>
20895
20896 Fix path generation for sub-filesystems in ZFS.
20897
20898 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
20899 missing slash.
20900
71175420
RM
209012010-08-08 Robert Millan <rmh@gnu.org>
20902
20903 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
20904
0d8286f3
RM
209052010-08-08 Robert Millan <rmh@gnu.org>
20906
20907 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
20908 exist, issue a proper error message (rely on `ls' for translated
20909 strings).
20910
55dd2924
RM
209112010-08-08 Robert Millan <rmh@gnu.org>
20912
20913 Fix grub-probe invocation.
20914
20915 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
20916
d3dd9e80
RM
209172010-08-04 Robert Millan <rmh@gnu.org>
20918
20919 * configure.ac: Remove checks for getfsstat() and getmntany().
20920 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
20921 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
20922 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
20923 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
20924 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
20925 function.
20926 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
20927 via find_mount_point_from_dir() and getfsstat() / getmntany().
20928
0de22aa9
RM
209292010-08-04 Robert Millan <rmh@gnu.org>
20930
20931 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
20932 (grub_find_zpool_from_mount_point): Merge into ...
20933 (grub_find_zpool_from_dir): ... this.
20934 * kern/emu/misc.c: Likewise.
20935
20936 * kern/emu/misc.c
20937 (grub_make_system_path_relative_to_its_root): Replace
20938 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
20939 with grub_find_zpool_from_dir().
20940 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
20941
62858144
RM
209422010-08-04 Robert Millan <rmh@gnu.org>
20943
20944 Support OpenSolaris in ZFS device resolution.
20945
20946 * configure.ac: Check for getmntany().
20947 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
20948 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
20949 support.
20950
9dd6fd50
RM
209512010-08-03 Robert Millan <rmh@gnu.org>
20952
20953 Fix grub-emu build.
20954
20955 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
20956 * include/grub/emu/misc.h: ... here.
20957
20958 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
20959 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
20960
20961 * util/misc.c: Remove `<grub/util/libzfs.h>'.
20962 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
20963 (grub_get_libzfs_handle): Move to ...
20964 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
20965 (grub_get_libzfs_handle): ... here.
20966
c9f7ff97
BC
209672010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
20968
20969 * script/execute.c (grub_script_execute_cmdline): Check for NULL
20970 as command name case.
20971
a870a783
CW
209722010-08-02 Colin Watson <cjwatson@ubuntu.com>
20973
20974 * disk/raid.c (insert_array): Select unique numbers for named arrays
20975 as well, for use as keys in the disk cache.
20976
c7db243b
RM
209772010-08-01 Robert Millan <rmh@gnu.org>
20978
20979 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
20980 kFreeBSD device name, except on ZFS where the filesystem label is
20981 used.
20982 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
20983 `/boot/zfs/zpool.cache'.
20984 Set mountfrom kernel variable using ${kfreebsd_device}.
20985
f7abdefb
RM
209862010-08-01 Robert Millan <rmh@gnu.org>
20987
20988 Make it even harder to use uninitialized `libzfs_handle' (and
20989 make the interface a bit simpler).
20990
20991 * include/grub/util/misc.h (grub_util_init_libzfs)
20992 (libzfs_handle): Remove.
20993 (grub_get_libzfs_handle): New prototype.
20994
20995 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
20996 attribute.
20997 (grub_util_init_libzfs): Remove.
20998 (grub_get_libzfs_handle): New function.
20999
21000 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
21001 grub_get_libzfs_handle() to obtain a libzfs handle instead of
21002 accessing `libzfs_handle' directly.
21003
c882acc0
RM
210042010-08-01 Robert Millan <rmh@gnu.org>
21005
21006 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21007 (grub_find_zpool_from_mount_point): New function prototypes.
21008
21009 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
21010 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
21011
21012 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
21013 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
21014 `static' attribute.
21015
21016 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
21017 finding zpool from mount point into ...
21018 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
21019
21020 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
21021 requested path is part of a ZFS pool, use
21022 grub_find_zpool_from_mount_point() to detect its filesystem name,
21023 and generate a path with `/fsname@path' syntax.
21024
8bfe31d8
CW
210252010-08-01 Colin Watson <cjwatson@ubuntu.com>
21026
21027 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
21028 (void) rather than () so that this is a proper prototype.
21029
553df63d
VS
210302010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21031
21032 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
21033
8687cf07
VS
210342010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21035
21036 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
21037 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
21038
ea9be8ea
CW
210392010-08-01 Colin Watson <cjwatson@ubuntu.com>
21040
21041 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
21042
6eea041a
CW
210432010-08-01 Colin Watson <cjwatson@ubuntu.com>
21044
21045 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
21046
2cfb45df
CW
210472010-08-01 Colin Watson <cjwatson@ubuntu.com>
21048
21049 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
21050 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
21051 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
21052 disable gfxpayload.
21053 (Shell-like scripting): Add real content.
21054 (Serial terminal): Suggest `terminal_input serial; terminal_output
21055 serial' rather than putting the two commands on separate lines,
21056 since console input will be inoperative after the first command.
21057 (menuentry): Document --class, --users, and --hotkey options.
21058 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
21059 Vladimir Serbinenko).
21060
7decd202
VS
210612010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
210622010-08-01 Colin Watson <cjwatson@ubuntu.com>
21063
21064 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
21065
c882acc0
RM
210662010-08-01 Robert Millan <rmh@gnu.org>
21067
21068 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21069 (grub_find_zpool_from_mount_point): New function prototypes.
21070
21071 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
21072 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
21073
21074 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
21075 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
21076 `static' attribute.
21077
21078 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
21079 finding zpool from mount point into ...
21080 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
21081
21082 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
21083 requested path is part of a ZFS pool, use
21084 grub_find_zpool_from_mount_point() to detect its filesystem name,
21085 and generate a path with `/fsname@path' syntax.
21086
deb0caa3
RM
210872010-08-01 Robert Millan <rmh@gnu.org>
21088
21089 Prevent accidental use of uninitialized libzfs_handle.
21090
21091 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
21092 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
21093 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
21094
ce04ef47
CW
210952010-08-01 Colin Watson <cjwatson@ubuntu.com>
21096
21097 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
21098 util/grub.d/10_linux.in). Fixes Debian bug #591093.
21099
ebf53056
RM
211002010-08-01 Robert Millan <rmh@gnu.org>
21101
21102 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 21103
3710bb6b
RM
211042010-07-31 Robert Millan <rmh@gnu.org>
21105
21106 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
21107
8072efeb
RM
211082010-07-31 Robert Millan <rmh@gnu.org>
21109
21110 * kern/emu/misc.c: Add missing license header.
21111
3169f4c7
RM
211122010-07-31 Robert Millan <rmh@gnu.org>
21113
21114 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
21115
21116 * include/grub/util/libnvpair.h: Include `<config.h>'.
21117 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
21118 declaring libnvpair prototypes ourselves.
21119 * include/grub/util/libzfs.h: Include `<config.h>'.
21120 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
21121 declaring libzfs prototypes ourselves.
21122
21123 (libzfs_handle): Moved to ...
21124 * include/grub/util/misc.h (libzfs_handle): ... here.
21125 Include `<grub/util/libzfs.h>'.
21126
c9a00aee
RM
211272010-07-30 Robert Millan <rmh@gnu.org>
21128
21129 * include/grub/emu/misc.h: Add missing license header.
21130
a184f9c8
RM
211312010-07-30 Robert Millan <rmh@gnu.org>
21132
21133 Enable `grub-probe -t device' resolution on ZFS.
21134
21135 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
21136 * include/grub/util/libnvpair.h: New file.
21137 * include/grub/util/libzfs.h: New file.
21138
21139 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
21140 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
21141 `<grub/util/libnvpair.h>'.
21142 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
21143
21144 (find_mount_point_from_dir): New static function.
21145 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
21146 function.
21147 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
21148 find_root_device_from_libzfs() before ressorting to find_root_device().
21149
21150 * include/grub/util/misc.h (grub_util_init_libzfs): New function
21151 prototype.
21152 * util/misc.c: Include `<grub/util/libzfs.h>'.
21153 (grub_util_init_libzfs): New function.
21154 [HAVE_LIBZFS] (libzfs_handle): New global variable.
21155 [HAVE_LIBZFS] (fini_libzfs): New static function.
21156 (grub_util_init_libzfs): New function.
21157 * util/grub-probe.c (main): Call grub_util_init_libzfs().
21158
f7790cdd
RM
211592010-07-30 Robert Millan <rmh@gnu.org>
21160
21161 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
21162 (xmalloc, xrealloc, xstrdup, xasprintf): Add
21163 `warn_unused_result' attribute.
21164 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
21165 (grub_xasprintf, grub_xvasprintf): Likewise.
21166 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
21167
0806b63c
RM
211682010-07-29 Robert Millan <rmh@gnu.org>
21169
21170 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
21171 (probe): Handle `PRINT_FS_LABEL'.
21172 (main): Handle `-t fs_label'.
21173
9f841f5c
RM
211742010-07-29 Robert Millan <rmh@gnu.org>
21175
21176 * configure.ac: Remove grub-mkisofs checks.
21177
46371121
VS
211782010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
21179
21180 * util/ieee1275/grub-install.in: Don't use empty grub_device.
21181 Reported by: Lennart Sorensen.
21182
211832010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21184
21185 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
21186 prior to terminal_input/terminal_output separation. It's been over 1.5
21187 years and those versions weren't widely deployed.
21188
a9600892
CW
211892010-07-22 Colin Watson <cjwatson@ubuntu.com>
21190
21191 * disk/raid.c (insert_array): Don't count named arrays when looking
21192 for unused array numbers.
697e053c 21193 Reported and tested by: Michael Guntsche.
a9600892 21194
c03507df
CW
211952010-07-20 Colin Watson <cjwatson@ubuntu.com>
21196
21197 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
21198 implementation of this so that grub-emu links again, with a note
21199 that this should support hotplugging in the future.
21200
b26f1c11
CW
212012010-07-20 Colin Watson <cjwatson@ubuntu.com>
21202
21203 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
21204
efc9d7f1
CW
212052010-07-20 Colin Watson <cjwatson@ubuntu.com>
21206
21207 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
21208 handle on failure.
21209 (grub_loopback_close): Remove empty function.
21210 (grub_loopback_dev): Remove close method.
21211
dd8ff5c9
CW
212122010-07-20 Colin Watson <cjwatson@ubuntu.com>
21213
21214 Disable EFI cursor when the EFI console becomes inactive.
21215
21216 * term/efi/console.c (grub_efi_console_init): New function.
21217 (grub_efi_console_fini): New function.
21218 (grub_console_term_output): Register init and fini methods.
21219
5e3bec67
VS
212202010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21221
21222 * tests/util/grub-shell-tester.in: Remove bashism and declare as
21223 sh script.
21224
afaec079
VS
212252010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21226
21227 * disk/loopback.c (grub_loopback): Replace filename with file.
21228 (delete_loopback): Handle new semantics.
21229 (grub_cmd_loopback): Likewise.
21230 (grub_loopback_iterate): Likewise.
21231 (grub_loopback_close): Likewise.
21232
a6a11f3c
VS
212332010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21234
21235 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
21236 with -p "".
21237 Reported by: Tito Keitel.
21238
64a638b0
VS
212392010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21240
21241 * docs/grub.texi (Naming convention): Document new naming convention.
21242
ab8ba957
VS
212432010-07-20 Vadim Solomin <vadic052@gmail.com>
212442010-07-20 Colin Watson <cjwatson@ubuntu.com>
21245
21246 Generate device.map in something closer to the old ordering.
21247
21248 * util/deviceiter.c (struct device): New declaration.
21249 (compare_file_names): Rename to ...
21250 (compare_devices): ... this. Sort by kernel name in preference to
21251 the stable by-id name, but keep the latter as a fallback comparison.
21252 Update header comment.
21253 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
21254 of `struct device' rather than of plain file names.
21255
a29d6a4b
TF
212562010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
21257
21258 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
21259 on i386.
21260
39d824e8
VS
212612010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21262
21263 * commands/acpi.c (setup_common_tables): Use sizeof instead of
21264 hardcoding size.
21265 (setv1table): Likewise.
21266
f058276b
FZ
212672010-07-20 Colin Watson <cjwatson@ubuntu.com>
21268
21269 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
21270 removing the homehost if present.
21271 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
21272 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
21273 removing the homehost if present.
21274 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
21275 if possible.
21276 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
21277
21278 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
21279 parameter. Set its pointer target to 0.
21280 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
21281 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
21282 `data_offset' value from the superblock for 1.x metadata.
21283 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
21284 data on the device.
21285 (insert_array): Record the start sector of data on the device.
21286 (grub_raid_register): Pass start_sector parameters to
21287 grub_raid_list->detect and insert_array.
21288 * include/grub/raid.h (struct grub_raid_array): Add start_sector
21289 member.
21290 (struct grub_raid): Add start_sector parameter to `detect'.
21291
21292 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
21293 __attribute__ ((packed)), leaving a comment.
21294 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
21295 (grub_mdraid_detect_09): ... here and ...
21296 (grub_mdraid_detect_1x): ... here.
21297
212982010-07-20 Peter Henn <peter.henn@web.de>
21299
21300 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
21301 chunk size and disk size, which are already given as sector counts
21302 as distinct from the 0.90 units. Fetch the correct device number
21303 from the role table instead of using the table index.
21304
213052010-07-20 Felix Zielcke <fzielcke@z-51.de>
21306
21307 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
21308 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
21309 (WriteMostly1): New macro.
21310 Set array->name to NULL for metadata format 0.90. Add support for
21311 metadata 1.x. Fix some comments.
21312 * disk/raid.c (): Add support for name based RAID arrays. Fix a
21313 few comments.
21314 * util/getroot.c (grub_util_get_grub_dev): Add support for
21315 /dev/md/name style devices.
21316
4b761da9
CW
213172010-07-20 Colin Watson <cjwatson@ubuntu.com>
21318
21319 * .bzrignore: Ignore 20_linux_xen.
21320
5771289a
CW
213212010-07-17 Colin Watson <cjwatson@ubuntu.com>
21322
21323 * util/import_unicode.py: Remove unnecessary imports.
21324
5dab68df
AN
213252010-07-17 Aleš Nesrsta <starous@volny.cz>
21326
21327 Hotplugging and USB hub support.
21328
21329 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
21330 (grub_ohci): Likewise.
21331 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
21332 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
21333 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
21334 (GRUB_OHCI_CTRL_EDS): Likewise.
21335 (GRUB_OHCI_BULK_EDS): Likewise.
21336 (GRUB_OHCI_TDS): Likewise.
21337 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
21338 (grub_ohci_ed_phys2virt): New function.
21339 (grub_ohci_virt_to_phys): Likewise.
21340 (grub_ohci_td_phys2virt): Likewise.
21341 (grub_ohci_td_virt2phys): Likewise.
21342 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
21343 attachment.
21344 (grub_ohci_find_ed): New function.
21345 (grub_ohci_alloc_td): Likewise.
21346 (grub_ohci_free_td): Likewise.
21347 (grub_ohci_free_tds): Likewise.
21348 (grub_ohci_transfer): Use previously allocated memory.
21349 (grub_ohci_portstatus): Reset status changed bit.
21350 (grub_ohci_detect_dev): Supply status changed.
21351 (grub_ohci_fini_hw): Free memory.
21352 (grub_ohci_restore_hw): Reallocate memory.
21353 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
21354 Reset status change.
21355 (grub_uhci_detect_dev): Supply status_change.
21356 * bus/usb/usb.c (attach_hooks): New var.
21357 (grub_usb_device_attach): New function.
21358 (grub_usb_register_attach_hook_class): Likewise.
21359 (grub_usb_unregister_attach_hook_class): Likewise.
21360 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
21361 (grub_usb_add_hub): Reset connection changed bit.
21362 (attach_root_port): New function.
21363 (grub_usb_root_hub): Likewise.
21364 (poll_nonroot_hub): Likewise.
21365 (grub_usb_poll_devices): Likewise.
21366 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
21367 * disk/usbms.c (grub_usbms_open): Use device hooks.
21368 (grub_usbms_iterate) :Poll devices.
21369 (grub_usbms_finddevs): Split into ...
21370 (grub_usbms_attach): ... this ...
21371 (grub_usbms_attach): ... and this.
21372 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
21373 in detect_dev.
21374 (grub_usb_interface): New fields attached and detach_hook.
21375 (grub_usb_attach_hook_class): New type.
21376 (grub_usb_attach_desc): New struct.
21377 (grub_usb_register_attach_hook_class): New function.
21378 (grub_usb_unregister_attach_hook_class): Likewise.
21379 (grub_usb_poll_devices): Likewise.
21380 (grub_usb_device_attach): Likewise.
21381 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
21382 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
21383
3222efaf
VS
213842010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21385
21386 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
21387 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
21388 delta determination style. Works with most NetBSD partitions too.
21389
139b714a
VS
213902010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21391
21392 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
21393 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
21394
986aad56
VS
213952010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21396
21397 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
21398
99be513c
AB
213992010-07-14 Anton Blanchard <anton@samba.org>
21400
21401 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
21402 ET_DYN files.
21403
18075f62
GS
214042010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21405
21406 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
21407
8d9a5b15
GS
214082010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21409
21410 * kern/partition.c (grub_partition_check_containment): New function to
21411 check that a partition is physically contained in a parent. Since
21412 offsets are relative (and non-negative), this reduces to checking that
21413 the partition ends before its parent.
21414 (grub_partition_map_probe): Discard out-of-range sub-partitions.
21415 (grub_partition_iterate): Likewise.
21416 * include/grub/partition.h (grub_partition_map): Slightly more detailed
21417 comments.
21418 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
21419 partitions that start before their parent, and add debug printfs.
21420
19563c25
CW
214212010-07-13 Colin Watson <cjwatson@ubuntu.com>
21422
21423 * Makefile.in (.SUFFIX): Spell correctly, as ...
21424 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
21425 bare module name without `.mod', e.g. `test') tried to invoke a
21426 Modula-2 compiler.
21427
1a1f1e67
CW
214282010-07-13 Colin Watson <cjwatson@ubuntu.com>
21429
21430 * README: Point to the Info manual.
21431
811b0dca
JS
214322010-07-13 Jiro SEKIBA <jir@unicus.jp>
21433
21434 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
21435 2nd superblock position from partition size.
21436
e4f4eafc
CW
214372010-07-10 Colin Watson <cjwatson@ubuntu.com>
21438
21439 * Makefile.in (MAINTAINER_CLEANFILES): Remove
21440 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
21441 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
21442 outputs.
21443
4274c30f
VS
214442010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21445
21446 Restructure SCSI .id handling.
21447 Reported and tested by: Aleš Nesrsta.
21448
21449 * disk/ata.c (grub_atapi_close): Removed. All users updated.
21450 (grub_atapi_dev): Changed .name to "ata". New field .id.
21451 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
21452 (grub_usbms_dev): New field .id.
21453 * disk/scsi.c (grub_scsi_iterate): Generate name.
21454 (grub_scsi_open): Parse name.
21455 * include/grub/scsi.h (grub_make_scsi_id): New function.
21456 (grub_scsi_dev): Change iterate and open to number instead of naming
21457 busses. All users updated.
21458 (grub_scsi): Remove name. Add .bus.
21459
5bc24388
VS
214602010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21461
21462 * commands/help.c (grub_cmd_help): Fix a typo.
21463
249975ba
VS
214642010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21465
21466 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
21467 Reported and tested by: Colin Watson.
21468
3eaac1a1
VS
214692010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21470
21471 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
21472 in this context.
21473
becce1b1
VS
214742010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
21475
21476 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
21477
f7bf0918
CW
214782010-07-07 Colin Watson <cjwatson@ubuntu.com>
21479
21480 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
21481 indentation.
21482
0b0f9620
CW
214832010-07-06 Colin Watson <cjwatson@ubuntu.com>
21484
21485 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
21486 and disk/raid6_recover.c.
21487 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21488 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
21489
1e545469
CW
214902010-07-06 Colin Watson <cjwatson@ubuntu.com>
21491
21492 * term/gfxterm.c (repaint_schedulded): Rename to ...
21493 (repaint_scheduled): ... this. Update all callers.
21494 (repaint_was_schedulded): Rename to ...
21495 (repaint_was_scheduled): ... this. Update all callers.
21496
5357687a
CW
214972010-07-06 Colin Watson <cjwatson@ubuntu.com>
21498
21499 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
21500 which we expect to be handled by upper layers.
21501
29d7e783
BC
215022010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
21503
21504 * bus/usb/usbhub.c: #include time.h header.
21505
37582066
CW
215062010-07-06 Colin Watson <cjwatson@ubuntu.com>
21507
21508 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
21509 entry_name also for entries without stat blocks (e.g. ".."); fixes
21510 corruption of the first entry in a directory.
21511
c8c06953
CW
215122010-07-06 Colin Watson <cjwatson@ubuntu.com>
21513
21514 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
21515 after setting gfxterm as the active terminal. GRUB_BACKGROUND
21516 doesn't work otherwise.
21517
e75056f1
CW
215182010-07-05 Colin Watson <cjwatson@ubuntu.com>
21519
21520 * docs/grub.texi (Features): Update list of supported file systems.
21521 (GNU/Linux): Update for GRUB 2.
21522 (Serial terminal): Remove mention of --disable-serial, which was a
21523 GRUB Legacy configure option. Update instructions to use
21524 `terminal_input' and `terminal_output' rather than `terminal'.
21525 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
21526 configuration' and `Installing GRUB using grub-install'.
21527 (Menu entry editor): Update for GRUB 2.
21528 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
21529 Document new -a, -u, and -v options.
21530 (initrd): New section.
21531 (initrd16): New section.
21532 (linux): New section.
21533 (linux16): New section.
21534 (search): The `var' argument to `--set' is optional.
21535 (GRUB only offers a rescue shell): Go into a little more detail on
21536 drive ordering.
21537
5cf69151
CW
215382010-07-05 Colin Watson <cjwatson@ubuntu.com>
21539
21540 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
21541
e3f90044
CW
215422010-07-05 Colin Watson <cjwatson@ubuntu.com>
21543
21544 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
21545 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
21546
38d8f4f3
CW
215472010-07-05 Colin Watson <cjwatson@ubuntu.com>
21548
21549 * util/i386/pc/grub-setup.c (setup): Rename prefix to
21550 install_prefix, in line with install_dos_part and install_bsd_part.
21551 Add new prefix variable, which is copied to install_prefix after
21552 comparing core.img in memory with the one read from disk in the
21553 no-embedding case, and use that rather than overwriting
21554 install_prefix immediately when installing to a partition.
21555 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
21556 Bicakci.
21557
57ebd41e
GS
215582010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
21559
21560 * configure.ac: Avoid == in test command, it's not portable.
21561 * util/grub.d/30_os-prober.in: Likewise.
21562
cb7f64b2
CW
215632010-07-04 Colin Watson <cjwatson@ubuntu.com>
21564
21565 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
21566
6b654bb0
GS
215672010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
21568
21569 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
21570 multiple (top-level) partmaps.
21571
72a2026d
VS
215722010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21573
21574 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 21575 Reported by: Tino Keitel.
72a2026d 21576
df3eb88f
VS
215772010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21578
21579 Bidi and diacritics support.
21580
21581 * Makefile.in (widthspec.bin): New target.
21582 (widthspec.h): Likewise.
21583 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
21584 * autogen.sh: Generate unidata.c.
21585 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
21586 * commands/ls.c (grub_ls_list_devices): Likewise.
21587 (grub_ls_list_files): Likewise.
21588 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
21589 (grub_mini_cmd_lsmod): Likewise.
21590 * commands/read.c: Likewise.
21591 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
21592 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
21593 * lib/arg.c (grub_arg_show_help): Likewise.
21594 * lib/crypto.c (grub_password_get): Likewise.
21595 * normal/auth.c (grub_username_get): Likewise.
21596 * normal/misc.c (grub_normal_print_device_info): Likewise.
21597 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
21598 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
21599 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
21600 (normal/charset.c_DEPENDENCIES): New variable.
21601 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
21602 (pkglib_MODULES): Remove charset.mod.
21603 (charset_mod_SOURCES): Removed.
21604 (charset_mod_CFLAGS): Likewise.
21605 (charset_mod_LDFLAGS): Likewise.
21606 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
21607 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
21608 and term/tparm.c.
21609 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21610 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21611 (kernel_img_HEADERS): Add terminfo.h.
21612 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
21613 Fill ->font. Reverse ascii bitmaps.
21614 (grub_font_get_xheight): New function.
21615 * font/font.c (grub_font_get_string_width): Moved from here ...
21616 * gfxmenu/font.c (grub_font_get_string_width): ... here.
21617 * font/font.c (grub_font_draw_string): Moved from here ...
21618 * gfxmenu/font.c (grub_font_draw_string): ... here.
21619 * font/font.c (grub_font_dup_glyph): New function.
21620 (grub_font_blit_glyph): Likewise.
21621 (grub_font_blit_glyph_mirror): Likewise.
21622 (blit_comb): Likewise.
21623 (grub_font_construct_dry_run): Likewise.
21624 (grub_font_get_constructed_device_width): Likewise.
21625 (grub_font_construct_glyph): Likewise.
21626 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
21627 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
21628 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
21629 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
21630 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
21631 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
21632 (grub_font_get_xheight): New proto.
21633 (grub_font_get_constructed_device_width): Likewise.
21634 (grub_font_construct_glyph): Likewise.
21635 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
21636 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
21637 * include/grub/font.h (grub_font_draw_string): Moved from here ...
21638 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
21639 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
21640 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
21641 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
21642 (grub_console_getcharwidth): Likewise.
21643 * include/grub/misc.h (grub_xputs): New proto.
21644 (grub_puts): Inlined.
21645 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
21646 (grub_normal_get_line_counter): Removed.
21647 (grub_install_newline_hook): Likewise.
21648 (grub_normal_get_char_counter): New proto.
21649 (grub_normal_reset_more): Likewise.
21650 (grub_xputs_normal): Likewise.
21651 * include/grub/powerpc/ieee1275/console.h: Removed.
21652 * include/grub/sparc64/ieee1275/console.h: Likewise.
21653 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
21654 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
21655 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
21656 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
21657 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
21658 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
21659 (grub_term_input): Pass reference to self. All users updated.
21660 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
21661 Pass reference to self. New fields normal_color, highlight_color and
21662 data. All users updated.
21663 (grub_putchar): Removed.
21664 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
21665 (grub_unicode_estimate_width): New function.
21666 (grub_term_getcharwidth): Add defaults.
21667 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
21668 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
21669 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
21670 (grub_cls): Remove EXPORT_FUNC.
21671 (grub_setcolorstate): Inline.
21672 (grub_newline_hook): Removed.
21673 * include/grub/terminfo.h: Rewritten. All users updated.
21674 * include/grub/unicode.h: New file.
21675 * include/grub/video.h (grub_video_signed_rect): New type.
21676 * kern/emu/console.c (grub_console_highlight_color): Removed.
21677 (grub_console_normal_color): Likewise.
21678 (grub_console_standard_color): Made static.
21679 (grub_ncurses_putchar): Remove mapping.
21680 (grub_ncurses_getcharwidth): Removed.
21681 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
21682 (grub_ncurses_setcolor): Removed.
21683 (grub_ncurses_getcolor): Likewise.
21684 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
21685 (grub_console_putchar): ... this.
21686 (grub_console_putchar): Handle argument difference.
21687 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
21688 console_init_early and console_init_lately.
21689 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
21690 * kern/misc.c (grub_puts): Removed.
21691 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
21692 (grub_vsnprintf_real): Remove str = NULL support.
21693 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
21694 * normal/charset.c (grub_utf8_to_ucs4): ... here.
21695 * kern/term.c (grub_putcode): Renamed to ...
21696 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
21697 (grub_putchar): Removed.
21698 (grub_xputs_dumb): New function.
21699 (grub_xputs): New variable.
21700 * lib/charset.c: Move from here ...
21701 * normal/charset.c: ... to here.
21702 (grub_ucs4_to_utf8): New function.
21703 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
21704 (join_types): New variable.
21705 (unpack_join): New function.
21706 (bidi_types): New variable.
21707 (unpack_bidi): New function.
21708 (get_bidi_type): Likewise.
21709 (get_join_type): Likewise.
21710 (is_mirrored): Likewise.
21711 (grub_unicode_get_comb_type): Likewise.
21712 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
21713 (is_type_after): Likewise.
21714 (grub_unicode_aglomerate_comb): Likewise.
21715 (bidi_line_wrap): Likewise.
21716 (grub_bidi_line_logical_to_visual): Likewise.
21717 (grub_bidi_logical_to_visual): Likewise.
21718 (grub_unicode_mirror_code): Likewise.
21719 (grub_unicode_shape_code): Likewise.
21720 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
21721 Don't use grub_putchar.
21722 * normal/main.c (grub_normal_init_page): Use grub_putcode.
21723 (grub_normal_reader_init): Likewise.
21724 (grub_xputs_saved): New variable.
21725 (GRUB_MOD_INIT): Set grub_xputs.
21726 (GRUB_MOD_FINI): Restore grub_xputs.
21727 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
21728 (menu_init): Avoid printing gfxmenu error.
21729 (show_menu): Use grub_normal_get_char_counter.
21730 * normal/menu_entry.c (update_screen): Fix out-of-array.
21731 (complete): Avoid NULL dereferencing.
21732 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
21733 * normal/menu_text.c (print_spaces): Removed.
21734 (grub_print_ucs4): Likewise.
21735 (grub_print_message_indented): Use grub_print_ucs4.
21736 (print_message): Use grub_putcode.
21737 (print_entry): Hanlde diacritics.
21738 * normal/term.c (term_state): New type.
21739 (grub_more_lines): Removed.
21740 (term_states): New variable.
21741 (grub_normal_line_counter): Renamed to ..
21742 (grub_normal_char_counter): ...this. All users updated.
21743 (grub_normal_get_line_counter): Renamed to ...
21744 (grub_normal_get_char_counter): ... this.
21745 (grub_normal_reset_more): New function.
21746 (process_newline): Removed.
21747 (print_more): New function.
21748 (grub_install_newline_hook): Removed.
21749 (map_code): New function.
21750 (grub_puts_terminal): Use grub_print_ucs4.
21751 (putglyph): New function.
21752 (putcode_real): Likewise.
21753 (grub_putcode): Use putcode_real.
21754 (get_maxwidth): New function.
21755 (get_startwidth): Likewise.
21756 (print_ucs4_terminal): Likewise.
21757 (find_term_state): Likewise.
21758 (put_glyphs_terminal): Likewise.
21759 (print_backlog): Likewise.
21760 (print_ucs4_real): Likewise.
21761 (grub_print_ucs4): Likewise.
21762 (grub_xputs_normal): Likewise.
21763 * term/efi/console.c (grub_console_putchar): Output diacritics.
21764 (grub_console_getcharwidth): Removed.
21765 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
21766 * term/gfxterm.c (clear_char): Free chars.
21767 (scroll_up): Avoid leaking memory.
21768 (grub_gfxterm_putchar): Support diacritics.
21769 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
21770 * term/i386/pc/console.c (grub_console_term_output): Declare as
21771 GRUB_TERM_CODE_TYPE_VGA.
21772 * term/i386/pc/vga.c (grub_vga_term): Declare as
21773 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
21774 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
21775 GRUB_TERM_CODE_TYPE_VGA.
21776 * term/i386/vga_common.c (map_char): Removed.
21777 (grub_console_putchar): Likewise.
21778 (grub_console_getcharwidth): Likewise.
21779 * term/ieee1275/ofconsole.c: Simplify using terminfo.
21780 (colors): Reordered to match terminfo.
21781 (grub_ofconsole_normal_color): Removed.
21782 (grub_ofconsole_writeesc): Likewise.
21783 (grub_ofconsole_highlight_color): Likewise.
21784 (grub_ofconsole_getcharwidth): Likewise.
21785 (grub_ofconsole_setcolorstate): Likewise.
21786 (grub_ofconsole_setcolor): Likewise.
21787 (grub_ofconsole_getcolor): Likewise.
21788 (grub_ofconsole_readkey): Renamed to ...
21789 (readkey): ... this. Remove escape sequence handling. Return -1 on no
21790 key.
21791 (grub_ofconsole_checkkey): Removed.
21792 (grub_ofconsole_getkey): Likewise.
21793 (grub_ofconsole_getxy): Likewise.
21794 (grub_ofconsole_gotoxy): Likewise.
21795 (grub_ofconsole_cls): Likewise.
21796 (grub_ofconsole_refresh): Likewise.
21797 (grub_ofconsole_terminfo_input): New struct.
21798 (grub_ofconsole_terminfo_output): Likewise.
21799 (grub_ofconsole_term_input): Use terminfo.
21800 (grub_ofconsole_term_output): Likewise.
21801 (grub_console_init): Split into ...
21802 (grub_console_init_early): ...this and ...
21803 (grub_console_init_lately): ...this. Use terminfo.
21804 (grub_ofconsole_putchar): Renamed to ...
21805 (put): ... this. Remove mapping.
21806 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
21807 * term/serial.c: Simplify using terminfo.
21808 (xpos): Removed.
21809 (ypos): Likewise.
21810 (keep_track): Likewise.
21811 (registered): Likewise.
21812 (input_buf): Likewise.
21813 (npending): Likewise.
21814 (serial_translate_key_sequence): Likewise.
21815 (fill_input_buf): Likewise.
21816 (grub_serial_checkkey): Likewise.
21817 (grub_serial_getkey): Likewise.
21818 (grub_serial_getxy): Likewise.
21819 (grub_serial_gotoxy): Likewise.
21820 (grub_serial_putchar): Likewise.
21821 (grub_serial_cls): Likewise.
21822 (grub_serial_setcolorstate): Likewise.
21823 (grub_serial_setcursor): Likewise.
21824 (serial_hw_init): Use serial_hw_fetch.
21825 (grub_serial_terminfo_input): New variable.
21826 (grub_serial_terminfo_output): Likewise.
21827 (grub_serial_term_input): Use terminfo.
21828 (grub_serial_term_output): Likewise.
21829 * term/terminfo.c (putstr): Use put.
21830 (grub_terminfo_all_free): New function
21831 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
21832 (grub_terminfo_output_register): New function.
21833 (grub_terminfo_output_unregister): Likewise.
21834 (grub_terminfo_getxy): Likewise.
21835 (grub_terminfo_readkey): Likewise.
21836 (grub_terminfo_checkkey): Likewise.
21837 (grub_terminfo_getkey): Likewise.
21838 (grub_terminfo_input_init): Likewise.
21839 (print_terminfo): Likewise.
21840 (grub_cmd_terminfo): Handle encoding.
21841 (grub_terminfo_gotoxy): Track position.
21842 (grub_terminfo_cls): Likewise.
21843 (grub_terminfo_putchar): Likewise.
21844 (grub_terminfo_setcolorstate): Handle colors
21845 (grub_terminfo_cursor_on): This ...
21846 (grub_terminfo_cursor_off): ... and this merged into ...
21847 (grub_terminfo_setcursor): ... this.
21848 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
21849 * unicode/ArabicShaping.txt: New file (imported from Unicode).
21850 * unicode/BidiMirroring.txt: Likewise.
21851 * unicode/UnicodeData.txt: Likewise.
21852 * unicode/COPYING: Likewise.
21853 * util/grub-editenv.c (grub_putchar): Removed.
21854 (grub_xputs_real): New function.
21855 (grub_xputs): New variable.
21856 * util/grub-fstest.c (grub_putchar): Removed.
21857 (grub_xputs_real): New function.
21858 (grub_xputs): New variable.
21859 * util/grub-mkdevicemap.c (grub_putchar): Removed.
21860 (grub_xputs_real): New function.
21861 (grub_xputs): New variable.
21862 * util/grub-probe.c (grub_putchar): Removed.
21863 (grub_xputs_real): New function.
21864 (grub_xputs): New variable.
21865 * util/grub-script-check.c (grub_putchar): Removed.
21866 (grub_xputs_real): New function.
21867 (grub_xputs): New variable.
21868 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
21869 (grub_xputs_real): New function.
21870 (grub_xputs): New variable.
21871 * util/import_unicode.py: New file.
21872 * util/grub-mkfont.c (ft_errmsgs): New array.
21873 (grub_glyph_info): Make bitmap a pointer.
21874 (file_formats): New type WIDTH_SPEC.
21875 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
21876 (options): Add width-spec.
21877 (help): Likewise.
21878 (add_char): Renamed to ...
21879 (add_glyph): ... this.
21880 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
21881 (glyph_replace): New type.
21882 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
21883 (add_char): New function.
21884 (add_subst): Likewise.
21885 (process_cursive): Likewise.
21886 (add_font): Handle GSUB.
21887 (write_font_width_spec): New function.
21888 (main): Sort glyphs.
21889 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
21890 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
21891 * kern/term.c (grub_cls): Moved from here...
21892 * normal/term.c (grub_cls): ... here.
21893
50f0bcda
CW
218942010-07-02 Colin Watson <cjwatson@ubuntu.com>
21895
21896 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
21897 suitable for using within the format argument of printf when
21898 converting grub_size_t.
21899 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
21900 "x" to convert grub_size_t arguments.
21901
40372103
VS
219022010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21903
21904 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
21905 too long captions.
21906 (list_get_minimal_size): Take selection box into account.
21907
942a10c7
VS
219082010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21909
21910 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
21911 NULL font.
21912
2bdb2892
CW
219132010-07-02 Colin Watson <cjwatson@ubuntu.com>
21914
21915 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
21916 devices when iterating over /dev/disk/by-id; they will be handled
21917 later if appropriate, which they aren't always (e.g. LVM).
21918
e03ed6c1
CW
219192010-07-02 Colin Watson <cjwatson@ubuntu.com>
21920
21921 * include/grub/misc.h (grub_reboot): Declare as noreturn.
21922 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
21923 fails.
21924 (grub_halt): Likewise.
21925 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
21926 reset-all fails.
21927 (grub_halt): Don't return, even if all of shut-down, power-off, and
21928 poweroff fail.
21929
47695765
CW
219302010-07-02 Colin Watson <cjwatson@ubuntu.com>
21931
21932 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
21933 arguments, not three.
21934
507736c8
CW
219352010-07-02 Colin Watson <cjwatson@ubuntu.com>
21936
21937 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
21938 * util/grub.d/10_linux.in: Use it to check for LVM, so that
21939 LVM-on-RAID is handled correctly.
21940
e3c8cd37
CW
219412010-07-02 Colin Watson <cjwatson@ubuntu.com>
21942
21943 * docs/grub.texi (Changes from GRUB Legacy): New section.
21944 (Future): Fix typo.
21945
8d4a2fec
CW
219462010-07-02 Colin Watson <cjwatson@ubuntu.com>
21947
21948 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
21949 grub.d/README accidentally ends up executable for one reason or
21950 another. Ignore it.
21951
1c4827be
VS
219522010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21953
21954 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
21955 (gpt_partition_map_iterate): Support non-512B sectors.
21956
d9a0c941
VS
219572010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21958
21959 * kern/efi/init.c (grub_efi_init): Disable watchdog.
21960 Tested by: Seth Goldberg.
21961
48f27e87
VS
219622010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21963
21964 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
21965 Properly align mbi.
21966 Reported by: Seth Goldberg.
21967
b0c4f956
VS
219682010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
21969
21970 * util/grub-mkrescue.in: Avoid module duplication.
21971
105a2e8c
SF
219722010-07-01 Sean Finney <seanius@seanius.net>
21973
21974 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
21975
5944958c
SF
219762010-07-01 Sean Finney <seanius@seanius.net>
21977
21978 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
21979
219802010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
21981
21982 * disk/lvm.c (grub_lvm_checkvalue): New function.
21983 (grub_lvm_check_flag): Likewise.
21984
b79889ba
RM
219852010-07-01 Robert Millan <rmh@gnu.org>
21986
21987 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
21988 Support 'p' as partition separator on kernel of FreeBSD (used
21989 with GPT labels).
21990 (grub_util_biosdisk_get_grub_dev): Likewise.
21991
ec1d04f1
VS
219922010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
21993
21994 Yeeloong firmware port.
21995
21996 * boot/mips/yeeloong/fwstart.S: New file.
21997 * bus/cs5536.c (gpiodump): New const.
21998 (set_io_space): New function.
21999 (set_iod): Likewise.
22000 (set_p2d): Likewise.
22001 (grub_cs5536_init_geode): Likewise.
22002 * commands/mips/yeeloong/lsspd.c: New file.
22003 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
22004 (serial_mod_SOURCES): New variable.
22005 (serial_mod_CFLAGS): Likewise.
22006 (serial_mod_LDFLAGS): Likewise.
22007 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
22008 term/terminfo.c and term/tparm.c.
22009 (pkglib_IMAGES): Add fwstart.img.
22010 (fwstart_img_SOURCES): New variable.
22011 (fwstart_img_CFLAGS): Likewise.
22012 (fwstart_img_ASFLAGS): Likewise.
22013 (fwstart_img_LDFLAGS): Likewise.
22014 (fwstart_img_FORMAT): Likewise.
22015 (pkglib_MODULES): Add lsspd.mod.
22016 (lsspd_mod_SOURCES): New variable.
22017 (lsspd_mod_CFLAGS): Likewise.
22018 (lsspd_mod_LDFLAGS): Likewise.
22019 (pkglib_MODULES): Add halt.mod.
22020 (halt_mod_SOURCES): New variable.
22021 (halt_mod_CFLAGS): Likewise.
22022 (halt_mod_LDFLAGS): Likewise.
22023 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
22024 (serial_mod_SOURCES): Removed.
22025 (serial_mod_CFLAGS): Likewise.
22026 (serial_mod_LDFLAGS): Likewise.
22027 * disk/ata.c (check_device): New function.
22028 (grub_ata_device_initialize): Use check_device.
22029 (grub_ata_iterate): Recheck devices.
22030 (grub_ata_open): Likewise.
22031 (grub_atapi_iterate): Likewise.
22032 (grub_atapi_open): Likewise.
22033 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
22034 (GRUB_ATA_CH1_PORT1): Likewise.
22035 (GRUB_ATA_CH0_PORT2): Likewise.
22036 (GRUB_ATA_CH1_PORT2): Likewise.
22037 * include/grub/mips/loongson.h: New file.
22038 * include/grub/mips/yeeloong/ec.h: Likewise.
22039 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
22040 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
22041 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
22042 * include/grub/misc.h (grub_halt): Declare as noreturn.
22043 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
22044 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
22045 (UART_ENABLE_FIFO_TRIGGER1): New definition.
22046 (UART_ENABLE_DTRRTS): Likewise.
22047 (UART_ENABLE_MODEM): Removed.
22048 (UART_ENABLE_OUT2): New const.
22049 * include/grub/term.h (grub_term_register_input_active): New function.
22050 (grub_term_register_output_active): Likewise.
22051 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
22052 argument.
22053 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
22054 (init_pci): New function.
22055 (grub_machine_init): Execute platform init when firmware. Init serial.
22056 (grub_halt): Implement.
22057 (grub_exit): Likewise.
22058 (grub_reboot): Likewise.
22059 * term/serial.c (serial_hw_init): Update macros.
22060 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
22061 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
22062 (image_targets): New target mipsel-yeeloong-flash.
22063 (generate_image): Support IMAGE_YEELOONG_FLASH.
22064 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
22065 (grub_video_sm712_setup): Init card.
22066 (grub_video_sm712_set_palette): Removed.
22067 * video/sm712_init.c: New file.
22068
ff4a70d2
CW
220692010-06-30 Colin Watson <cjwatson@ubuntu.com>
22070
22071 * Makefile.in (install-local): Temporarily prepend $(builddir) to
22072 PATH when running help2man and then run it on the unadorned
22073 executable names, rather than passing $(builddir)/* paths to
22074 help2man. This avoids the build directory ending up in generated
22075 manual pages.
22076
1246efeb
CW
220772010-06-29 Colin Watson <cjwatson@ubuntu.com>
22078
22079 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
22080 to avoid accidents when debugging with 'sh -x'.
22081 * util/grub-mkrescue.in: Likewise.
22082 * util/grub.d/00_header.in: Likewise.
22083 * util/grub.d/10_hurd.in: Likewise.
22084 * util/grub.d/10_kfreebsd.in: Likewise.
22085 * util/grub.d/10_linux.in: Likewise.
22086 * util/grub.d/10_netbsd.in: Likewise.
22087 * util/grub.d/10_windows.in: Likewise.
22088 * util/grub.d/20_linux_xen.in: Likewise.
22089 * util/grub.d/30_os-prober.in: Likewise.
22090 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22091
1ba9b889
CW
220922010-06-29 Colin Watson <cjwatson@ubuntu.com>
22093
22094 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
22095 last character in the buffer.
22096 Reported by: Vladimir Serbinenko.
22097
dccaf99d
RM
220982010-06-29 Robert Millan <rmh@gnu.org>
22099
22100 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
22101 (Command-line and menu entry commands): Document `badram' command.
22102
d500ed12
RM
221032010-06-28 Robert Millan <rmh@gnu.org>
22104
22105 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
22106 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
22107 command using ${GRUB_BADRAM} as parameter.
22108
20bc84a6
CW
221092010-06-28 Colin Watson <cjwatson@ubuntu.com>
22110
22111 * docs/grub.texi (Device map): New section.
22112 (Themes): New section (stub).
22113 * Makefile.in (docs/grub.info): The info documentation now builds
22114 without errors. Make sure it stays that way.
22115
4045dee1
VS
221162010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
22117
22118 Use normal parser for menu entries.
22119 Reported by: Thomas Frauendorfer
22120
22121 * include/grub/parser.h (grub_parser_execute): Don't export.
22122 * normal/menu.c (grub_menu_execute_entry_real): New function.
22123 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
22124
bca58c7b
CW
221252010-06-28 Colin Watson <cjwatson@ubuntu.com>
22126
22127 * docs/grub.texi (Embedded configuration): New section (replacing
22128 old "Preset Menu" stub).
22129 (Images): New section.
22130 (configfile): Note that any menu entries defined in `file' are shown
22131 immediately.
22132
dec53e63
JT
221332010-06-28 Josh Triplett <josh@joshtriplett.org>
22134
22135 * mmap/i386/pc/mmap_helper.S: Set CF on return.
22136
c06e40f7
CW
221372010-06-28 Colin Watson <cjwatson@ubuntu.com>
22138
22139 * util/grub-install.in: Add --debug-image= option.
22140
cb88052b
CW
221412010-06-28 Colin Watson <cjwatson@ubuntu.com>
22142
22143 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
22144 possible on Linux.
22145
22146 * util/deviceiter.c (check_device): Rename to ...
22147 (check_device_readable_unique): ... this. Update all callers.
22148 Maintain and check a list of which devices (by canonicalized name)
22149 have already been seen.
22150 (clear_seen_devices): New function.
22151 (compare_file_names) [__linux__]: New function.
22152 (grub_util_iterate_devices): Clear the list of seen devices on exit
22153 and (just in case) on entry.
22154 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
22155 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
22156 seen-devices list, superseded by general code in check_device.
22157
bbe34652
CW
221582010-06-28 Colin Watson <cjwatson@ubuntu.com>
22159
22160 * commands/cat.c (options): New variable.
22161 (grub_cmd_cat): Parse options. If the --dos option is given, print
22162 DOS-style "\r\n" line endings as simple newlines (Debian bug
22163 #586358).
22164 (GRUB_MOD_INIT): Use extcmd.
22165 (GRUB_MOD_FINI): Likewise.
22166 * docs/grub.texi (cat): Document --dos.
22167
412e09f3
VS
221682010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
22169
22170 XEN with Linux grub-mkconfig support.
22171
22172 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
22173 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
22174 GRUB_CMDLINE_XEN_DEFAULT.
22175 * util/grub.d/20_linux_xen.in: New file.
22176
53f3ef38 221772010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
22178
22179 Initialise VGA video on qemu ourselves.
22180
22181 * boot/i386/qemu/boot.S: Don't call 0xc000.
22182 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
22183 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
22184 (kernel_img_HEADERS): Add pci.h.
22185 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
22186 * configure.ac: Force unifont on qemu and yeeloong.
22187 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
22188 (grub_vga_palette_write): Use correct register.
22189 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
22190 Call grub_qemu_init_cirrus.
22191 * kern/i386/qemu/init.c: New file.
22192 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
22193
22194 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
22195
c75be4fb
PR
221962010-06-26 Pavel Roskin <proski@gnu.org>
22197
22198 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
22199 13.
22200
d8034603
CW
222012010-06-26 Colin Watson <cjwatson@ubuntu.com>
22202
22203 * docs/grub.texi (Simple configuration): Explain that
22204 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
22205 set to `true' to disable their respective recovery entries, not
22206 merely set.
22207
3fa06487
CW
222082010-06-26 Colin Watson <cjwatson@ubuntu.com>
22209
22210 Make the `source' command slightly faster.
22211
22212 * normal/main.c (grub_normal_execute): Don't re-read list files when
22213 nested.
22214
e9b29642
CW
222152010-06-23 Colin Watson <cjwatson@ubuntu.com>
22216
22217 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
22218 field position and mask size to red fields from mode_info, not
22219 green.
22220 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
22221 Remove redundant tag->common.framebuffer_type assignment.
22222 Reported by: Seth Goldberg.
22223
e726542f
CW
222242010-06-23 Colin Watson <cjwatson@ubuntu.com>
22225
22226 Sync up other versions of the Linux loader with Robert Millan's
22227 change of 2010-01-09, "Make loader output a bit more user-friendly".
22228
22229 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
22230 grub_dprintf().
22231 (grub_cmd_linux): Likewise.
22232 (grub_cmd_initrd): Likewise.
22233 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
22234 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22235
d6e98a17
CW
222362010-06-21 Colin Watson <cjwatson@ubuntu.com>
22237
22238 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
22239 larger than MEMORY_MAP_SIZE.
22240
14d3f08e
BC
222412010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
22242
22243 Fix parallel build.
22244
22245 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
22246 dependency.
22247 * script/parser.y: #include grub_script.tab.h header.
22248
4f9613a3
VS
222492010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22250
22251 Support >3GiB and <16MiB RAM in i386-qemu.
22252
22253 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
22254 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
22255 (grub_lower_mem): Removed.
22256 (grub_upper_mem): Likewise.
22257 (mem_size): Made static.
22258 (above_4g): New variable.
22259 (grub_machine_mmap_init): Detect small mem_size and above_4g.
22260 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
22261 support.
22262
05e51879
VS
222632010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22264
22265 Cirrus 5446 and Bochs video cards support.
22266
22267 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
22268 video_bochs.mod
22269 (video_cirrus_mod_SOURCES): New variable.
22270 (video_cirrus_mod_CFLAGS): Likewise.
22271 (video_cirrus_mod_LDFLAGS): Likewise.
22272 (video_bochs_mod_SOURCES): Likewise.
22273 (video_bochs_mod_CFLAGS): Likewise.
22274 (video_bochs_mod_LDFLAGS): Likewise.
22275 * include/grub/vga.h: New file.
22276 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
22277 (grub_video_fb_set_page_t): New type.
22278 (grub_video_fb_setup): New prototype.
22279 (grub_video_fb_swap_buffers): Likewise.
22280 (grub_video_fb_get_info_and_fini): Likewise.
22281 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
22282 (CRTC_DATA_PORT): Likewise.
22283 (CRTC_CURSOR): Likewise.
22284 (CRTC_CURSOR_ADDR_HIGH): Likewise.
22285 (CRTC_CURSOR_ADDR_LOW): Likewise.
22286 (CRTC_CURSOR_DISABLE): Likewise.
22287 (update_cursor): Use grub_vga_cr_write.
22288 (grub_vga_text_setcursor): Likewise.
22289 * video/bochs.c: New file.
22290 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
22291 (palette): Likewise.
22292 (palette_size): Likewise.
22293 (framebuffer): New variable.
22294 (grub_video_fb_init): Use 'framebuffer'.
22295 (grub_video_fb_fini): Likewise.
22296 (grub_video_fb_get_info): Likewise.
22297 (grub_video_fb_get_palette): Likewise.
22298 (grub_video_fb_set_palette): Likewise.
22299 (grub_video_fb_set_viewport): Likewise.
22300 (grub_video_fb_get_viewport): Likewise.
22301 (grub_video_fb_map_color): Likewise.
22302 (grub_video_fb_map_rgb): Likewise.
22303 (grub_video_fb_map_rgba): Likewise.
22304 (grub_video_fb_unmap_color): Likewise.
22305 (grub_video_fb_unmap_color_int): Likewise.
22306 (grub_video_fb_fill_rect): Likewise.
22307 (grub_video_fb_blit_bitmap): Likewise.
22308 (grub_video_fb_blit_render_target): Likewise.
22309 (grub_video_fb_scroll): Likewise.
22310 (grub_video_fb_create_render_target): Likewise.
22311 (grub_video_fb_doublebuf_blit_init): Likewise.
22312 (grub_video_fb_set_active_render_target): Handle doublebuffering.
22313 (doublebuf_pageflipping_update_screen): New function.
22314 (doublebuf_pageflipping_init): Likewise.
22315 (grub_video_fb_setup): Likewise.
22316 (grub_video_fb_swap_buffers): Likewise.
22317 (grub_video_fb_get_info_and_fini): Likewise.
22318 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
22319 All users updated.
22320 (doublebuf_pageflipping_commit): Restructured into ...
22321 (doublebuf_pageflipping_set_page): ... this.
22322 (doublebuf_pageflipping_update_screen): Removed.
22323 (doublebuf_pageflipping_init): Likewise.
22324 (double_buffering_init): Likewise.
22325 (grub_video_vbe_setup): Use grub_video_fb_setup.
22326 (grub_video_vbe_swap_buffers): Removed.
22327 (grub_video_vbe_set_active_render_target): Likewise.
22328 (grub_video_vbe_get_active_render_target): Likewise.
22329 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
22330 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
22331 grub_video_fb_set_active_render_target and
22332 grub_video_fb_get_active_render_target.
22333 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
22334 (SEQUENCER_DATA_PORT): Likewise.
22335 (MAP_MASK_REGISTER): Likewise.
22336 (CRTC_ADDR_PORT): Likewise.
22337 (CRTC_DATA_PORT): Likewise.
22338 (START_ADDR_HIGH_REGISTER): Likewise.
22339 (START_ADDR_LOW_REGISTER): Likewise.
22340 (GRAPHICS_ADDR_PORT): Likewise.
22341 (GRAPHICS_DATA_PORT): Likewise.
22342 (READ_MAP_REGISTER): Likewise.
22343 (INPUT_STATUS1_REGISTER): Likewise.
22344 (INPUT_STATUS1_VERTR_BIT): Likewise.
22345 (get_map_mask): Use grub_vga_sr_read.
22346 (set_map_mask): Use grub_vga_sr_write.
22347 (set_read_map): Use grub_vga_gr_write.
22348 (set_start_address): Use grub_vga_cr_write.
22349 * video/sm712.c (framebuffer): Remove leftover fields.
22350
4321c64a
CW
223512010-06-20 Colin Watson <cjwatson@ubuntu.com>
22352
22353 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
22354 setting GRUB_VIDEO_BACKEND. Make it available as a user override
22355 instead. Replace the gfxterm backend check with a check that
22356 ${GRUB_PREFIX}/video.lst is non-empty.
22357 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
22358 again.
22359 (load_video): New generated function. Call it before loading
22360 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
22361 * util/grub.d/10_linux.in (linux_entry): Call load_video.
22362 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
22363 * docs/grub.texi (Simple configuration): Document
22364 GRUB_VIDEO_BACKEND.
22365
223662010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22367
22368 Use video functions in linux and xnu loaders.
22369
22370 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
22371 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
22372 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
22373 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
22374 loader/i386/pc/linux.c.
22375 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
22376 (find_line_len): Removed.
22377 (find_framebuf): Likewise.
22378 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
22379 * loader/i386/efi/xnu.c: Removed.
22380 * loader/i386/pc/xnu.c: Moved from here...
22381 * loader/i386/xnu.c: ...here.
22382
22383 Enable priorities in video drivers.
22384
22385 * include/grub/video.h (grub_video_adapter_prio_t): New type.
22386 (grub_video_adapter): New field prio.
22387 (grub_video_register): Respect prio when inserting.
22388 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
22389 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
22390 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
22391 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
22392 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
22393 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
22394 * video/sm712.c (grub_video_sm712_adapter): Likewise.
22395
22396 Fix SDL driver ID.
22397
22398 * include/grub/video.h (grub_video_driver_id_t): New value
22399 GRUB_VIDEO_DRIVER_SDL.
22400 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
22401
7d24e434
CW
224022010-06-17 Colin Watson <cjwatson@ubuntu.com>
22403
22404 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
22405 argument to printf.
22406 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22407
c88a83f6
CW
224082010-06-17 Colin Watson <cjwatson@ubuntu.com>
22409
22410 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
22411 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22412
094dfb69
CW
224132010-06-17 Colin Watson <cjwatson@ubuntu.com>
22414
22415 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
22416 directly, and recommend grub-install instead.
22417 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22418
2164da6b
CW
224192010-06-17 Colin Watson <cjwatson@ubuntu.com>
22420
22421 Fix i386-pc prefix handling with nested partitions (Debian bug
22422 #585068). Note that the case where the core image is booted using
22423 multiboot and relocated from its original location still requires
22424 more work.
22425
22426 * kern/i386/pc/init.c (make_install_device): If the prefix starts
22427 with "(,", fill the boot drive in between those two characters, but
22428 expect that a full partition specification including partition map
22429 names will follow.
22430 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
22431 specified, write a prefix without the drive name but including a
22432 full partition specification.
22433
044e2e60
CW
224342010-06-16 Colin Watson <cjwatson@ubuntu.com>
22435
22436 * util/grub-mkconfig.in: Ignore non-option arguments, for
22437 compatibility with older versions (before 2010-06-12) which did the
22438 same. In particular, this makes it easier to ship an update-grub
22439 wrapper which is compatible with that used with GRUB Legacy (Debian
22440 bug #586056).
22441
5591324f
GS
224422010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22443
22444 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
22445 for manual page generation.
22446
662e24d5
GS
224472010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22448
22449 * po/POTFILES: Remove leftover commands/handler.c.
22450
8d70754e
CW
224512010-06-14 Colin Watson <cjwatson@ubuntu.com>
22452
22453 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
22454 left this script non-functional.
22455
41160e2e
CW
224562010-06-14 Colin Watson <cjwatson@ubuntu.com>
22457
22458 * docs/man/grub-emu.h2m: New file.
22459
b5309cc1
CW
224602010-06-13 Colin Watson <cjwatson@ubuntu.com>
22461
22462 * docs/grub.texi (Commands): Document reduced command set in rescue
22463 mode.
22464 (cpuid): New section.
22465
fcb2d090
GS
224662010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
22467
22468 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
22469 new partition naming style.
22470 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
22471
96e5c556
BC
224722010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
22473
22474 Add "-o grub.iso" like cmdline options support.
22475
22476 * util/grub-install.in: Improve cmdline option parsing.
22477 * util/grub-mkconfig.in: Likewise.
22478 * util/grub-mkrescue.in: Likewise.
22479 * util/grub-reboot.in: Likewise.
22480 * util/grub-set-default.in: Likewise.
22481 * util/i386/efi/grub-install.in: Likewise.
22482 * util/ieee1275/grub-install.in: Likewise.
22483 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22484
c16be99b
CW
224852010-06-12 Colin Watson <cjwatson@ubuntu.com>
22486
22487 * .bzrignore: Ignore 41_custom.
22488
ce08a9fb
TS
224892010-06-12 Thomas Schmitt <scdbackup@gmx.net>
22490
22491 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
22492
7beac90c
CW
224932010-06-12 Colin Watson <cjwatson@ubuntu.com>
22494
22495 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
22496 prototype declarations.
22497
22498 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
22499 generating fs, partmap, and video lists.
22500 * include/grub/fs.h (grub_fs_register): Omit prototype if
22501 GRUB_LST_GENERATOR is defined.
22502 * include/grub/partition.h (grub_partition_map_register): Likewise.
22503 * include/grub/video.h (grub_video_register): Likewise.
22504
1c8f0f8d
JM
225052010-06-12 Javier Martín <lordhabbit@gmail.com>
22506
22507 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
22508
a6085973
TS
225092010-06-12 Thomas Schmitt <scdbackup@gmx.net>
22510
22511 * util/grub-mkrescue.in: Support --xorriso argument.
22512
25c56d29
VS
225132010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22514
22515 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
22516 Suggested by: Thomas Schmitt.
22517
e03e4b24
VS
225182010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22519
22520 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
22521 Suggested by: Thomas Schmitt.
22522
57711df6
VS
225232010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22524
22525 custom.cfg support.
22526
22527 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
22528 * util/grub.d/41_custom.in: New file.
22529
ee62c427
CW
225302010-06-12 Colin Watson <cjwatson@ubuntu.com>
22531
22532 * util/grub-mkrescue.in (make_image): Remove sh module, which has
22533 been merged back into normal.
22534
283af07a
CW
225352010-06-11 Colin Watson <cjwatson@ubuntu.com>
22536
22537 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
22538 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
22539
56a0d956
CW
225402010-06-11 Colin Watson <cjwatson@ubuntu.com>
22541
22542 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
22543 when generating manual pages.
22544 * docs/man/grub-bin2h.h2m: New file.
22545 * docs/man/grub-editenv.h2m: New file.
22546 * docs/man/grub-fstest.h2m: New file.
22547 * docs/man/grub-install.h2m: New file.
22548 * docs/man/grub-macho2img.h2m: New file.
22549 * docs/man/grub-mkconfig.h2m: New file.
22550 * docs/man/grub-mkdevicemap.h2m: New file.
22551 * docs/man/grub-mkfont.h2m: New file.
22552 * docs/man/grub-mkimage.h2m: New file.
22553 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
22554 * docs/man/grub-mkrelpath.h2m: New file.
22555 * docs/man/grub-mkrescue.h2m: New file.
22556 * docs/man/grub-ofpathname.h2m: New file.
22557 * docs/man/grub-pe2elf.h2m: New file.
22558 * docs/man/grub-probe.h2m: New file.
22559 * docs/man/grub-reboot.h2m: New file.
22560 * docs/man/grub-script-check.h2m: New file.
22561 * docs/man/grub-set-default.h2m: New file.
22562 * docs/man/grub-setup.h2m: New file.
22563
3a37e322
VS
225642010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
22565
22566 Use FOR_* macros instead of *_iterate whenever possible.
22567
22568 * commands/handler.c: Removed.
22569 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
22570 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
22571 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22572 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
22573 (grub_probe_SOURCES): Remove kern/parser.c.
22574 (util/grub-script-check.c_DEPENDENCIES): Removed.
22575 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
22576 and grub_script_check_init.c.
22577 (grub_script_check_init.lst): Removed.
22578 (grub_script_check_init.h): Likewise.
22579 (grub_script_check_init.c): Likewise.
22580 (pkglib_MODULES): Remove handler.mod and sh.mod.
22581 (handler_mod_SOURCES): Removed.
22582 (handler_mod_CFLAGS): Likewise.
22583 (handler_mod_LDFLAGS): Likewise.
22584 (normal_mod_SOURCES): Remove normal/handler.c.
22585 Add script/main.c, script/script.c, script/execute.c,
22586 script/function.c, script/lexer.c, grub_script.tab.c
22587 and grub_script.yy.c.
22588 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22589 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22590 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
22591 (grub_setup_SOURCES): Remove kern/parser.c.
22592 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22593 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
22594 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
22595 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22596 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22597 (grub_setup_SOURCES): Remove kern/parser.c.
22598 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22599 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
22600 * include/grub/command.h (grub_command_iterate): Removed.
22601 (FOR_COMMANDS): New macro.
22602 * include/grub/dl.h (grub_dl): New member next.
22603 (grub_dl_iterate): Removed.
22604 (grub_dl_head): New variable declaration.
22605 (FOR_DL_MODULES): New macro.
22606 * include/grub/fs.h: Include list.h.
22607 (grub_fs): Make next first element.
22608 (grub_fs_list): New variable declaration.
22609 (grub_fs_register): Make inline.
22610 (grub_fs_unregister): Likewise.
22611 (grub_fs_iterate): Removed.
22612 (FOR_FILESYSTEMS): New macro.
22613 * include/grub/handler.h: Removed.
22614 * include/grub/list.h (grub_list_hook_t): Removed.
22615 (grub_list_test_t): Likewise.
22616 (grub_list_pop): Likewise.
22617 (grub_list_iterate): Likewise.
22618 (grub_list_insert): Likewise.
22619 (FOR_LIST_ELEMENTS): New macro.
22620 * include/grub/parser.h (grub_parser_class): Removed.
22621 (grub_parser_register): Likewise.
22622 (grub_parser_unregister): Likewise.
22623 (grub_parser_get_current): Likewise.
22624 (grub_parser_set_current): Likewise.
22625 (grub_register_rescue_parser): Likewise.
22626 (grub_rescue_parse_line): New function.
22627 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
22628 * include/grub/script_sh.h (grub_script_function_list): New variable
22629 declaration.
22630 (FOR_SCRIPT_FUNCTIONS): New macro.
22631 (grub_script_function_iterate): Removed.
22632 (grub_normal_parse_line): New prototype.
22633 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
22634 (FOR_DISABLED_TERM_INPUTS): Likewise.
22635 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
22636 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
22637 * include/grub/video.h (grub_video_adapter): Move 'next' to first
22638 element.
22639 (grub_video_register): Inline.
22640 (grub_video_unregister): Likewise.
22641 (grub_video_adapter_list): New variable declaration.
22642 (grub_video_iterate): Removed.
22643 (FOR_VIDEO_ADAPTERS): New macro.
22644 * kern/dl.c (grub_dl_list): Removed. All users updated.
22645 (grub_dl_iterate): Removed.
22646 * kern/fs.c (grub_fs_list): Make global.
22647 (grub_fs_register): Removed.
22648 (grub_fs_unregister): Likewise.
22649 (grub_fs_iterate): Likewise.
22650 * kern/handler.c: Removed.
22651 * kern/list.c (grub_list_pop): Removed.
22652 (grub_list_iterate): Likewise.
22653 (grub_list_insert): Likewise.
22654 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
22655 (grub_prio_list_insert): Don't use grub_list_insert.
22656 * kern/main.c (grub_register_rescue_parser): Don't call
22657 grub_register_rescue_parser.
22658 * kern/parser.c (grub_parser_class): Removed.
22659 (grub_parser_execute): Use grub_rescue_parse_line.
22660 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
22661 (grub_rescue_parser): Removed.
22662 (grub_register_rescue_parser): Likewise.
22663 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
22664 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
22665 (grub_auth_check_authentication): Likewise.
22666 * normal/completion.c (iterate_command): Removed.
22667 (grub_normal_do_completion): Use FOR_COMMANDS.
22668 * normal/handler.c: Removed.
22669 * normal/main.c (read_config_file): Remove parser changing.
22670 (grub_normal_execute): Don't call read_handler_list.
22671 (grub_normal_read_line_real): Statically allocate prompt.
22672 (grub_cmdline_run): Use grub_normal_parse_line.
22673 (GRUB_MOD_FINI): Don't call free_handler_list.
22674 * normal/menu_entry.c (run): Likewise.
22675 * script/function.c (grub_script_function_list): Make global.
22676 (grub_script_function_iterate): Removed.
22677 * script/main.c (grub_normal_parse_line): Make global.
22678 (grub_sh_parser): Removed.
22679 (GRUB_MOD_INIT): Likewise.
22680 (GRUB_MOD_FINI): Likewise.
22681 * tests/lib/functional_test.c (grub_functional_test): Use
22682 FOR_LIST_ELEMENTS.
22683 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
22684 (grub_test_run): Use FOR_LIST_ELEMENTS.
22685 * tests/lib/unit_test.c (main): Likewise.
22686 * util/deviceiter.c (grub_util_iterate_devices): Don't use
22687 grub_list_pop.
22688 * util/grub-fstest.c (grub_term_input_class): Removed.
22689 (grub_term_output_class): Likewise.
22690 * util/grub-probe.c: Likewise.
22691 * util/i386/pc/grub-setup.c: Likewise.
22692 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22693 * util/grub-script-check.c (main): Don't call grub_init_all and
22694 grub_fini_all.
22695 * video/video.c (grub_video_adapter_list): Make global.
22696 (grub_video_register): Removed.
22697 (grub_video_unregister): Likewise.
22698 (grub_video_iterate): Likewise.
22699
6289c3a7
VS
227002010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
22701
22702 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
22703 reported by Henrique Ferreiro.
22704
91460247
RM
227052010-06-09 Robert Millan <rmh@gnu.org>
22706
22707 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
22708 ones, when both are available.
22709
0ea7c4f9
GS
227102010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22711
22712 Make --version uniform and avoid hard-coded program name.
22713
22714 * util/grub-mkimage.c (main): Use `program_name' instead of
22715 hard-coded string.
22716 * util/i386/pc/grub-setup.c (main): Likewise.
22717 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
22718 * util/grub-install.in: Save the basename of $0 in $self, and use the
22719 latter in informational messages. Use the same format for --version
22720 as the binary programs.
22721 * util/grub-mkconfig.in: Likewise.
22722 * util/grub-mkrescue.in: Likewise.
22723 * util/grub-reboot.in: Likewise.
22724 * util/grub-set-default.in: Likewise.
22725 * util/i386/efi/grub-install.in: Likewise.
22726 * util/ieee1275/grub-install.in: Likewise.
22727 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22728
e8a6f3b6
GS
227292010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22730
22731 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
22732 embedding area. Use <= instead of == when checking for non-emptiness.
22733
f4d095d7
GS
227342010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22735
22736 * configure.ac: Add `.' to the directories searched for unifont.
22737
50e532ca
CW
227382010-06-08 Colin Watson <cjwatson@ubuntu.com>
22739
22740 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
22741 grub_script.yy.h.
22742
d39f3dec
CW
227432010-06-08 Colin Watson <cjwatson@ubuntu.com>
22744
22745 * docs/grub.texi (History): Expand to cover GRUB 2.
22746 (Serial terminal): Refer to `terminal_input' and `terminal_output'
22747 commands, not `terminal'.
22748 (serial): Likewise.
22749 (terminal_input): New section.
22750 (terminal_output): New section.
22751 (uppermem): New section (stub).
22752 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
22753
6ef0ddb4
CW
227542010-06-08 Colin Watson <cjwatson@ubuntu.com>
22755
22756 * docs/grub.texi (Security): Menu entries are unrestricted by
22757 default, not restricted to superusers as I had previously thought.
22758 Reword to account for this.
22759
e0f4c438
CW
227602010-06-07 Colin Watson <cjwatson@ubuntu.com>
22761
22762 * kern/emu/misc.c (device_mapper_null_log): New function.
22763 (grub_device_mapper_supported): New function.
22764 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
22765 prototype.
22766 * kern/emu/hostdisk.c (find_partition_start): Check whether
22767 device-mapper is supported before trying to use it.
22768 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
22769
da908200
CW
227702010-06-07 Colin Watson <cjwatson@ubuntu.com>
22771
22772 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
22773 (File name syntax): Likewise.
22774 (help): --all is no longer supported in GRUB 2. Be more precise
22775 about pattern matching.
22776
fb55c3ac
CW
227772010-06-07 Colin Watson <cjwatson@ubuntu.com>
22778
22779 * normal/completion.c (grub_normal_do_completion): When completing
22780 arguments to "set" and the current word contains an equals sign,
22781 skip to after the equals sign before starting completion.
22782
258c2573
CW
227832010-06-07 Colin Watson <cjwatson@ubuntu.com>
22784
22785 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
22786
ee75515e
CW
227872010-06-07 Colin Watson <cjwatson@ubuntu.com>
22788
22789 * docs/grub.texi (Network): New section.
22790 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
22791 `(nd)' as in GRUB Legacy.
22792 (pxe_unload): New section.
22793
a6a700aa
CW
227942010-06-07 Colin Watson <cjwatson@ubuntu.com>
22795
22796 * docs/grub.texi (Troubleshooting): `echo' is not usually available
22797 in the rescue shell, so recommend using `set' instead. Thanks,
22798 Jordan Uggla.
22799
4003dd38
CW
228002010-06-07 Colin Watson <cjwatson@ubuntu.com>
22801
22802 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
22803 (password): New section.
22804 (password_pbkdf2): New section.
22805 (search): New section.
22806 (Security): New section.
22807 (Troubleshooting): New section, currently very incomplete.
22808 (Invoking grub-mkpasswd-pbkdf2): New section.
22809 (Internals): New section, currently very incomplete.
22810
e1cbcc40
CW
228112010-06-07 Colin Watson <cjwatson@ubuntu.com>
22812
22813 * util/grub.d/00_header.in: Add some more quoting (of
22814 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
22815 work again.
22816 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
22817
db8fa1ad
CW
228182010-06-07 Colin Watson <cjwatson@ubuntu.com>
22819
22820 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
22821 to `count', fixing variable shadowing that broke the -c option.
22822
228232010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
22824
22825 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
22826 in case they contain spaces.
22827
f28a9212
CW
228282010-06-04 Colin Watson <cjwatson@ubuntu.com>
22829
22830 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
22831 "part_" to partmap module names, in line with grub-install.
22832 Reported by: Jindřich Makovička (Debian bug #584426).
22833
9cdfe32f
CW
228342010-06-04 Colin Watson <cjwatson@ubuntu.com>
22835
22836 * util/grub-mkimage.c: Make target-related error messages slightly
22837 more helpful; -O talks about "format". Explicitly point to the use
22838 of -O if no target is specified.
22839 Reported by: Didier Raboud (Debian bug #584415).
22840
795b593a
CW
228412010-06-03 Colin Watson <cjwatson@ubuntu.com>
22842
22843 * INSTALL: Document several build requirements for optional features
22844 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
22845
9d9b5833
GS
228462010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
22847
22848 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
22849 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
22850 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
22851
0819fec8
CW
228522010-06-02 Colin Watson <cjwatson@ubuntu.com>
22853
22854 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
22855 Thanks to Jordan Uggla for spotting this.
22856
49396b4f
VS
228572010-06-02 Aleš Nesrsta <starous@volny.cz>
22858
22859 Finally make USB usable.
22860
22861 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
22862 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
22863 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
22864 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
22865 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
22866 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
22867 (GRUB_OHCI_FSMPS): Likewise.
22868 (GRUB_OHCI_PERIODIC_START): Likewise.
22869 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
22870 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
22871 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
22872 (GRUB_OHCI_SET_PORT_RESET): Likewise.
22873 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
22874 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
22875 (grub_ohci_transaction): Likewise.
22876 (grub_ohci_transfer): Improve condition detection algorithms.
22877 Handle toggle property. Program the transactions correctly.
22878 Improve error handling. Various important fixups.
22879 (grub_ohci_portstatus): Put register writes in right order.
22880 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
22881 (grub_uhci_transfer): Don't show "failed" message on success.
22882 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
22883 array.
22884 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
22885 determine its size.
22886 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
22887 before initialization is completed. Use IN direction for empty
22888 transfers. Use last_trans and compute toggle.
22889 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
22890 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
22891 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
22892 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
22893 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
22894 (grub_usb_device): Increase toggle to 256.
22895 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
22896 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
22897 GRUB_USBMS_SUBCLASS_SFF8070.
22898 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
22899 (grub_scsi_inquiry): New member page and alloc_length.
22900 (grub_scsi_request_sense): New structure.
22901 (grub_scsi_request_sense_data): Likewise.
22902 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
22903 control.
22904 * disk/scsi.c (grub_scsi_request_sense): New function.
22905 (grub_scsi_test_unit_ready): Likewise.
22906 (grub_scsi_inquiry): Fill new fields.
22907 (grub_scsi_read_capacity): Likewise.
22908 (grub_scsi_read10): Add request sense at the end.
22909 (grub_scsi_read12): Likewise.
22910 (grub_scsi_write10): Likewise.
22911 (grub_scsi_write12): Likewise.
22912 (grub_scsi_open): Add Test Unit Ready.
22913 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
22914 Support additional subclasses. Con't clear halt yet. Activate the
22915 proper config. Calculate LUNs correctly.
22916 (grub_usbms_transfer): Various important fixups.
22917
229182010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22919
22920 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
22921 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
22922 (grub_ohci_fini_hw): New function.
22923 (grub_ohci_restore_hw): Likewise.
22924 (GRUB_MOD_INIT(ohci)): Register preboot hook.
22925 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
22926 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
22927
229282010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22929
22930 Dedicated DMA allocations.
22931
22932 * bus/pci.c (grub_memalign_dma32): New function
22933 (grub_dma_free): Likewise.
22934 (grub_dma_get_virt): Likewise.
22935 (grub_dma_get_phys): Likewise.
22936 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
22937 (grub_ohci_pci_iter): Use dma32_alloc.
22938 (grub_ohci_transfer): Likewise.
22939 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
22940 (grub_usb_bulk_readwrite): Likewise.
22941 * include/grub/pci.h: Add declarations.
22942
229432010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22944
22945 CS5536 support.
22946
22947 * bus/cs5536.c: New file.
22948 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
22949 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
22950 (cs5536_mod_SOURCES): New variable.
22951 (cs5536_mod_CFLAGS): Likewise.
22952 (cs5536_mod_LDFLAGS): Likewise.
22953 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
22954 machine/pci.h.
22955 (kernel_img_SOURCES): Add bus/cs5536.c.
22956 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
22957 usb_keyboard.mod.
22958 (usb_mod_SOURCES): New variable.
22959 (usb_mod_CFLAGS): New variable.
22960 (usb_mod_LDFLAGS): New variable.
22961 (usbtest_mod_SOURCES): New variable.
22962 (usbtest_mod_CFLAGS): New variable.
22963 (usbtest_mod_LDFLAGS): New variable.
22964 (ohci_mod_SOURCES): New variable.
22965 (ohci_mod_CFLAGS): New variable.
22966 (ohci_mod_LDFLAGS): New variable.
22967 (usbms_mod_SOURCES): New variable.
22968 (usbms_mod_CFLAGS): New variable.
22969 (usbms_mod_LDFLAGS): New variable.
22970 (usb_keyboard_mod_SOURCES): New variable.
22971 (usb_keyboard_mod_CFLAGS): New variable.
22972 (usb_keyboard_mod_LDFLAGS): New variable.
22973 * include/grub/smbus.h: New file.
22974 * include/grub/cs5536.h: New file.
22975
0b35b2a9
CW
229762010-06-02 Colin Watson <cjwatson@ubuntu.com>
22977
22978 * util/grub.d/00_header.in: Add safety check to make sure that
22979 ${locale_dir} exists before trying to probe it.
22980
ca0afd5b
CW
229812010-06-02 Colin Watson <cjwatson@ubuntu.com>
22982
22983 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
22984 per the GNU Coding Standards; this is now too obscure to be worth
22985 documenting.
22986 (QNX): Likewise.
22987 (chainloader): Remove cross-reference to `SCO UnixWare'.
22988
1c41aa78
CW
229892010-06-02 Colin Watson <cjwatson@ubuntu.com>
22990
22991 * docs/grub.texi (Chain-loading): New section.
22992 (DOS/Windows): New section, borrowed from GRUB Legacy with details
22993 adjusted for GRUB 2.
22994 (SCO UnixWare): Likewise.
22995 (QNX): Likewise.
22996 (chainloader): Add reference to `Block list syntax'.
22997 (drivemap): New section.
22998 (parttool): New section.
22999
bb8ea0f5
CW
230002010-06-02 Colin Watson <cjwatson@ubuntu.com>
23001
23002 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
23003 the grub shell'.
23004 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
23005 (Installing GRUB using grub-install): Remove reference to the grub
23006 shell; mention `grub-mkimage' and `grub-setup' instead.
23007 (Invoking grub-install): Likewise.
23008 (Interface): Add reference to `Menu entry editor'.
23009 (serial): Remove `--device' option.
23010
288dd6ed
CW
230112010-06-02 Colin Watson <cjwatson@ubuntu.com>
23012
23013 * docs/grub.texi (Configuration): New section, documenting
23014 configuration file generation using grub-mkconfig. I've left a slot
23015 for documenting the full shell scripting format but have not yet
23016 started on writing that up.
23017 (Invoking grub-mkconfig): New section.
23018
34c9f0e9
CW
230192010-06-02 Colin Watson <cjwatson@ubuntu.com>
23020
23021 * docs/grub.texi (direntry): Remove grub-terminfo reference.
23022 (GNU GRUB manual): Likewise.
23023 (General commands): Update description of `terminfo' for GRUB 2.
23024
9121567e
CW
230252010-06-02 Colin Watson <cjwatson@ubuntu.com>
23026
23027 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
23028 (GRUB_MOD_INIT): Fix capitalisation.
23029 * docs/grub.texi (Command-line and menu entry commands): Document
23030 gettext and gptsync commands.
23031
ab631611
CW
230322010-06-02 Colin Watson <cjwatson@ubuntu.com>
23033
23034 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
23035 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
23036
bde4a9ac
CW
230372010-06-01 Colin Watson <cjwatson@ubuntu.com>
23038
23039 Add btrfs probing support, currently only in the single-device case.
23040
23041 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
23042 function.
23043 (grub_guess_root_device): Call find_root_device_from_mountinfo
23044 before looking in /dev.
23045
b1d17e10
VS
230462010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23047
23048 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
23049 GRUB_DISK_SIZE_UNKNOWN.
23050 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
23051
dfbfe004
JS
230522010-05-31 Jiro SEKIBA <jir@unicus.jp>
23053
23054 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
23055 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
23056 corrupted or not synced properly.
23057
c2ffc8e9
VS
230582010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23059
23060 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
23061 Reported by: Seth Goldberg.
23062
56293166
VS
230632010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23064
23065 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
23066 addition of dest.
23067 Reported by: Seth Goldberg.
23068
7620e7de
VS
230692010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23070
23071 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
23072 Reported by: Seth Goldberg.
23073
c837af3f
VS
230742010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23075
23076 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
23077 64-bit address as signed on MIPS.
23078
c7c75cf4
CW
230792010-05-28 Colin Watson <cjwatson@ubuntu.com>
23080
23081 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
23082 to the empty string.
23083
fa4b8490
BC
230842010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
23085
23086 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
23087
23088 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
23089 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
23090 * kern/misc.c (__enable_execute_stack): Disable on
23091 GRUB_MACHINE_EMU.
23092
a33075b9
CW
230932010-05-28 Colin Watson <cjwatson@ubuntu.com>
23094
23095 Make grub-probe work with symbolic links under /dev/mapper as well
23096 as with real block devices. The Linux world seems to be (at best)
23097 in transition here, and GRUB shouldn't get caught in the middle.
23098
23099 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
23100 /dev/mapper.
23101
d8708134
CW
231022010-05-27 Colin Watson <cjwatson@ubuntu.com>
23103
23104 * util/grub-script-check.c (main): Ensure defined behaviour on empty
23105 input files (in which case exit zero).
23106
db2102a0
CW
231072010-05-27 Colin Watson <cjwatson@ubuntu.com>
23108
23109 * kern/emu/misc.c (canonicalize_file_name): realpath can still
23110 return NULL for various reasons even if it has a maximum-length
23111 buffer: for example, there might be a symlink loop, or the path
23112 might exceed PATH_MAX. If this happens, return NULL.
23113
5fdba519
RM
231142010-05-27 Robert Millan <rmh@gnu.org>
23115
23116 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
23117 partmap module to handle cross-partmap setups.
23118 Reported by Orestes Mas. Gràcies!
23119
d1d368e4
CW
231202010-05-27 Colin Watson <cjwatson@ubuntu.com>
23121
23122 * util/grub-mkrescue.in: Initialise override_dir rather than
23123 assuming that it's unset or empty in the environment.
23124
95ac3c73
GS
231252010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
23126
23127 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
23128 variable index into p_index to suppress a warning with -Wshadow.
23129
7d8c0213
BC
231302010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
23131
23132 * INSTALL: Added flex >= 2.5.35 requirement.
23133
db4d5813
VS
231342010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23135
23136 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
23137
f24f4300
VS
231382010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23139
23140 cmostest support.
23141
23142 * commands/i386/cmostest.c: New file.
23143 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
23144 (cmostest_mod_SOURCES): New variable.
23145 (cmostest_mod_CFLAGS): Likewise.
23146 (cmostest_mod_LDFLAGS): Likewise.
23147 * conf/i386-pc.rmk: Likewise.
23148 * docs/grub.texi (Vendor power-on keys): New section.
23149 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
23150 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
23151 and GRUB_BUTTON_CMOS_ADDRESS.
23152 * util/grub.d/00_header.in: Handle powering-on by separate button.
23153
ad603f61
VS
231542010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23155
23156 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
23157 Removed drawing_scrollbar argument. All users updated
23158 Fixes #29792.
23159 Reported by Jo Shields
23160
3ecb080a
VS
231612010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23162
23163 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
23164 buffer since gfxterm handles double repaint.
23165
5f2316c1
VS
231662010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23167
23168 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
23169 * term/gfxterm.c (real_scroll): Likewise.
23170
9a25f885
VS
231712010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23172
23173 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
23174 before calling BIOS.
23175
39fbb79a
VS
231762010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23177
23178 * include/grub/i18n.h: Always enable grub_gettext.
23179
228cfa97
VS
231802010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23181
23182 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
23183 partition naming style.
23184
21717c8f
CW
231852010-05-21 Colin Watson <cjwatson@ubuntu.com>
23186
23187 * util/grub-mkconfig.in: Fix handling of -o so that it works when
23188 not the first option.
23189
c0f48e65
CW
231902010-05-20 Colin Watson <cjwatson@ubuntu.com>
23191
23192 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
23193
96779aec
CW
231942010-05-20 Colin Watson <cjwatson@ubuntu.com>
23195
23196 * util/misc.c: Move inclusion of <limits.h> to ...
23197 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
23198
fa9d256e
GS
231992010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
23200
23201 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
23202 Fix merge error in NetBSD code.
23203 (find_partition_start) [__NetBSD__]: Likewise.
23204
123b7a85
BC
232052010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
23206
23207 Fix grub-mkrescue usage unit testing.
23208
23209 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
23210
74276c0d
CF
232112010-05-18 Christian Franke <franke@computer.org>
23212
23213 * util/grub.d/10_windows.in: Use path names instead of
23214 drive letters to prevent warning from Cygwin 1.7.
23215 Add drivemap command to menuentry if needed.
23216
c4f7b523
ST
232172010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
23218
23219 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
23220 gnumach and gnumach.gz.
23221
95b97950
VS
232222010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23223
23224 * include/grub/i18n.h (gettext): Inline instead of using #define.
23225 (grub_gettext): Likewise.
23226 (_): Likewise.
23227
01b8d2d7
VS
232282010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23229
23230 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
23231 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
23232 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
23233 (main): Add a slash after pkglibdirroot.
23234
654e1d1e
VS
232352010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23236
23237 * util/grub-install.in: Add missing "in" keyword.
23238
26966aeb
VS
232392010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23240
23241 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
23242 Reported by: Seth Goldberg.
23243
75006747
VS
232442010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23245
23246 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
23247
74cbf5bd
CW
232482010-05-18 Colin Watson <cjwatson@ubuntu.com>
23249
23250 * configure.ac: Check for Linux device-mapper support.
23251
23252 * util/hostdisk.c (device_is_mapped): New function.
23253 (find_partition_start): New function, partly broken out from
23254 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
23255 device-mapper support added.
23256 (linux_find_partition): Use find_partition_start.
23257 (convert_system_partition_to_system_disk): Add `st' argument.
23258 Support Linux /dev/mapper/* devices if device-mapper support is
23259 available; only DM-RAID devices are understood at present.
23260 (find_system_device): Add `st' argument. Pass it to
23261 convert_system_partition_to_system_disk.
23262 (grub_util_biosdisk_get_grub_dev): Pass stat result to
23263 find_system_device and convert_system_partition_to_system_disk. Use
23264 find_partition_start.
23265
23266 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
23267 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
23268 * util/deviceiter.c [__linux__]: Define MINOR.
23269 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
23270 * util/mkdevicemap.c (grub_putchar): New function.
23271 (grub_getkey): New function.
23272 (grub_refresh): New function.
23273 (main): Set debug=all if -v -v is used.
23274
355b51e9
CW
232752010-05-18 Colin Watson <cjwatson@ubuntu.com>
23276
23277 Fix build with non-GNU libcs.
23278
23279 * util/misc.c (canonicalize_file_name): Move to ...
23280 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
23281 grub_make_system_path_relative_to_its_root.
23282
7fb5c25f
CW
232832010-05-18 Colin Watson <cjwatson@ubuntu.com>
23284
23285 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
23286 we handle finding grub-mkimage. Default to finding grub-mkimage in
23287 ${bindir} with program_transform_name applied, and provide a
23288 --grub-mkimage option to override this.
23289
1d3293d6
VS
232902010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23291
23292 Remove grub-mkisofs.
23293
23294 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
23295 (grub_mkisofs_SOURCES): Removed.
23296 (grub_mkisofs_CFLAGS): Removed.
23297 * util/mkisofs/defaults.h: Removed.
23298 * util/mkisofs/eltorito.c: Likewise.
23299 * util/mkisofs/exclude.h: Likewise.
23300 * util/mkisofs/hash.c: Likewise.
23301 * util/mkisofs/include/: Likewise.
23302 * util/mkisofs/include/fctldefs.h: Likewise.
23303 * util/mkisofs/include/mconfig.h: Likewise.
23304 * util/mkisofs/include/prototyp.h: Likewise.
23305 * util/mkisofs/include/statdefs.h: Likewise.
23306 * util/mkisofs/iso9660.h: Likewise.
23307 * util/mkisofs/joliet.c: Likewise.
23308 * util/mkisofs/match.c: Likewise.
23309 * util/mkisofs/match.h: Likewise.
23310 * util/mkisofs/mkisofs.c: Likewise.
23311 * util/mkisofs/mkisofs.h: Likewise.
23312 * util/mkisofs/msdos_partition.h: Likewise.
23313 * util/mkisofs/multi.c: Likewise.
23314 * util/mkisofs/name.c: Likewise.
23315 * util/mkisofs/rock.c: Likewise.
23316 * util/mkisofs/tree.c: Likewise.
23317 * util/mkisofs/write.c: Likewise.
23318
5dde9afe
VS
233192010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23320
23321 Unify grub-mkimage accross platforms.
23322
23323 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
23324 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
23325 (grub_mkelfimage_SOURCES): Removed.
23326 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
23327 (util/grub-mkimage.c_DEPENDENCIES): .. this.
23328 (bin_UTILITIES): Add grub-mkimage.
23329 (grub_mkimage_SOURCES): New variable.
23330 (kernel_img_HEADERS): Remove machine/kernel.h.
23331 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
23332 (pkglib_PROGRAMS): Add kernel.img.
23333 (kernel_img_HEADERS): Add machine/kernel.h.
23334 (kernel_img_FORMAT): Removed.
23335 (bin_UTILITIES): Remove grub-mkimage.
23336 (grub_mkimage_SOURCES): Removed.
23337 (grub_mkimage_CFLAGS): Likewise.
23338 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23339 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
23340 (pkglib_PROGRAMS): Add kernel.img.
23341 (bin_UTILITIES): Remove grub-mkimage.
23342 (grub_mkimage_SOURCES): Removed.
23343 (grub_mkimage_CFLAGS): Likewise.
23344 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23345 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
23346 (pkglib_PROGRAMS): Add kernel.img.
23347 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
23348 (pkglib_PROGRAMS): Add kernel.img.
23349 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
23350 (grub_mkimage_SOURCES): Removed.
23351 (grub_mkimage_CFLAGS): Likewise.
23352 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23353 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
23354 (pkglib_PROGRAMS): Add kernel.img.
23355 (bin_UTILITIES): Remove grub-mkimage.
23356 (grub_mkimage_SOURCES): Removed.
23357 (grub_mkimage_CFLAGS): Likewise.
23358 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23359 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
23360 (grub_mkimage_SOURCES): Removed.
23361 (grub_mkimage_CFLAGS): Likewise.
23362 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23363 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
23364 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
23365 (grub_pe32_optional_header): ... this.
23366 (grub_pe64_optional_header): ... and this. All users updated.
23367 (GRUB_PE32_PE32_MAGIC): Split into ..
23368 (GRUB_PE32_PE32_MAGIC): .. this.
23369 (GRUB_PE32_PE64_MAGIC): .. and this.
23370 (GRUB_PE32_SIGNATURE_SIZE): New definition.
23371 * include/grub/elf.h (PT_GNU_STACK): New definition.
23372 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
23373 * include/grub/i386/efi/kernel.h: Likewise.
23374 * include/grub/i386/kernel.h: Likewise.
23375 * include/grub/i386/pc/kernel.h: Likewise.
23376 * include/grub/i386/qemu/boot.h: Likewise.
23377 * include/grub/mips/kernel.h: Likewise.
23378 * include/grub/mips/qemu-mips/kernel.h: Likewise.
23379 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
23380 * include/grub/powerpc/kernel.h: Likewise.
23381 * include/grub/sparc64/ieee1275/boot.h: Likewise.
23382 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
23383 * include/grub/sparc64/kernel.h: Likewise.
23384 * include/grub/x86_64/efi/kernel.h: Likewise.
23385 * include/grub/x86_64/kernel.h: Likewise.
23386 * include/grub/offsets.h: New file.
23387 * include/grub/kernel.h (grub_module_info): Split into ...
23388 (grub_module_info32): ... this.
23389 (grub_module_info64): ... and this.
23390 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
23391 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
23392 (grub_boot_blocklist): Moved from here ...
23393 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
23394 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
23395 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
23396 * include/grub/types.h (grub_target_to_host16): Removed.
23397 (grub_target_to_host32): Likewise.
23398 (grub_target_to_host64): Likewise.
23399 (grub_host_to_target16): Likewise.
23400 (grub_host_to_target32): Likewise.
23401 (grub_host_to_target64): Likewise.
23402 (grub_host_to_target_addr): Likewise.
23403
23404 Support grub-mkrescue for efi, coreboot and qemu.
23405
23406 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
23407 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
23408 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
23409 * util/grub-mkrawimage.c: Moved from here ...
23410 * util/grub-mkimage.c: ... here. All users updated.
23411 (ALIGN_ADDR): Use image_target.
23412 (TARGET_NO_FIELD): New const.
23413 (image_target_desc): New type.
23414 (image_targets): New array.
23415 (grub_target_to_host64): Use image_target.
23416 (grub_target_to_host32): Likewise.
23417 (grub_target_to_host16): Likewise.
23418 (grub_host_to_target64): Likewise.
23419 (grub_host_to_target32): Likewise.
23420 (grub_host_to_target16): Likewise.
23421 (grub_host_to_target_addr): Likewise.
23422 (generate_image): Handle multiimage.
23423 (main): Require -O parameter. All users updated.
23424 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
23425 util/efi/grub-mkimage.c
23426 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
23427 New option --rom-directory.
23428 Use xorriso.
23429 * util/i386/efi/grub-mkimage.c: Removed.
23430 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
23431 (grub_target_to_host32): Likewise.
23432 (grub_target_to_host64): Likewise.
23433 (grub_host_to_target16): Likewise.
23434 (grub_host_to_target32): Likewise.
23435 (grub_host_to_target64): Likewise.
23436 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
23437 (grub_target_to_host32): Likewise.
23438 (grub_target_to_host64): Likewise.
23439 (grub_host_to_target16): Likewise.
23440 (grub_host_to_target32): Likewise.
23441 (grub_host_to_target64): Likewise.
23442
f4fc97d0
BC
234432010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
23444
23445 Source tree is reorganized for emu build.
23446
23447 * include/grub/util/console.h: Move from here...
23448 * include/grub/emu/console.h: ...to here.
23449 * include/grub/util/getroot.h: Move from here...
23450 * include/grub/emu/getroot.h: ...to here.
23451 * include/grub/util/hostdisk.h: Move from here...
23452 * include/grub/emu/hostdisk.h: ...to here.
23453 * util/console.c: Move from here...
23454 * kern/emu/console.c: ...to here.
23455 * util/getroot.c: Move from here...
23456 * kern/emu/getroot.c: ...to here.
23457 * util/grub-emu.c: Move from here...
23458 * kern/emu/main.c: ...to here.
23459 * util/hostdisk.c: Move from here...
23460 * kern/emu/hostdisk.c: ...to here.
23461 * util/hostfs.c: Move from here...
23462 * kern/emu/hostfs.c: ...to here.
23463 * util/mm.c: Move from here...
23464 * kern/emu/mm.c: ...to here.
23465 * util/pci.c: Move from here...
23466 * bus/emu/pci.c: ...to here.
23467 * util/sdl.c: Move from here...
23468 * video/emu/sdl.c: ...to here.
23469 * util/time.c: Move from here...
23470 * kern/emu/time.c: ...to here.
23471 * util/usb.c: Move from here...
23472 * bus/usb/emu/usb.c: ...to here.
23473
23474 * include/grub/emu/misc.h: New header for grub-emu functions.
23475 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
23476
23477 * conf/any-emu.rmk: Rule updates for above renames.
23478 * conf/common.rmk: Likewise.
23479 * conf/i386-pc.rmk: Likewise.
23480 * conf/i386-qemu.rmk: Likewise.
23481 * conf/mips.rmk: Likewise.
23482 * conf/sparc64-ieee1275.rmk: Likewise.
23483 * conf/x86-efi.rmk: Likewise.
23484
23485 * disk/lvm.h: #include updates for above renames.
23486 * util/grub-mkrelpath.c: Likewise.
23487 * util/grub-probe.c: Likewise.
23488 * util/i386/pc/grub-setup.c: Likewise.
23489 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23490 * kern/emu/console.c: Likewise.
23491 * kern/emu/getroot.c: Likewise.
23492 * kern/emu/hostdisk.c: Likewise.
23493 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
23494
23495 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
23496 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
23497 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
23498 * util/misc.c: Remove grub-emu functions.
23499
cced9145
VS
235002010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
23501
23502 Fix gfxmenu crash.
23503 Reported by: Thorsten Grützmacher.
23504
23505 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
23506 timeout hook.
23507 (circprog_set_property): Register and unregister timeout hook.
23508 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
23509 (label_destroy): Free template. and unregister hook.
23510 (label_set_state): New function.
23511 (label_set_property): Handle templates and hooks.
23512 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
23513 timeout hook.
23514 (progress_bar_set_property): Register and unregister timeout hook.
23515 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
23516 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
23517 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
23518 (update_timeout_visit): Removed.
23519 (update_timeouts): New function.
23520 (redraw_timeouts): Likewise.
23521 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
23522 (grub_gfxmenu_clear_timeout): Likewise.
23523 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
23524 (grub_gfxmenu_timeout_notify): Likewise.
23525 (grub_gfxmenu_timeout_notifications): New external variable.
23526 (grub_gfxmenu_timeout_register): New function.
23527 (grub_gfxmenu_timeout_unregister): Likewise.
23528
c6e5caab
VS
235292010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
23530
23531 Transform (broken) vga terminal into (working) vga video driver.
23532
23533 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
23534 video/i386/pc/vga.c.
23535 * include/grub/video.h (grub_video_driver_id):
23536 Add GRUB_VIDEO_DRIVER_VGA.
23537 * term/i386/pc/vga.c: Renamed to ...
23538 * video/i386/pc/vga.c: ...this
23539 (DEBUG_VGA): Removed.
23540 (CHAR_WIDTH): Likewise.
23541 (CHAR_HEIGHT): Likewise.
23542 (TEXT_WIDTH): Likewise.
23543 (TEXT_HEIGHT): Likewise.
23544 (DEFAULT_FG_COLOR): Likewise.
23545 (DEFAULT_BG_COLOR): Likewise.
23546 (colored_char): Likewise.
23547 (xpos): Likewise.
23548 (ypos): Likewise.
23549 (cursor_state): Likewise.
23550 (fg_color): Likewise.
23551 (bg_color): Likewise.
23552 (text_buf): Likewise.
23553 (page): Likewise.
23554 (font): Likewise.
23555 (framebuffer): New variable.
23556 (set_read_map): Disabled.
23557 (setup): New variable.
23558 (is_target): Likewise.
23559 (grub_vga_mod_init): Likewise.
23560 (grub_vga_mod_fini): Likewise.
23561 (check_vga_mem): Likewise.
23562 (write_char): Likewise.
23563 (write_cursor): Likewise.
23564 (scroll_up): Likewise.
23565 (grub_vga_putchar): Likewise.
23566 (grub_vga_getcharwidth): Likewise.
23567 (grub_vga_getwh): Likewise.
23568 (grub_vga_getxy): Likewise.
23569 (grub_vga_gotoxy): Likewise.
23570 (grub_vga_cls): Likewise.
23571 (grub_vga_setcolorstate): Likewise.
23572 (grub_vga_setcursor): Likewise.
23573 (grub_video_vga_init): New function.
23574 (grub_video_vga_setup): Likewise.
23575 (grub_video_vga_fini): Likewise.
23576 (update_target): Likewise.
23577 (grub_video_vga_blit_bitmap): Likewise.
23578 (grub_video_vga_blit_render_target): Likewise.
23579 (grub_video_vga_set_active_render_target): Likewise.
23580 (grub_video_vga_get_active_render_target): Likewise.
23581 (grub_video_vga_swap_buffers): Likewise.
23582 (grub_video_vga_set_palette): Likewise.
23583 (grub_video_vga_get_info_and_fini): Likewise.
23584 (grub_vga_term): Removed.
23585 (grub_video_vga_adapter): New variable.
23586 (GRUB_MOD_INIT): Register a video driver instead of terminal.
23587 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
23588
2bf61a98
VS
235892010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23590
23591 * video/readers/jpeg.c: Indented.
23592
09ddcd11
VS
235932010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23594
23595 Various jpeg cleanups.
23596
23597 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
23598 (grub_jpeg_decode_quan_table): Use sizeof.
23599 (grub_jpeg_decode_du): Use ARRAY_SIZE.
23600
e5507505
PH
236012010-05-05 Peter Hurley <No e-mail available> (tiny change)
23602
23603 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
23604 tables. Ignore non-last ac bit.
23605 (grub_jpeg_decode_quan_table): Likewise.
23606
7e720a9b
VS
236072010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23608
23609 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
23610 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
23611 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
23612 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
23613 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
23614 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
23615
a7fc080b
VS
236162010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23617
23618 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
23619 error.
23620
2bf6012d
VS
236212010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23622
23623 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
23624
265d68cd
VS
236252010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
23626
23627 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
23628 condition.
23629
236302010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
23631
23632 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
23633 part.
23634
265d68cd 236352010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
23636
23637 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
23638 pointers.
23639
265d68cd 236402010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
23641
23642 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
23643
d1b61374
CF
236442010-05-01 Christian Franke <franke@computer.org>
23645
23646 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
23647 Remove broken Cygwin path conversion.
23648 * util/misc.c: [__CYGWIN__] Add include and define.
23649 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
23650 for Cygwin 1.7.
23651 (make_system_path_relative_to_its_root): Simplify loop, replace early
23652 return by break.
23653 [__CYGWIN__] Add conversion to win32 path.
23654 Include "/" case in trailing slash removal.
23655
3558c6e9
VS
236562010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23657
23658 * kern/main.c (grub_load_config): Fix copy-pasted comment.
23659 Reported by: Seth Goldberg
23660
f5f3ff93
VS
236612010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23662
23663 * commands/help.c (grub_cmd_help): Fix a typo.
23664 Reported by: Seth Goldberg
23665
d8b5cd40
VS
236662010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23667
23668 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
23669 name and add N_.
23670 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
23671 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
23672 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
23673 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
23674 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
23675 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
23676 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
23677 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
23678 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
23679 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
23680 * normal/context.c (GRUB_MOD_INIT): Likewise.
23681 * normal/main.c (GRUB_MOD_INIT): Likewise.
23682 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
23683 * term/serial.c (GRUB_MOD_INIT): Likewise.
23684 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
23685
88c14915
VS
236862010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23687
23688 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
23689 extra == 0.
23690
165134bc
VS
236912010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23692
23693 * commands/iorw.c: New file.
23694 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
23695 (iorw_mod_SOURCES): New variable.
23696 (iorw_mod_CFLAGS): Likewise.
23697 (iorw_mod_LDFLAGS): Likewise.
23698
c5ac9b32
VS
236992010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23700
23701 Hotkey support
23702
23703 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
23704 * normal/main.c (hotkey_aliases): New variable.
23705 (grub_normal_add_menu_entry): Parse "--hotkey".
23706 * normal/menu_text.c (run_menu): Handle hotkeys.
23707
ce60689c
VS
237082010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23709
23710 * kern/i386/coreboot/init.c (grub_machine_init): Call
23711 grub_machine_mmap_init on qemu.
23712
0359d006
VS
237132010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23714
23715 * boot/i386/qemu/boot.S: Add a missing .code16.
23716
7819a456
VS
237172010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23718
23719 Use LBIO on coreboot.
23720
23721 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
23722 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
23723 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
23724 New declaration.
23725 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
23726 grub_machine_mmap_init on coreboot.
23727 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
23728 GRUB_LINUXBIOS_MEMBER_LINK.
23729 (grub_machine_mmap_iterate): Fix declaration.
23730 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
23731
7210dca9
VS
237322010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23733
23734 Split coreboot and multiboot ports.
23735
23736 * conf/i386-multiboot.rmk: New file.
23737 * configure.ac: Add multiboot port.
23738 * include/grub/i386/multiboot/boot.h: New file.
23739 * include/grub/i386/multiboot/console.h: Likewise.
23740 * include/grub/i386/multiboot/init.h: Likewise.
23741 * include/grub/i386/multiboot/kernel.h: Likewise.
23742 * include/grub/i386/multiboot/loader.h: Likewise.
23743 * include/grub/i386/multiboot/memory.h: Likewise.
23744 * include/grub/i386/multiboot/serial.h: Likewise.
23745 * include/grub/i386/multiboot/time.h: Likewise.
23746 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
23747 * loader/multiboot.c: Likewise.
23748 * loader/multiboot_mbi2.c: Likewise.
23749 * util/grub-mkrescue.in: Generate multiboot rescue.
23750
6f8aaf68
VS
237512010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23752
3080f7a7
VS
23753 * kern/parser.c (grub_parser_execute): Cope with read-only config.
23754
237552010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23756
23757 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
23758
23759 * commands/terminal.c (abstract_terminal): New struct.
23760 (handle_command): New function. Based on grub_cmd_terminal_input.
23761 (grub_cmd_terminal_input): Use handle_command.
23762 (grub_cmd_terminal_output): Use handle_command.
23763
a8ebb841
BC
237642010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
23765
23766 Fix comment handling.
23767
23768 * tests/grub_script_comments.in: New testcase.
23769 * conf/tests.rmk: Rules for new testcase.
23770 * script/yylex.l: Updated flex rules.
23771
bb06ba08
ST
237722010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
23773
23774 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
23775 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
23776 if argc is 1.
bb06ba08 23777
cc9d2425
VS
237782010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
23779
23780 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
23781 autogen issues.
23782
460d8402
CF
237832010-04-26 Christian Franke <franke@computer.org>
23784
23785 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
23786 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
23787 (grub_get_prefix): Remove function.
23788 * util/grub-emu.c (main): Replace grub_get_prefix () call by
23789 make_system_path_relative_to_its_root ().
23790 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
23791
553c01f9
CF
237922010-04-24 Christian Franke <franke@computer.org>
23793
23794 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
23795 (kernel_img_LDFLAGS): Remove -static-libgcc.
23796
2aec1692
CF
237972010-04-24 Christian Franke <franke@computer.org>
23798
23799 * configure.ac: Do not CHECK_BSS_START_SYMBOL
23800 and CHECK_END_SYMBOL if grub-emu is built.
23801 Unset TARGET_OBJ2ELF if grub-emu is built
23802 without module support.
23803
f67dc308
JS
238042010-04-24 Jiro SEKIBA <jir@unicus.jp>
23805
23806 Nilfs2 support.
23807
23808 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
23809 (grub_fstest_SOURCES): Likewise.
23810 (pkglib_MODULES): Add nilfs2.mod.
23811 (nilfs2_mod_SOURCES): New variable.
23812 (nilfs2_mod_CFLAGS): Likewise.
23813 (nilfs2_mod_LDFLAGS): Likewise.
23814 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
23815 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
23816 * fs/nilfs2.c: New file.
23817
4ba8d354
VS
238182010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
23819
23820 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
23821 is not supported.
23822
0d2c20c6
GS
238232010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
23824
23825 Add grub-mkconfig support for NetBSD.
23826
23827 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
23828 * util/grub-mkconfig.in: export new NetBSD specific variables.
23829 * po/POTFILES-shell: added 10_netbsd.in.
23830 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
23831
bc4a2d83
BC
238322010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
23833
23834 Fix emu build with grub-emu-pci and grub-emu-modules.
23835
23836 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
23837 functions.
23838 * include/grub/libpciaccess.h: New file.
23839 * conf/any-emu.rmk: Update kernel headers for emu build.
23840
f48c87aa
VS
238412010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
23842
23843 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
23844
18959385
VS
238452010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
23846
23847 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
23848
0037de3f
VS
238492010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23850
23851 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
23852 Retrieve chosen/bootpath if bootpath isn't hardcoded.
23853 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
23854 util/ieee1275/ofpath.c.
23855 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
23856 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
23857 * include/grub/sparc64/ieee1275/boot.h
23858 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
23859 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
23860 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
23861 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
23862 const char *.
23863 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
23864 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
23865 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
23866 install.
23867
38e55e90
GS
238682010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
23869
23870 * util/grub-mkconfig.in: Corrected two == equality tests.
23871 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
23872 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
23873 expect a number appended to it.
23874 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
23875 expects a number appended to it.
23876
a9e6ff28
VS
238772010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23878
23879 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
23880
0b830b8f
VS
238812010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23882
23883 * util/hostdisk.c (make_device_name): Change to new partition naming.
23884
0973daeb
VS
238852010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
23886
23887 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
23888
460d8402 238892010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
23890
23891 * Makefile.in: Add missing localedir setting.
23892
0b456309
CW
238932010-04-14 Colin Watson <cjwatson@ubuntu.com>
23894
23895 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
23896 mistake in r2156. Noticed by Anthony Fok.
23897
23898 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
23899 @localedir@.
23900 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
23901
08f46d62
BC
239022010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
23903
23904 Fix a spurious, uninitialized variable warning.
23905
23906 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
23907 Initialize variable, shdr.
23908 (grub_freebsd_load_elfmodule): Likewise.
23909 (grub_freebsd_load_elf_meta): Likewise.
23910
8c4a72d4
BC
239112010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
23912
23913 Fix for escaped dollar in double quoted strings.
23914
23915 * script/yylex.l: Updated flex rules.
23916 * conf/tests.rmk: Rule for new testcase.
23917 * tests/grub_script_dollar.in: New testcase.
23918
ce44826e
CPE
239192010-04-13 Carles Pina i Estany <carles@pina.cat>
239202010-04-13 Colin Watson <cjwatson@ubuntu.com>
23921
23922 Enclose all translated strings in grub.cfg in single quotes, and
23923 escape them appropriately (Ubuntu bug #552921).
23924
23925 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
23926 * util/grub.d/10_hurd.in: Use it.
23927 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23928 * util/grub.d/10_linux.in (linux_entry): Likewise.
23929
4b0cd8f8
VS
239302010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
23931
23932 Fix cygwin compilation.
23933
23934 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
23935 * include/grub/misc.h (__register_frame_info)
23936 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
23937 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
23938 * kern/misc.c (__register_frame_info)
23939 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
23940 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
23941
01fcf061
VS
239422010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
23943
23944 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
23945
5d04b11e
VS
239462010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
23947
23948 Unify libgcc processing.
23949
23950 * Makefile.in (kernel_img_LDFLAGS): New variable.
23951 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
23952 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
23953 overwriting.
23954 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
23955 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
23956 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
23957 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
23958 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
23959 overwriting. Remove -lgcc and -static-libgcc
23960 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
23961 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
23962 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
23963 (kernel_img_LDFLAGS): Append instead of overwriting.
23964 Remove -lgcc and -static-libgcc
23965 * conf/sparc64-ieee1275.rmk: Likewise.
23966 * include/grub/powerpc/libgcc.h: Move to ...
23967 * include/grub/libgcc.h: .. this.
23968 * include/grub/libgcc.h: Don't export most of the function on x86.
23969 (__bswapsi2): New export.
23970 (__bswapdi2): Likewise.
23971 * include/grub/mips/libgcc.h: Removed.
23972 * include/grub/sparc64/libgcc.h: Likewise.
23973
b7f3ac29
VS
239742010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23975
23976 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
23977 disk_info_msg (conflicts with gettexting into languages with cases).
23978
2c7031b1
GS
239792010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
23980
23981 Add grub-probe support for NetBSD.
23982
23983 * util/getroot.c (find_root_device): Convert block device to
23984 character device on NetBSD.
23985 * util/probe.c (probe): Require character device on NetBSD.
23986 * util/hostdisk.c: NetBSD specific headers.
23987 (configure_device_driver): new function to tune device driver
23988 parameters (currently only for NetBSD floppy driver).
23989 (grub_util_biosdisk_open): NetBSD specific code (get disk size
23990 via disklabel ioctl).
23991 (open_device): call configure_device_driver on NetBSD.
23992 (convert_system_partition_to_system_disk): NetBSD specific code.
23993 (device_is_wholedisk): Likewise.
23994 (grub_util_biosdisk_get_grub_dev): Likewise.
23995 (make_device_name): Fixed a typo in bsd_part_str.
23996 * configure.ac: check for opendisk() and getrawpartition() on
23997 NetBSD and set LIBUTIL.
23998 * Makefile.in: add LIBUTIL to LIBS.
23999
f516290c
BC
240002010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
24001
24002 Documentation fix.
24003
24004 * util/grub-script-check.c: Better help message.
24005
d8dcc0df
BC
240062010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
24007
24008 Fix FreeBSD build.
24009
24010 * configure.ac: Flex version check.
24011 * conf/common.rmk: Add -Wno-error to sh.mod.
24012 * script/yylex.l: Remove all #pragma.
24013
6734334a
VS
240142010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24015
24016 * include/grub/util/misc.h (canonicalise_file_name): Add missing
24017 prototype.
24018 Reported by: Seth Goldberg.
24019
daea6abd
VS
240202010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24021
24022 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
24023 Rename "module" to "module2".
24024 Reported by: Seth Goldberg.
24025
f2fd9d2b
VS
240262010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24027
24028 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
24029 EXPORT_FUNC.
24030 Reported by: Seth Goldberg.
24031
be124579
VS
240322010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24033
24034 * lib/posix_wrap/locale.h: Add missing file.
24035 Reported by: Seth Goldberg.
24036
ef5da797
VS
240372010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24038
24039 grub-emu module load support.
24040
24041 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
24042 NO_DYNAMIC_MODULES switched to this.
24043 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
24044 (CFLAGS): Likewise.
24045 * conf/any-emu.rmk: Generate symlist.
24046 (kernel_img_HEADERS): Add util/datetime.h.
24047 (kernel_img_HEADERS) [sdl]: Add sdl.h.
24048 (kernel_img_HEADERS) [libusb]: Add libusb.h.
24049 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
24050 kern/$(target_cpu)/cache.S.
24051 * configure.ac (grub-emu-modules): New option.
24052 * genmk.rb: Handle multiple source lists.
24053 * include/grub/sdl.h: New file.
24054 * include/grub/libusb.h: Likewise.
24055 * util/grub-emu.c (main): Hanle (host) root.
24056 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
24057 GRUB_ERR_UNKNOWN_DEVICE.
24058 * util/misc.c: Move mm functions to ...
24059 * util/mm.c: ... here. All users updated.
24060
47822096
VS
240612010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24062
24063 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
24064 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
24065 missing files.
24066 (maintainer-clean): Remove libgcrypt-grub.
24067
5d7e7445
VS
240682010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24069
24070 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
24071
25f4e252
EC
240722010-04-09 EFI Coder <eficoder@hotmail.com>
24073
24074 * normal/menu_text.c (print_message): Clean up the message and show
24075 the Fn information when on EFI
24076 * term/efi/console.c (grub_console_checkkey): Add F4 support.
24077
027de555
VS
240782010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24079
24080 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
24081 All users updated.
24082 * normal/crypto.c (read_crypto_list): Likewise.
24083 * normal/dyncmd.c (read_command_list): Likewise.
24084 * normal/term.c (read_terminal_list): Likewise.
24085 * normal/main.c (read_lists): Use explicit prefix.
24086 (read_lists_hook): Use read_lists.
24087 (grub_normal_execute): Likewise.
24088
47779711
VS
240892010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24090
24091 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
24092 Reported by: Thomas Schmitt.
24093 Add -no-emul-boot to grub-mkisofs parameters.
24094
1118c32e
VS
240952010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24096
24097 * font/font.c: Indented.
24098
7d652447
BC
240992010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
24100
24101 Elif support to GRUB script (by Deepak Vankadaru).
24102
24103 * tests/grub_script_if.in: New testcase.
24104 * conf/tests.rmk: Rule for new testcase.
24105 * script/parser.y: Grammar rules for elif.
24106
34bb22df
BC
241072010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
24108
24109 While and until loops support to GRUB script.
24110
24111 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
24112 (grub_script_create_cmdwhile): New function prototype.
24113 (grub_script_execute_cmdwhile): New function prototype.
24114 * script/execute.c (grub_script_execute_cmdwhile): New function.
24115 * script/parser.y (command): New commands.
24116 (whilecmd): New grammar rule.
24117 (untilcmd): New grammar rule.
24118 * script/script.c (grub_script_create_cmdwhile): New function.
24119 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
24120 function.
24121
24122 * tests/grub_script_while1.in: New testcase.
24123 * conf/tests.rmk: Rule for new testcase.
24124
e215d8e0
VS
241252010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24126
24127 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
24128 as *.jpg.
24129
d7c43ba1
MV
241302010-04-09 Mario Vazquez <mariovazq@gmail.com>
24131
24132 GRUB_BACKGROUND support.
24133
24134 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
24135 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
24136
d64795c0
VS
241372010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24138
24139 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 24140 Idea by: Mario Vazquez
d64795c0
VS
24141
24142 * util/grub.d/00_header.in: Load pf2 and image modules.
24143
f267f83a
VS
241442010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24145
24146 grub-mkconfig multiple terminal support.
24147
24148 * util/grub-mkconfig.in: Handle multiple terminals correctly.
24149 * util/grub.d/00_header.in: Likewise.
24150
b7841ceb
VS
241512010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24152
24153 * Makefile.in: Specify files explicitly instead of using $< and $@ since
24154 we use cd $(srcdir).
24155
df60998c
CW
241562010-04-08 Colin Watson <cjwatson@ubuntu.com>
24157
24158 * util/grub.d/10_linux.in: Only use the first word of
24159 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
24160 spaces in GRUB_DISTRIBUTOR.
24161 * util/grub.d/10_kfreebsd.in: Likewise.
24162 * util/grub.d/10_hurd.in: Likewise.
24163
fa09c82e
BC
241642010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
24165
14e18ae3 24166 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
24167
24168 * tests/util/grub-shell.in: Remove -serial stdio option.
24169
daf892b3
BC
241702010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
24171
24172 POSIX header file wrappers.
24173
24174 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
24175 equivalents.
24176 * lib/posix_wrap/ctype.h: Likewise.
24177 * lib/posix_wrap/errno.h: Likewise.
24178 * lib/posix_wrap/langinfo.h: Likewise.
24179 * lib/posix_wrap/limits.h: Likewise.
24180 * lib/posix_wrap/localcharset.h: Likewise.
24181 * lib/posix_wrap/stdint.h: Likewise.
24182 * lib/posix_wrap/stdio.h: Likewise.
24183 * lib/posix_wrap/stdlib.h: Likewise.
24184 * lib/posix_wrap/string.h: Likewise.
24185 * lib/posix_wrap/sys/types.h: Likewise.
24186 * lib/posix_wrap/unistd.h: Likewise.
24187 * lib/posix_wrap/wchar.h: Likewise.
24188 * lib/posix_wrap/wctype.h: Likewise.
24189 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
24190 (grub_script.yy.h): Likewise.
24191 * script/yylex.l: Remove POSIX emulation #defines.
24192 * Makefile.in (POSIX_CFLAGS): New variable.
24193 (GNULIB_UTIL_CFLAGS): Likewise.
24194
24195 Regexp support.
24196
24197 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
24198 (regexp_mod_SOURCES): New variable.
24199 (regexp_mod_CFLAGS): Likewise.
24200 (regexp_mod_LDFLAGS): Likewise.
24201 * commands/regexp.c: New file.
24202 * gnulib/regcomp.c: New file. Imported from gnulib.
24203 * gnulib/regex.c: Likewise.
24204 * gnulib/regex_internal.c: Likewise.
24205 * gnulib/regex_internal.h: Likewise.
24206 * gnulib/regexec.c: Likewise.
24207 * gnulib/regex.h: Likewise.
24208
974ac4f7
VS
242092010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24210
24211 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
24212 unsupported video mode types.
24213
2622c3ff
VS
242142010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24215
24216 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
24217
064cb524
VS
242182010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24219
24220 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
24221 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
24222
a8c3b552
VS
242232010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
24224
24225 Remove unused grub_vga_get_font.
24226
24227 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
24228 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
24229
187bbe3d
GS
242302010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24231
24232 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
24233 * include/grub/misc.h: Likewise.
24234
b9396631
GS
242352010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24236
24237 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
24238 for which failure is fatal.
24239
50479feb
GS
242402010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24241
24242 * util/grub-install.in: Use mkdir -p to create grub directory.
24243 * util/i386/efi/grub-install.in: Likewise.
24244 * util/ieee1275/grub-install.in: Likewise.
24245
b1654fdf
GS
242462010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24247
24248 * Makefile.in (LEX): new variable.
24249
bd5a6415
GS
242502010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24251
24252 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
24253 `=' and added double quotes on operands of this equality test.
24254
3db3a82b
VS
242552010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
24256
24257 * Makefile.in (uninstall): Remove a leftover debug echo.
24258 Reported by: Grégoire Sutre
24259
38023412
VS
242602010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
24261
24262 MIPS multiboot2 support.
24263
24264 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
24265 (multiboot2_mod_SOURCES): New variable.
24266 (multiboot2_mod_CFLAGS): Likewise.
24267 (multiboot2_mod_LDFLAGS): Likewise.
24268 (multiboot2_mod_ASFLAGS): Likewise.
24269 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
24270 definition.
24271 (MULTIBOOT_ENTRY_REGISTER): Likewise.
24272 (MULTIBOOT_MBI_REGISTER): Likewise.
24273 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
24274 (MULTIBOOT_ELF32_MACHINE): Likewise.
24275 (MULTIBOOT_ELF64_MACHINE): Likewise.
24276 * include/grub/mips/multiboot.h: New file.
24277 * include/grub/video.h (grub_video_driver_id): New type
24278 GRUB_VIDEO_DRIVER_SM712.
24279 (grub_video_get_info_and_fini): Export.
24280 (grub_video_get_palette): Likewise.
24281 (grub_video_get_driver_id): Likewise.
24282 * include/multiboot2.h: Resynced with spec.
24283 * loader/i386/multiboot.c: Moved from here ...
24284 * loader/multiboot.c: ... here. All users updated.
24285 (grub_multiboot_boot): Use platform-specific macros.
24286 * loader/i386/multiboot_elfxx.c: Moved from here ...
24287 * loader/multiboot_elfxx.c: ... here. All users updated.
24288 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
24289 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
24290 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
24291
47674667
VS
242922010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
24293
24294 Import gnulib argp module.
24295
24296 * gnulib/argp-ba.c: New file.
24297 * gnulib/argp-eexst.c: Likewise.
24298 * gnulib/argp-fmtstream.c: Likewise.
24299 * gnulib/argp-fmtstream.h: Likewise.
24300 * gnulib/argp-fs-xinl.c: Likewise.
24301 * gnulib/argp-help.c: Likewise.
24302 * gnulib/argp-namefrob.h: Likewise.
24303 * gnulib/argp-parse.c: Likewise.
24304 * gnulib/argp-pin.c: Likewise.
24305 * gnulib/argp-pv.c: Likewise.
24306 * gnulib/argp-pvh.c: Likewise.
24307 * gnulib/argp-version-etc.c: Likewise.
24308 * gnulib/argp-version-etc.h: Likewise.
24309 * gnulib/argp-xinl.c: Likewise.
24310 * gnulib/argp.h: Likewise.
24311
495442ed
VS
243122010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
24313
24314 * kern/device.c (grub_device_iterate): Clear errors after failed
24315 opening device.
24316
f9fd65df
VS
243172010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
24318
24319 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
24320 returned by firmware.
24321
af09641e
VS
243222010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
24323
24324 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
24325 compilation on coreboot and qemu
24326
016883a5
VS
243272010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
24328
24329 * include/multiboot2.h: Resync with spec.
24330
f97e1f7d
VS
243312010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
24332
24333 Multiboot2 tag support
24334
24335 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
24336 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
24337 Remove loader/multiboot_loader.c.
24338 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
24339 (grub_multiboot2_real_boot): Likewise.
24340 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
24341 (grub_get_multiboot_mmap_count): New proto.
24342 (grub_fill_multiboot_mmap): Likewise.
24343 (grub_multiboot_set_video_mode): Likewise.
24344 (grub_multiboot_set_console): Likewise.
24345 (grub_multiboot_load): Likewise.
24346 (grub_multiboot_load_elf): Likewise.
24347 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
24348 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
24349 * include/multiboot.h: Resynced with specification.
24350 * include/multiboot2.h: Resynced with specification.
24351 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
24352 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
24353 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
24354 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
24355 users updated.
24356 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
24357 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
24358 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
24359 Removed.
24360 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
24361 Moved from here...
24362 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
24363 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
24364 Moved from here...
24365 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
24366 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
24367 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
24368 All users updated.
24369 * loader/i386/multiboot_mbi2.c: New file.
24370
3506b90b
VS
243712010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
24372
24373 Resync with gnulib.
24374
24375 * Makefile.in (GNULIB_CFLAGS): New variable.
24376 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
24377 (grub_script_check_CFLAGS): New variable.
24378 * gnulib/alloca.h: Resync with gnulib.
24379 * gnulib/error.c: Likewise.
24380 * gnulib/error.h: Likewise.
24381 * gnulib/fnmatch.c: Likewise.
24382 * gnulib/fnmatch_loop.c: Likewise.
24383 * gnulib/getdelim.c: Likewise.
24384 * gnulib/getline.c: Likewise.
24385 * gnulib/getopt.c: Likewise.
24386 * gnulib/getopt1.c: Likewise.
24387 * gnulib/getopt_int.h: Likewise.
24388 * gnulib/gettext.h: Likewise.
24389 * gnulib/progname.c: Likewise.
24390 * gnulib/progname.h: Likewise.
24391
394a3120
GS
243922010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
24393
24394 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
24395 which is the case with --disabled-nls.
24396
24397 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
24398 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
24399 * util/misc.c: Likewise.
24400 * util/mkisofs/mkisofs.c: Likewise.
24401 * util/mkisofs/mkisofs.h: Likewise.
24402
969d1c78
VS
244032010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
24404
24405 Simplify Apple CC support.
24406
24407 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
24408 Add 0 byte at the end not to have a symbol with empty target.
24409 * mmap/i386/pc/mmap_helper.S: Likewise.
24410 * genmk.rb: Ignore errors 2030 and 2050.
24411 * kern/i386/pc/startup.S: Use LOCAL when possible.
24412
8d2977bb
BC
244132010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
24414
24415 Testcase and the fix for final semicolon on cmdline.
24416
24417 * tests/grub_script_final_semicolon.in: New testcase.
24418 * conf/tests.rmk: Rules for the new testcase.
24419 * script/parser.y: Grammar fix.
24420
a7bd6915
BC
244212010-03-26 BVK Chaitanya <bvk@localhost>
24422
24423 Blank lines testcase for GRUB script.
24424
24425 * tests/grub_script_blanklines.in: New testcase.
24426 * conf/tests.rmk: Rules for the new testcase.
24427
e4ff6628
VS
244282010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24429
24430 Don't use __FILE__.
24431
24432 * genmk.rb: Add -DGRUB_FILE to all C targets.
24433 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
24434 * include/grub/list.h: Likewise.
24435 * include/grub/misc.h: Likewise.
24436 * include/grub/mm.h: Likewise.
24437 * include/grub/test.h: Likewise.
24438 * kern/mm.c: Likewise.
24439 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
24440
6a5cf6b6
VS
244412010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24442
24443 Sunpc partitions support.
24444
24445 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
24446 (grub_fstest_SOURCES): Likewise.
24447 (pkglib_MODULES): Add part_sunpc.mod.
24448 (part_sunpc_mod_SOURCES): New variable.
24449 (part_sunpc_mod_CFLAGS): Likewise.
24450 (part_sunpc_mod_LDFLAGS): Likewise.
24451 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
24452 * partmap/sunpc.c: New file.
24453
746d9045
BC
244542010-03-26 BVK Chaitanya <bvk@localhost>
24455
24456 For loop support to GRUB script.
24457
24458 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
24459 (grub_script_create_cmdfor): New function prototype.
24460 (grub_script_execute_cmdfor): New function prototype.
24461 * script/execute.c (grub_script_execute_cmdfor): New function.
24462 * script/parser.y (command): New for command.
24463 (forcmd): New grammar rule.
24464 * script/script.c (grub_script_create_cmdfor): New function.
24465 * util/grub-script-check.c (grub_script_execute_cmdfor): New
24466 function.
24467 * tests/grub_script_for1.in: New testcase.
24468 * conf/tests.rmk: Rules for new testcase.
24469
18486b18
VS
244702010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24471
24472 Nested partitions
24473
24474 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
24475 'partition' is NULL, grub_partition_get_start already does that.
24476 * commands/loadenv.c (check_blocklists): Likewise.
24477 (write_blocklists): Likewise.
24478 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
24479 (grub_fstest_SOURCES): Likewise.
24480 (pkglib_MODULES): Add part_bsd.mod.
24481 (part_bsd_mod_SOURCES): New variable.
24482 (part_bsd_mod_CFLAGS): Likewise.
24483 (part_bsd_mod_LDFLAGS): Likewise.
24484 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
24485 (grub_emu_SOURCES): Likewise.
24486 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24487 * include/grub/bsdlabel.h: New file.
24488 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
24489 'get_name'.
24490 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
24491 (grub_partition_map_list): New variable.
24492 (grub_partition_map_register): Inline.
24493 (grub_partition_map_unregister): Likewise.
24494 (FOR_PARTITION_MAPS): New macro.
24495 (grub_partition_map_iterate): Removed.
24496 (grub_partition_get_start): Handle nested partitions.
24497 * include/grub/msdos_partition.h: Remove bsd-related entries.
24498 (grub_pc_partition): Remove.
24499 * kern/disk.c (grub_disk_close): Free partition data.
24500 (grub_disk_adjust_range): Handle nested partitions.
24501 * kern/partition.c (grub_partition_map_probe): New function.
24502 (grub_partition_probe): Parse name to number, handle subpartitions.
24503 (get_partmap): New function.
24504 (grub_partition_iterate): Handle subpartitions.
24505 (grub_partition_get_name): Likewise.
24506 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
24507 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
24508 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
24509 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
24510 Set 'number'.
24511 (acorn_partition_map_probe): Remove.
24512 (acorn_partition_map_get_name): Likewise.
24513 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
24514 Set 'number'.
24515 Set 'index' to 0 since there can be only one partition entry per sector.
24516 (amiga_partition_map_probe): Remove.
24517 (amiga_partition_map_get_name): Likewise.
24518 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
24519 Set 'number'.
24520 Set 'offset' and 'index' to real positions of partitions.
24521 (apple_partition_map_probe): Remove.
24522 (apple_partition_map_get_name): Likewise.
24523 * partmap/bsdlabel.c: New file.
24524 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
24525 Set 'number'.
24526 Allocate 'data' so it can be correctly freed.
24527 Set 'index' to offset inside sector.
24528 (gpt_partition_map_probe): Remove.
24529 (gpt_partition_map_get_name): Likewise.
24530 * partmap/msdos.c (grub_partition_parse): Remove.
24531 (pc_partition_map_iterate): Don't force raw access.
24532 Set 'number'.
24533 Make 'ext_offset' a local variable.
24534 (pc_partition_map_probe): Remove.
24535 (pc_partition_map_get_name): Remove.
24536 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
24537 Set 'number'.
24538 (sun_partition_map_probe): Remove.
24539 (sun_partition_map_get_name): Likewise.
24540 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
24541 (grub_pcpart_type): Likewise.
24542 * util/hostdisk.c (open_device): Handle new numbering scheme.
24543 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
24544 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
24545 * util/grub-probe.c (probe_partmap): Handle nested paritions.
24546 * util/grub-install.in: Insert all subpartition modules.
24547 * util/ieee1275/grub-install.in: Likewise.
24548
a3940f88
AG
245492010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
24550
24551 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
24552 grammar.
24553
21b99926 245542010-03-24 Colin Watson <cjwatson@ubuntu.com>
24555
24556 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
24557
bed1d352
CW
245582010-03-21 Colin Watson <cjwatson@ubuntu.com>
24559
24560 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
24561 match where 'make install' puts them.
24562 * util/i386/efi/grub-install.in: Likewise.
24563
c9f58427
CW
245642010-03-19 Colin Watson <cjwatson@ubuntu.com>
24565
24566 * .bzrignore: Add gentrigtables, grub-script-check,
24567 grub_script_check_init.c, grub_script_check_init.h, and
24568 trigtables.c.
24569
f84afb27
VS
245702010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
24571
24572 * kern/parser.c: Indented.
24573
ed0e3d30
VS
245742010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
24575
24576 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
24577
0ea81d98
VS
245782010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
24579
24580 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
24581 alpha_mask_size == 0 case.
24582
0cdc2a09
BC
245832010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
24584
24585 GRUB shell lexer and parser improvements.
24586
24587 * conf/any-emu.rmk: Build rule updates.
24588 * conf/common.rmk: Likewise.
24589 * conf/i386-coreboot.rmk: Likewise.
24590 * conf/i386-efi.rmk: Likewise.
24591 * conf/i386-ieee1275.rmk: Likewise.
24592 * conf/i386-pc.rmk: Likewise.
24593 * conf/powerpc-ieee1275.rmk: Likewise.
24594 * conf/x86_64-efi.rmk: Likewise.
24595
24596 * configure.ac: Configure check for flex.
24597
24598 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
24599 types.
24600 (grub_lexer_param): Struct member updates.
24601 (grub_parser_param): Likewise.
24602 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
24603 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
24604 (grub_script_lexer_init): Prototype update.
24605 (grub_script_lexer_record_start): Likewise.
24606 (grub_script_lexer_record_stop): Likewise.
24607 (grub_script_lexer_yywrap): New function prototype.
24608 (grub_script_lexer_fini): Likewise.
24609 (grub_script_execute_argument_to_string): Removed by...
24610 (grub_script_execute_argument_to_argv): ...better version.
24611
24612 * script/execute.c (ROUND_UPTO): New macro.
24613 (grub_script_execute_cmdline): Out of memory fixes.
24614 (grub_script_execute_menuentry): Likewise.
24615 (grub_script_execute_argument_to_string): Removed. Update all
24616 users by...
24617 (grub_script_execute_argument_to_argv): ...better version.
24618 * script/function.c (grub_script_function_create): Use
24619 grub_script_execute_argument_to_argv instead of
24620 grub_script_execute_argument_to_string.
24621
24622 * script/lexer.c (check_varstate): Removed.
24623 (check_textstate): Removed.
24624 (grub_script_lexer_record_start): Likewise.
24625 (grub_script_lexer_record_stop): Likewise.
24626 (recordchar): Replaced with...
24627 (grub_script_lexer_record): ...new function.
24628 (nextchar): Removed.
24629 (grub_script_lexer_init): Rewritten.
24630 (grub_script_yylex): Rewritten.
24631 (append_newline): New function.
24632 (grub_script_lexer_yywrap): New function.
24633 (grub_script_lexer_fini): New function.
24634 (grub_script_yyerror): Sets error flag.
24635
24636 * script/yylex.l: New file.
24637 (grub_lexer_yyfree): Wrapper for flex yyffre.
24638 (grub_lexer_yyalloc): Likewise.
24639 (grub_lexer_yyrealloc): Likewise.
24640 * script/parser.y: Refactored.
24641
24642 * script/script.c (grub_script_arg_add): Out of memory fixes.
24643 (grub_script_add_arglist): Likewise.
24644 (grub_script_create_cmdline): Likewise.
24645 (grub_script_create_cmdmenu): Likewise.
24646 (grub_script_add_cmd): Likewise.
24647 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
24648 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
24649 unnecessary code.
24650
24651 * tests/grub_script_echo1.in: New testcase.
24652 * tests/grub_script_vars1.in: New testcase.
24653 * tests/grub_script_echo_keywords.in: New testcase.
24654
1d63a066
VS
246552010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24656
24657 Remove some redundancy in build system.
24658
24659 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
24660 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
24661 (TARGET_LDFLAGS): Add -nostdlib.
24662 (TARGET_IMG_LDFLAGS): Likewise.
24663 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
24664 anything since mmap isn't available.
24665 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
24666 Add util/time.c.
24667 (pkglib_MODULES): Remove reboot.mod.
24668 (reboot_mod_SOURCES): Removed.
24669 (reboot_mod_CFLAGS): Likewise.
24670 (reboot_mod_LDFLAGS): Likewise.
24671 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
24672 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
24673 (DEFSYMFILES): Add kernel_syms.lst.
24674 (kernel_img_HEADERS): Add common headers.
24675 (symlist.c): New target.
24676 (kernel_syms.lst): Likewise.
24677 (pkglib_MODULES): Add memdisk.mod.
24678 (memdisk_mod_SOURCES): New variable.
24679 (memdisk_mod_CFLAGS): Likewise.
24680 (memdisk_mod_LDFLAGS): Likewise.
24681 (pkglib_MODULES): Add reboot.mod.
24682 (reboot_mod_SOURCES): New variable.
24683 (reboot_mod_CFLAGS): Likewise.
24684 (reboot_mod_LDFLAGS): Likewise.
24685 (pkglib_MODULES): Add date.mod.
24686 (date_mod_SOURCES): New variable.
24687 (date_mod_CFLAGS): Likewise.
24688 (date_mod_LDFLAGS): Likewise.
24689 (pkglib_MODULES): Add datehook.mod.
24690 (datehook_mod_SOURCES): New variable.
24691 (datehook_mod_CFLAGS): Likewise.
24692 (datehook_mod_LDFLAGS): Likewise.
24693 (pkglib_MODULES): Add lsmmap.mod.
24694 (lsmmap_mod_SOURCES): New variable.
24695 (lsmmap_mod_CFLAGS): Likewise.
24696 (lsmmap_mod_LDFLAGS): Likewise.
24697 (pkglib_MODULES): Add boot.mod.
24698 (boot_mod_SOURCES): New variable.
24699 (boot_mod_CFLAGS): Likewise.
24700 (boot_mod_LDFLAGS): Likewise.
24701 * conf/i386-coreboot.rmk: Removed redundant parts.
24702 * conf/i386-ieee1275.rmk: Likewise.
24703 * conf/i386-pc.rmk: Likewise.
24704 * conf/mips-yeeloong.rmk: Likewise.
24705 * conf/mips.rmk: Likewise.
24706 * conf/powerpc-ieee1275.rmk: Likewise.
24707 * conf/sparc64-ieee1275.rmk: Likewise.
24708 * conf/x86_64-efi.rmk: Likewise.
24709 * conf/i386-coreboot.rmk: Moved qemu parts ..
24710 * conf/i386-qemu.rmk: ... here
24711 * conf/i386-efi.rmk: Moved common parts to...
24712 * conf/x86-efi.rmk: ... here.
24713 * conf/i386.rmk: Added modules common to all x86 variants.
24714 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
24715 * disk/memdisk.c: Remove grub/machine/kernel.h.
24716 * gensymlist.sh.in: Include symbol.h.
24717 * hook/datehook.c: Correct module name.
24718 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
24719 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
24720 * include/grub/i386/efi/serial.h: New file.
24721 * include/grub/x86_64/efi/serial.h: Likewise.
24722 * util/time.c: Likewise.
24723 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
24724
463ac55f
CK
247252010-03-14 Colin King <colin.king@ubuntu.com>
247262010-03-14 Colin Watson <cjwatson@ubuntu.com>
24727
24728 Shrink the pre-partition-table part of boot.img by eight bytes.
24729
24730 * boot/i386/pc/boot.S (ERR): New macro.
24731 (chs_mode): Use ERR.
24732 (geometry_error): Likewise.
24733 (hd_probe_error): Remove. This is only used once, so we wrwite
24734 it inline instead.
24735 (read_error): Instead of printing read_error_string, just set up
24736 %si and fall through to ...
24737 (error_message): ... this new function, also used by ERR.
24738
08e46ede
CW
247392010-03-14 Colin Watson <cjwatson@ubuntu.com>
24740
24741 Speed up consecutive hostdisk operations on the same device.
24742
24743 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
24744 (grub_util_biosdisk_open): Initialise disk->data.
24745 (struct linux_partition_cache): New structure.
24746 (linux_find_partition): Cache partition start positions; these are
24747 expensive to compute on every read and write.
24748 (open_device): Cache open file descriptor in disk->data, so that we
24749 don't have to reopen it and flush the buffer cache for consecutive
24750 operations on the same device.
24751 (grub_util_biosdisk_close): New function.
24752 (grub_util_biosdisk_dev): Set `close' member.
24753
24754 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
24755 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
24756 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24757 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
24758 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
24759
4a6d2d06
VS
247602010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24761
24762 Compile parts of grub-emu as modules.
24763
24764 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
24765 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
24766 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
24767 (all-local): Add $(GRUB_EMU).
24768 (install-local): Install $(GRUB_EMU).
24769 (uninstall): Uninstall $(GRUB_EMU).
24770 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
24771 * kern/dl.c: Likewise.
24772 * commands/sleep.c: Not include machine/time.h.
24773 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
24774 (COMMON_CFLAGS): Likewise.
24775 (sbin_UTILITIES): Remove grub-emu.
24776 (grub_emu_SOURCES): Removed.
24777 (kernel_img_RELOCATABLE): New variable.
24778 (pkglib_PROGRAMS): Add kernel.img.
24779 (kernel_img_SOURCES): New variable
24780 (kernel_img_CFLAGS): Likewise.
24781 (kernel_img_LDFLAGS): Likewise.
24782 (TARGET_NO_STRIP): Likewise.
24783 (TARGET_NO_DYNAMIC_MODULES): Likewise.
24784 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
24785 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
24786 (grub-emu): New target.
24787 (GRUB_EMU): New variable.
24788 * configure.ac: Whitelist -emu as possible x86_64 architecture.
24789 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
24790 * loader/xnu.c: Likewise.
24791 * include/grub/pci.h: Likewise.
24792 * genemuinit.sh: New file.
24793 * genemuinitheader.sh: Likewise.
24794 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
24795 Support TARGET_NO_DYNAMIC_MODULES.
24796 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
24797 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
24798 * disk/loopback.c: Likewise.
24799 * font/font_cmd.c: Likewise.
24800 * partmap/acorn.c: Likewise.
24801 * partmap/amiga.c: Likewise.
24802 * partmap/apple.c: Likewise.
24803 * partmap/gpt.c: Likewise.
24804 * partmap/msdos.c: Likewise.
24805 * partmap/sun.c: Likewise.
24806 * parttool/msdospart.c: Likewise.
24807 * term/gfxterm.c: Likewise.
24808 * video/bitmap.c: Likewise.
24809 * video/readers/jpeg.c: Likewise.
24810 * video/readers/png.c: Likewise.
24811 * video/readers/tga.c: Likewise.
24812 * video/video.c: Likewise.
24813 * util/grub-emu.c (read_command_list): Removed.
24814 (main): Don't call util_init_nls.
24815 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
24816 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
24817
91fdd2ed
VS
248182010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24819
24820 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
24821 date.mod, datehook.mod.
24822 (datetime_mod_SOURCES): New variable.
24823 (datetime_mod_CFLAGS): Likewise.
24824 (datetime_mod_LDFLAGS): Likewise.
24825 (date_mod_SOURCES): Likewise.
24826 (date_mod_CFLAGS): Likewise.
24827 (date_mod_LDFLAGS): Likewise.
24828 (datehook_mod_SOURCES): Likewise.
24829 (datehook_mod_CFLAGS): Likewise.
24830 (datehook_mod_LDFLAGS): Likewise.
24831 * conf/sparc64-ieee1275.rmk: Likewise.
24832 * lib/ieee1275/datetime.c: New file.
24833
873ccae6
VS
248342010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24835
24836 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
24837 (ieee1275_fb_mod_SOURCES): New variable.
24838 (ieee1275_fb_mod_CFLAGS): Likewise.
24839 (ieee1275_fb_mod_LDFLAGS): Likewise.
24840 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
24841 New proto.
24842 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
24843 (HEAP_MAX_ADDR): Likewise.
24844 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
24845 type.
24846 Correct stop condition.
24847 (grub_ieee1275_devices_iterate): New function.
24848 * video/ieee1275.c: New file.
24849
601c97c0
VS
248502010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24851
24852 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
24853
24854 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
24855 as scratch.
24856 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
24857 SCRATCH_PAD_DISKBOOT as scratch.
24858 (bootit): Pass Openfirmware pointer in %o4.
24859 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
24860 of 0x200000.
24861 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
24862 with util/grub-mkrawimage.c.
24863 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
24864 * include/grub/aout.h (AOUT_MID_SUN): New definition.
24865 (grub_aout_get_type) [GRUB_UTIL]: Removed.
24866 (grub_aout_load) [GRUB_UTIL]: Likewise.
24867 * include/grub/kernel.h (grub_modules_get_end): New proto.
24868 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
24869 (SCRATCH_PAD_BOOT): New definition.
24870 (SCRATCH_PAD_DISKBOOT): Likewise.
24871 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
24872 * include/grub/sparc64/ieee1275/ieee1275.h
24873 (grub_ieee1275_original_stack): New variable
24874 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24875 New definition
24876 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
24877 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
24878 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
24879 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
24880 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
24881 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
24882 (grub_platform_image_format_t): New type.
24883 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
24884 * kern/main.c (grub_modules_get_end)
24885 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
24886 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
24887 (codestart): Switch stacks.
24888 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
24889 variable.
24890 (grub_heap_init): Use grub_modules_get_end.
24891 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
24892 stack.
24893 * util/grub-mkrawimage.c (generate_image): Support sparc64.
24894 (main): Likewise.
24895 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
24896
d68b491e
TG
248972010-03-14 Thorsten Glaser <tg@mirbsd.org>
24898
24899 * util/grub-mkrescue.in: Base ISO UUID on UTC.
24900
4e02ed50
MK
249012010-03-08 Matt Kraai <kraai@ftbfs.org>
24902
24903 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
24904 bug #559005).
24905
1f15fc1e
VS
249062010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
24907
24908 * genmoddep.awk: Output all missing symbols and not only first.
24909
fce5d8ff
VS
249102010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24911
24912 * NEWS: Put the date of 1.98 release.
24913
d1e8a02f
VS
249142010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24915
24916 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
24917 ft2build.h.
24918
696fd607
VS
249192010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24920
24921 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
24922 completition in the middle of string.
24923
33e2e6f3
VS
249242010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24925
24926 * util/grub-mkrescue.in: Use mktemp with explicit template.
24927
b1f6d291
VS
249282010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24929
24930 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
24931
2ac227c7
VS
249322010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24933
24934 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
24935 right pointer.
24936
8f9a632b
VS
249372010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
24938
24939 Fix FreeBSD compilation.
24940
24941 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
24942 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
24943
60b03859
VS
249442010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
24945
24946 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
24947
48a5a769
VS
249482010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24949
24950 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
24951
3ab4bd77
VS
249522010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24953
24954 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
24955
d116e0d8
RM
249562010-03-04 Robert Millan <rmh.grub@aybabtu.com>
24957
24958 Support relative image path in theme file.
24959
24960 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
24961 (image_set_property): Handle theme_dir and relative path.
24962
c7ef54aa
VS
249632010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24964
24965 * configure.ac: Alias amd64 to x86_64.
24966
fcee14ed
VS
249672010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24968
24969 * NEWS: mention multiboot on EFI.
24970
d0780363
VS
249712010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24972
24973 * kern/main.c (grub_load_modules): Handle errors from init functions of
24974 embeded modules.
24975
41168ea4
VS
249762010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24977
24978 * normal/autofs.c (autoload_fs_module): Handle errors.
24979
b54d93ac
VS
249802010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24981
24982 Disable linux.mod on qemu-mips since it's not functional and leads
24983 to compilation failure.
24984
24985 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
24986 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
24987 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
24988 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
24989 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
24990 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
24991 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
24992 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
24993 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
24994 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
24995 Reported by: BVK Chaitanya
24996
fc8345da
JU
249972010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
24998
24999 * INSTALL: Add gettext as a dependency and add qemu to a new section
25000 "Prerequisites for make-check".
25001
4760f979
CF
250022010-03-04 Christian Franke <franke@computer.org>
25003
25004 * util/grub-pe2elf.c: Add missing include "progname.h".
25005
f209b5b2
VS
250062010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25007
25008 * normal/crypto.c (read_crypto_list): Fix a typo.
25009 Reported by: Seth Goldberg.
25010
b4b7be98
VS
250112010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25012
25013 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 25014 Reported by: Seth Goldberg.
b4b7be98 25015
c0ee0385
VS
250162010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25017
25018 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
25019 ascii.bitmaps.
25020
a8efbf64
VS
250212010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25022
25023 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 25024 Reported by: Seth Goldberg.
a8efbf64 25025
08dcd913
VS
250262010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25027
25028 * util/i386/efi/grub-install.in: Copy gettext files.
25029
c4d0b332
VS
250302010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25031
25032 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
25033
c6f2fe52
VS
250342010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25035
25036 Wait for user entry basing on presence of output rather than on errors.
25037
25038 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
25039 (grub_install_newline_hook): Likewise.
25040 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
25041 * normal/menu.c (show_menu): Check line_counter to determine presence
25042 of output.
25043 * normal/term.c (grub_normal_line_counter): New variable.
25044 (grub_normal_get_line_counter): New function.
25045 (grub_install_newline_hook): Likewise.
25046
5382b1e4
VS
250472010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25048
25049 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
25050
5519963b
VS
250512010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25052
25053 * configure.ac: Update version to 1.98.
25054
72b28631
VS
250552010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
25056
25057 * util/grub.d/10_linux.in (linux_entry): Don't default to
25058 gfxpayload=keep if Linux doesn't support video handover.
25059
c140a180
VS
250602010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
25061
25062 Don't compile video modules on yeeloong since video subsystem is part
25063 of kernel.
25064
25065 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
25066 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
25067 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
25068 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
25069 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
25070 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
25071 * include/grub/bitmap_scale.h: Likewise.
25072 * include/grub/bufio.h: Likewise.
25073 * include/grub/font.h: Likewise.
25074 * include/grub/gfxterm.h: Likewise.
25075 * include/grub/video.h: Likewise.
25076 * include/grub/vbe.h: Don't include video_fb.h.
25077 * video/i386/pc/vbe.c: Include video_fb.h.
25078 * commands/i386/pc/vbetest.c: Include video.h.
25079
a0ca21c2
CW
250802010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
25081
25082 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
25083 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
25084 default entry if GRUB_SAVEDEFAULT=true. This allows using
25085 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
25086 saving a new default on every boot.
25087
4a8a763c
VS
250882010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
25089
25090 * normal/crypto.c (read_crypto_list): Fix a memory leak.
25091 * normal/term.c (read_terminal_list): Likewise.
25092 * normal/main.c (grub_normal_init_page): Likewise.
25093 (grub_normal_read_line_real): Likewise.
25094
607ffde2
VS
250952010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
25096
25097 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
25098 memory leak.
25099 Reported by: Seth Goldberg.
25100
2b8fa975
CW
251012010-02-24 Joey Korkames <joey+lists@kidfixit.com>
25102
25103 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
25104 duplicate declaration of `start'.
25105
618307dd
VS
251062010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
25107
25108 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
25109 filename.
25110 Reported by: Georgy Buranov
25111
7dd05b96 251122010-02-20 Carles Pina i Estany <carles@pina.cat>
25113
25114 * util/grub-mkrawimage.c (usage): Change string formatting to
25115 improve gettext.
25116
d1484a42
MRA
251172010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
25118
25119 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
25120 backspace keys.
25121
42b1d186
VS
251222010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
25123
25124 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
25125 Reported by: Michael Suchanek.
25126
251272010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
25128
25129 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
25130 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
25131
d9f31a41
VS
251322010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
25133
25134 Remove any reference to non-free fonts.
25135
25136 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
25137 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
25138 uses non-free components.
25139 * font/font.c (grub_font_get_name): Remove example name.
25140 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
25141 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
25142 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
25143 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
25144
2793c71e
GB
251452010-02-16 Georgy Buranov <gburanov@gmail.com>
25146
25147 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
25148
402e3779
VS
251492010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
25150
25151 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
25152 Double divisor.
25153 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
25154 features.
25155 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
25156
0dd1e0dd
VS
251572010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
25158
25159 * gensymlist.sh.in: Use TARGET_CC instead of CC.
25160
6fa7cfce
ST
251612010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25162
25163 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
25164 * docs/grub.texi (Command-line and menu entry commands): Document play
25165 command.
25166
37c8483b
ST
251672010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25168
25169 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
25170 parse arguments as inline tempo and notes. Move code for playing notes
25171 to...
25172 (play): ... new function.
25173
14da0fb7
ST
251742010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25175
25176 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
25177 grub_uint16_t instead of short.
25178 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
25179 disk from little endian to cpu endianness.
25180
04459e70
ST
251812010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
25182
25183 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
25184 GRUB_TICKS_PER_SECOND instead of 120.
25185
a0876943
VS
251862010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25187
25188 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
25189 escape sequence after \e.
25190
e29f95dc
VS
251912010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25192
25193 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
25194 non-ASCII characters.
25195
d27859b2
VS
251962010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25197
25198 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
25199 set root in single quotes to prevent \, from being unescaped.
25200
bc028f2f
VS
252012010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25202
25203 Prevent unknown commands from stopping menuentry execution.
25204
25205 * script/execute.c (grub_script_execute_cmdline): Print error after
25206 unknown command.
25207
095f5f82
VS
252082010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25209
25210 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
25211 Reported by: Pavel Pisa.
25212
8c717950
VS
252132010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25214
25215 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
25216
904935c3
VS
252172010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25218
25219 Merge grub_ieee1275_map_physical into grub_map and rename to
25220 grub_ieee1275_map
25221
25222 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
25223 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
25224 Remove.
25225 * kern/ieee1275/openfw.c (grub_map): Rename to ...
25226 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
25227 necessary.
25228 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
25229
5b59a4e3
VS
252302010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25231
25232 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
25233 opening and not after.
25234
69e137e8
VS
252352010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25236
25237 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
25238 constants.
25239
2c0fcc36
VS
252402010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25241
25242 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
25243 (alloc_phys): Use ALIGN_UP instead of align_addr.
25244
8c6052ce
VS
252452010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25246
25247 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
25248
17cec782
VS
252492010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25250
25251 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
25252
e0128bbd
VS
252532010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25254
25255 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
25256 verbose dprintf.
25257
ca62070b
VS
252582010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25259
25260 Fix over-4GiB seek on sparc64.
25261
25262 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
25263 Replace pos_i and pos_lo with pos. All users updated.
25264 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
25265 New constant.
25266 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
25267 Likewise.
25268 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
25269 and pos_lo.
25270
bdca2607
VS
252712010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25272
25273 * util/grub-mkrawimage.c (main): Call set_program_name.
25274
da278c4d
VS
252752010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25276
25277 Properly align 64-bit targets.
25278
25279 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
25280 (generate_image): Use ALIGN_ADDR.
25281
b274d734
VS
252822010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25283
25284 Properly create cross-endian images.
25285
25286 * include/grub/types.h (grub_host_to_target_addr): New macro
25287 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
25288
82da2062
VS
252892010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25290
25291 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
25292
7cae4377
VS
252932010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
25294
25295 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
25296
25297 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
25298 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
25299 (grub_linux_boot): Divide by 64K when on VESA.
25300
65a533e7
VS
253012010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
25302
25303 Support GRUB_GFXPAYLOAD_LINUX.
25304
25305 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
25306 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
25307
dd01d397
VS
253082010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
25309
25310 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
25311 to show messages instead of discarding them.
25312 Process errors after executing command and not before. Keep old method
25313 too as precaution.
25314
660960d6
VS
253152010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
25316
25317 * configure.ac: Check for ft2build.h.
25318
62509f04
VS
253192010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25320
25321 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
25322
473df63d
VS
253232010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25324
25325 * genkernsyms.sh.in: Use TARGET_CC.
25326
c98d2a13
CW
253272010-02-07 Colin Watson <cjwatson@ubuntu.com>
25328
25329 * NEWS: Update.
25330
6e14234c
VS
253312010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25332
25333 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
25334 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
25335 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 25336
b255e9cf
YB
253372010-02-07 Yves Blusseau <blusseau@zetam.org>
25338
6e14234c 25339 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 25340
98e6959d
VS
253412010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25342
25343 Fix warnings in grub-emu when compiling with maximum warning options.
25344
25345 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
25346 (grub_arch_modules_addr): Return 0 and not NULL.
25347 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 25348 (xstrdup): Use newstr instead of dup.
f88d801b
VS
25349 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
25350 of disk to dsk to avoid shadowing.
74e4934e
VS
25351 (find_free_slot): Fix prototype.
25352 * util/getroot.c (grub_util_is_dmraid): Make static.
25353 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
25354 Add missing prototype.
25355 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 25356
74e31b5c
VS
253572010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25358
25359 * loader/i386/linux.c (grub_linux_setup_video): Handle error
25360 appropriately.
25361
6b2ad14b
VS
253622010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25363
25364 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
25365 code out.
25366
8f891adc
VS
253672010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25368
25369 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
25370 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
25371 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
25372 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
25373 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
25374 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
25375
74b45184
VS
253762010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25377
25378 * include/grub/err.h (grub_err_printf): Don't export.
25379
a4bced77
VS
253802010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25381
25382 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
25383
007d0695
VS
253842010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25385
25386 * include/grub/i18n.h (grub_gettext_dummy): Removed.
25387 * kern/misc.c (grub_gettext_dummy): Make static.
25388
b6c0d9c2
VS
253892010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25390
25391 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
25392 by non-valid ones.
25393 * kern/term.c (grub_putchar): Likewise.
25394
f51a90d0
VS
253952010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25396
25397 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
25398 buggy hook call and memory leak.
25399
6846cec5
VS
254002010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25401
25402 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
25403
468d69fe
VS
254042010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25405
25406 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
25407
51906b8c
VS
254082010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25409
25410 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
25411 modevar.
25412 Return grub_errno on allocation error.
25413
09706ce5
VS
254142010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25415
25416 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
25417
911df80c
YB
254182010-02-06 Yves Blusseau <blusseau@zetam.org>
25419
25420 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
25421 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
25422
3746a6bc
VS
254232010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25424
25425 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
25426 non-pxe disk.
25427 (grub_pxefs_open): Likewise.
25428
09706ce5
VS
254292010-02-06 Robert Millan <rmh.grub@aybabtu.com>
25430
25431 * util/grub.d/10_hurd.in: Add --class information to menuentries.
25432 * util/grub.d/10_kfreebsd.in: Likewise.
25433 * util/grub.d/10_linux.in: Likewise.
25434
7cc192d9
VS
254352010-02-06 Colin D Bennett <colin@gibibit.com>
25436
25437 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
25438 (gfxmenu_mod_SOURCES): New variable.
25439 (gfxmenu_mod_CFLAGS): Likewise.
25440 (gfxmenu_mod_LDFLAGS): Likewise.
25441 * include/grub/term.h (grub_term_set_current_output): Declare
25442 argument as const.
25443 * docs/gfxmenu-theme-example.txt: New file.
25444 * gfxmenu/gfxmenu.c: Likewise.
25445 * gfxmenu/gui_box.c: Likewise.
25446 * gfxmenu/gui_canvas.c: Likewise.
25447 * gfxmenu/gui_circular_progress.c: Likewise.
25448 * gfxmenu/gui_image.c: Likewise.
25449 * gfxmenu/gui_label.c: Likewise.
25450 * gfxmenu/gui_list.c: Likewise.
25451 * gfxmenu/gui_progress_bar.c: Likewise.
25452 * gfxmenu/gui_string_util.c: Likewise.
25453 * gfxmenu/gui_util.c: Likewise.
25454 * gfxmenu/icon_manager.c: Likewise.
25455 * gfxmenu/model.c: Likewise.
25456 * gfxmenu/named_colors.c: Likewise.
25457 * gfxmenu/theme_loader.c: Likewise.
25458 * gfxmenu/view.c: Likewise.
25459 * gfxmenu/widget-box.c: Likewise.
25460 * include/grub/gfxmenu_model.h: Likewise.
25461 * include/grub/gfxmenu_view.h: Likewise.
25462 * include/grub/gfxwidgets.h: Likewise.
25463 * include/grub/gui.h: Likewise.
25464 * include/grub/gui_string_util.h: Likewise.
25465 * include/grub/icon_manager.h: Likewise.
25466
254672010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25468
25469 Agglomerate scrolling in gfxterm.
25470
25471 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
25472 (grub_virtual_screen_setup): Initialise 'total_screen'.
25473 (write_char): Split to ...
25474 (paint_char): ... this ...
25475 (write_char): ... and this.
25476 (paint_char): Handle delayed scrolling.
25477 (draw_cursor): Likewise.
25478 (scroll_up): Split to ...
25479 (real_scroll): ... this ...
25480 (scroll_up): ... and this.
25481 (real_scroll): Handle multi-line scroll and draw below-the-bottom
25482 characters.
25483 (grub_gfxterm_refresh): Call real_scroll.
25484
254852010-02-06 Colin D Bennett <colin@gibibit.com>
25486
25487 * include/grub/misc.h (grub_iscntrl): New inline function.
25488 (grub_isalnum): Likewise.
25489 (grub_strtol): Likewise.
25490
254912010-02-06 Colin D Bennett <colin@gibibit.com>
25492
25493 * normal/menu_text.c (get_entry_number): Move from here ...
25494 * normal/menu.c (get_entry_number): ... moved here.
25495 * include/grub/menu.h (grub_menu_get_default_entry_index):
25496 New prototype.
25497 * normal/menu.c (grub_menu_get_default_entry_index): New function.
25498 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
25499 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
25500 (grub_menu_viewer_should_return): Likewise.
25501 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
25502 * normal/menu_text.c (run_menu): Enable menu switching.
25503 * normal/menu_viewer.c (should_return): New variable.
25504 (menu_viewer_changed): Likewise.
25505 (grub_menu_viewer_show_menu): Handle menu viewer changes.
25506 (grub_menu_viewer_should_return): New function.
25507 (menuviewer_write_hook): Likewise.
25508 (grub_menu_viewer_init): Likewise.
25509
255102010-02-06 Colin D Bennet <colin@gibibit.com>
255112010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25512
25513 Support for gfxterm in a window.
25514
25515 * include/grub/gfxterm.h: New file.
25516 * include/grub/video.h (struct grub_video_rect): New declaration.
25517 (grub_video_rect_t): Likewise.
25518 * term/gfxterm.c (struct grub_gfxterm_window): New type.
25519 (refcount): New variable.
25520 (render_target): Likewise.
25521 (window): Likewise.
25522 (repaint_callback): Likewise.
25523 (grub_virtual_screen_setup): Use 'render_target'.
25524 (init_window): New function.
25525 (grub_gfxterm_init_window): Likewise.
25526 (grub_gfxterm_init): Check reference counter.
25527 Use init_window.
25528 (destroy_window): New function.
25529 (grub_gfxterm_destroy_window): Likewise.
25530 (grub_gfxterm_fini): Check reference counter.
25531 Use destroy_window.
25532 (redraw_screen_rect): Restore viewport.
25533 Use 'render_target' and 'window'.
25534 Call 'repaint_callback'.
25535 (write_char): Use 'render_target'.
25536 (draw_cursor): Likewise.
25537 (scroll_up): Restore viewport.
25538 Use 'render_target' and 'window'.
25539 Call 'repaint_callback'.
25540 (grub_gfxterm_cls): Likewise.
25541 (grub_gfxterm_refresh): Use 'window'.
25542 (grub_gfxterm_set_repaint_callback): New function.
25543 (grub_gfxterm_background_image_cmd): Use 'window'.
25544 (grub_gfxterm_get_term): New function.
25545 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
25546
255472010-02-06 Colin D Bennett <colin@gibibit.com>
25548
25549 Bitmap scaling support.
25550
25551 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
25552 (bitmap_scale_mod_SOURCES): New variable.
25553 (bitmap_scale_mod_CFLAGS): Likewise.
25554 (bitmap_scale_mod_LDFLAGS): Likewise.
25555 * include/grub/bitmap_scale.h: New file.
25556 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
25557 (background_image_cmd_options): New variable.
25558 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
25559 (cmd): Rename and change type to ...
25560 (background_image_cmd_handle): ... this. All users updated.
25561 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
25562 * video/bitmap_scale.c: New file.
25563
255642010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25565
25566 SDL support.
25567
25568 * Makefile.in (LIBSDL): New variable.
25569 (enable_grub_emu_sdl): Likewise.
25570 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
25571 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
25572 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
25573 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
25574 * util/sdl.c: New file.
25575
255762010-02-06 Colin D Bennett <colin@gibibit.com>
255772010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25578
25579 Double buffering support.
25580
25581 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
25582 * include/grub/video.h: Update comment.
25583 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
25584 New type.
25585 (grub_video_fb_doublebuf_blit_init): New prototype.
25586 * term/gfxterm.c (scroll_up): Support double buffering.
25587 (grub_gfxterm_refresh): Likewise.
25588 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
25589 (grub_video_fb_doublebuf_blit_init): Likewise.
25590 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
25591 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
25592 'displayed_page', 'render_page' and 'update_screen'.
25593 (grub_video_vbe_fini): Free offscreen buffer.
25594 (doublebuf_pageflipping_commit): New function.
25595 (doublebuf_pageflipping_update_screen): Likewise.
25596 (doublebuf_pageflipping_init): Likewise.
25597 (double_buffering_init): Likewise.
25598 (grub_video_vbe_setup): Enable doublebuffering.
25599 (grub_video_vbe_swap_buffers): Implement.
25600 (grub_video_vbe_set_active_render_target): Handle double buffering.
25601 (grub_video_vbe_get_active_render_target): Likewise.
25602 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
25603 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
25604 (grub_video_vbe_enable_double_buffering): Likewise.
25605 (grub_video_vbe_swap_buffers): Use update_screen.
25606 (grub_video_set_mode): Use double buffering.
25607
256082010-02-06 Robert Millan <rmh.grub@aybabtu.com>
25609
25610 * maintainance/gentrigtables.py: Remove.
25611 * lib/trig.c: Likewise.
25612
25613 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
25614
25615 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
25616 `trigtables.c'.
25617 (trigtables.c): New rule.
25618 (gentrigtables): Likewise.
25619 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
25620
256212010-02-06 Robert Millan <rmh.grub@aybabtu.com>
25622
25623 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
25624 integer constants.
25625
256262010-02-06 Colin D Bennet <colin@gibibit.com>
25627
25628 Trigonometry support.
25629
25630 * include/grub/trig.h: New file.
25631 * lib/trig.c: Likewise.
25632 * maintainance/gentrigtables.py: Likewise.
25633 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
25634 (trig_mod_SOURCES): New variable.
25635 (trig_mod_CFLAGS): Likewise.
25636 (trig_mod_LDFLAGS): Likewise.
25637
5562834e
VS
256382010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25639
25640 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
25641 disk devices.
25642
4f8528fc
VS
256432010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25644
25645 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
25646 error.
25647
2b4068e9
VS
256482010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
25649
25650 * util/hostdisk.c (open_device): Don't use partition device when reading
25651 before the partition.
25652 (grub_util_biosdisk_read): Don't read from partition and before the
25653 partition in single operation.
25654 (grub_util_biosdisk_write): Don't write to partition and before the
25655 partition in single operation.
25656
399f6e4d
TL
256572010-02-03 Torsten Landschoff <torsten@debian.org>
25658
25659 * kern/disk.c (grub_disk_read): Fix offset computation when reading
25660 last sectors.
25661
996649b0
VS
256622010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
25663
25664 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
25665 CDROM reads.
25666 (grub_biosdisk_write): Refuse to write to CDROM.
25667
3b205d4d
VS
256682010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
25669
25670 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
25671
61e89d9d
VS
256722010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
25673
25674 * font/font.c (find_glyph): Check that bmp_idx is available before
25675 using it.
25676 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
25677 with (font == NULL).
25678
bf7fcba2
CS
256792010-01-28 Christian Schmitt <chris@ilovelinux.de>
25680
25681 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
25682
f45d2663
BC
256832010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
25684
25685 * include/grub/script_sh.h (sourcecode): Add const qualifier.
25686 * util/grub-script-check.c (getline): Fix empty lines case.
25687
ec1444e6
RM
256882010-01-28 Robert Millan <rmh.grub@aybabtu.com>
25689
25690 * Makefile.in (check): Exit with fail status when one of the tests
25691 fails.
25692 * tests/example_functional_test.c (example_test): Fix reversed assert.
25693 * tests/example_unit_test.c (example_test): Likewise.
25694
2e1cb9bb
CW
256952010-01-28 Colin Watson <cjwatson@ubuntu.com>
25696
25697 * util/grub.d/10_linux.in: This script does not use any of the
25698 contents of gettext.sh, only the external command `gettext', so stop
25699 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
25700 the same prefix as GRUB.)
25701 * util/grub.d/10_kfreebsd.in: Likewise.
25702
63533ab0
VS
257032010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25704
25705 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
25706 of the line.
25707
989e1f93
VS
257082010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25709
25710 * kern/disk.c (grub_disk_read): Fix offset computation when reading
25711 last sectors.
25712
e709ebe2
VS
257132010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25714
25715 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
25716 having a 4KiB and not 32KiB buffer size.
25717
27dea7ed
RM
257182010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25719
25720 * util/hostfs.c: Include `<errno.h>'.
25721 (grub_hostfs_read): Handle errors from fseeko() and fread().
25722
67667b9c
RM
257232010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25724
25725 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
25726 loop when using read hooks on files whose size isn't sector-aligned.
25727
c294d9d8
RM
257282010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25729
25730 Remove unused parameter.
25731
25732 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
25733 (grub_iso9660_open): Remove initialization of `data->length'.
25734
af75a9f1
RM
257352010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25736
25737 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
25738 memleak conditions.
25739
254e2ce5 257402010-01-27 Carles Pina i Estany <carles@pina.cat>
25741
25742 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
25743 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
25744
b510928c 257452010-01-26 Carles Pina i Estany <carles@pina.cat>
25746
25747 * util/bin2h.c (usage): Fix warning (space after backslash).
25748
aa2f9dd2 257492010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 25750
25751 * font/font.c: Include `grub/fontformat.h.
25752 Remove font file format constants.
25753 (grub_font_load): Use the new macros.
25754 * include/grub/fontformat.h: New file.
25755 * util/grub-mkfont.c: Include `grub/fontformat.c'.
25756 (write_font_pf2): Use the new macros.
25757
94e7e712
RM
257582010-01-26 Robert Millan <rmh.grub@aybabtu.com>
25759
25760 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
25761 does.
25762
3973a59a
RM
257632010-01-26 Robert Millan <rmh.grub@aybabtu.com>
25764
25765 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
25766
25767 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
25768 (_start): Macroify `0x7F'.
25769
25770 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
25771 (make_install_device): Use "(pxe)" as fallback prefix when booting
25772 via PXE.
25773
42e0cba3
GS
257742010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
25775
25776 * configure.ac: Reset LIBS after check for libgcc symbols.
25777
847effd8
CW
257782010-01-25 Colin Watson <cjwatson@ubuntu.com>
25779
25780 * util/hostdisk.c (open_device): Add trailing newline to debug
25781 message.
25782
ea4a7e35
GS
257832010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
25784
25785 * configure.ac: Check for `limits.h'.
25786 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
25787
67951a53
RM
257882010-01-24 Robert Millan <rmh.grub@aybabtu.com>
25789
25790 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
25791 capitalize error strings.
25792
c273d4ce
ST
257932010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
25794
25795 * util/grub.d/10_hurd.in: Add a recovery mode.
25796
69be5b74
VS
257972010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
25798
25799 * configure.ac: Check for libgcc symbols with -nostdlib.
25800
fc9e5810
BC
258012010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
25802
25803 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
25804
4b358c0a
VS
258052010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25806
25807 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
25808 stack since heap may be unavailable at that point.
25809 (grub_ofconsole_gotoxy): Likewise.
25810
454fcd1c
VS
258112010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25812
25813 * configure.ac: Check for _restgpr_14_x.
25814 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
25815 and _savegpr_* prototypes.
25816
566863ca
RM
258172010-01-22 Robert Millan <rmh.grub@aybabtu.com>
25818
25819 Use generic grub_reboot() for i386-efi.
25820
25821 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
25822 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
25823 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
25824
bf86e59a
VS
258252010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25826
25827 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
25828 presence of "prefix" variable as it breaks when normal.mod is
25829 embedded.
25830
d645e0f8
VS
258312010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25832
25833 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
25834 stack since heap is unavailable at that point.
25835
f9ab2e25
VS
258362010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25837
25838 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
25839 (grub_freebsd_bootinfo): Rewritten.
25840 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
25841
01fc7054
VS
258422010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25843
25844 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
25845
caab4fd6
RM
258462010-01-21 Robert Millan <rmh.grub@aybabtu.com>
25847
25848 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
25849 domain now.
25850
67eb1427
FZ
258512010-01-20 Felix Zielcke <fzielcke@z-51.de>
25852
25853 * util/misc.c (make_system_path_relative_to_its_root): Change the work
25854 around for handling "/" to the correct fix. Fix a memory leak. Use
25855 xstrdup instead of strdup.
25856
a9ed4ff3
VS
258572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25858
25859 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
25860
258612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
25862
25863 Optimise glyph lookup by Basic Multilingual Plane lookup array.
25864
25865 * font/font.c (struct grub_font): New member 'bmp_idx'.
25866 (font_init): Initialise 'bmp_idx'.
25867 (load_font_index): Fill 'bmp_idx'.
25868 (find_glyph): Make inline. Use bmp_idx for BMP characters.
25869
48209f4f
VS
258702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25871
25872 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
25873 unnecessary calls.
25874
9f0a4bb7
VS
258752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25876
25877 Move context handling out of the kernel.
25878
25879 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
25880 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
25881 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
25882 * conf/i386-efi.rmk: Likewise.
25883 * conf/i386-ieee1275.rmk: Likewise.
25884 * conf/i386-pc.rmk: Likewise.
25885 * conf/powerpc-ieee1275.rmk: Likewise.
25886 * conf/sparc64-ieee1275.rmk: Likewise.
25887 * conf/x86_64-efi.rmk: Likewise.
25888 * include/grub/env.h: Include grub/menu.h.
25889 (grub_env_var_type): Removed.
25890 (grub_env_var): Replaced field 'type' with 'global'.
25891 (grub_env_find): New prototype.
25892 (grub_env_context_open): Remove EXPORT_FUNC.
25893 (grub_env_context_close): Likewise.
25894 (grub_env_export): Likewise.
25895 (grub_env_set_data_slot): Removed.
25896 (grub_env_get_data_slot): Likewise.
25897 (grub_env_unset_data_slot): Likewise.
25898 (grub_env_unset_menu): New prototype.
25899 (grub_env_set_menu): Likewise.
25900 (grub_env_get_menu): Likewise.
25901 * include/grub/env_private.h: New file.
25902 * include/grub/normal.h (grub_context_init): New prototype.
25903 (grub_context_fini): Likewise.
25904 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
25905 * normal/context.c (grub_cmd_export): ... to here.
25906 * kern/env.c: Include env_private.h.
25907 (HASHSZ): Moved to include/grub/env_private.h.
25908 (grub_env_context): Likewise.
25909 (grub_env_sorted_var): Likewise.
25910 (current_context): Renamed from this ...
25911 (grub_current_context): ...to this. 'static' removed. All users updated.
25912 (grub_env_find): Removed 'static'.
25913 (grub_env_context_open): Moved to normal/context.c.
25914 (grub_env_context_close): Likewise.
25915 (grub_env_export): Likewise.
25916 (mangle_data_slot_name): Removed.
25917 (grub_env_set_data_slot): Likewise.
25918 (grub_env_get_data_slot): Likewise.
25919 (grub_env_unset_data_slot): Likewise.
25920 * kern/main.c (grub_set_root_dev): Don't export root.
25921 It will be done later.
25922 (grub_main): Don't export prefix.
25923 It will be done later.
25924 * normal/context.c: New file.
25925 * normal/main.c (free_menu): Use grub_env_unset_menu.
25926 (grub_normal_add_menu_entry): Use grub_env_get_menu.
25927 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
25928 (GRUB_MOD_INIT(normal)): Call grub_context_init.
25929 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
25930
8dd35b8c
VS
259312010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25932
25933 setpci support.
25934
25935 * commands/setpci.c: New file.
25936 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
25937 (setpci_mod_SOURCES): New variable.
25938 (setpci_mod_CFLAGS): Likewise.
25939 (setpci_mod_LDFLAGS): Likewise.
25940
449193d5
VS
259412010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25942
25943 Byte-addressable PCI configuration space.
25944
25945 * bus/pci.c (grub_pci_make_address): Use byte address instead of
25946 dword address.
25947 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
25948 GRUB_PCI_REG_CACHELINE.
25949 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
25950 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
25951 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
25952 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
25953 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
25954 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
25955 grub_pci_make_address.
25956 (lock_rom_area): Likewise.
25957 * commands/lspci.c (grub_lspci_iter): Use macroses
25958 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
25959 of grub_pci_make_address.
25960 * disk/ata.c (grub_ata_pciinit): Likewise.
25961 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
25962 (GRUB_PCI_REG_VENDOR): Likewise.
25963 (GRUB_PCI_REG_DEVICE): Likewise.
25964 (GRUB_PCI_REG_COMMAND): Likewise.
25965 (GRUB_PCI_REG_STATUS): Likewise.
25966 (GRUB_PCI_REG_REVISION): Likewise.
25967 (GRUB_PCI_REG_CLASS): Likewise.
25968 (GRUB_PCI_REG_CACHELINE): Likewise.
25969 (GRUB_PCI_REG_LAT_TIMER): Likewise.
25970 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
25971 (GRUB_PCI_REG_BIST): Likewise.
25972 (GRUB_PCI_REG_ADDRESSES): Likewise.
25973 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25974 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25975 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25976 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25977 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25978 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25979 (GRUB_PCI_REG_CIS_POINTER): Likewise.
25980 (GRUB_PCI_REG_SUBVENDOR): Likewise.
25981 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
25982 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
25983 (GRUB_PCI_REG_CAP_POINTER): Likewise.
25984 (GRUB_PCI_REG_IRQ_LINE): Likewise.
25985 (GRUB_PCI_REG_IRQ_PIN): Likewise.
25986 (GRUB_PCI_REG_MIN_GNT): Likewise.
25987 (GRUB_PCI_REG_MAX_LAT): Likewise.
25988 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
25989 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
25990 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 25991 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
25992 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
25993 space.
25994
96d73208
RM
259952010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25996
25997 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
25998 can be reliably determined to be supported.
25999
d4484482
RM
260002010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26001
26002 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
26003 that VESA is supported.
26004 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
26005 supported.
26006
00308ecf
VS
260072010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26008
26009 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
26010
f66924a4
RM
260112010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26012
26013 * util/misc.c (make_system_path_relative_to_its_root): Work around
26014 special-casing of "/", as previous incarnation of this routine did.
26015
cbca0ada
VS
260162010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26017
26018 Fix any-emu compilation.
26019
26020 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
26021 * grub_bin2h_SOURCES: New variable.
26022
34a66d99
RM
260232010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26024
26025 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
26026
94fabf58
RM
260272010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26028
26029 * util/grub.d/00_header.in: Fix handling of locale_dir.
26030
02cf98ca
VS
260312010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26032
26033 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
26034 as possible unifont location (Gentoo).
26035 Reported by: Alexander Brüning
26036
327dbcd7
VS
260372010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26038
26039 Don't try to generate lists for kernel.img.
26040
26041 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
26042 (pkglib_MODULES): Remove kernel.img.
26043 (kernel_img_EXPORTS): Removed.
26044 (kernel_img_RELOCATABLE): New variable.
26045 * conf/x86_64-efi.rmk: Likewise.
26046 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
26047
ca467290
VS
260482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26049
26050 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
26051 grub_xasprintf or grub_snprintf.
26052 (grub_vsprintf): Likewise.
26053 (grub_snprintf): New proto.
26054 (grub_vsnprintf): Likewise.
26055 (grub_xasprintf): Likewise.
26056 (grub_xvasprintf): Likewise.
26057 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
26058 (grub_sprintf): Removed.
26059 (grub_vsnprintf): New function.
26060 (grub_snprintf): Likewise.
26061 (grub_xvasprintf): Likewise.
26062 (grub_xasprintf): Likewise.
26063 (grub_vsprintf): Renamed to ...
26064 (grub_vsnprintf_real): ...this. New argument max_len.
26065
aca655fd
BC
260662010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
26067
26068 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
26069 fix grub-script-check warning.
26070
7ee92c32
VS
260712010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26072
26073 * include/grub/font.h (grub_font_load): Fix prototype.
26074
f80927ca
VS
260752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26076
26077 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
26078
119c50ea
VS
260792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26080
26081 * include/grub/x86_64/at_keyboard.h: New file.
26082
47d5f3c1
VS
260832010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26084
26085 * loader/mips/linux.c: Include missing grub/i18n.h.
26086
55ff5266
RM
260872009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26088
26089 * normal/menu.c (notify_execution_failure): Clarify error message.
26090
c893cc87
RM
260912009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26092
26093 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
26094 return value (and revert all return statements). Update users.
26095
917dd370
CW
260962010-01-20 Dan Merillat <debian@dan.merillat.org>
26097
26098 * kern/device.c (grub_device_iterate): Allocate new part_ent
26099 structure based on sizeof (*p) rather than sizeof (p->next), to
26100 account for structure padding.
26101
26102 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
26103 disk is NULL, which might happen for LVM physical volumes with no
26104 LVM signature.
26105
d4a4ee57
RM
261062009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26107
26108 * loader/mips/linux.c (grub_cmd_initrd)
26109 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
26110
261112009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26112
26113 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
26114 (grub_video_video_init, grub_video_bitmap_init)
26115 (grub_font_manager_init, grub_term_gfxterm_init)
26116 (grub_at_keyboard_init): New extern declarations.
26117 (grub_machine_init): Initialize gfxterm and at_keyboard.
26118
26119 * kern/main.c (grub_main): Revert grub_printf delay kludge.
26120
26121 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
26122 `gfxterm.mod' into core image.
26123
26124 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
26125 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26126 (kernel_img_FORMAT): Copy to ...
26127
26128 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
26129 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26130 (kernel_img_FORMAT): ... here, and ...
26131
26132 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
26133 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26134 (kernel_img_FORMAT): ... here.
26135
26136 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
26137 and input (at_keyboard) terminals in kernel.
26138 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
26139
26140 (pkglib_MODULES): Remove `pci.mod'.
26141 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
26142 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
26143 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
26144 (at_keyboard_mod_LDFLAGS): Remove variables.
26145
261462010-01-11 Felix Zielcke <fzielcke@z-51.de>
26147
26148 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
26149
261502009-12-10 Robert Millan <rmh.grub@aybabtu.com>
26151
26152 * include/grub/mips/libgcc.h: Only export symbols for functions
26153 that libgcc provides.
26154
261552009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
26156
26157 MIPS support.
26158
26159 * bus/bonito.c: New file.
26160 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
26161 GRUB_PCI_NUM_DEVICES.
26162 * term/i386/pc/serial.c: Move to ...
26163 * term/serial.c: ... here. All users updated.
26164 * util/i386/pc/grub-mkimage.c: Move to ...
26165 * util/grub-mkrawimage.c: ... here. All users updated.
26166 * term/i386/pc/at_keyboard.c: Move to ...
26167 * term/at_keyboard.c: ... here. All users updated.
26168 * conf/mips-qemu-mips.rmk: New file.
26169 * conf/mips-yeeloong.rmk: Likewise.
26170 * conf/mips.rmk: Likewise.
26171 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
26172 mipsel-qemu-mips.
26173 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
26174 to port addresses.
26175 (grub_ata_pciinit): Support CS5536.
26176 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
26177 * font/font_cmd.c (loadfont_command): Open file before passing it to
26178 grub_font_load.
26179 (pseudo_file_read): New function.
26180 (pseudo_file_close): Likewise.
26181 (pseudo_fs): New structure.
26182 (load_font_module): New function.
26183 (GRUB_MOD_INIT(font_manager)): Load embedded font.
26184 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
26185 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
26186 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
26187 * include/grub/i386/at_keyboard.h: Split into ...
26188 * include/grub/at_keyboard.h: ... this ...
26189 * include/grub/i386/at_keyboard.h: ... and this.
26190 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
26191 New prototype.
26192 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
26193 updated.
26194 (grub_elf64_size): Likewise.
26195 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
26196 filename.
26197 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
26198 * include/grub/i386/coreboot/serial.h: Rewritten.
26199 * include/grub/i386/ieee1275/serial.h: Include
26200 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
26201 * include/grub/i386/pc/serial.h: Moved from here ...
26202 * include/grub/serial.h: ... to here. All users updated.
26203 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
26204 (GRUB_PCI_NUM_BUS): Likewise.
26205 (GRUB_PCI_NUM_DEVICES): Likewise.
26206 (grub_pci_device_map_range): Add missing volatile keyword.
26207 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
26208 * include/grub/mips/at_keyboard.h: New file.
26209 * include/grub/mips/cache.h: Likewise.
26210 * include/grub/mips/io.h: Likewise.
26211 * include/grub/mips/kernel.h: Likewise.
26212 * include/grub/mips/libgcc.h: Likewise.
26213 * include/grub/mips/pci.h: Likewise.
26214 * include/grub/mips/qemu-mips/boot.h: Likewise.
26215 * include/grub/mips/qemu-mips/kernel.h: Likewise.
26216 * include/grub/mips/qemu-mips/loader.h: Likewise.
26217 * include/grub/mips/qemu-mips/memory.h: Likewise.
26218 * include/grub/mips/qemu-mips/serial.h: Likewise.
26219 * include/grub/mips/qemu-mips/time.h: Likewise.
26220 * include/grub/mips/relocator.h: Likewise.
26221 * include/grub/mips/time.h: Likewise.
26222 * include/grub/mips/types.h: Likewise.
26223 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
26224 * include/grub/mips/yeeloong/boot.h: Likewise.
26225 * include/grub/mips/yeeloong/kernel.h: Likewise.
26226 * include/grub/mips/yeeloong/loader.h: Likewise.
26227 * include/grub/mips/yeeloong/memory.h: Likewise.
26228 * include/grub/mips/yeeloong/pci.h: Likewise.
26229 * include/grub/mips/yeeloong/serial.h: Likewise.
26230 * include/grub/mips/yeeloong/time.h: Likewise.
26231 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
26232 * kern/elf.c (grub_elf32_size): New parameter. All users
26233 updated.
26234 (grub_elf64_size): Likewise.
26235 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
26236 Load modules before saying "Welcome to GRUB!".
26237 Call grub_refresh after saying "Welcome to GRUB!".
26238 * kern/mips/cache.S: New file.
26239 * kern/mips/cache_flush.S: Likewise.
26240 * kern/mips/dl.c: Likewise.
26241 * kern/mips/init.c: Likewise.
26242 * kern/mips/qemu-mips/init.c: Likewise.
26243 * kern/mips/startup.S: Likewise.
26244 * kern/mips/yeeloong/init.c: Likewise.
26245 * kern/term.c (grub_putcode): Handle NULL terminal.
26246 (grub_getcharwidth): Likewise.
26247 (grub_getkey): Likewise.
26248 (grub_checkkey): Likewise.
26249 (grub_getkeystatus): Likewise.
26250 (grub_getxy): Likewise.
26251 (grub_getwh): Likewise.
26252 (grub_gotoxy): Likewise.
26253 (grub_cls): Likewise.
26254 (grub_setcolorstate): Likewise.
26255 (grub_setcolor): Likewise.
26256 (grub_getcolor): Likewise.
26257 (grub_refresh): Likewise.
26258 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
26259 (write_jump): Add hatch nop.
26260 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
26261 * lib/mips/setjmp.S: New file.
26262 * loader/mips/linux.c: Likewise.
26263 * term/i386/pc/at_keyboard.c: Move from here ...
26264 * term/at_keyboard.c: ... to here.
26265 * term/i386/pc/serial.c: Moved from here ...
26266 * term/serial.c: ... to here. All users updated.
26267 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
26268 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
26269 (serial_translate_key_sequence): Avoid deadlock.
26270 (grub_serial_getkey): Handle backspace.
26271 (grub_serial_putchar): Fix newline handling.
26272 * util/i386/pc/grub-mkimage.c: Move from here ...
26273 * util/grub-mkrawimage.c: ... to here. All users updated.
26274 (generate_image): New parameters 'font_path' and 'format'.
26275 Support embedding font.
26276 Use grub_host_to_target* instead of grub_cpu_to_le*.
26277 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
26278 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
26279 (options): New option "--font".
26280 (usage): Likewise.
26281 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
26282 (main): Handle "--font".
26283 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
26284 (grub_virtual_screen_setup): Set bg_color_display.
26285 (redraw_screen_rect): Use bg_color_display instead of incorrect
26286 bg_color.
26287 (grub_gfxterm_cls): Likewise.
26288 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
26289 Support embedding config file.
26290 (add_segments): Likewise.
26291 (options): New option "--config".
26292 (main): Handle "--config".
26293 * video/sm712.c: New file.
26294
25c2b5b3
RM
262952010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26296
26297 Fix parallel builds.
26298
26299 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
26300 font.c depend on ascii.h).
26301
263022010-01-12 Carles Pina i Estany <carles@pina.cat>
26303
26304 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
26305
263062010-01-11 Carles Pina i Estany <carles@pina.cat>
26307
26308 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
26309 By default: disabled.
26310 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
26311 parameter.
26312
263132010-01-10 Carles Pina i Estany <carles@pina.cat>
26314
26315 * font/font.c: Update copyright years.
26316 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
26317
263182010-01-10 Carles Pina i Estany <carles@pina.cat>
26319
26320 * font/font.c: Include `ascii.h'.
26321 (ASCII_BITMAP_SIZE): New macro.
26322 (ascii_font_glyph): Define.
26323 (ascii_glyph_lookup): New function.
26324 (grub_font_get_string_width): Change comment. If glyph not found, use
26325 ascii_glyph_lookup.
26326 (grub_font_get_glyph_with_fallback): If glyph not available returns
26327 ascii_glyph_lookup.
26328 * util/grub-mkfont.c (file_formats): New enum.
26329 (options): Add `ascii-bitmaps' new option.
26330 (usage): Add `asii-bitmaps' new option.
26331 (write_font_ascii_bitmap): New function.
26332 (write_font): Rename to ...
26333 (write_font_p2): ... this. Remove print_glyphs call.
26334 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
26335 used. Call print_glyphs.
26336 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
26337
263382010-01-14 Robert Millan <rmh.grub@aybabtu.com>
26339
26340 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
26341 (grub_bin2h_SOURCES): New variable.
26342 * util/bin2h.c: New file.
26343
915fc1b8
VS
263442010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26345
26346 * include/multiboot.h: Resynced with spec.
26347 * include/multiboot2.h: Likewise.
26348 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
26349 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
26350
9444b678
RM
263512010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26352
26353 * include/grub/term.h (grub_term_register_input,
26354 grub_term_register_output): Check return of terminal init()
26355 routines, and abort if errors are raised.
26356
26357 * commands/terminal.c: Update copyright year.
26358
cba98e8d
RM
263592010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26360
26361 * commands/terminal.c (grub_cmd_terminal_input)
26362 (grub_cmd_terminal_output): Check return of terminal init()
26363 routines, and abort if errors are raised.
26364
6f7db5d6
VS
263652010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
26366
26367 * include/grub/i386/bsd.h: Fix include pathes.
26368
262bff8d
VS
263692010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
26370
26371 Add missing *BSD copyright headers.
26372
26373 * include/grub/aout.h: Add BSD licence.
26374 * include/grub/i386/bsd.h: Parts under different licences moved to ...
26375 * include/grub/i386/freebsd_linker.h: ... here,
26376 * include/grub/i386/freebsd_reboot.h: ... here,
26377 * include/grub/i386/netbsd_bootinfo.h: ... here,
26378 * include/grub/i386/netbsd_reboot.h: ... here,
26379 * include/grub/i386/openbsd_bootarg.h: ... here,
26380 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
26381 licence to each file.
26382
b2cab848
RM
263832010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26384
26385 * acinclude.m4: Remove `nop' assembly instruction; it's not
26386 implemented by all architectures.
26387
2cb6be4b
RM
263882010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26389
26390 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
26391 ELILO. This is no longer necessary.
26392
a2eaee15
BC
263932010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
26394
26395 Added new tool, grub-scrit-check to verify grub.cfg syntax.
26396
26397 * util/grub-script-check.c: grub-script-check tool.
26398 * conf/common.rmk: Make rules for grub-script-check.
26399
88d17012
RM
264002010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26401
26402 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
26403 spotting it back in 2008. Shame on me for forgetting he did.
26404
26405 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
26406
8040619d
RM
264072010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26408
26409 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
26410 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
26411 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
26412 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
26413 (GRUB_VIDEO_TYPE_EFI): Rename to ...
26414 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
26415
a0c2a0f6
RM
264162010-01-17 Robert Millan <rmh.grub@aybabtu.com>
26417
26418 * include/grub/test.h: Add license header.
26419 * tests/example_functional_test.c: Likewise.
26420 * tests/example_unit_test.c: Likewise.
26421 * tests/lib/functional_test.c: Likewise.
26422 * tests/lib/test.c: Likewise.
26423 * tests/lib/unit_test.c: Likewise.
26424
b0b13907
VS
264252010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
26426
26427 Use flag-based instead of hook-based video mode selection and "auto"
26428 keyword.
26429
26430 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
26431 (grub_video_set_mode): Changed prototype. All users updated.
26432 (grub_video_check_mode_flag): New inline function.
26433 * video/video.c (parse_modespec): New function.
26434 (grub_video_set_mode): Parse flags and keywords.
26435
ea379330 264362010-01-17 Carles Pina i Estany <carles@pina.cat>
26437
26438 * util/misc.c (grub_util_info): Fix the order of the parameters in a
26439 fprintf call.
26440
e15c215e
FZ
264412010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
26442
26443 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
26444
409ae1c9 264452010-01-16 Carles Pina i Estany <carles@pina.cat>
26446
26447 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
26448 string.
26449 * util/grub-emu.c (usage): Likewise.
26450 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
26451 * util/i386/efi/grub-mkimage.c (usage): Likewise.
26452 * util/i386/pc/grub-mkimage.c (usage): Likewise.
26453 * util/i386/pc/grub-setup.c (usage): Likewise.
26454
70a14d3d 264552010-01-16 Carles Pina i Estany <carles@pina.cat>
26456
26457 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
26458 the message.
26459 (grub_util_info): Likewise.
26460 (grub_util_error): Likewise.
26461 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
26462 and/or new lines in `grub_util_warna', `grub_util_info',
26463 `grub_util_error' calls.
26464 * util/getroot.c: Likewise.
26465 * util/grub-editenv.c: Likewise.
26466 * util/grub-emu.c: Likewise.
26467 * util/grub-fstest.c: Likewise.
26468 * util/grub-mkdevicemap.c: Likewise.
26469 * util/grub-mkfont.c: Likewise.
26470 * util/grub-mkpasswd-pbkdf2.c: Likewise.
26471 * util/grub-mkrelpath.c: Likewise.
26472 * util/grub-pe2elf.c: Likewise.
26473 * util/grub-probe.c: Likewise.
26474 * util/hostdisk.c: Likewise.
26475 * util/i386/efi/grub-mkimage.c: Likewise.
26476 * util/i386/pc/grub-mkimage.c: Likewise.
26477 * util/i386/pc/grub-setup.c: Likewise.
26478 * util/ieee1275/ofpath.c: Likewise.
26479 * util/mkisofs/eltorito.c: Likewise.
26480 * util/mkisofs/rock.c: Likewise.
26481 * util/mkisofs/write.c: Likewise.
26482 * util/raid.c: Likewise.
26483 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
26484 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26485
a0b766fc
VS
264862010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26487
26488 Enable multiboot on non-pc.
26489
26490 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
26491 multiboot.mod and multiboot2.mod to ...
26492 * conf/i386.rmk (pkglib_MODULES): ... here.
26493 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
26494 Moved to ...
26495 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
26496 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
26497 Moved to ...
26498 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
26499 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
26500 Moved to ...
26501 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
26502 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
26503 Moved to ...
26504 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
26505 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
26506 relocator.mod.
26507 (ata_mod_SOURCES): Removed.
26508 (ata_mod_CFLAGS): Likewise.
26509 (ata_mod_LDFLAGS): Likewise.
26510 (relocator_mod_SOURCES): Removed.
26511 (relocator_mod_CFLAGS): Likewise.
26512 (relocator_mod_ASFLAGS): Likewise.
26513 (relocator_mod_LDFLAGS): Likewise.
26514 Include i386.mk.
26515 * include/grub/x86_64/multiboot.h: New file.
26516 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
26517 Terminate EFI.
26518
884ade56
VS
265192010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26520
26521 Video multiboot support.
26522
26523 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
26524 New prototype.
26525 * include/multiboot.h: Resynced with multiboot specification.
26526 * include/multiboot2.h: Likewise.
26527 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
26528 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
26529 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
26530 (HAS_VGA_TEXT): Likewise.
26531 (accepts_video): New variable.
26532 (grub_multiboot_set_accepts_video): New function.
26533 (grub_multiboot_get_mbi_size): Account for video structures.
26534 (set_video_mode): New function.
26535 (retrieve_video_parameters): Likewise.
26536 (grub_multiboot_make_mbi): Fill video fields.
26537
0d90e8a6
VS
265382010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26539
26540 Video driver ids.
26541
26542 * include/grub/video.h (grub_video_driver_id): New type.
26543 (grub_video_adapter): New member 'id'. All users updated.
26544 (grub_video_get_driver_id): New proto.
26545 * video/video.c (grub_video_get_driver_id): New function.
26546
5c71db1b 265472010-01-14 Carles Pina i Estany <carles@pina.cat>
26548
26549 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
26550 `var=val'.
26551
cca15b52 265522010-01-14 Carles Pina i Estany <carles@pina.cat>
26553
26554 * normal/cmdline.c (print_completion): Gettextizze.
26555
c586fbb2 265562001-01-14 Carles Pina i Estany <carles@pina.cat>
26557
26558 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
26559
ba2f6848 265602010-01-14 Carles Pina i Estany <carles@pina.cat>
26561
26562 * gettext/gettext.c (grub_gettext_translate): Push and pop
26563 grub_errno.
26564 (grub_gettext_delete_list): Change comment style.
26565 * kern/err.c (grub_error): Gettextizze.
26566 (grub_fatal): Gettextizze.
26567
0a46429a
RM
265682010-01-14 Robert Millan <rmh.grub@aybabtu.com>
26569
26570 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
26571 (grub_linux16_real_boot): ... this.
26572 * kern/i386/loader.S: Likewise.
26573 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
26574 (grub_linux16_boot): New function. Switches to text mode and calls
26575 grub_linux16_real_boot().
26576
26577 * loader/i386/bsd.c: Include `<grub/video.h>'.
26578 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
26579 text mode before calling grub_unix_real_boot().
26580
26581 * loader/i386/multiboot.c: Include `<grub/video.h>'.
26582 (grub_multiboot_boot): Switch to text mode before calling
26583 grub_relocator32_boot().
26584
26585 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
26586 (grub_chainloader_boot): Switch to text mode before calling
26587 grub_chainloader_real_boot().
26588
d6f93a66
RM
265892010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
265902010-01-05 Colin Watson <cjwatson@ubuntu.com>
26591
26592 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
26593 non-empty value.
26594
265952010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
265962010-01-05 Colin Watson <cjwatson@ubuntu.com>
26597
26598 * util/grub.d/00_header.in: Define a "savedefault" function for use
26599 in menu entries.
26600 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
26601
266022010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
266032010-01-05 Colin Watson <cjwatson@ubuntu.com>
26604
26605 * util/grub-mkconfig_lib.in (save_default_entry): Only set
26606 saved_entry if boot_once is unset.
26607 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
26608 previous saved entry (i.e. grub-reboot).
26609
266102009-12-08 Colin Watson <cjwatson@ubuntu.com>
26611
26612 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
26613
266142009-12-08 Colin Watson <cjwatson@ubuntu.com>
26615
26616 * util/grub.d/00_header.in: Use `set var=val' rather than plain
26617 `var=val'.
26618 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
26619
266202009-12-08 Colin Watson <cjwatson@ubuntu.com>
26621
26622 * util/grub-reboot.in: Fix --version output.
26623 * util/grub-set-default.in: Likewise.
26624
266252009-12-08 Colin Watson <cjwatson@ubuntu.com>
26626
26627 * util/grub.d/00_header.in: Silently ignore zero-sized environment
26628 blocks.
26629
266302009-12-08 Colin Watson <cjwatson@ubuntu.com>
26631
26632 * util/grub.d/00_header.in: Quote the value assigned to `default',
26633 in case it contains spaces.
26634
266352009-12-08 Colin Watson <cjwatson@ubuntu.com>
26636
26637 * util/grub.d/30_os-prober.in: Fix merge error that moved a
26638 `save_default_entry' call from the macosx case to the linux case.
26639
266402009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
266412009-10-25 Colin Watson <cjwatson@ubuntu.com>
26642
26643 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
26644 in `chosen' environment variable.
26645 * normal/menu_text.c (get_entry_number): Check if the variable
26646 matches the title of a menu entry.
26647 (run_menu): Pass menu to get_entry_number.
26648
26649 * util/grub-reboot.in: New file.
26650 * util/grub-set-default.in: New file.
26651 * conf/common.rmk (grub-reboot): New utility.
26652 (grub-set-default): New utility.
26653
26654 * util/grub-mkconfig_lib.in (save_default_entry): New function.
26655 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
26656 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
26657 move it to `saved_entry' for the next boot. Load environment on
26658 initialisation.
26659 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
26660 * util/grub.d/10_hurd.in: Likewise.
26661 * util/grub.d/10_linux.in (linux_entry): Likewise.
26662 * util/grub.d/10_windows.in: Likewise.
26663 * util/grub.d/30_os-prober.in: Likewise.
26664
26665 * util/grub-install.in: Create environment block.
26666 * util/i386/efi/grub-install.in: Likewise.
26667 * util/ieee1275/grub-install.in: Likewise.
26668 * util/sparc64/ieee1275/grub-install.in: Likewise.
26669
0934d184
BC
266702010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
26671
26672 Unit testing framework for GRUB.
26673
26674 * Makefile.in: Test framework build rules for 'make check'.
26675 * conf/tests.rmk: Build rules for individual tests and framework.
26676
26677 * include/grub/test.h: Header file for whitebox tests.
26678 * tests/lib/functional_test.c: Framework support for whitebox
26679 functional tests.
26680 * tests/lib/test.c: Common whitebox testing code for unit and
26681 functional tests.
26682 * tests/lib/unit_test.c: Framework support for whitebox unit
26683 tests.
26684
26685 * tests/util/grub-shell-tester.in: Support utility for grub-script
26686 tests.
26687 * tests/util/grub-shell.in: Utility to execute grub-script
26688 commands in a Qemu instance.
26689
26690 * tests/example_functional_test.c: Example whitebox functional
26691 test.
26692 * tests/example_grub_script_test.in: Example grub-script test.
26693 * tests/example_scripted_test.in: Example scripted test.
26694 * tests/example_unit_test.c: Example whitebox unit test.
26695
9c4ffeeb
VS
266962010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
26697
26698 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
26699 Add loader/i386/multiboot_mbi.c.
26700 (multiboot2_mod_SOURCES): Likewise.
26701 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
26702 (multiboot2_mod_SOURCES): Likewise.
26703 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
26704 (grub_multiboot_make_mbi): Likewise.
26705 (grub_multiboot_free_mbi): Likewise.
26706 (grub_multiboot_init_mbi): Likewise.
26707 (grub_multiboot_add_module): Likewise.
26708 (grub_multiboot_set_bootdev): Likewise.
26709 * loader/i386/multiboot.c (mbi): Removed.
26710 (mbi_dest): Likewise.
26711 (alloc_mbi): New variable.
26712 (grub_multiboot_payload_size): Removed. All users updated.
26713 (grub_multiboot_pure_size): New variable.
26714 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
26715 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
26716 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
26717 (grub_fill_multiboot_mmap): Likewise.
26718 (grub_multiboot_get_bootdev): Likewise.
26719 (grub_multiboot): Use multiboot_mbi functions.
26720 * loader/i386/multiboot_mbi.c: New file.
26721
17383dfe
VS
267222010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
26723
26724 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
26725 it would result in module crash.
26726
c1f28820
VS
267272010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
26728
26729 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
26730 (grub_ofconsole_getwh): Split to ...
26731 (grub_ofconsole_getwh): ... this.
26732 (grub_ofconsole_dimensions): ...and this.
26733 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
26734
58655a16
RM
267352010-01-13 Robert Millan <rmh.grub@aybabtu.com>
26736
26737 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
26738
10891398
VS
267392010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
26740
26741 * loader/i386/pc/multiboot2.c: Removed stalled file.
26742
0b8a223c
VS
267432010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
26744
26745 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
26746 Reported by: Grégoire Sutre
26747
92ab12b0
RM
267482010-01-11 Robert Millan <rmh.grub@aybabtu.com>
26749
26750 * util/misc.c (canonicalize_file_name): New function.
26751 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
26752 instead of realpath().
26753
a788afb6
CW
267542010-01-11 Colin Watson <cjwatson@ubuntu.com>
26755
26756 * util/grub-install.in (usage): Clarify meaning of --root-directory,
26757 and make it clearer that it's optional. Based on confusion
26758 witnessed on IRC.
26759
ffa8e3d2
VS
267602010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
26761
26762 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
26763 in premature implicit newline.
26764
e9060a9d
VS
267652010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
26766
26767 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
26768 which resulted in garbled command line at the end of screen.
26769
f0d0c0b7
RM
267702010-01-10 Robert Millan <rmh.grub@aybabtu.com>
26771
26772 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
26773 initialization with similar approach as with other Linux loaders.
26774
0e60bae7
RM
267752010-01-10 Robert Millan <rmh.grub@aybabtu.com>
26776
26777 Fix i386-ieee1275 build.
26778
26779 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
26780 and grub_term_height() for video_{width,height} initialization.
26781
267822010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
26783
26784 Fix grub-emu build.
26785
26786 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
26787
cdb3f378
RM
267882010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
267892010-01-09 Robert Millan <rmh.grub@aybabtu.com>
26790
26791 Support for multiple terminals.
26792
26793 * Makefile.in (pkglib_DATA): terminal.lst.
26794 (terminal.lst): New target.
26795 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
26796 (GRUB_MOD_INIT(handler)): Likewise.
26797 (GRUB_MOD_FINI(handler)): Likewise.
26798 * commands/help.c (grub_cmd_help): Handle multiple terminals.
26799 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
26800 * commands/sleep.c (do_print): Use grub_term_restore_pos.
26801 (grub_cmd_sleep): Use grub_term_save_pos.
26802 * commands/terminal.c: New file.
26803 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
26804 commands/terminal.c and lib/charset.c.
26805 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
26806 (pkglib_MODULES): Add terminal.mod.
26807 (terminal_mod_SOURCES): New variable.
26808 (terminal_mod_CFLAGS): Likewise.
26809 (terminal_mod_LDFLAGS): Likewise.
26810 * genhandlerlist.sh: Don't handle terminals.
26811 * genmk.rb: Generate terminal-*.lst.
26812 * genterminallist.sh: New file.
26813 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
26814 (grub_is_valid_utf8): Likewise.
26815 (grub_utf8_to_ucs4_alloc): Likewise.
26816 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
26817 (grub_menu_register_viewer): Changed argument.
26818 (grub_menu_try_text): New proto.
26819 (grub_gfxmenu_try_hook): New declaration.
26820 * include/grub/normal.h (grub_normal_exit_level): New declaration.
26821 (grub_menu_init_page): Additional argument term.
26822 (grub_normal_init_page): Likewise.
26823 (grub_cmdline_get): Arguments simplified.
26824 (grub_utf8_to_ucs4_alloc): Removed.
26825 (grub_print_ucs4): Additional argument term.
26826 (grub_getstringwidth): Likewise.
26827 (grub_print_message_indented): Likewise.
26828 (grub_menu_text_register_instances): New proto.
26829 (grub_show_menu): Likewise.
26830 (read_terminal_list): Likewise.
26831 (grub_set_more): Likewise.
26832 * include/grub/parser.h: Include handler.h.
26833 * include/grub/reader.h: Rewritten.
26834 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
26835 (GRUB_TERM_WIDTH): Changed to function.
26836 (GRUB_TERM_HEIGHT): Likewise.
26837 (GRUB_TERM_BORDER_WIDTH): Likewise.
26838 (GRUB_TERM_BORDER_HEIGHT): Likewise.
26839 (GRUB_TERM_NUM_ENTRIES): Likewise.
26840 (GRUB_TERM_ENTRY_WIDTH): Likewise.
26841 (GRUB_TERM_CURSOR_X): Likewise.
26842 (grub_term_input_class): Likewise.
26843 (grub_term_output_class): Likewise.
26844 (grub_term_outputs_disabled): New declaration.
26845 (grub_term_inputs_disabled): Likewise.
26846 (grub_term_outputs): Likewise.
26847 (grub_term_inputs): Likewise.
26848 (grub_term_register_input): Rewritten.
26849 (grub_term_register_output): Likewise.
26850 (grub_term_unregister_input): Likewise.
26851 (grub_term_unregister_output): Likewise.
26852 (FOR_ACTIVE_TERM_INPUTS): New macro.
26853 (FOR_DISABLED_TERM_INPUTS): Likewise.
26854 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
26855 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
26856 * include/grub/terminfo.h: Add oterm argument to all protypes.
26857 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
26858 Use grub_rescue_run.
26859 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
26860 All users updated.
26861 * kern/reader.c: Removed. All users updated.
26862 * kern/rescue_reader.c (grub_rescue_init): Removed.
26863 (grub_rescue_reader): Likewise.
26864 (grub_register_rescue_reader): Likewise.
26865 (grub_rescue_run): New function based on kern/reader.c.
26866 * kern/term.c: Adapted for multiterm.
26867 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
26868 (grub_is_valid_utf8): Likewise.
26869 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
26870 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
26871 right terminal.
26872 * loader/i386/linux.c (grub_linux_boot): Likewise.
26873 * normal/auth.c (grub_username_get): New function.
26874 (grub_auth_check_authentication): Use grub_username_get.
26875 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
26876 * normal/color.c: Adapt for multiterm.
26877 * normal/main.c (read_config_file): Don't use grub_reader_loop.
26878 (grub_normal_init_page): Additional argument term.
26879 (read_lists): Call read_terminal_lists.
26880 (grub_enter_normal_mode): Call grub_cmdline_run.
26881 Handle grub_normal_exit_level.
26882 (grub_cmd_normal): Make reentrant.
26883 (grub_cmd_normal_exit): New function.
26884 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
26885 * normal/menu.c: Adapt for multiterm.
26886 * normal/menu_entry.c: Likewise.
26887 * normal/menu_text.c: Likewise.
26888 * normal/menu_viewer.c: Removed. All users updated.
26889 * normal/term.c: New file.
26890 * util/console.c: Change order of includes to workaround a bug in
26891 ncurses headers.
26892 * term/terminfo.c: New argument oterm on all exported functions.
26893 All users updated.
26894 * util/grub-editenv.c (grub_term_input_class): Removed.
26895 (grub_term_output_class): Likewise.
26896
1a064917
RM
268972010-01-09 Robert Millan <rmh.grub@aybabtu.com>
26898
26899 Make loader output a bit more user-friendly.
26900
26901 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
26902 is being loaded. Likewise for the Hurd.
26903
26904 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
26905 that kernel of FreeBSD ${version} is being loaded.
26906
26907 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
26908 grub_dprintf().
26909 (grub_cmd_initrd): Likewise.
26910 * util/grub.d/10_linux.in (linux_entry): Print message indicating
26911 that Linux ${version} is being loaded. Likewise for initrd.
26912
5ce0a83a 269132010-01-09 Carles Pina i Estany <carles@pina.cat>
26914
26915 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
26916
809bbfeb 269172010-01-08 Carles Pina i Estany <carles@pina.cat>
26918
26919 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
26920 (GRUB_MOD_INIT): Gettextizze.
26921 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
26922 (GRUB_MOD_INIT): Gettextizze.
26923 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
26924 (grub_cmd_linux): Capitalise Linux.
26925 (GRUB_MOD_INIT): Gettextizze.
26926 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
26927 (grub_cmd_linux): Capitalise Linux.
26928 (GRUB_MOD_INIT): Gettextizze.
26929 * loader/i386/linux.c: Include `<grub/i18n.h>'.
26930 (grub_cmd_linux): Capitalise Linux.
26931 (GRUB_MOD_INIT): Gettextizze.
26932 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
26933 (GRUB_MOD_INIT): Gettextizze.
26934 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
26935 (grub_cmd_linux): Capitalise Linux.
26936 (GRUB_MOD_INIT): Gettextizze.
26937 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
26938 (grub_cpu_xnu_init): Gettextizze.
26939 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
26940 (GRUB_MOD_INIT): Gettextizze.
26941 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
26942 (GRUB_MOD_INIT): Gettextizze.
26943 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
26944 (grub_linux_load64): Capitalise Linux.
26945 (GRUB_MOD_INIT): Gettextizze.
26946 * loader/xnu.c: Include `<grub/i18n.h>'.
26947 (GRUB_MOD_INIT): Gettextizze.
26948 * po/POTFILES: Add `loader/efi/appleloader.c',
26949 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
26950 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
26951 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
26952 `loader/i386/xnu.c', `loader/multiboot_loader.c',
26953 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
26954 and `loader/xnu.c'.
26955
b394b2ca
RM
269562010-01-08 Robert Millan <rmh.grub@aybabtu.com>
26957
26958 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
26959
269602010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
26961
26962 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
26963 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
26964 * util/mkisofs/mkisofs.c (main): Readjust --version output.
26965
bc8b32b3
RM
269662010-01-07 Robert Millan <rmh.grub@aybabtu.com>
26967
26968 Reset Multiboot 2 support. New loader implements the draft in
26969 /branches/multiboot2 and shares as much code as possible with the
26970 production Multiboot 1 implementation.
26971
26972 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
26973 * loader/multiboot2.c: Likewise.
26974 * loader/i386/multiboot_helper.S: Likewise.
26975 * include/multiboot2.h: Replace with latest version from the draft
26976 in /branches/multiboot2.
26977
26978 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
26979 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
26980 and `loader/multiboot2.c'.
26981 (pkglib_MODULES): Add `multiboot2.mod'.
26982 (multiboot2_mod_SOURCES): New variable.
26983 (multiboot2_mod_LDFLAGS): Likewise.
26984 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
26985
26986 * conf/i386-pc.rmk: Likewise.
26987
26988 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
26989 (multiboot_mod_SOURCES): Remove variable.
26990 (multiboot_mod_LDFLAGS): Likewise.
26991 (multiboot_mod_CFLAGS): Likewise.
26992
26993 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
26994 `<multiboot2.h>' instead of `<multiboot.h>'.
26995 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
26996 (MULTIBOOT_HEADER_MAGIC): New macros.
26997
26998 * loader/multiboot_loader.c (module_version_status): Remove variable.
26999 (find_multi_boot2_header): Remove function.
27000 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
27001 logic. Always check for the Multiboot version we're compiling for.
27002 (grub_cmd_module_loader): Likewise.
27003 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
27004 command instead of `multiboot'.
27005
5d2c52b8
RM
270062010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27007
27008 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
27009 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
27010 all users.
27011
53108d92
RM
270122010-01-07 Robert Millan <rmh.grub@aybabtu.com>
270132010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
27014
27015 Fix breakage introduced with previous commit.
27016
27017 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
27018 commands.
27019 * normal/handler.c (read_handler_list): Revert part of previous commit
27020 affecting this file.
27021 * normal/main.c (read_lists): Move read_handler_list() call back to ...
27022 (grub_normal_execute): ... here.
27023
e2e936b2
RM
270242010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27025
27026 Merge prefix-redefinition-fix branch.
27027
27028 * normal/autofs.c (read_fs_list): Make function capable of being
27029 run multiple times, gracefuly replacing the previous data
27030 structures.
27031 * normal/dyncmd.c (read_command_list): Likewise.
27032 * normal/handler.c (read_handler_list): Likewise.
27033 * normal/main.c (read_lists): New function. Calls all the
27034 list reading functions.
27035 (grub_normal_execute): Use read_lists() instead of calling all
27036 list reading functions explicitly. Register read_lists() as a
27037 variable hook attached to ${prefix}.
27038
607a3701
VS
270392010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
27040
27041 Merge crypto branch.
27042
27043 * Makefile.in (pkglib_DATA): Add crypto.lst.
27044 (crypto.lst): New target.
27045 * commands/hashsum.c: New file.
27046 * commands/password.c (check_password): Use grub_crypto_memcmp.
27047 * commands/password_pbkdf2.c: New file.
27048 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
27049 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
27050 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
27051 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
27052 -I$(srcdir)/lib/libgcrypt_wrap.
27053 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
27054 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
27055 password_pbkdf2.mod.
27056 (crypto_mod_SOURCES): New variable.
27057 (crypto_mod_CFLAGS): Likewise.
27058 (crypto_mod_LDFLAGS): Likewise.
27059 (hashsum_mod_SOURCES): New variable.
27060 (hashsum_mod_CFLAGS): Likewise.
27061 (hashsum_mod_LDFLAGS): Likewise.
27062 (pbkdf2_mod_SOURCES): New variable.
27063 (pbkdf2_mod_CFLAGS): Likewise.
27064 (pbkdf2_mod_LDFLAGS): Likewise.
27065 (password_pbkdf2_mod_SOURCES): New variable.
27066 (password_pbkdf2_mod_CFLAGS): Likewise.
27067 (password_pbkdf2_mod_LDFLAGS): Likewise.
27068 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
27069 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
27070 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
27071 Include conf/gcry.rmk.
27072 * include/grub/auth.h: Rewritten.
27073 * include/grub/crypto.h: New file.
27074 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
27075 * include/grub/normal.h (read_crypto_list): New prototype.
27076 * lib/crypto.c: New file.
27077 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
27078 * lib/pbkdf2.c: Likewise.
27079 * normal/auth.c (grub_auth_strcmp): Removed.
27080 (grub_iswordseparator): Likewise.
27081 (grub_auth_strword): Likewise.
27082 (is_authenticated): Use grub_strword.
27083 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
27084 and grub_strword. Pass entered password to authentication callback.
27085 * normal/crypto.c: New file.
27086 * normal/main.c: Call read_crypto_list.
27087 * util/grub-mkpasswd-pbkdf2.c: New file.
27088 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
27089
42841caa
VS
270902010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
27091
27092 Fix descent and ascent calculation.
27093
27094 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
27095 (options): New option "asce".
27096 (usage): Likewise.
27097 (add_char): Ignore invalid glyphs for descent calculation.
27098 Calculate ascent from actual content.
27099 (print_glyphs): Use 'asce'.
27100 (write_font): Likewise. Allow ascent override.
27101 (main): Handle "asce" option.
27102
e7730de7 271032010-01-06 Carles Pina i Estany <carles@pina.cat>
27104
27105 * kern/err.c: Include `<grub/i18n.h>'.
27106 (grub_print_error): Add full stop. Gettextizze.
27107 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
27108 (grub_bsd_load_elf): Capitalise ELF.
27109 (grub_cmd_freebsd_loadenv): Add `s' in error string.
27110 (grub_cmd_freebsd_module): Likewise.
27111 (grub_cmd_freebsd_module_elf): Likewise.
27112 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
27113
40e3a41f 271142010-01-06 Carles Pina i Estany <carles@pina.cat>
27115
27116 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
27117 * commands/search_file.c (HELP_MESSAGE): New macro.
27118 * commands/search_label.c (HELP_MESSAGE): Likewise.
27119 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
27120 * po/POTFILES: Add `commands/search_file.c',
27121 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
27122 `commands/search.c'.
27123
83507e68
RM
271242010-01-05 Robert Millan <rmh.grub@aybabtu.com>
27125
27126 * config.rpath: Update from Gnulib.
27127
465c787b
YB
271282010-01-05 Yves Blusseau <blusseau@zetam.org>
27129
27130 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
27131
6581dd3a
YB
271322010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
27133
27134 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
27135
3bff18c5
CW
271362010-01-05 Colin Watson <cjwatson@ubuntu.com>
27137
27138 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
27139 arguments to fread so that we get a return value in bytes, rather
27140 than something that will normally be rounded down to 0.
27141 Adjust error handling to avoid producing garbage when size_t is not
27142 the same size as long long.
27143
a1368118
CW
271442010-01-05 Colin Watson <cjwatson@ubuntu.com>
27145
27146 * util/mkisofs/write.c (padblock_write): Check return value of
27147 fread.
27148
7c302978
RM
271492010-01-05 Robert Millan <rmh.grub@aybabtu.com>
27150
27151 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
27152 floppy images now.
27153
27154 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
27155
e33ace06
RM
271562010-01-04 Robert Millan <rmh.grub@aybabtu.com>
27157
27158 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
27159 instead of manual alignment.
27160 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
27161 verbose). Avoid attempts to read past end of the device
27162 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
27163 but GRUB_DISK_CACHE_SIZE may exceed that).
27164
4b856776
RM
271652010-01-04 Robert Millan <rmh.grub@aybabtu.com>
27166
27167 * commands/crc.c (grub_cmd_crc): Abort on read errors.
27168 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
27169 it to upper layer.
27170
52c2d97f
VS
271712010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
27172
27173 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
27174 New constant.
27175 (grub_efi_piwg_device_path): New structure
27176 (grub_efi_piwg_device_path_t): New type.
27177 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
27178 (devpath_1): Transform to a structure. All users updated.
27179 (devpath_2): Likewise.
27180 (devpath_3): Likewise.
27181 (devpath_4): Likewise.
27182 (devpath_5): Likewise.
27183
98ff6a54
VS
271842010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
27185
27186 * loader/efi/appleloader.c: Restored. Update all users.
27187
3a73dcb6
RM
271882010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27189
27190 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
27191
27192 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
27193 (struct boot_blocklist): Move from here ...
27194 * include/grub/i386/pc/boot.h [ASM_FILE]
27195 (struct grub_boot_blocklist): ... to here. Update all users.
27196 (setup): Only initialize `start' member of `first_block'
27197 structure. Add assert() calls to verify the other members.
27198
27199 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
27200 (generate_image): Fix broken blocklist length initialization.
27201 Add assert() call to verify blocklist `segment' field.
27202
ab0eeb0c
RM
272032010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27204
27205 * loader/efi/appleloader.c: Remove. Update all users.
27206
58bc8bd5
RM
272072010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27208
27209 * boot/i386/pc/boot.S: Update copyright year.
27210 * boot/i386/pc/cdboot.S: Likewise.
27211 * boot/i386/pc/diskboot.S: Likewise.
27212 * boot/i386/pc/lnxboot.S: Likewise.
27213 * boot/i386/pc/pxeboot.S: Likewise.
27214 * bus/pci.c: Likewise.
27215 * commands/cmp.c: Likewise.
27216 * commands/help.c: Likewise.
27217 * commands/hexdump.c: Likewise.
27218 * commands/i386/pc/halt.c: Likewise.
27219 * commands/i386/pc/play.c: Likewise.
27220 * commands/i386/pc/vbeinfo.c: Likewise.
27221 * commands/ls.c: Likewise.
27222 * commands/test.c: Likewise.
27223 * disk/dmraid_nvidia.c: Likewise.
27224 * disk/i386/pc/biosdisk.c: Likewise.
27225 * disk/ieee1275/nand.c: Likewise.
27226 * disk/ieee1275/ofdisk.c: Likewise.
27227 * disk/lvm.c: Likewise.
27228 * disk/raid.c: Likewise.
27229 * disk/raid6_recover.c: Likewise.
27230 * disk/scsi.c: Likewise.
27231 * fs/affs.c: Likewise.
27232 * fs/cpio.c: Likewise.
27233 * fs/ext2.c: Likewise.
27234 * fs/hfs.c: Likewise.
27235 * fs/iso9660.c: Likewise.
27236 * fs/ntfs.c: Likewise.
27237 * fs/sfs.c: Likewise.
27238 * fs/udf.c: Likewise.
27239 * fs/ufs.c: Likewise.
27240 * fs/xfs.c: Likewise.
27241 * gencmdlist.sh: Likewise.
27242 * genmk.rb: Likewise.
27243 * include/grub/disk.h: Likewise.
27244 * include/grub/efi/api.h: Likewise.
27245 * include/grub/efi/efi.h: Likewise.
27246 * include/grub/efi/pe32.h: Likewise.
27247 * include/grub/elf.h: Likewise.
27248 * include/grub/fs.h: Likewise.
27249 * include/grub/i386/at_keyboard.h: Likewise.
27250 * include/grub/i386/pc/memory.h: Likewise.
27251 * include/grub/i386/pc/vbe.h: Likewise.
27252 * include/grub/i386/pci.h: Likewise.
27253 * include/grub/i386/tsc.h: Likewise.
27254 * include/grub/ieee1275/ieee1275.h: Likewise.
27255 * include/grub/ntfs.h: Likewise.
27256 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
27257 * include/grub/sparc64/libgcc.h: Likewise.
27258 * include/grub/symbol.h: Likewise.
27259 * include/grub/types.h: Likewise.
27260 * include/multiboot2.h: Likewise.
27261 * io/gzio.c: Likewise.
27262 * kern/device.c: Likewise.
27263 * kern/disk.c: Likewise.
27264 * kern/efi/efi.c: Likewise.
27265 * kern/efi/mm.c: Likewise.
27266 * kern/elf.c: Likewise.
27267 * kern/file.c: Likewise.
27268 * kern/i386/dl.c: Likewise.
27269 * kern/i386/pc/init.c: Likewise.
27270 * kern/i386/pc/startup.S: Likewise.
27271 * kern/ieee1275/ieee1275.c: Likewise.
27272 * kern/ieee1275/init.c: Likewise.
27273 * kern/main.c: Likewise.
27274 * kern/mm.c: Likewise.
27275 * kern/powerpc/dl.c: Likewise.
27276 * kern/sparc64/dl.c: Likewise.
27277 * kern/x86_64/dl.c: Likewise.
27278 * lib/hexdump.c: Likewise.
27279 * loader/efi/appleloader.c: Likewise.
27280 * loader/i386/ieee1275/linux.c: Likewise.
27281 * loader/i386/pc/chainloader.c: Likewise.
27282 * loader/i386/pc/linux.c: Likewise.
27283 * loader/i386/pc/multiboot2.c: Likewise.
27284 * loader/ieee1275/multiboot2.c: Likewise.
27285 * loader/multiboot2.c: Likewise.
27286 * loader/multiboot_loader.c: Likewise.
27287 * loader/powerpc/ieee1275/linux.c: Likewise.
27288 * normal/completion.c: Likewise.
27289 * normal/menu_entry.c: Likewise.
27290 * partmap/apple.c: Likewise.
27291 * util/grub.d/10_hurd.in: Likewise.
27292 * util/hostfs.c: Likewise.
27293 * video/readers/png.c: Likewise.
27294
e2d70b5c
CW
272952010-01-03 Colin Watson <cjwatson@ubuntu.com>
27296
27297 * include/grub/misc.h (GNUC_PREREQ): New macro.
27298 (ATTRIBUTE_ERROR): New macro.
27299 * include/grub/list.h (grub_bad_type_cast_real): Use
27300 ATTRIBUTE_ERROR.
27301
a173283f 273022010-01-03 Carles Pina i Estany <carles@pina.cat>
27303
27304 * normal/menu_text.c (print_message): Change messages.
27305
7fa7ff74 273062010-01-03 Carles Pina i Estany <carles@pina.cat>
27307
27308 * normal/menu_entry.c (store_completion): Gettextizze.
27309
136d24f6 273102010-01-03 Carles Pina i Estany <carles@pina.cat>
27311
27312 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
27313
f936862e 273142010-01-03 Carles Pina i Estany <carles@pina.cat>
27315
27316 * po/POTFILES: Sort correctly.
27317
29c44ad1 273182010-01-03 Carles Pina i Estany <carles@pina.cat>
27319
27320 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
27321 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
27322 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
27323 full stop.
27324 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
27325 summary. Gettextizze the strings.
27326 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
27327 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
27328 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
27329 full stop.
27330 (GRUB_MOD_INIT): Remove command name from summary.
27331 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
27332 summary.
27333 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
27334 * term/i386/pc/serial.c (options): Add full stops.
27335 (GRUB_MOD_INIT): Remove command name from the summary.
27336
77a79592 273372010-01-03 Carles Pina i Estany <carles@pina.cat>
27338
27339 * commands/acpi.c: Gettextizze help strings and/or options. Include
27340 `grub/i18n.h' if needed.
27341 * commands/blocklist.c: Likewise.
27342 * commands/boot.c: Likewise.
27343 * commands/cat.c: Likewise.
27344 * commands/cmp.c: Likewise.
27345 * commands/configfile.c: Likewise.
27346 * commands/crc.c: Likewise.
27347 * commands/date.c: Likewise.
27348 * commands/echo.c: Likewise.
27349 * commands/efi/fixvideo.c: Likewise.
27350 * commands/efi/loadbios.c: Likewise.
27351 * commands/gptsync.c: Likewise.
27352 * commands/halt.c: Likewise.
27353 * commands/handler.c: Likewise.
27354 * commands/hdparm.c: Likewise.
27355 * commands/hexdump.c: Likewise.
27356 * commands/i386/cpuid.c: Likewise.
27357 * commands/i386/pc/drivemap.c: Likewise.
27358 * commands/i386/pc/halt.c: Likewise.
27359 * commands/i386/pc/pxecmd.c: Likewise.
27360 * commands/i386/pc/vbeinfo.c: Likewise.
27361 * commands/i386/pc/vbetest.c: Likewise.
27362 * commands/ieee1275/suspend.c: Likewise.
27363 * commands/keystatus.c: Likewise.
27364 * commands/loadenv.c: Likewise.
27365 * commands/ls.c: Likewise.
27366 * commands/lsmmap.c: Likewise.
27367 * commands/lspci.c: Likewise.
27368 * commands/memrw.c: Likewise.
27369 * commands/minicmd.c: Likewise.
27370 * commands/parttool.c: Likewise.
27371 * commands/password.c: Likewise.
27372 * commands/probe.c: Likewise.
27373 * commands/read.c: Likewise.
27374 * commands/reboot.c: Likewise.
27375 * commands/search.c: Likewise.
27376 * commands/sleep.c: Likewise.
27377 * commands/test.c: Likewise.
27378 * commands/true.c: Likewise.
27379 * commands/usbtest.c: Likewise.
27380 * commands/videotest.c: Likewise.
27381 * commands/xnu_uuid.c: Likewise.
27382 * disk/loopback.c: Likewise.
27383 * hello/hello.c: Likewise.
27384 * loader/i386/bsd.c: Likewise.
27385 * term/i386/pc/serial.c: Likewise.
27386 * po/POTFILES: Add new files.
27387
da8d5c53
CW
273882010-01-02 Colin Watson <cjwatson@ubuntu.com>
27389
27390 * term/i386/pc/at_keyboard.c
27391 (keyboard_controller_wait_untill_ready): Rename to ...
27392 (keyboard_controller_wait_until_ready): ... this. Update all users.
27393
33937904 273942010-01-01 Carles Pina i Estany <carles@pina.cat>
27395
27396 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
27397 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
27398 string using string width.
27399 * normal/menu_text.c (grub_print_message_indented): Use
27400 grub_print_spaces and not print_spaces.
27401 (print_timeout): Likewise.
27402 (print_spaces): Move to...
27403 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
27404
3fd3b8d8
RM
274052010-01-01 Robert Millan <rmh.grub@aybabtu.com>
27406
27407 Import from Gnulib.
27408
27409 * gnulib/getdelim.c: New file.
27410 * gnulib/getline.c: Likewise.
27411
33433555
VS
274122009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
27413
27414 * include/grub/list.h (grub_assert_fail): Removed.
27415 (grub_bad_type_cast_real): New function.
27416 (grub_bad_type_cast): New macro.
27417 (GRUB_AS_LIST): Use grub_bad_type_cast.
27418 (GRUB_AS_LIST_P): Likewise.
e44721e8 27419 (GRUB_AS_NAMED_LIST): Likewise.
33433555 27420 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 27421 (GRUB_AS_PRIO_LIST): Likewise.
33433555 27422 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 27423 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 27424
f5a51306
VS
274252009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
27426
27427 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
27428 Fix syntax error.
27429
90d1e879
RM
274302009-12-29 Robert Millan <rmh.grub@aybabtu.com>
27431
27432 * configure.ac: Check for TARGET_CFLAGS initialization before we
27433 initialize it ourselves (sigh).
27434 Move a few modifications to TARGET_CFLAGS to be unconditional
27435 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
27436 eh_frame)
27437
27438 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
27439 * term/i386/pc/at_keyboard.c
27440 (keyboard_controller_wait_untill_ready): Likewise.
27441 (keyboard_controller_led): Rename `led_status' paramter to avoid
27442 name conflict.
27443
465b5a81 274442009-12-28 Carles Pina i Estany <carles@pina.cat>
27445
27446 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
27447 quotes.
27448
c181849b
VS
274492009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27450
27451 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
27452
9c8739a4
VS
274532009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27454
27455 * normal/menu_text.c (grub_print_message_indented): Prevent
27456 past-the-end-of-array dereference.
27457
3e74249c
VS
274582009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27459
27460 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
27461 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
27462
64fd18ed 274632009-12-27 Carles Pina i Estany <carles@pina.cat>
27464
27465 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
27466 * normal/main.c (grub_normal_read_line): Remove a space from the
27467 default prompt.
27468
714af9b9 274692009-12-27 Carles Pina i Estany <carles@pina.cat>
27470
27471 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
27472 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27473 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
27474 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
27475 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27476 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27477 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27478
82f3e412 274792009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 27480
27481 * video/readers/jpeg.c (cmd): Declare.
27482 (grub_cmd_jpegtest): Use `grub_command_t' type.
27483 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27484 Assign to `cmd'.
27485 (GRUB_MOD_FINI): Use `cmd' to unregister.
27486 * video/readers/png.c (cmd): Declare.
27487 (grub_cmd_pngtest): Use `grub_command_t' type.
27488 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27489 Assign to `cmd'.
27490 (GRUB_MOD_FINI): Use `cmd' to unregister.
27491 * video/readers/tga.c (cmd): Declare.
27492 (grub_cmd_tgatest): Use `grub_command_t' type.
27493 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27494 Assign to `cmd'.
27495 (GRUB_MOD_FINI): Use `cmd' to unregister.
27496
82f3e412 274972009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 27498
27499 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
27500 stops.
27501 * kern/corecmd.c (grub_register_core_commands): Likewise.
27502 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
27503 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
27504 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
27505 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27506 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
27507 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
27508 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
27509 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
27510 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27511 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27512 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27513 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27514 * normal/handler.c (insert_handler): Likewise.
27515 * normal/main.c (GRUB_MOD_INIT): Likewise.
27516 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
27517
fdcdbb66 275182009-12-26 Carles Pina i Estany <carles@pina.cat>
27519
27520 * commands/help.c (grub_cmd_help): Print the command name before the
27521 summary.
27522 (GRUB_MOD_INIT): Remove command name from the summary.
27523 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 27524 string as summary.
fdcdbb66 27525 * lib/arg.c (find_long): Print the command name before the summary.
27526 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
27527 summary.
27528 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
27529 * commands/cat.c (GRUB_MOD_INIT): Likewise.
27530 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
27531 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
27532 * commands/crc.c (GRUB_MOD_INIT): Likewise.
27533 * commands/date.c (GRUB_MOD_INIT): Likewise.
27534 * commands/echo.c (GRUB_MOD_INIT): Likewise.
27535 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
27536 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
27537 * commands/handler.c (GRUB_MOD_INIT): Likewise.
27538 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
27539 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
27540 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
27541 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
27542 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
27543 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
27544 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
27545 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
27546 * commands/ls.c (GRUB_MOD_INIT): Likewise.
27547 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
27548 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
27549 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
27550 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
27551 * commands/password.c (GRUB_MOD_INIT): Likewise.
27552 * commands/probe.c (GRUB_MOD_INIT): Likewise.
27553 * commands/read.c (GRUB_MOD_INIT): Likewise.
27554 * commands/search.c (GRUB_MOD_INIT): Likewise.
27555 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
27556 * commands/test.c (GRUB_MOD_INIT): Likewise.
27557 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
27558 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
27559 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
27560 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
27561 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
27562 * lib/arg.c (GRUB_MOD_INIT): Likewise.
27563 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
27564 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
27565 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27566 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27567 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
27568 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
27569 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
27570 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
27571
9c288be2
VS
275722009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
27573
27574 Use search command for preliminar UUID search.
27575
27576 * commands/search.c: Split into ...
27577 * commands/search_wrap.c: ...this
27578 * commands/search.c: ...and this.
27579 * commands/search_file.c: New file.
27580 * commands/search_label.c: New file.
27581 * commands/search_uuid.c: New file.
27582 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
27583 Add commands/search_wrap.c, commands/search_file.c,
27584 commands/search_label.c and commands/search_uuid.c.
27585 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
27586 (search_mod_SOURCES): Set to commands/search_wrap.c.
27587 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
27588 search_label.mod.
27589 (search_fs_file_mod_SOURCES): New variable.
27590 (search_fs_file_mod_CFLAGS): Likewise.
27591 (search_fs_file_mod_LDFLAGS): Likewise.
27592 (search_label_mod_SOURCES): Likewise.
27593 (search_label_mod_CFLAGS): Likewise.
27594 (search_label_mod_LDFLAGS): Likewise.
27595 (search_fs_uuid_mod_SOURCES): New variable.
27596 (search_fs_uuid_mod_CFLAGS): Likewise.
27597 (search_fs_uuid_mod_LDFLAGS): Likewise.
27598 (fs_file_mod_SOURCES): Removed.
27599 (fs_file_mod_CFLAGS): Likewise.
27600 (fs_file_mod_LDFLAGS): Likewise.
27601 (fs_uuid_mod_SOURCES): Removed.
27602 (fs_uuid_mod_CFLAGS): Likewise.
27603 (fs_uuid_mod_LDFLAGS): Likewise.
27604 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
27605 Set to util/grub-install.in.
27606 * disk/fs_file.c: Removed.
27607 * disk/fs_uuid.c: Likewise.
27608 * include/grub/search.h: New file.
27609 * util/grub-install.in: Handle sparc64.
27610 Create and use load.cfg.
27611 * util/sparc64/ieee1275/grub-install.in: Removed.
27612
db943399
VS
276132009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
27614
27615 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
27616 Ignore return status if CF is cleared.
27617 (grub_biosdisk_get_diskinfo_standard): Likewise.
27618
3fdae612
RM
276192009-12-25 Robert Millan <rmh.grub@aybabtu.com>
27620
27621 * term/i386/pc/at_keyboard.c
27622 (keyboard_controller_wait_untill_ready): New function.
27623 (grub_keyboard_controller_write, grub_keyboard_controller_read)
27624 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
27625 for keyboard polling, rather than duplicate the same loop. This
27626 saves a few bytes in code size.
27627
7ebaa2b4
VS
276282009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
27629
27630 Support for (pxe[:server[:gateway]]) syntax and
27631 use environment variable for PXE.
27632
27633 * commands/i386/pc/pxecmd.c (options): Removed.
27634 (print_ip): Removed.
27635 (grub_cmd_pxe): Removed
27636 (grub_cmd_pxe_unload): New function.
27637 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
27638 (grub_pxe_your_ip): Made static.
27639 (grub_pxe_default_server_ip): Likewise.
27640 (grub_pxe_default_gateway_ip): Likewise.
27641 (grub_pxe_blksize): Likewise.
27642 (parse_ip): New function.
27643 (grub_pxe_open): Support server and gateway specification.
27644 (grub_pxe_close): Free disk->data.
27645 (grub_pxefs_open): Use disk->data.
27646 (grub_pxefs_read): Likewise.
27647 (grub_env_write_readonly): New function.
27648 (set_mac_env): Likewise.
27649 (set_env_limn_ro): Likewise.
27650 (parse_dhcp_vendor): Likewise.
27651 (grub_pxe_detect): Set the environment variables.
27652 (set_ip_env): New function.
27653 (write_ip_env): Likewise.
27654 (grub_env_write_pxe_default_server): Likewise.
27655 (grub_env_write_pxe_default_gateway): Likewise.
27656 (grub_env_write_pxe_blocksize): Likewise.
27657 (GRUB_MOD_INIT(pxe)): Set environment variables.
27658 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
27659 (grub_pxe_mac_addr_t): ... this. All users updated.
27660 (grub_pxe_your_ip): Removed.
27661 (grub_pxe_server_ip): Likewise.
27662 (grub_pxe_gateway_ip): Likewise.
27663 (grub_pxe_blksize): Likewise.
27664
ec5f98ab 276652009-12-25 Carles Pina i Estany <carles@pina.cat>
27666
27667 * commands/help.c: Include `<grub/i18n.h>'.
27668 (grub_cmd_help): Gettextizze.
27669 (GRUB_MOD_INIT): Likewise.
27670 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
27671 (GRUB_MOD_INIT): Gettextizze.
27672 * commands/search.c: Include `<grub/i18n.h>'.
27673 (options): Gettextizze.
27674 (GRUB_MOD_INIT): Gettextizze.
27675 * lib/arg.c: Include `<grub/i18n.h>'.
27676 (help_options): Gettextizze.
27677 (find_long): Likewise.
27678 (grub_arg_show_help): Likewise.
27679 * normal/dyncmd.c: Include `<grub/i18n.h>'.
27680 (read_command_list): Gettextizze.
27681 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 27682 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 27683
22815526
RM
276842009-12-25 Robert Millan <rmh.grub@aybabtu.com>
27685
27686 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
27687 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
27688 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
27689 (led_status): New variable.
27690 (keyboard_controller_led): New function.
27691 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
27692 update led status for caps lock, num lock and scroll lock.
27693
0ad46fd7
FZ
276942009-12-25 Felix Zielcke <fzielcke@z-51.de>
27695
27696 * util/hostdisk.c (open_device): Fix a comment.
27697
d0e158c2
RM
276982009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27699
27700 * util/grub-install.in (host_os): New variable.
27701 * util/i386/efi/grub-install.in (host_os): Likewise.
27702
401c0ad6
RM
277032009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27704
27705 * util/mkisofs/write.c (padblock_write): Abort when given an
27706 excedingly large embed image, instead of silently truncating it.
27707
d14d3370
RM
277082009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27709
27710 * include/multiboot.h: Indentation fixes.
27711
eeed10b4
RM
277122009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27713
27714 * include/multiboot.h (struct multiboot_aout_symbol_table)
27715 (struct multiboot_elf_section_header_table): New structure
27716 declarations (stolen from GRUB Legacy).
27717 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
27718 table information.
27719
27720 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
27721 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
27722 type aliases.
27723
681c70ab
RM
277242009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27725
27726 * include/multiboot.h: Make comments src2texi-friendly.
27727
e4d47d8d
RM
277282009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27729
27730 For consistency with [multiboot]/docs/boot.S.
27731
27732 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
27733 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
27734 (MULTIBOOT_MAGIC2): Rename from this ...
27735 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
27736
a0b70bda
RM
277372009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27738
27739 * include/multiboot.h: Remove `<grub/types.h>'.
27740 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
27741 types. Update all users.
27742
61ba42be 277432009-12-25 Carles Pina i Estany <carles@pina.cat>
27744
27745 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
27746 `couldn't' and `can not' by `cannot'.
27747 * commands/i386/pc/drivemap.c: Likewise.
27748 * disk/ata.c: Likewise.
27749 * disk/ieee1275/nand.c: Likewise.
27750 * fs/affs.c: Likewise.
27751 * fs/fat.c: Likewise.
27752 * fs/hfs.c: Likewise.
27753 * fs/hfsplus.c: Likewise.
27754 * fs/iso9660.c: Likewise.
27755 * fs/jfs.c: Likewise.
27756 * fs/minix.c: Likewise.
27757 * fs/reiserfs.c: Likewise.
27758 * fs/sfs.c: Likewise.
27759 * fs/udf.c: Likewise.
27760 * fs/ufs.c: Likewise.
27761 * fs/xfs.c: Likewise.
27762 * loader/powerpc/ieee1275/linux.c: Likewise.
27763 * loader/sparc64/ieee1275/linux.c: Likewise.
27764 * util/grub-probe.c: Likewise.
27765 * util/misc.c: Likewise.
27766
7fd0baee 277672009-12-24 Carles Pina i Estany <carles@pina.cat>
27768
27769 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
27770 grub_errno calls.
27771 * commands/acpi.c: Likewise.
27772 * commands/blocklist.c: Likewise.
27773 * commands/efi/loadbios.c: Likewise.
27774 * commands/i386/pc/drivemap.c: Likewise.
27775 * commands/loadenv.c: Likewise.
27776 * commands/memrw.c: Likewise.
27777 * commands/password.c: Likewise.
27778 * commands/videotest.c: Likewise.
27779 * disk/ata.c: Likewise.
27780 * disk/ata_pthru.c: Likewise.
27781 * disk/dmraid_nvidia.c: Likewise.
27782 * disk/ieee1275/nand.c: Likewise.
27783 * disk/ieee1275/ofdisk.c: Likewise.
27784 * disk/loopback.c: Likewise.
27785 * disk/lvm.c: Likewise.
27786 * disk/mdraid_linux.c: Likewise.
27787 * disk/raid.c: Likewise.
27788 * disk/raid6_recover.c: Likewise.
27789 * disk/scsi.c: Likewise.
27790 * efiemu/main.c: Likewise.
27791 * efiemu/mm.c: Likewise.
27792 * efiemu/pnvram.c: Likewise.
27793 * efiemu/symbols.c: Likewise.
27794 * font/font.c: Likewise.
27795 * fs/cpio.c: Likewise.
27796 * fs/hfsplus.c: Likewise.
27797 * fs/iso9660.c: Likewise.
27798 * fs/jfs.c: Likewise.
27799 * fs/minix.c: Likewise.
27800 * fs/ntfs.c: Likewise.
27801 * fs/ntfscomp.c: Likewise.
27802 * fs/reiserfs.c: Likewise.
27803 * fs/ufs.c: Likewise.
27804 * fs/xfs.c: Likewise.
27805 * gettext/gettext.c: Likewise.
27806 * include/grub/auth.h: Likewise.
27807 * kern/elf.c: Likewise.
27808 * kern/file.c: Likewise.
27809 * kern/ieee1275/init.c: Likewise.
27810 * kern/ieee1275/mmap.c: Likewise.
27811 * kern/ieee1275/openfw.c: Likewise.
27812 * kern/powerpc/dl.c: Likewise.
27813 * kern/sparc64/dl.c: Likewise.
27814 * lib/arg.c: Likewise.
27815 * loader/i386/bsd.c: Likewise.
27816 * loader/i386/bsdXX.c: Likewise.
27817 * loader/i386/efi/linux.c: Likewise.
27818 * loader/i386/efi/xnu.c: Likewise.
27819 * loader/i386/ieee1275/linux.c: Likewise.
27820 * loader/i386/linux.c: Likewise.
27821 * loader/i386/multiboot.c: Likewise.
27822 * loader/i386/pc/linux.c: Likewise.
27823 * loader/i386/pc/multiboot2.c: Likewise.
27824 * loader/i386/xnu.c: Likewise.
27825 * loader/ieee1275/multiboot2.c: Likewise.
27826 * loader/macho.c: Likewise.
27827 * loader/machoXX.c: Likewise.
27828 * loader/multiboot2.c: Likewise.
27829 * loader/multiboot_loader.c: Likewise.
27830 * loader/powerpc/ieee1275/linux.c: Likewise.
27831 * loader/sparc64/ieee1275/linux.c: Likewise.
27832 * loader/xnu.c: Likewise.
27833 * loader/xnu_resume.c: Likewise.
27834 * mmap/i386/pc/mmap.c: Likewise.
27835 * normal/menu_viewer.c: Likewise.
27836 * partmap/acorn.c: Likewise.
27837 * partmap/amiga.c: Likewise.
27838 * partmap/apple.c: Likewise.
27839 * script/lexer.c: Likewise.
27840 * term/gfxterm.c: Likewise.
27841 * term/i386/pc/serial.c: Likewise.
27842 * term/i386/pc/vga.c: Likewise.
27843 * term/ieee1275/ofconsole.c: Likewise.
27844 * term/terminfo.c: Likewise.
27845 * video/bitmap.c: Likewise.
27846 * video/efi_gop.c: Likewise.
27847 * video/efi_uga.c: Likewise.
27848 * video/fb/video_fb.c: Likewise.
27849 * video/i386/pc/vbe.c: Likewise.
27850 * video/readers/tga.c: Likewise.
27851 * video/video.c: Likewise.
27852
0ad46fd7 278532009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
27854
27855 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
27856 * commands/lspci.c: Likewise.
27857 * commands/probe.c: Likewise.
27858 * commands/xnu_uuid.c: Likewise.
27859 * conf/i386-coreboot.rmk: Likewise.
27860 * conf/i386-efi.rmk: Likewise.
27861 * conf/i386-ieee1275.rmk: Likewise.
27862 * conf/i386-pc.rmk: Likewise.
27863 * conf/powerpc-ieee1275.rmk: Likewise.
27864 * conf/sparc64-ieee1275.rmk: Likewise.
27865 * conf/x86_64-efi.rmk: Likewise.
27866 * fs/i386/pc/pxe.c: Likewise.
27867 * gettext/gettext.c: Likewise.
27868 * include/grub/efi/graphics_output.h: Likewise.
27869 * include/grub/i386/pc/memory.h: Likewise.
27870 * kern/env.c: Likewise.
27871 * kern/i386/qemu/startup.S: Likewise.
27872 * lib/i386/pc/biosnum.c: Likewise.
27873 * lib/i386/relocator.c: Likewise.
27874 * lib/i386/relocator_asm.S: Likewise.
27875 * lib/relocator.c: Likewise.
27876 * loader/i386/bsd.c: Likewise.
27877 * loader/i386/multiboot.c: Likewise.
27878 * loader/i386/pc/chainloader.c: Likewise.
27879 * loader/i386/xnu.c: Likewise.
27880 * loader/xnu.c: Likewise.
27881 * normal/main.c: Likewise.
27882 * normal/menu_text.c: Likewise.
27883 * util/getroot.c: Likewise.
27884 * util/grub-mkconfig_lib.in: Likewise.
27885 * util/grub.d/00_header.in: Likewise.
27886 * util/i386/pc/grub-mkimage.c: Likewise.
27887 * util/mkisofs/eltorito.c: Likewise.
27888 * util/mkisofs/exclude.h: Likewise.
27889 * util/mkisofs/hash.c: Likewise.
27890 * util/mkisofs/iso9660.h: Likewise.
27891 * util/mkisofs/joliet.c: Likewise.
27892 * util/mkisofs/mkisofs.c: Likewise.
27893 * util/mkisofs/mkisofs.h: Likewise.
27894 * util/mkisofs/multi.c: Likewise.
27895 * util/mkisofs/name.c: Likewise.
27896 * util/mkisofs/rock.c: Likewise.
27897 * util/mkisofs/tree.c: Likewise.
27898 * util/mkisofs/write.c: Likewise.
27899 * video/efi_gop.c: Likewise.
27900
009ec743
VS
279012009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
27902
27903 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
27904 size counting.
27905
0ad46fd7 279062009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
27907
27908 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
27909 * genmk.rb (class SCRIPT): Modify the target file instead of source.
27910
d3d30ea0
VS
279112009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27912
27913 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
27914 (GRUB_MOD_INIT(memrw)): Update help line.
27915
a34f5c70
VS
279162009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27917
27918 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
27919 Use grub_extcmd_t. All users updated.
27920 (options): New variable.
27921 (grub_cmd_read): Restructure for readability. Support "-v" option.
27922 (grub_cmd_write): Restructure for readability.
27923
0ad46fd7 279242009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
27925
27926 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
27927
0ad46fd7 279282009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
27929
27930 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
27931 with the actual contents of the correspondending make variable.
27932 * util/grub-mkrescue.in (pkglib_DATA): New variable.
27933 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
27934 specifying `*.lst' and `efiemu??.o'
27935
0ad46fd7 279362009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
27937
27938 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
27939 after function name.
27940 Noticed by Rene Engelhard <rene@debian.org>.
27941
dc77a799
VS
279422009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27943
27944 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
27945 (options): New variable.
27946 (iospace): Likewise.
27947 (grub_lspci_iter): List IO spaces if "-i" was given.
27948 (grub_cmd_lspci): Parse options.
27949 (GRUB_MOD_INIT(lspci)): Use extcmd.
27950 (GRUB_MOD_FINI(lspci)): Likewise.
27951
0ad46fd7 279522009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
27953
27954 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
27955 `function' keyword.
27956 Patch by Tony Mancill <tmancill@debian.org>.
27957
b5d5993b
VS
279582009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27959
27960 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
27961 (grub_uhci_portstatus): Likewise.
27962 (grub_uhci_portstatus): Add necessary delay.
11d18281 27963 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 27964
941903f2 279652009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 27966
941903f2 27967 * commands/acpi.c (options): Fix capitalizations and/or full stops.
27968 (GRUB_MOD_INIT): Likewise.
27969 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 27970 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
27971 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 27972 * commands/efi/loadbios.c (enable_rom_area): Likewise.
27973 (enable_rom_area): Likewise.
27974 (GRUB_MOD_INIT): Likewise.
27975 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
27976 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
27977 * commands/handler.c (GRUB_MOD_INIT): Likewise.
27978 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
27979 * commands/hexdump.c (options): Likewise.
27980 * commands/i386/cpuid.c (options): Likewise.
27981 (GRUB_MOD_INIT): Likewise.
27982 * commands/i386/pc/drivemap.c (options): Likewise.
27983 (GRUB_MOD_INIT): Likewise.
27984 * commands/i386/pc/halt (options): Likewise.
27985 (GRUB_MOD_INIT): Likewise.
27986 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
27987 * commands/i386/pc/pxecmd.c (options): Likewise.
27988 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
27989 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
27990 * commands/keystatus.c (options): Likewise.
27991 (GRUB_MOD_INIT): Likewise.
27992 * commands/loadenv.c (options): Likewise.
27993 * commands/ls.c (options): Likewise.
27994 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
27995 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
27996 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
27997 * commands/parttool.c (helpmsg): Likewise.
27998 * commands/probe.c (options): Likewise.
27999 * commands/read.c (GRUB_MOD_INIT): Likewise.
28000 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
28001 * commands/search.c (options): Likewise.
28002 * commands/sleep.c (options): Likewise.
28003 * commands/test.c (GRUB_MOD_INIT): Likewise.
28004 * commands/true.c (GRUB_MOD_INIT): Likewise.
28005 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
28006 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
28007 * lib/arg.c (help_options): Likewise.
e9bbb4e7 28008 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
28009 `$(XGETTEXT)'.
98a50553 28010 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 28011
0ad46fd7 280122009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 28013
ef3c2c3a 28014 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
28015 instead of specifying them explicit.
28016
7922f68b
RM
280172009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28018
28019 * NEWS: Add grub-probe support for GNU/Hurd.
28020
537ce47f
RM
280212009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28022
28023 * NEWS: gettext was added after 1.97.
28024
9b214e3a
RM
280252009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28026
28027 * util/mkisofs/msdos_partition.h: New file (based on
28028 include/grub/msdos_partition.h).
28029 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
28030 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
28031 (ld_options, main): Recognize --protective-msdos-label.
28032 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
28033 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
28034 (padblock_write): If `use_protective_msdos_label' is set, patch a
28035 protective DOS-style label in the output image.
28036
28037 * util/grub-mkrescue.in: Use --protective-msdos-label.
28038
e9309813
RM
280392009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28040
28041 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
28042 boot.
28043
0ae56929
RM
280442009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28045
28046 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
28047 variables.
28048 (ld_options, main): Recognize `--embedded-boot'.
28049 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
28050 declarations.
28051 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
28052 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
28053 (padblock_write): Likewise. Rewrite to support embedded boot image.
28054
28055 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
28056 for BIOS-based disk boot instead of only ElTorito.
28057
b15937b1
RM
280582009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28059
28060 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
28061 build (not needed for bootstrap).
28062
52cc3ce0
RM
280632009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28064
28065 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
28066 from i386-pc build (not needed for bootstrap).
28067 Rewrite a pair of strings.
28068
36f5ff04
RM
280692009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28070
28071 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
28072
973c6c85 280732009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
28074
28075 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
28076
05d21547
AB
280772009-12-21 Andreas Born <futur.andy@googlemail.com>
28078
28079 * kern/env.c (grub_env_context_open): Mark exported variable for
28080 reexport.
28081
0175d51f
AB
280822009-12-21 Andreas Born <futur.andy@googlemail.com>
28083
28084 * kern/env.c (grub_env_export): Create nonexistent variables before
28085 exporting.
28086
7f39d92f 280872009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 28088
7f39d92f 28089 * include/grub/auth.h: Include `<grub/i18n.h>'.
28090 (GRUB_GET_PASSWORD): Gettextizze string.
28091 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
28092 menu_text.c.
28093 (grub_utf8_to_ucs4_alloc): Fix indentation.
28094 (grub_print_ucs4): Likewise.
28095 (grub_getstringwidth): Likewise.
28096 (print_message_indented): New declaration.
28097 * normal/auth.c: Include `<grub/i18n.h>'.
28098 (grub_auth_check_authentication): Gettexttize string.
28099 * normal/cmdline.c: Include `<grub/i18n.h>'.
28100 (grub_cmdline_get): Gettextizze.
28101 * normal/color.c: Include `<grub/i18n.h>'.
28102 (grub_parse_color_name_pair): Gettexttize strings.
28103 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
28104 string (use `print_message_indented').
28105 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
28106 `include/grub/normal.h'.
28107 (print_message_indented): Renamed to ...
28108 (grub_print_message_indented): ... this. Remove `static' qualifer (now
28109 used in normal/main.c).
28110 (print_message): Use `grub_print_message_indented' instead of
28111 `print_message_indented'.
28112 (print_timeout): Likewise.
28113 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
28114 (grub_normal_print_device_info): Gettexttize strings.
28115 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
28116
3041d898
VS
281172009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
28118
28119 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
28120 of arguments. Return number of tokens and not arguments. All users
28121 updated.
28122
de15bf8e
VS
281232009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
28124
28125 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
28126 non-MSDOS paritions.
28127
e0a6ca52
VS
281282009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
28129
28130 * include/grub/types.h (UNUSED): Removed since it conflicts with
28131 NetBSD headers. All users changed to direct __attribute__ ((unused)).
28132 Reported by Grégoire Sutre.
28133
b99518d1 281342009-12-19 Carles Pina i Estany <carles@pina.cat>
28135
28136 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
28137 (grub_print_ucs4_alloc): Likewise.
28138 (grub_getstringwidth): Likewise.
28139 * normal/main.c (grub_normal_init_page): Gettextize version string.
28140 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
28141 (getstringwidth): Renamed to ...
28142 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
28143 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
28144 (grub_print_ucs4): Remove `static' qualifer (now used in
28145 normal/main.c).
28146 * po/POTFILES: Add normal/main.c.
28147
bfd5e52b 281482009-12-19 Carles Pina i Estany <carles@pina.cat>
28149
28150 * normal/menu_text.c (STANDARD_MARGIN): New macro.
28151 (print_message_indented): Add `margin_left' and `margin_right'
28152 parameters.
28153 (print_message): Update `print_message_indented' calls. Adds '\n' to the
28154 strings.
28155 (print_timeout): Use `print_message_indented' to print the message.
28156 Deletes `second_stage' parameter.
28157 (run_menu): Update `print_timeout' calls.
28158
5a1ad2b9
VS
281592009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28160
28161 Fix console palette on OpenFirmware.
28162
28163 * term/ieee1275/ofconsole.c (MAX): Removed.
28164 (colors): Redone based on VGA palette.
28165 (grub_ofconsole_setcolor): Discard brightness bit since only 8
28166 colors are supported.
28167 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
28168
b045f00a
VS
281692009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28170
28171 Fix potential EfiEmu double prepare.
28172
28173 * efiemu/main.c (prepared): New variable
28174 (grub_efiemu_unload): Set prepare to '0'.
28175 (grub_efiemu_prepare): Return if already prepared. Set prepared.
28176
28177 set_virtual_address_map support.
28178
28179 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
28180 prototype.
28181 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
28182 prototype.
28183 (grub_efiemu_crc32): Likewise.
28184 (grub_efiemu_crc64): Likewise.
28185 (grub_efiemu_set_virtual_address_map): Likewise.
28186 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
28187 New definition.
28188 (grub_autoefi_set_virtual_address_map): Likewise.
28189 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
28190 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
28191 Restructure flow to accomodate it.
28192 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
28193 (grub_efiemu_crc): Recompute CRC32.
28194 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
28195 (efiemu_ptv_relocated): ... this. Made global. All users updated.
28196 * efiemu/symbols.c (relocated_handle): New variable.
28197 (grub_efiemu_free_syms): Free relocated_handle.
28198 (grub_efiemu_alloc_syms): Allocate relocated_handle.
28199 (grub_efiemu_write_sym_markers): New function.
28200 (grub_efiemu_set_virtual_address_map): Likewise.
28201
28202 Newer XNU parameters.
28203
28204 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
28205 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
28206 (grub_xnu_fill_devicetree): New prototype.
28207 (grub_xnu_heap_real_start): New variable.
28208 * loader/xnu.c (get_name_ptr): New function.
28209 (grub_xnu_load_driver): Fill namelen and name.
28210
28211 64-bit xnu support.
28212
28213 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
28214 and 'loader/macho64.c'.
28215 * conf/i386-pc.rmk: Likewise.
28216 * conf/x86_64-efi.rmk: Likewise.
28217 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
28218 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
28219 * include/grub/macho.h (grub_macho_segment64): New structure.
28220 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
28221 (grub_macho_size32): ... to this.
28222 (grub_macho32_get_entry_point): Renamed from ...
28223 (grub_macho_get_entry_point32): ... to this.
28224 (grub_macho_contains_macho64): New prototype.
28225 (grub_macho_size64): Likewise.
28226 (grub_macho_get_entry_point64): Likewise.
28227 (grub_macho32_load): Renamed from ...
28228 (grub_macho_load32): ... to this.
28229 (grub_macho32_filesize): Renamed from ...
28230 (grub_macho_filesize32): ... to this.
28231 (grub_macho32_readfile): Renamed from ...
28232 (grub_macho_readfile32): ... to this.
28233 (grub_macho_filesize64): New prototype.
28234 (grub_macho_readfile64): Likewise.
28235 (grub_macho_parse32): Likewise.
28236 (grub_macho_parse64): Likewise.
28237 * loader/macho.c: Split into ...
28238 * loader/machoXX.c: ... and this. Replace 32 with XX.
28239 * loader/macho32.c: New file.
28240 * loader/macho64.c: Likewise.
28241 * loader/xnu.c (grub_xnu_is_64bit): New variable.
28242 (grub_cmd_xnu_kernel): Make 32-bit only.
28243 (grub_cmd_xnu_kernel64): New function.
28244 (grub_xnu_load_driver): Support Mach-O 64.
28245 (grub_cmd_xnu_mkext): Likewise.
28246 * util/grub.d/30_os-prober.in (osx_entry): New function.
28247 Generate entries for 64-bit boot too.
28248
28249 Eliminate ad-hoc tree format in XNU and EfiEmu.
28250
28251 * efiemu/main.c (grub_efiemu_prepare): Update comment.
28252 * efiemu/pnvram.c: Rewritten to use environment variables.
28253 All users updated.
28254
28255 Inline utf16_to_utf8.
28256
28257 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
28258 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
28259 All users updated.
28260 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
28261
28262 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
28263 * commands/usbtest.c (grub_usb_get_string): ... move here.
28264 (usb_print_str): Fix error handling.
28265 * include/grub/usb.h (grub_usb_get_string): Remove.
28266
28267 UTF-8 to UTF-16 transformation.
28268
28269 * conf/common.rmk (pkglib_MODULES): Add charset.mod
28270 (charset_mod_SOURCES): New variable.
28271 (charset_mod_CFLAGS): Likewise.
28272 (charset_mod_LDFLAGS): Likewise.
28273 * include/grub/utf.h: New file.
28274 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
28275
28276 Support for device properties.
28277
28278 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
28279 (grub_xnu_devprop_device_header): Likewise.
28280 (grub_xnu_devprop_device_descriptor): Likewise.
28281 (grub_xnu_devprop_add_device): New prototype.
28282 (grub_xnu_devprop_remove_device): Likewise.
28283 (grub_xnu_devprop_remove_property): Likewise.
28284 (grub_xnu_devprop_add_property_utf8): Likewise.
28285 (grub_xnu_devprop_add_property_utf16): Likewise.
28286 (grub_cpu_xnu_init): Likewise.
28287 (grub_cpu_xnu_fini): Likewise.
28288 (grub_cpu_xnu_unload): Likewise.
28289 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
28290 (property_descriptor): Likewise.
28291 (devices): New variable.
28292 (grub_xnu_devprop_remove_property): New function.
28293 (grub_xnu_devprop_add_device): Likewise.
28294 (grub_xnu_devprop_remove_device): Likewise.
28295 (grub_xnu_devprop_add_property): Likewise.
28296 (grub_xnu_devprop_add_property_utf8): Likewise.
28297 (grub_xnu_devprop_add_property_utf16): Likewise.
28298 (hextoval): Likewise.
28299 (grub_cpu_xnu_fill_devprop): Likewise.
28300 (grub_cmd_devprop_load): Likewise.
28301 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
28302 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
28303 (cmd_devprop_load): New variable.
28304 (grub_cpu_xnu_init): New function.
28305 (grub_cpu_xnu_fini): Likewise.
28306 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
28307 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
28308 (grub_cmd_xnu_devtree): Likewise.
28309 (hextoval): New function.
28310 (unescape): Likewise.
28311 (grub_xnu_fill_devicetree): Likewise.
28312
28313 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
28314 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
28315
0945f181
VS
283162009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28317
28318 Workaround for broken ATI VBE.
28319
28320 * video/i386/pc/vbe.c (last_set_mode): New variable.
28321 (grub_vbe_set_video_mode): Set 'last_set_mode'.
28322 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
28323 (grub_video_vbe_setup): Don't check for reserved flag.
28324
0ad46fd7 283252009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
28326
28327 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
28328 the `find' command.
28329
c179ebe4
VS
283302009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
28331
28332 UUID support for HFS.
28333
28334 * fs/hfs.c (grub_hfs_uuid): New function.
28335 (grub_hfs_fs): New value .uuid.
28336 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
28337
0ad46fd7 283382009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
28339
28340 Fix a segfault with parsing unknown long options.
28341
28342 * util/grub-mkrelpath.c (options): Zero terminate it.
28343
c4a3e41a
CPE
283442009-12-13 Carles Pina i Estany <carles@pina.cat>
28345
28346 * include/grub/misc.h (grub_puts): New declaration.
28347 (grub_puts_): Likewise.
a22008a6 28348 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
28349 (grub_puts_): Likewise.
28350
2e8a7602
RM
283512009-12-13 Robert Millan <rmh.grub@aybabtu.com>
28352
28353 * util/grub-probe.c (probe): Improve error message.
28354
b50b77b9
RM
283552009-12-13 Robert Millan <rmh.grub@aybabtu.com>
28356
28357 * loader/i386/multiboot_elfxx.c
28358 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
28359 initialization.
28360
283612009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
28362
28363 Relocator framework
28364
28365 * loader/i386/xnu_helper.S: Removed. All users updated.
28366 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
28367 (relocator_mod_SOURCES): New variable.
28368 (relocator_mod_CFLAGS): Likewise.
28369 (relocator_mod_LDFLAGS): Likewise.
28370 (relocator_mod_ASFLAGS): Likewise.
28371 * conf/x86_64.rmk: Likewise.
28372 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
28373 (grub_multiboot_payload_entry_offset): Likewise.
28374 (grub_multiboot_forward_relocator): Likewise.
28375 (grub_multiboot_forward_relocator_end): Likewise.
28376 (grub_multiboot_backward_relocator): Likewise.
28377 (grub_multiboot_backward_relocator_end): Likewise.
28378 (grub_multiboot_payload_eip): New variable.
28379 (grub_multiboot_payload_orig): Likewise.
28380 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
28381 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
28382 * include/grub/i386/memory.h
28383 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
28384 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
28385 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
28386 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
28387 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
28388 * include/grub/i386/relocator.h: New file.
28389 * include/grub/x86_64/relocator.h: Likewise.
28390 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
28391 (XNU_RELOCATOR): New macro.
28392 (grub_xnu_launcher_start): Remove.
28393 (grub_xnu_launcher_end): Likewise.
28394 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
28395 (grub_xnu_heap_real_start): Remove.
28396 (grub_xnu_heap_start): Change to void *. All users updated.
28397 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
28398 * lib/i386/relocator.c: New file.
28399 * lib/i386/relocator_asm.S: Likewise.
28400 * lib/i386/relocator_backward.S: Likewise.
28401 * lib/mips/relocator.c: Likewise.
28402 * lib/mips/relocator_asm.S: Likewise.
28403 * lib/relocator.c: Likewise.
28404 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
28405 (entry): Removed.
28406 (playground): Likewise.
28407 (grub_multiboot_payload_orig): New variable.
28408 (grub_multiboot_payload_dest): Likewise.
28409 (grub_multiboot_payload_size): Likewise.
28410 (grub_multiboot_payload_eip): Likewise.
28411 (grub_multiboot_payload_esp): Likewise.
28412 (grub_multiboot_boot): Use grub_relocator32_boot.
28413 (grub_multiboot_unload): Free relocators.
28414 (grub_multiboot): Setup stack. Use relocators.
28415 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
28416 (grub_multiboot_load_elfXX): Use relocators.
28417 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
28418 (grub_multiboot_payload_size): Likewise.
28419 (grub_multiboot_payload_dest): Likewise.
28420 (grub_multiboot_payload_entry_offset): Likewise.
28421 (grub_multiboot_forward_relocator): Likewise.
28422 (grub_multiboot_backward_relocator): Likewise.
28423 (grub_multiboot_real_boot): Likewise.
28424 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
28425 (grub_xnu_entry_point): Likewise.
28426 (grub_xnu_arg1): Likewise.
28427 (grub_xnu_stack): Likewise.
28428 (grub_xnu_launch): Removed.
28429 (grub_xnu_boot_resume): New function.
28430 (grub_xnu_boot): Use relocators.
28431 * loader/i386/xnu_helper.S: Removed.
28432 * loader/xnu.c (grub_xnu_heap_start): New variable.
28433 (grub_xnu_heap_size): Likewise.
28434 (grub_xnu_heap_malloc): Use relocators.
28435 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
28436
29eb90c6
VS
284372009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
28438
28439 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
28440 anything.
28441
31027430
CPE
284422009-12-13 Carles Pina i Estany <carles@pina.cat>
28443
28444 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
28445 GRUB_ERR_NONE before calling grub_env_set.
28446
dc0c71d9
RM
284472009-12-12 Robert Millan <rmh@aybabtu.com>
28448
28449 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
28450 * genmk.rb (video): New variable.
28451 (CLEANFILES, VIDEOFILES): Add #{video}.
28452 (#{video}): New target rule.
28453 * genvideolist.sh: New file.
28454 * Makefile.in (pkglib_DATA): Add video.lst.
28455 (video.lst): New target rule.
28456 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
28457 `video.lst'.
28458 * util/grub.d/30_os-prober.in: Replace `vbe' with
28459 ${GRUB_VIDEO_BACKEND}.
28460
2a4bfcf0
RM
284612009-12-11 Robert Millan <rmh.grub@aybabtu.com>
28462
28463 * THANKS: Add David Miller.
28464
2a3aa4d5
RM
284652009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
28466
28467 libpciaccess support.
28468
28469 * Makefile.in (LIBPCIACCESS): New variable.
28470 (enable_grub_emu_pci): Likewise.
28471 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
28472 util/pci.c and commands/lspci.c.
28473 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
28474 * configure.ac (grub-emu-pci): New option.
28475 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
28476 (grub_pci_device_unmap_range): Likewise.
28477 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
28478 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
28479 (grub_pci_address_t) [!GRUB_UTIL]: New type.
28480 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
28481 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
28482 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
28483 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
28484 * include/grub/pciutils.h: New file.
28485 * util/pci.c: Likewise.
28486
0ad46fd7 284872009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
28488
28489 * util/misc.c: Don't include <errno.h> twice.
28490
0ad46fd7 284912009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
28492
28493 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
28494 name in an error message.
28495 (grub_biosdisk_rw): Likewise.
28496
2e59983c
VS
284972009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28498
28499 Eliminate NTFS 4Gib barrier.
28500
28501 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
28502 (read_run_data): Likewise.
28503 (grub_ntfs_read_run_list): Likewise.
28504 (grub_ntfs_read_block): Likewise.
28505 (grub_ntfs_iterate_dir): Likewise.
28506 (read_mft): Likewise.
28507 (read_data): Likewise.
28508 Use COM_LOG_LEN.
28509 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
28510 to avoid 64-bit division
28511 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
28512 (grub_ntfs_rlst): Use grub_disk_addr_t.
28513
71ee178a
VS
285142009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28515
28516 Eliminate grub-fstest 4Gib barrier.
28517
28518 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
28519 (read_file): Fix error reporting.
28520
2520d4b8
VS
285212009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28522
28523 Eliminate hexdump 4Gib barrier.
28524
28525 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
28526 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
28527
e1f27065
VS
285282009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28529
28530 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
28531 Fixes amarsh bug.
28532
1a0f7f45
RM
285332009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
28534
28535 Remove miscellaneous files in distclean target.
28536
28537 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
28538
c631d9fb
CW
285392009-12-09 Colin Watson <cjwatson@ubuntu.com>
28540
28541 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
28542 if they're already set. This resolves the conflict between my
28543 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
28544 fixing the --grub-probe option again.
28545 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
28546 change on 2009-10-06, so that we now once again source
28547 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
28548
7c7b6106
RM
285492009-12-08 Robert Millan <rmh.grub@aybabtu.com>
28550
28551 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
28552 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
28553 `util/devicemap.c'.
28554
e3069ec1
CPE
285552009-12-08 Carles Pina i Estany <carles@pina.cat>
28556
28557 * include/grub/misc.h (grub_printf_): New declaration.
28558 * kern/misc.c (grub_printf_): New definition.
28559 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
28560 instead of `grub_printf' and `_'.
28561 * normal/menu_entry.c (store_completion): Likewise.
28562 (run): Likewise.
28563 (grub_menu_entry_run): Likewise.
28564 * normal/menu_text.c (grub_wait_after_message): Likewise.
28565 (notify_booting): Likewise.
28566 (notify_fallback): Likewise.
28567 (notify_execution_failure): Likewise.
28568
d6ceebf1
CW
285692009-12-07 Colin Watson <cjwatson@ubuntu.com>
28570
28571 * configure.ac: Check for vasprintf.
28572 * util/misc.c (asprintf): Move allocation from here ...
28573 (vasprintf): ... to here. New function.
28574 (xasprintf): New function.
28575 * include/grub/util/misc.h (vasprintf, xasprintf): Add
28576 prototypes.
28577 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
28578 * util/grub-mkfont.c (write_font): Likewise.
28579 * util/grub-probe.c (probe): Likewise.
28580 * util/hostdisk.c (make_device_name): Likewise.
28581
de6daa8b
DM
285822009-12-06 David S. Miller <davem@sunset.davemloft.net>
28583
28584 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
28585 anything even prefixed with 'cdrom' as a cdrom.
28586
0ad46fd7 285872009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
28588
28589 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
28590 mount points.
28591
98d3dc02
CPE
285922009-12-05 Carles Pina i Estany <carles@pina.cat>
28593
28594 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
28595 grub_gettext_msg_list.
28596 (grub_gettext_gettranslation_from_position): Return const char *
28597 and not char *.
a2c1332b 28598 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
28599 returns from the list if existing there.
28600 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
28601 (grub_gettext_delete_list): Delete the list.
28602 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
28603 lang environment variable is changed.
28604 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
28605
b283f108
VS
286062009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
28607
28608 Rename kernel.mod to kernel.img.
28609
28610 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
28611 (kernel_mod_EXPORTS): Rename to ...
28612 (kernel_img_EXPORTS): ... this.
28613 (kernel_mod_SOURCES): Rename to ...
28614 (kernel_img_SOURCES): ... this.
28615 (kernel_mod_HEADERS): Rename to ...
28616 (kernel_img_HEADERS): ... this. All users updated.
28617 (kernel_mod_CFLAGS): Rename to ...
28618 (kernel_img_CFLAGS): ... this.
28619 (kernel_mod_ASFLAGS): Rename to ...
28620 (kernel_img_ASFLAGS): ... this.
28621 (kernel_mod_LDFLAGS): Rename to ...
28622 (kernel_img_LDFLAGS): ... this.
28623 * conf/x86_64-efi.rmk: Likewise.
28624 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
28625 (read_kernel_image): ... this. All users updated.
28626 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
28627
69055f8a
CPE
286282009-12-05 Carles Pina i Estany <carles@pina.cat>
28629
28630 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
28631 (print_spaces): New function.
28632 (grub_print_ucs4): New function.
28633 (getstringwidth): New function.
28634 (print_message_indented): New function.
28635 (print_message): Gettexttize strings using print_message_indented.
28636 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
28637 width.
28638 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 28639 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
28640 Gettextize.
28641 * normal/menu_entry.c (store_completion): Cleanup the gettextized
28642 string.
28643 (run): Likewise.
28644 (grub_menu_entry_run): Likewise.
28645 * PO/POTFILES: Add normal/menu_entry.c.
28646
f616f51c
VS
286472009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
28648
28649 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
28650
57bbe3be
CPE
286512009-12-05 Carles Pina i Estany <carles@pina.cat>
28652
28653 * util/grub-install.in: Install gettext .mo files.
28654 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
28655
013d67a1
CPE
286562009-12-05 Carles Pina i Estany <carles@pina.cat>
28657
28658 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
28659 grub_dprintf.
28660
fb954db0
RM
286612009-12-05 Robert Millan <rmh.grub@aybabtu.com>
28662
28663 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
28664 non-firmware-dependant one in realmode.S takes precedence.
28665
6b8474f8
RM
286662009-12-04 Robert Millan <rmh.grub@aybabtu.com>
28667
28668 * commands/halt.c: Replace misc arch-specific headers with
28669 `<grub/misc.h>'.
28670 * commands/reboot.c: Likewise.
28671 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
28672 `<grub/misc.h>'.
28673 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
28674 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
28675 (kernel_img_SOURCES): ... to here.
28676
28677 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
28678 * include/grub/i386/pc/init.h: Likewise.
28679 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
28680 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
28681
28682 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
28683
28684 * include/grub/i386/halt.h: Remove.
28685 * include/grub/i386/reboot.h: Likewise.
28686
28687 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
28688
4b2e6ca2
DM
286892009-12-03 David S. Miller <davem@sunset.davemloft.net>
28690
28691 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
28692 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
28693 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
28694 "progname.h"
28695 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
28696 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28697 (usage): Add missing comma in printf.
28698
5239348f
RM
286992009-12-02 Robert Millan <rmh.grub@aybabtu.com>
28700
28701 Use the same reboot approach on i386 coreboot and qemu as we do on
28702 BIOS.
28703
28704 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
28705 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
28706 * kern/i386/reboot.c: Remove.
28707 * include/grub/i386/reboot.h (grub_reboot): Export function.
28708 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
28709 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
28710 0xf000:0xfff0 instead of 0xffff:0x0000.
28711 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
28712 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
28713
ef34cbd4
RM
287142009-11-30 Robert Millan <rmh.grub@aybabtu.com>
28715
28716 Fix $srcdir != $objdir build.
28717
28718 * Makefile.in (po/%.po): Rewrite as ...
28719 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
28720
dc9837ea
ST
287212009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
28722
28723 Fix GNU/Hurd grub-install crash.
28724 * util/grub-probe.c (probe): Try to access `path' only when it is not
28725 NULL.
28726
2f857f98
VS
287272009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28728
28729 Correct module naming.
28730
28731 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
28732 (GRUB_MOD_INIT(efi_uga)): ... to this
28733 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
28734 (GRUB_MOD_FINI(efi_uga)): ... to this
28735 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
28736 (GRUB_MOD_INIT(efi_gop)): ... to this
28737 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
28738 (GRUB_MOD_FINI(efi_gop)): ... to this
28739
c5448046
RM
287402009-11-28 Robert Millan <rmh.grub@aybabtu.com>
28741
28742 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
28743 translatable.
28744 (usage): Translate `arg' strings using gettext().
28745 Thanks to Jordi Mallach for the suggestion.
28746
c85184ad
VS
287472009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28748
28749 GOP support. Based on patch from Bean
28750 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
28751
28752 * video/efi_gop.c: New file.
28753 * include/grub/efi/graphics_output.h: Likewise.
28754 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
28755 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
28756 variables.
28757 * conf/x86_64-efi.rmk: Likewise.
28758
8a4c48d8
VS
287592009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28760
28761 Rename efi_fb to efi_uga.
28762
28763 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
28764 'efi_uga.mod'.
28765 (efi_fb_mod_SOURCES): Rename this ...
28766 (efi_uga_mod_SOURCES): ... to this.
28767 (efi_fb_mod_CFLAGS): Rename this ...
28768 (efi_uga_mod_CFLAGS): ... to this.
28769 (efi_fb_mod_LDFLAGS): Rename this ...
28770 (efi_uga_mod_LDFLAGS): ... to this.
28771 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
28772 'efi_uga.mod'.
28773 (efi_fb_mod_SOURCES): Rename this ...
28774 (efi_uga_mod_SOURCES): ... to this.
28775 (efi_fb_mod_CFLAGS): Rename this ...
28776 (efi_uga_mod_CFLAGS): ... to this.
28777 (efi_fb_mod_LDFLAGS): Rename this ...
28778 (efi_uga_mod_LDFLAGS): ... to this.
28779 * video/efi_fb.c: Move this ...
28780 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
28781
fb6c1a7b
RM
287822009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28783
28784 * po/README: New file. Explain our PO file workflow.
28785
3bc7896c
RM
287862009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28787
28788 * po/ChangeLog: Remove. Move relevant entries back to ...
28789 * ChangeLog: ... here.
28790 * po/ca.po: Remove (now handled by TLP).
28791 * po/id.po: Likewise.
28792 * po/zh_CN.po: Likewise.
28793 * Makefile.in (LINGUAS): Initialize in a way that supports
28794 empty set.
28795
9ed4841d
RM
287962009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28797
28798 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
28799 reliing on po/LINGUAS.
28800 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
28801 (po/%.po): ... this.
28802
0ad46fd7 288032009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
28804
28805 * util/i386/efi/grub-mkimage.c: Include "progname.h".
28806 (main): Use `program_name' instead of nonexistent `progname'.
28807
e30dd392
FZ
288082009-11-26 Felix Zielcke <fzielcke@z-51.de>
28809
28810 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
28811 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
28812
7656de4f
RM
288132009-11-26 Robert Millan <rmh.grub@aybabtu.com>
28814
28815 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
28816 commit.
28817 * conf/i386-efi.rmk: Likewise.
28818 * conf/i386-ieee1275.rmk: Likewise.
28819 * conf/powerpc-ieee1275.rmk: Likewise.
28820 * conf/sparc64-ieee1275.rmk: Likewise.
28821 * conf/x86_64-efi.rmk: Likewise.
28822
db77c4d4
FZ
288232009-11-26 Felix Zielcke <fzielcke@z-51.de>
28824
28825 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
28826
a755bb04
FZ
288272009-11-26 Felix Zielcke <fzielcke@z-51.de>
28828
28829 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
28830
8a4c07fd
RM
288312009-11-26 Robert Millan <rmh.grub@aybabtu.com>
28832
28833 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
28834 (grub_mkdevicemap_SOURCES): New variable.
28835 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
28836 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
28837 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
28838 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
28839 (grub_mkdevicemap_SOURCES): Remove.
28840 * conf/i386-efi.rmk: Likewise.
28841 * conf/i386-ieee1275.rmk: Likewise.
28842 * conf/i386-pc.rmk: Likewise.
28843 * conf/powerpc-ieee1275.rmk: Likewise.
28844 * conf/sparc64-ieee1275.rmk: Likewise.
28845 * conf/x86_64-efi.rmk: Likewise.
28846 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
28847 (usage): Fix strings to use `program_name'.
28848 (main): Initialize gettext.
28849 * util/grub-editenv.c: Likewise.
28850 * util/grub-emu.c: Likewise.
28851 * util/grub-fstest.c: Likewise.
28852 * util/grub-mkdevicemap.c: Likewise.
28853 * util/grub-mkfont.c: Likewise.
28854 * util/grub-mkrelpath.c: Likewise.
28855 * util/grub-pe2elf.c: Likewise.
28856 * util/grub-probe.c: Likewise.
28857 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
28858 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
28859 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28860
28861 * util/misc.c: Include `"progname.h"'.
28862 (progname): Remove variable.
28863 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
28864
6f61ed55
FZ
288652009-11-25 Felix Zielcke <fzielcke@z-51.de>
28866
28867 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
28868 printf and print a newline after the menuentry header line.
28869 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
28870
f022876b
FZ
288712009-11-25 Felix Zielcke <fzielcke@z-51.de>
28872
28873 autoconf >= 2.60 support $(localedir).
28874
28875 * INSTALL: Note that autoconf 2.60 is required.
28876 * configure.ac (AC_PREREQ): Bump to 2.60.
28877 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
28878 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
28879
6717926e
YB
288802009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
28881
28882 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
28883 aclocal is run.
28884
08806a54
RM
288852009-11-25 Robert Millan <rmh.grub@aybabtu.com>
28886
28887 * normal/main.c (grub_normal_read_line): Fix off-by-one
28888 buffer overflow.
28889
13b33fba
RM
288902009-11-25 Robert Millan <rmh.grub@aybabtu.com>
28891
28892 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
28893 "parser.grub" in grub_command_execute() call.
28894
4a8572e9
CPE
288952009-11-24 Carles Pina i Estany <carles@pina.cat>
28896
28897 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
28898 * conf/i386-efi.rmk: Likewise.
28899 * conf/i386-ieee1275.rmk: Likewise.
28900 * conf/i386-pc.rmk: Likewise.
28901 * conf/powerpc-ieee1275.rmk: Likewise.
28902 * conf/sparc64-ieee1275.rmk: Likewise.
28903 * conf/x86_64-efi.rmk: Likewise.
28904 * gettext/gettex.c: Include <grub/i18n.h>.
28905 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
28906 here ...
28907 * include/grub/i18n.h: ... to here
28908 * include/grub/i18n.h: ... to here.
28909 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 28910 (grub_gettext_dummy): Move above user.
4a8572e9 28911
bee48093
FZ
289122009-11-24 Felix Zielcke <fzielcke@z-51.de>
28913
28914 * util/Makefile.in (install-local): Convert a `for' into a normal
28915 shell expansion.
28916
a031e91c
RM
289172009-11-24 Robert Millan <rmh.grub@aybabtu.com>
28918
28919 * autogen.sh: Add automake call.
28920 * config.guess: Remove.
28921 * config.sub: Likewise.
28922 * install-sh: Likewise.
28923
26bec39d
FZ
289242009-11-24 Felix Zielcke <fzielcke@z-51.de>
28925
28926 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
28927
8e2532fd
FZ
289282009-11-24 Felix Zielcke <fzielcke@z-51.de>
28929
28930 * util/Makefile.in (install-local): Convert a make `$(foreach)'
28931 function to a normal shell `for'.
28932
fefa1b7d
FZ
289332009-11-24 Felix Zielcke <fzielcke@z-51.de>
28934
28935 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
28936
4501250b
FZ
289372009-11-24 Felix Zielcke <fzielcke@z-51.de>
28938
28939 * util/grub-mkrelpath.c: New file.
28940 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
28941 (grub_mkrelpath_SOURCES): New variable.
28942 * include/grub/util/misc.h: New function prototype.
28943 * util/misc.c (make_system_path_relative_to_its_root): New function.
28944
28945 * util/grub-mkconfig_lib.in (bindir): New variable.
28946 (grub_mkrelpath): Likewise.
28947 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
28948
28949 * util/probe.c (probe): Make the file path relative to its root.
28950 Change a info message to use the GRUB path. Enable again the
28951 check if we can read the file with GRUB facilities.
28952
28953 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
28954 to its root.
28955
11d9778b
FZ
289562009-11-24 Felix Zielcke <fzielcke@z-51.de>
28957
28958 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
28959 platform.
28960
4465287d
FZ
289612009-11-24 Felix Zielcke <fzielcke@z-51.de>
28962
28963 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
28964 strncmp().
28965
62b47f22
FZ
289662009-11-24 Felix Zielcke <fzielcke@z-51.de>
28967
28968 * util/getroot.c (grub_util_is_dmraid): New function.
28969 (grub_util_get_dev_abstraction): Treat dmraid and multipath
28970 devices as normal ones, not as LVM.
28971
1eafb9b9 289722009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
28973
28974 * conf/common.rmk: Add grub-gettext_lib target and updates
28975 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
28976 LDFLAGS.
28977 * gettext/gettext.c: New file. (Reads mo files).
28978 * include/grub/file.h (grub_file_pread): New prototype.
28979 * include/grub/i18n.h (_): New prototype.
28980 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
28981 prototypes.
28982 * kern/misc.c (grub_gettext_dummy): New function.
28983 * normal/menu_text.c: Include <grub/i18n.h>.
28984 * normal/menu_text.c (print_timeout): Gettexttize string.
28985 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
28986 * po/POTFILES: Add `normal/menu_text.c'.
28987 * po/ca.po: Add new translations.
c3ea6bd4
CPE
28988 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
28989 gettext module and defines locale_dir and lang in grub.cfg.
28990 * NEWS: Add gettext support.
28991
0fdb2568
RM
289922009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28993
28994 * util/hostdisk.c: Include `<grub/i18n.h>'.
28995 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
28996 (make_device_name): Rewrite using asprintf.
28997 (convert_system_partition_to_system_disk): Replace 0 with NULL.
28998 (find_system_device): If a device is not found, generate one just
28999 by reusing the OS path name.
29000 (read_device_map): Make it permissible for device.map not to exist.
29001
f515aa62
RM
290022009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29003
29004 * script/sh/execute.c: Move from here ...
29005 * script/execute.c: ... to here. Update all users.
29006 * script/sh/function.c: Move from here ...
29007 * script/function.c: ... to here. Update all users.
29008 * script/sh/lexer.c: Move from here ...
29009 * script/lexer.c: ... to here. Update all users.
29010 * script/sh/main.c: Move from here ...
29011 * script/main.c: ... to here. Update all users.
29012 * script/sh/parser.y: Move from here ...
29013 * script/parser.y: ... to here. Update all users.
29014 * script/sh/script.c: Move from here ...
29015 * script/script.c: ... to here. Update all users.
29016
f84b481b
RM
290172009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29018
29019 * configure.ac: Detect all `emu' platforms. Define
29020 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
29021 --enable-grub-emu logic. Disable include/grub/machine
29022 symlink on `emu' platforms.
29023
29024 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
29025 * gensymlist.sh.in: Likewise.
29026
29027 * include/grub/i386/coreboot/machine.h: Remove file.
29028 * include/grub/i386/efi/machine.h: Likewise.
29029 * include/grub/i386/ieee1275/machine.h: Likewise.
29030 * include/grub/i386/pc/machine.h: Likewise.
29031 * include/grub/i386/qemu/machine.h: Likewise.
29032 * include/grub/powerpc/ieee1275/machine.h: Likewise.
29033 * include/grub/sparc64/ieee1275/machine.h: Likewise.
29034 * include/grub/x86_64/efi/machine.h: Likewise.
29035
29036 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
29037 * commands/halt.c: Likewise.
29038 * commands/reboot.c: Likewise.
29039 * include/grub/autoefi.h: Likewise.
29040 * include/grub/i386/at_keyboard.h: Likewise.
29041 * include/grub/i386/kernel.h: Likewise.
29042 * include/grub/i386/loader.h: Likewise.
29043 * include/grub/i386/pc/memory.h: Likewise.
29044 * kern/dl.c: Likewise.
29045 * kern/i386/coreboot/init.c: Likewise.
29046 * loader/i386/bsd.c: Likewise.
29047 * loader/i386/linux.c: Likewise.
29048 * loader/multiboot_loader.c: Likewise.
29049 * term/i386/pc/serial.c: Likewise.
29050 * term/usb_keyboard.c: Likewise.
29051
29052 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
29053 `<grub/machine/machine.h>'
29054 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
29055 * util/misc.c: Remove `<grub/machine/machine.h>' and
29056 `<grub/machine/time.h>'.
29057
29058 * Makefile.in (enable_grub_emu): Remove variable.
29059 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
29060
29061 * conf/any-emu.rmk: New file.
29062 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
29063 (grub_emu_init.c): Move from here ...
29064 * conf/any-emu.rmk: ... to here.
29065
29066 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
29067 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
29068 * conf/any-emu.rmk: ... to here.
29069
4efeab03
RM
290702009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29071
29072 * include/grub/parser.h (grub_parser_register): Document need
29073 of `name' parameter.
29074 * normal/main.c (grub_normal_read_line): Simplify prompt string.
29075 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
29076 "sh" to "grub".
29077
ea1dd8bf
RM
290782009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29079
29080 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
29081 `$(XGETTEXT)'.
29082 * include/grub/i18n.h (N_): New macro.
29083 * util/mkisofs/mkisofs.h: Likewise.
29084 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
29085 around N_().
29086 (usage): Use gettext() to translate help strings when printing them.
29087
0c140626
RM
290882009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29089
29090 Based on patch from Bean
29091 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
29092
29093 * video/efi_fb.c: New file.
29094 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
29095 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
29096 variables.
29097 * conf/x86_64-efi.rmk: Likewise.
29098
87d58298
RM
290992009-11-22 Robert Millan <rmh.grub@aybabtu.com>
29100
29101 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
29102 * util/i386/pc/grub-setup.c: Likewise.
29103
994cc3a3
ST
291042009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
29105
29106 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
29107 <hurd/fs.h>
29108 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
29109 file_get_storage_info to implement grub_guess_root_device.
29110
26a61d6a
FZ
291112009-11-21 Felix Zielcke <fzielcke@z-51.de>
29112
29113 * Makefile.in (target): Use make's builtin $(shell) function
29114 instead of calling directly $(SHELL) to create the locale directories,
29115 inside the $(foreach) function.
29116
74ff1dd5
FZ
291172009-11-21 Felix Zielcke <fzielcke@z-51.de>
29118
29119 * util/grub-mkrescue.in: Print an error and usage if output option
29120 has not been given.
29121
0b787d0e
FZ
291222009-11-21 Felix Zielcke <fzielcke@z-51.de>
29123
29124 Patch from Loïc Minier <loic.minier@ubuntu.com>.
29125 * util/grub.d/30_os-prober.in: Cope with Linux entries where
29126 root and /boot are on different devices.
29127
1164b270
RM
291282009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29129
29130 Fix build for srcdir != objdir.
29131
29132 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
29133 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
29134 $(srcdir).
29135 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
29136 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
29137 reference for input.
29138
13774a2f
RM
291392009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29140
29141 * util/grub-mkrescue.in: Use source directory direcly (without copiing
29142 or hardlinking it). Remove -J option, Joliet is not compatible with
29143 multiple source directories.
29144
efda854e
RM
291452009-11-21 Carles Pina i Estany <carles@pina.cat>
291462009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29147
29148 * util/grub-mkrescue.in: Recognize `--override-directory' option.
29149 (process_input_dir): New function. Process an arbitrary input
29150 directory.
29151 Misc adjustments to support both "override mode" and system-wide mode.
29152
6c09890c
FZ
291532009-11-20 Felix Zielcke <fzielcke@z-51.de>
29154
29155 * configure.ac (UNIFONT_BDF): Rename to ...
29156 (FONT_SOURCE): ... this. Update all users.
29157
a797824f
FZ
291582009-11-20 Felix Zielcke <fzielcke@z-51.de>
29159
29160 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
29161 to the list of unifont files to look for.
29162
cd4f42b0
RM
291632009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29164
29165 Patch from Joe Auricchio <jauricchio@gmail.com>
29166 * commands/minicmd.c (grub_mini_cmd_clear): New function.
29167 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
29168 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
29169
393c783d
FZ
291702009-11-19 Felix Zielcke <fzielcke@z-51.de>
29171
29172 * Makefile.in (install-local): Add a missing backslash.
29173
b2f1e327
FZ
291742009-11-19 Felix Zielcke <fzielcke@z-51.de>
29175
29176 * include/grub/x86_64/io.h: New file.
29177
f577f7a0
RM
291782009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29179
29180 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
29181 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
29182 Include `"progname.h"'.
29183 (main): Initialize gettext.
29184 * util/i386/pc/grub-setup.c: Gettexttize.
29185 * util/i386/pc/grub-mkimage.c: Likewise.
29186
29187 * Makefile.in (po/*.po): Redefine as ...
29188 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
29189
3bc7896c
RM
29190 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
29191
c37943b6
RM
291922009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29193
29194 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
29195 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
29196 (program_name): Remove.
29197 (main): Initialize gettext support.
6323f705
RM
29198 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
29199 Include `<libintl.h>'.
29200 (_): New macro.
c37943b6
RM
29201
29202 * util/mkisofs/eltorito.c: Gettexttize.
29203 * util/mkisofs/joliet.c: Likewise.
29204 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
29205 * util/mkisofs/multi.c: Likewise.
29206 * util/mkisofs/rock.c: Likewise.
29207 * util/mkisofs/tree.c: Likewise.
29208 * util/mkisofs/write.c: Likewise.
29209
3bc7896c
RM
29210 * po/POTFILES: Update with new files.
29211
5ce77c6e
RM
292122009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29213
29214 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
29215 * util/mkisofs/iso9660.h: Likewise.
29216 * util/mkisofs/joliet.c: Likewise.
29217 * util/mkisofs/mkisofs.c: Likewise.
29218 * util/mkisofs/mkisofs.h: Likewise.
29219 * util/mkisofs/rock.c: Likewise.
29220 * util/mkisofs/tree.c: Likewise.
29221 * util/mkisofs/write.c: Likewise.
29222
29223 * util/mkisofs/eltorito.c (rcsid): Remove.
29224 * util/mkisofs/hash.c: Likewise.
29225 * util/mkisofs/joliet.c: Likewise.
29226 * util/mkisofs/name.c: Likewise.
29227 * util/mkisofs/rock.c: Likewise.
29228 * util/mkisofs/tree.c: Likewise.
29229 * util/mkisofs/write.c: Likewise.
29230
1dabbc77
RM
292312009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29232
29233 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
29234 instead of static allocation.
29235 * util/mkisofs/match.h: Likewise.
29236
633877cb
RM
292372009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29238
3bc7896c
RM
29239 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
29240 and `util/grub.d/10_linux.in'.
633877cb
RM
29241 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
29242 translatable Shell files.
29243
af1c0c85
RM
292442009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29245
29246 * Makefile.in ($(srcdir)/aclocal.m4): New target.
29247
769ae37b
RM
292482009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29249
29250 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 29251 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
29252 * util/grub.d/10_kfreebsd.in (bindir): New variable.
29253 Add gettext initialization.
29254 (kfreebsd_entry): Make menuentry output translatable.
29255
292562009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29257
29258 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
29259 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
29260 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
29261 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
29262 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 29263 * po/LINGUAS: New file.
769ae37b
RM
29264
292652009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29266
29267 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
29268 other things).
29269 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
29270 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
29271 bindtextdomain() calls for gettext initialization.
29272
292732009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29274
29275 * gnulib/progname.c: New file (imported from Gnulib).
29276 * gnulib/progname.h: Likewise.
29277 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
29278 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
29279 (usage): Replace `progname' with `program_name'.
29280 (main): Use set_program_name() for program name initialization.
29281
292822009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29283
29284 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
29285 from here ...
29286 * Makefile.in (CPPFLAGS): ... to here.
29287
292882009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29289
29290 * aclocal.m4: Move from here ...
29291 * acinclude.m4: ... to here.
29292 * autogen.sh: Add call to `aclocal'.
29293 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
29294
292952009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29296
29297 * Makefile.in (CLEANFILES): Add `po/*.mo'.
29298 (LINGUAS): New variable.
29299 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
29300 (install-local): Install MO files.
29301 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
29302 * include/grub/i18n.h: New file.
3bc7896c
RM
29303 * po/POTFILES: New file.
29304 * po/ca.po: New file.
769ae37b
RM
29305 * util/grub.d/10_linux.in (bindir): New variable.
29306 Add gettext initialization.
29307 (linux_entry): Make menuentry output translatable.
29308 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
29309 (usage): Make --help output translatable.
29310 (main): Initialize gettext.
29311
02c0a6ad
RM
293122009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29313
29314 * import_gcry.py: New file (written by Vladimir with minor
29315 adjustments).
29316 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
29317 ciphers.
29318 * INSTALL: Document that Python is required for bootstrap.
29319
293202009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29321
29322 Import ciphers from libgcrypt 1.4.4.
29323
29324 * lib/libgcrypt/cipher/ChangeLog
29325 * lib/libgcrypt/cipher/ac.c
29326 * lib/libgcrypt/cipher/arcfour.c
29327 * lib/libgcrypt/cipher/bithelp.h
29328 * lib/libgcrypt/cipher/blowfish.c
29329 * lib/libgcrypt/cipher/camellia-glue.c
29330 * lib/libgcrypt/cipher/camellia.c
29331 * lib/libgcrypt/cipher/camellia.h
29332 * lib/libgcrypt/cipher/cast5.c
29333 * lib/libgcrypt/cipher/cipher.c
29334 * lib/libgcrypt/cipher/crc.c
29335 * lib/libgcrypt/cipher/des.c
29336 * lib/libgcrypt/cipher/dsa.c
29337 * lib/libgcrypt/cipher/ecc.c
29338 * lib/libgcrypt/cipher/elgamal.c
29339 * lib/libgcrypt/cipher/hash-common.c
29340 * lib/libgcrypt/cipher/hash-common.h
29341 * lib/libgcrypt/cipher/hmac-tests.c
29342 * lib/libgcrypt/cipher/md.c
29343 * lib/libgcrypt/cipher/md4.c
29344 * lib/libgcrypt/cipher/md5.c
29345 * lib/libgcrypt/cipher/primegen.c
29346 * lib/libgcrypt/cipher/pubkey.c
29347 * lib/libgcrypt/cipher/rfc2268.c
29348 * lib/libgcrypt/cipher/rijndael-tables.h
29349 * lib/libgcrypt/cipher/rijndael.c
29350 * lib/libgcrypt/cipher/rmd.h
29351 * lib/libgcrypt/cipher/rmd160.c
29352 * lib/libgcrypt/cipher/rsa.c
29353 * lib/libgcrypt/cipher/seed.c
29354 * lib/libgcrypt/cipher/serpent.c
29355 * lib/libgcrypt/cipher/sha1.c
29356 * lib/libgcrypt/cipher/sha256.c
29357 * lib/libgcrypt/cipher/sha512.c
29358 * lib/libgcrypt/cipher/tiger.c
29359 * lib/libgcrypt/cipher/twofish.c
29360 * lib/libgcrypt/cipher/whirlpool.c
29361
af2f93ac
RM
293622009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29363
29364 Fix build for systems without error().
29365
29366 * gnulib/error.c: New file (imported from Gnulib).
29367 * gnulib/error.h: Likewise.
29368 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
29369 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
29370 (this variable is now used by error()).
29371
73fb3dd5
FZ
293722009-11-16 Felix Zielcke <fzielcke@z-51.de>
29373
814f5e96
FZ
29374 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
29375 instead of relying that char is signed.
73fb3dd5 29376
a691ca33
VS
293772009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
29378
29379 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
29380 blocksize different from specified.
29381 (grub_pxefs_read): Likewise.
29382
2af8f0f4
FZ
293832009-11-16 Felix Zielcke <fzielcke@z-51.de>
29384
29385 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
29386
29387 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
29388 (grub_ata_readwrite): Likewise. Update 2 format strings.
29389 (grub_atapi_read): Likewise.
29390
29391 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
29392 * conf/i386.rmk (pkglib_MODULES): ... to here ...
29393 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
29394 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
29395 (ata_mod_LDFLAGS): Move from here ...
29396 * conf/i386.rmk: ... to here ...
29397 * conf/x86_64-efi.rmk: ... and here.
29398 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
29399 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
29400
83bdecaf
RM
294012009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29402
29403 Relicense multiboot.h, with RMS' blessing.
29404
29405 * include/multiboot.h: Change to X11 license.
29406
fd6fd3d7
RM
294072009-11-15 Robert Millan <rmh.grub@aybabtu.com>
29408
29409 Support --version in grub-mkisofs.
29410
29411 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
29412 (OPTION_VERSION): New macro.
29413 (ld_options): Recognize --version.
29414 (usage): Move `program_name' from here ...
29415 (program_name): ... to here. Add `static' qualifier.
29416 (main): Recognize `OPTION_VERSION'.
29417
16a88c49
FZ
294182009-11-15 Felix Zielcke <fzielcke@z-51.de>
29419
29420 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
29421 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
29422
a4158476
RM
294232009-11-14 Robert Millan <rmh.grub@aybabtu.com>
29424
29425 Fix help2man generation for mkisofs.
29426
29427 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
29428 (usage): Send output to stdout (rather than stderr).
29429
fc2208b0
RM
294302009-11-14 Robert Millan <rmh.grub@aybabtu.com>
29431
29432 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
29433 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
29434 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
29435 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
29436 (bin_SCRIPTS): Add `grub-mkfloppy'.
29437 (grub_mkfloppy_SOURCES): New variable.
29438
29439 * util/grub-mkrescue.in: New file.
29440 * util/i386/pc/grub-mkfloppy.in: New file.
29441
29442 * util/i386/coreboot/grub-mkrescue.in: Remove.
29443 * util/i386/pc/grub-mkrescue.in: Remove.
29444
8d0edf4a
RM
294452009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29446
29447 * include/grub/multiboot.h (struct grub_multiboot_header): Move
29448 from here ...
29449 * include/multiboot.h (struct multiboot_header): ... to here. Update
29450 all users.
29451 * include/grub/multiboot.h (struct grub_multiboot_info): Move
29452 from here ...
29453 * include/multiboot.h (struct multiboot_info): ... to here. Update
29454 all users.
29455 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
29456 from here ...
29457 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
29458 Update all users.
29459 * include/grub/multiboot.h (struct grub_mod_list): Move
29460 from here ...
29461 * include/multiboot.h (struct multiboot_mod_list): ... to here.
29462 Update all users.
29463
a73f5969
RM
294642009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29465
29466 * include/multiboot2.h (multiboot_word): Rename from this ...
29467 (multiboot2_word): ... to this. Update all users.
29468 (multiboot_header): Rename from this ...
29469 (multiboot2_header): ... to this. Update all users.
29470 (multiboot_tag_header): Rename from this ...
29471 (multiboot2_tag_header): ... to this. Update all users.
29472 (multiboot_tag_start): Rename from this ...
29473 (multiboot2_tag_start): ... to this. Update all users.
29474 (multiboot_tag_name): Rename from this ...
29475 (multiboot2_tag_name): ... to this. Update all users.
29476 (multiboot_tag_module): Rename from this ...
29477 (multiboot2_tag_module): ... to this. Update all users.
29478 (multiboot_tag_memory): Rename from this ...
29479 (multiboot2_tag_memory): ... to this. Update all users.
29480 (multiboot_tag_unused): Rename from this ...
29481 (multiboot2_tag_unused): ... to this. Update all users.
29482 (multiboot_tag_end): Rename from this ...
29483 (multiboot2_tag_end): ... to this. Update all users.
29484
1c8927f0
RM
294852009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29486
29487 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
29488 this platform we should support Multiboot1 first.
29489
29490 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
29491 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
29492 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
29493
6e1e0d89
RM
294942009-11-12 Robert Millan <rmh.grub@aybabtu.com>
29495
29496 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
29497 of write calls (converting them to fwrite() if they aren't already).
29498 (get_torito_desc): Likewise.
29499 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
29500
7f2b34d8
RM
295012009-11-12 Robert Millan <rmh.grub@aybabtu.com>
29502
29503 * util/i386/pc/grub-install.in: Move from here ...
29504 * util/grub-install.in: ... to here. Update all users.
29505
c0ef3311
CW
295062009-11-11 Colin Watson <cjwatson@ubuntu.com>
29507
29508 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
29509
e1f240ff
RM
295102009-11-11 Robert Millan <rmh.grub@aybabtu.com>
29511
29512 Support for El Torito without floppy emulation.
29513
29514 * util/mkisofs/eltorito.c: Include `<errno.h>'.
29515 (init_boot_catalog): Improve error handling.
29516 (get_torito_desc): Don't use floppy emulation unless requested by
29517 user. Patch boot information table when requested via
29518 `-boot-info-table'.
29519 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
29520 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
29521 (use_boot_info_table): New variables.
29522 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
29523 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
29524 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
29525 `--eltorito-emul-floppy'.
29526 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
29527 and `OPTION_ELTORITO_EMUL_FLOPPY'.
29528 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
29529 (use_boot_info_table, get_731): New prototypes.
29530 * util/mkisofs/write.c (get_731): New function.
29531
af7d4de5
FZ
295322009-11-11 Felix Zielcke <fzielcke@z-51.de>
29533
29534 Fix the generation of the man page.
29535
29536 * util/pc/i386/grub-install.in: Source
29537 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
29538
2c55dbc0
RM
295392009-11-11 Robert Millan <rmh.grub@aybabtu.com>
29540
29541 Large file support for grub-mkisofs.
29542
29543 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
29544 * util/mkisofs/mkisofs.c (next_extent, last_extent)
29545 (session_start): Upgrade type to `uint64_t'. Update all users.
29546 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
29547 (struct directory_entry): Upgrade type of `starting_block' and
29548 `size' to `uint64_t'. Update all users.
29549 (struct deferred): Remove unused structure.
29550 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
29551 Update all users.
29552 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
29553 file is larger than `UINT32_MAX'.
29554 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
29555 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
29556 return value.
29557 (struct deferred_write): Upgrade type of `extent' and `size' to
29558 `uint64_t'. Update all users.
29559 (last_extent_written): Upgrade type to `uint64_t'. Update all
29560 users.
29561 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
29562 Update all users. Upgrade type of `remain' to `int64_t' and
29563 `use' to `size_t'. Use error() to handle fread() errors.
29564 (write_files): Rely on write_one_file() rather than calling
29565 xfwrite() directly.
29566
6a9cead5
FZ
295672009-11-09 Felix Zielcke <fzielcke@z-51.de>
29568
29569 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
29570
4825d790
RM
295712009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29572
29573 * util/mkisofs/fnmatch.c: Remove.
29574 * util/mkisofs/getopt1.c: Likewise.
29575 * util/mkisofs/getopt.c: Likewise.
29576 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
29577 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
29578 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
29579 `gnulib/getopt1.c' and `gnulib/getopt.c'.
29580 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
29581
29582 * configure.ac: Detect `mingw32msvc' host_os.
29583 Check for lstat(), getuid() and getgid().
29584
29585 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
29586 instances of `u_char' with `uint8_t'.
29587
29588 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
29589 [!HAVE_GETUID] (getuid): New function (stub).
29590 [!HAVE_GETGID] (getgid): Likewise.
29591 [!HAVE_LSTAT] (lstat): Likewise.
29592 [!S_IROTH] (S_IROTH): New macro (dummy).
29593 [!S_IRGRP] (S_IRGRP): Likewise.
29594
84b860d8
RM
295952009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29596
29597 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
29598 conditional expression).
29599
66e9b712
RM
296002009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29601
29602 Import from Gnulib.
29603
29604 * gnulib/fnmatch.c: New file.
29605 * gnulib/fnmatch.h: Likewise.
29606 * gnulib/fnmatch_loop.c: Likewise.
29607 * gnulib/getopt.c: Likewise.
29608 * gnulib/getopt.h: Likewise.
29609 * gnulib/getopt1.c: Likewise.
29610 * gnulib/getopt_int.h: Likewise.
29611 * gnulib/gettext.h: Likewise.
29612
34f4a5b0
RM
296132009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29614
29615 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
29616 * normal/handler.c (read_handler_list): Likewise.
29617
ac451143
RM
296182009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29619
29620 Misc cleanup.
29621
29622 * kern/command.c (grub_register_command_prio): Use
29623 grub_zalloc() instead of explicitly zeroing data.
29624 * kern/list.c: Include `<grub/mm.h>'.
29625 (grub_named_list_find): Replace `0' with `NULL'.
29626 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
29627 (fs_module_list): Change type to `grub_named_list_t'. Update all
29628 users.
29629 * normal/dyncmd.c (read_command_list): Add space between function
29630 call and parenthesis.
29631 * normal/handler.c (read_handler_list): Likewise.
29632
4089b167
RM
296332009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29634
29635 * normal/auth.c (punishment_delay): Moved from here ...
29636 (grub_auth_strcmp): ... to here (inside function).
29637
325f5037
RM
296382009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29639
29640 * include/grub/list.h (struct grub_named_list): Remove `const'
29641 qualifier from `name'.
29642 (struct grub_prio_list): Likewise.
29643
7aea29a3
RM
296442009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29645
29646 * normal/auth.c: Include `<grub/time.h>'.
29647 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
29648
3fd6f044
RM
296492009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29650
29651 * normal/auth.c (punishment_delay): New variable.
29652 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
29653 (grub_auth_check_authentication): Punish failed login attempts with
29654 an incremental (2^N) delay.
29655
a4cd68e4
RM
296562009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29657
29658 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
29659 path with $(srcdir).
29660
7ad12f43
VS
296612009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
29662
29663 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
29664
c1129f03
RM
296652009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29666
29667 * util/i386/coreboot/grub-mkrescue.in: New file.
29668 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
29669 variables.
29670
29671 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
29672 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
29673 * configure.ac: Add header and function checks to satisfy grub-mkisofs
29674 requirements.
29675 * util/mkisofs/defaults.h: New file.
29676 * util/mkisofs/eltorito.c: Likewise.
29677 * util/mkisofs/exclude.h: Likewise.
29678 * util/mkisofs/fnmatch.c: Likewise.
29679 * util/mkisofs/getopt.c: Likewise.
29680 * util/mkisofs/getopt1.c: Likewise.
29681 * util/mkisofs/hash.c: Likewise.
29682 * util/mkisofs/include/fctldefs.h: Likewise.
29683 * util/mkisofs/include/mconfig.h: Likewise.
29684 * util/mkisofs/include/prototyp.h: Likewise.
29685 * util/mkisofs/include/statdefs.h: Likewise.
29686 * util/mkisofs/iso9660.h: Likewise.
29687 * util/mkisofs/joliet.c: Likewise.
29688 * util/mkisofs/match.c: Likewise.
29689 * util/mkisofs/match.h: Likewise.
29690 * util/mkisofs/mkisofs.c: Likewise.
29691 * util/mkisofs/mkisofs.h: Likewise.
29692 * util/mkisofs/multi.c: Likewise.
29693 * util/mkisofs/name.c: Likewise.
29694 * util/mkisofs/rock.c: Likewise.
29695 * util/mkisofs/tree.c: Likewise.
29696 * util/mkisofs/write.c: Likewise.
29697
ec8bb77d
VS
296982009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
29699
29700 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
29701 being insecure.
29702
3716b12c
RM
297032009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29704
29705 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
29706 `grub-mkimage' (and use $0 when possible).
29707
b97b7b91
RM
297082009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29709
29710 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
29711 error message for excessively large memory map.
29712
04114812
RM
297132009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29714
29715 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
29716 executable bit.
29717
e4eb2373
RM
297182009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29719
29720 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
29721 message for coreboot users.
29722
c926e1d5 297232009-11-07 Robert Millan <rmh.grub@aybabtu.com>
29724
29725 Fix build with GNU gold.
29726
29727 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
29728 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
29729 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
29730 link addresses.
29731 * aclocal.m4: Likewise.
29732
86e5b1db 297332009-11-04 Felix Zielcke <fzielcke@z-51.de>
29734
29735 * configure.ac (AC_PREREQ): Bump to 2.59d.
29736 * INSTALL: Make it more clear when Autoconf and Ruby are
29737 needed and when to run `./autogen.sh'.
29738
246cd78f 297392009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
29740
29741 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
29742 OSes.
29743
4f9dfb37 297442009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29745
29746 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
29747
b82bd5e1 297482009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29749
29750 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
29751 giving it to GNU Mach.
29752
ff1a9bca 297532009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29754
29755 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
29756 GNU partition number to get internal GRUB partition number.
29757
61697d9c 297582009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29759
29760 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
29761 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
29762
a50569e1 297632009-11-01 Robert Millan <rmh.grub@aybabtu.com>
29764
29765 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
29766 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
29767 case.
29768
5b153867 297692009-11-01 Felix Zielcke <fzielcke@z-51.de>
29770
29771 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
29772
d9e2cd70 297732009-10-30 Robert Millan <rmh.grub@aybabtu.com>
29774
29775 Fix build problem.
29776
29777 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
29778 `-isystem=$(srcdir)/include'.
29779
805111a4 297802009-10-30 Robert Millan <rmh.grub@aybabtu.com>
29781
29782 * util/i386/pc/grub-install.in: Remove hint that device.map should be
29783 checked (grub-install doesn't currently rely on it).
29784
fa6e945f 297852009-10-29 Robert Millan <rmh.grub@aybabtu.com>
29786
29787 Revert SVN r2660.
29788
29789 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
29790 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
29791 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
29792 * conf/i386-ieee1275.rmk: Likewise.
29793 * conf/i386-pc.rmk: Likewise.
29794 * conf/powerpc-ieee1275.rmk: Likewise.
29795 * conf/sparc64-ieee1275.rmk: Likewise.
29796 * conf/x86_64-efi.rmk: Likewise.
29797
cee15086 297982009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29799
29800 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
29801
95b9239e 298022009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29803
29804 * include/grub/misc.h: Stop checking for APPLE_CC.
29805
2ed19dfd 298062009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29807
29808 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
29809 doesn't cause an infinite call loop.
29810
fdcdde19 298112009-10-28 Felix Zielcke <fzielcke@z-51.de>
29812
29813 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
29814 strings.
29815
cefabfe1 298162009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29817
29818 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
29819 variable.
29820 * Makefile.in: Likewise.
29821
ed96ab6d 298222009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29823
29824 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
29825
0579b753 298262009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29827
29828 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
29829
478df409 298302009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29831
29832 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
29833
083d1679 298342009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29835
29836 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
29837 from here ...
29838 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
29839
5947ae32 298402009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29841
29842 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
29843 in $(MAKEINFO) invocation. This makes it clear in output that
29844 errors are being ignored.
29845
94180ff6 298462009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29847
29848 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
29849 from here ...
29850 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
29851 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
29852 * conf/i386-ieee1275.rmk: Likewise.
29853 * conf/i386-pc.rmk: Likewise.
29854 * conf/powerpc-ieee1275.rmk: Likewise.
29855 * conf/sparc64-ieee1275.rmk: Likewise.
29856 * conf/x86_64-efi.rmk: Likewise.
29857
9031b03a 298582009-10-26 Colin Watson <cjwatson@ubuntu.com>
29859
29860 * util/grub-editenv.c (main): If only a command is given, use
29861 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
29862 (usage): FILENAME is now optional and has a default.
29863
e4f6809b 298642009-10-26 Colin Watson <cjwatson@ubuntu.com>
29865
29866 Improve grub-mkconfig performance when there are several menu
29867 entries on a single filesystem.
29868
29869 * util/grub.d/10_linux.in (linux_entry): Cache the output of
29870 prepare_grub_to_access_device.
29871 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
29872 * util/grub.d/30_os-prober.in: Likewise.
29873
67937d4d 298742009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29875
29876 * util/grub.d/10_freebsd.in: Remove.
29877 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
29878 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
29879
ee3756cc 298802009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29881
5c35048e 29882 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 29883
4dea1c6f 298842009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29885
29886 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
29887 grub_util_error() call.
29888
042484d7 298892009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29890
29891 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
29892 `reserved_first_sector' member.
29893 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
29894 `reserved_first_sector' to 1.
29895 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
29896 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
29897 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
29898 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
29899 filesystems which begin at first sector.
29900 (options): New option --skip-fs-probe.
29901 (main): Handle --skip-fs-probe and pass it to setup().
29902
d64448a7 299032009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29904
29905 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
29906 (memset): Fix function prototype.
29907
508d42ec 299082009-10-25 Robert Millan <rmh.grub@aybabtu.com>
299092009-10-25 Vasily Averin <vvs@parallels.com>
29910
29911 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
29912 `dirent.direntlen == 0'.
29913
b240e30c 299142009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29915
29916 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
29917 `cpio'.
29918 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
29919
346e7fbe 299202009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29921
29922 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
29923 `__trampoline_setup' and `__ucmpdi2'.
29924 * include/grub/powerpc/libgcc.h: Only export symbols for functions
29925 that libgcc provides.
29926
cdb308b0 299272009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29928
29929 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
29930 * include/grub/sparc64/libgcc.h (memset): Likewise.
29931 * include/grub/misc.h (memset, memcmp): New function prototypes.
29932
fb26abc2 299332009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29934
29935 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
29936 `cpio'.
29937 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
29938
f6693890 299392009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29940
29941 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
29942 * docs/grub.cfg: Compensate for recent change in multiboot
29943 loader (since 2009-08-14 it won't pass filename to payload).
29944 * util/grub.d/10_hurd.in: Likewise.
29945
0933cdc0 299462009-10-21 Felix Zielcke <fzielcke@z-51.de>
29947
29948 * config.guess: Update to latest version from config git
29949 repository.
29950 * config.sub: Likewise.
29951
3b2fe8c2 299522009-10-20 Robert Millan <rmh.grub@aybabtu.com>
29953
29954 Fix build on sparc64.
29955
29956 * configure.ac: Perform checks for libgcc symbols before
29957 adding `-nostdlib' to LDFLAGS.
29958
46695a62 299592009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
29960
29961 Let user specify OpenBSD root device.
29962
29963 * loader/i386/bsd.c (openbsd_root): New variable.
29964 (openbsd_opts): New option 'root'.
29965 (OPENBSD_ROOT_ARG): New macro.
29966 (grub_openbsd_boot): Use 'openbsd_root'.
29967 (grub_cmd_openbsd): Fill 'openbsd_root'.
29968
d2b6b7fc 299692009-10-16 Robert Millan <rmh.grub@aybabtu.com>
29970
29971 * NEWS: Misc adjustments.
29972
421bd7ac 299732009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
29974
29975 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
29976
f1d29d87 299772009-10-16 Robert Millan <rmh.grub@aybabtu.com>
29978
29979 * configure.ac: Bump version to 1.97.
29980
6f3cd880 299812009-10-16 Colin Watson <cjwatson@ubuntu.com>
29982
29983 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
29984 -mno-3dnow on x86 architectures. Some toolchains enable these
29985 features by default, but they rely on registers that aren't enabled
29986 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
29987
035f7122 299882009-10-15 Robert Millan <rmh.grub@aybabtu.com>
29989
29990 Make entry text a bit more readable.
29991
29992 * util/grub.d/10_linux.in: Add `with' before `Linux'.
29993
44998e58 299942009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
29995
29996 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
29997
cd2851b3 299982009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
29999
30000 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
30001 operations.
30002
c6f3b249 300032009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30004
30005 * configure.ac: Add missing dollar.
30006
6b5886ba 300072009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30008
30009 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
30010
30011 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
30012 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
30013 exports.
30014 * include/grub/sparc64/libgcc.h: Likewise. Use
30015 preprocessor conditionals.
30016
e9d66f6d 300172009-10-14 Robert Millan <rmh.grub@aybabtu.com>
30018
30019 * conf/common.rmk (grub-dumpbios): Remove rule.
30020 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
30021 * util/grub-dumpbios.in: Remove file.
30022
9155bc17 300232009-10-14 Robert Millan <rmh.grub@aybabtu.com>
30024
30025 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
30026 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
30027
30028 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
30029 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
30030 users.
30031
30032 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
30033 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
30034 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
30035 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
30036 users.
30037
bf7f7a18 300382009-10-12 Robert Millan <rmh.grub@aybabtu.com>
30039
30040 * term/tparm.c: Switch to GPLv3.
30041
86564c26 300422009-10-09 Robert Millan <rmh.grub@aybabtu.com>
30043
30044 * include/grub/i386/cpuid.h: Add header protection.
30045
5c936493 300462009-10-09 Robert Millan <rmh.grub@aybabtu.com>
30047
30048 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
30049
30050 * include/grub/i386/cpuid.h: New file.
30051 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
30052 (has_longmode): Rename to ...
30053 (grub_cpuid_has_longmode): ... this. Update all users. Remove
30054 `static' attribute.
30055 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
30056 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
30057 on a CPU that doesn't implement AMD64 instruction set.
30058
186e7cf2 300592009-10-06 Colin Watson <cjwatson@ubuntu.com>
30060
30061 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
30062 that version.texi is rebuilt on version number changes.
30063
83b65c4a 300642009-10-06 Colin Watson <cjwatson@ubuntu.com>
30065
30066 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
30067 Fixes bug #27602.
30068
d244281c 300692009-10-06 Colin Watson <cjwatson@ubuntu.com>
30070
30071 * util/i386/pc/grub-install.in: Source
30072 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
30073 that the --grub-probe option will work.
30074 * util/sparc64/ieee1275/grub-install.in: Likewise.
30075
da25306d 300762009-10-05 Robert Millan <rmh.grub@aybabtu.com>
30077
30078 * configure.ac: Bump version to 1.97~beta4.
30079
e8ee83c0 300802009-10-03 Robert Millan <rmh.grub@aybabtu.com>
30081
30082 Resync grub-mkdevicemap in x86_64-efi.
30083
30084 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
30085 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
30086 `util/devicemap.c'.
30087
50dcabcf 300882009-10-01 Colin Watson <cjwatson@ubuntu.com>
30089
30090 * util/grub-editenv.c (create_envblk_file): Write new block with a
30091 .new suffix and then rename it into place, to ensure atomic
30092 creation.
30093
0e51c3a7 300942009-09-28 Robert Millan <rmh.grub@aybabtu.com>
30095
30096 Do not automatically install headers.
30097
30098 * Makefile.in (include_DATA): Remove. Update all users.
30099
31299a95 301002009-09-26 Robert Millan <rmh.grub@aybabtu.com>
30101
30102 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
30103 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
30104
30105 * util/osdetect.lua: Remove.
30106 * script/lua/lauxlib.c: Likewise.
30107 * script/lua/ldebug.c: Likewise.
30108 * script/lua/grub_main.c: Likewise.
30109 * script/lua/lauxlib.h: Likewise.
30110 * script/lua/ldebug.h: Likewise.
30111 * script/lua/ltablib.c: Likewise.
30112 * script/lua/liolib.c: Likewise.
30113 * script/lua/lstrlib.c: Likewise.
30114 * script/lua/lualib.h: Likewise.
30115 * script/lua/ldo.c: Likewise.
30116 * script/lua/ldump.c: Likewise.
30117 * script/lua/ldo.h: Likewise.
30118 * script/lua/loslib.c: Likewise.
30119 * script/lua/lundump.c: Likewise.
30120 * script/lua/grub_lib.c: Likewise.
30121 * script/lua/ldblib.c: Likewise.
30122 * script/lua/lundump.h: Likewise.
30123 * script/lua/lmem.c: Likewise.
30124 * script/lua/grub_lib.h: Likewise.
30125 * script/lua/lmathlib.c: Likewise.
30126 * script/lua/lstate.c: Likewise.
30127 * script/lua/ltm.c: Likewise.
30128 * script/lua/lvm.c: Likewise.
30129 * script/lua/lmem.h: Likewise.
30130 * script/lua/lstate.h: Likewise.
30131 * script/lua/ltm.h: Likewise.
30132 * script/lua/ltable.c: Likewise.
30133 * script/lua/lvm.h: Likewise.
30134 * script/lua/llex.c: Likewise.
30135 * script/lua/lgc.c: Likewise.
30136 * script/lua/grub_lua.h: Likewise.
30137 * script/lua/loadlib.c: Likewise.
30138 * script/lua/lfunc.c: Likewise.
30139 * script/lua/lopcodes.c: Likewise.
30140 * script/lua/lparser.c: Likewise.
30141 * script/lua/ltable.h: Likewise.
30142 * script/lua/llex.h: Likewise.
30143 * script/lua/lgc.h: Likewise.
30144 * script/lua/lfunc.h: Likewise.
30145 * script/lua/lbaselib.c: Likewise.
30146 * script/lua/lopcodes.h: Likewise.
30147 * script/lua/lparser.h: Likewise.
30148 * script/lua/lzio.c: Likewise.
30149 * script/lua/linit.c: Likewise.
30150 * script/lua/lobject.c: Likewise.
30151 * script/lua/llimits.h: Likewise.
30152 * script/lua/lstring.c: Likewise.
30153 * script/lua/lzio.h: Likewise.
30154 * script/lua/lapi.c: Likewise.
30155 * script/lua/lcode.c: Likewise.
30156 * script/lua/lua.h: Likewise.
30157 * script/lua/lobject.h: Likewise.
30158 * script/lua/lstring.h: Likewise.
30159 * script/lua/lapi.h: Likewise.
30160 * script/lua/lcode.h: Likewise.
30161 * script/lua/luaconf.h: Likewise.
30162
cb8a2c38 301632009-09-26 Colin Watson <cjwatson@ubuntu.com>
30164
30165 * docs/grub.texi (Command-line and menu entry commands): Document
30166 date and echo commands.
30167
6b9b6276 301682009-09-24 Pavel Roskin <proski@gnu.org>
30169
30170 * include/grub/kernel.h (struct grub_module_header): Remove
30171 `grub_module_header_types'. Make `type' unsigned. Make `size'
30172 32-bit on all platforms.
30173 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
30174 8-bit field. Use grub_host_to_target32() for `size'.
30175 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
30176 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
30177 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
30178
4e5a02a7 301792009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30180
30181 Fix "lost keypress" bug in at_keyboard.
30182
30183 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
30184 Checks for readyness of input buffer (without flushing it).
30185 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
30186 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
30187
c6dcedf6 301882009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30189
30190 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
30191 size check within GRUB_MACHINE_PCBIOS section.
30192
74c958b1 301932009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30194
30195 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
30196 return value.
30197 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
30198 KEYBOARD_ISREADY check.
30199 (grub_at_keyboard_checkkey): Rename to ...
30200 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
30201 Remove gratuitous cast.
30202
ff420223 302032009-09-23 Colin Watson <cjwatson@ubuntu.com>
30204
30205 * configure.ac: Call AC_PROG_MKDIR_P.
30206 * Makefile.in (docs/stamp-vti): Create docs directory. Create
30207 version.texi in $(builddir) rather than $(srcdir).
30208 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
30209 to makeinfo's @include search path.
30210
d96875df 302112009-09-23 Felix Zielcke <fzielcke@z-51.de>
30212
30213 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
30214
9b3f8365 302152009-09-23 Felix Zielcke <fzielcke@z-51.de>
30216
30217 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
30218 for `*.dpkg-new'.
30219
c44c90db 302202009-09-21 Colin Watson <cjwatson@ubuntu.com>
30221
30222 Build info documentation. Some code borrowed from Automake.
30223
30224 * configure.ac: Check for makeinfo.
30225 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
30226 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
30227 docs/version.texi.
30228 (MOSTLYCLEANFILES): Add vti.tmp.
30229 (docs/version.texi, docs/stamp-vti): Update automatically.
30230 (docs/grub.info): Build info documentation. Use --force and ignore
30231 errors for now.
30232 (all-local): Add $(INFOS).
30233 (install-local): Install info files.
30234 (uninstall): Uninstall info files.
30235 * docs/version.texi: Remove from revision control. This file is
30236 automatically generated on build now.
30237 * gendistlist.sh: Add `*.info'.
30238
e0b37bb5 302392009-09-21 Felix Zielcke <fzielcke@z-51.de>
30240
30241 * kern/term.c: Fix indentation.
30242
5a78865b 302432009-09-21 Felix Zielcke <fzielcke@z-51.de>
30244
30245 * util/hostdisk.c: Fix a comment.
30246
dace7e8a 302472009-09-20 Robert Millan <rmh.grub@aybabtu.com>
30248
30249 Fix regression introduced in r2539.
30250
30251 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
30252 to 0xA1.
30253
a83d079b 302542009-09-19 Colin Watson <cjwatson@ubuntu.com>
30255
30256 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 30257 os-prober. Under normal operation, it does not print anything to
30258 stderr; if it does, we need to debug it, and throwing away stderr
30259 makes that excessively difficult.
a83d079b 30260
be94a509 302612009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
30262
30263 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
30264
63f745e8 302652009-09-16 Robert Millan <rmh.grub@aybabtu.com>
30266
30267 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
30268 AC_LANG_PROGRAM from autoconf.
30269 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
30270 prototypes (fixes warning).
30271
30272 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
30273 `--disable-werror' was used.
30274
bbb2a70f 302752009-09-16 Robert Millan <rmh.grub@aybabtu.com>
30276
30277 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
30278 uninitialized `lastaddr'.
30279
77c24f1d 302802009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
30281
0f0b8c87 30282 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 30283
07197f23 302842009-09-14 Colin Watson <cjwatson@ubuntu.com>
30285
30286 * commands/test.c (get_fileinfo): Return immediately if
30287 grub_fs_probe fails.
30288
dabf1798 302892009-09-14 José Martínez <xosemp@gmail.com>
30290
30291 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
30292
d52109a7 302932009-09-14 Colin Watson <cjwatson@ubuntu.com>
30294
30295 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
30296 output.
30297
56532179 302982009-09-13 Robert Millan <rmh.grub@aybabtu.com>
30299
30300 * configure.ac: Remove --enable-grub-pe2elf. Only build
30301 grub-pe2elf when needed by the build system itself.
30302 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
30303
8ef070f5 303042009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30305
30306 * configure.ac: Bump version to 1.97~beta3.
30307 * docs/version.texi: Likewise.
30308
61229557 303092009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30310
30311 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
30312 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
30313 from here ...
30314 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
30315 (grub_linux_setup_video): ... to here (with some adjustments).
30316
5c9f8d84 303172009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30318
30319 Fix memory corruption issue (spotted by Colin Watson).
30320
30321 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
30322 causing returned size to be stored in an incorrect memory location.
30323 Fix use of uninitialized value when storing the returned size.
30324
e8f5d6e9 303252009-09-12 Yves Blusseau <blusseau@zetam.org>
30326
30327 Change clean rules to properly remove files
30328
30329 * genmk.rb: add new clean rules
30330 * Makefile.in (clean): add the new targets
30331 (mostlyclean): likewise
30332
cda2a409 303332009-09-11 Colin Watson <cjwatson@ubuntu.com>
30334
30335 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
30336 to grub_uint64_t.
30337 * fs/ntfs.c (init_file): Understand 64-bit sizes for
30338 non-resident files.
30339
86695375 303402009-09-11 Colin Watson <cjwatson@ubuntu.com>
30341
30342 * configure.ac: Don't look for help2man when cross-compiling. Fixes
30343 part of bug #27349.
30344
8aa1541a 303452009-09-10 Felix Zielcke <fzielcke@z-51.de>
30346
30347 * util/grub-mkconfig.in: Make the created config mode 400 and
30348 print a warning if it fails.
30349
48d9bb0a 303502009-09-10 Robert Millan <rmh.grub@aybabtu.com>
30351
30352 * util/grub.d/40_custom.in: Ask user to type custom entries below
30353 comment, rather than below 'exec tail' line.
30354
3b0521be 303552009-09-10 Colin Watson <cjwatson@ubuntu.com>
30356
30357 * util/grub.d/40_custom.in: Make sure that the explanatory text is
30358 visible in grub.cfg.
30359
50051d55 303602009-09-10 Colin Watson <cjwatson@ubuntu.com>
30361
30362 * util/grub.d/40_custom.in: Make it a little clearer how to use this
30363 file.
30364
c0d34387 303652009-09-10 Felix Zielcke <fzielcke@z-51.de>
30366
30367 * docs/grub.cfg: Add an example menu entry for memtest86+.
30368
80a608f3 303692009-09-09 Felix Zielcke <fzielcke@z-51.de>
30370
a2094832 30371 * config.guess: Update to latest version from config git.
80a608f3 30372 * config.sub: Likewise.
30373
99423078 303742009-09-08 Colin Watson <cjwatson@ubuntu.com>
30375
30376 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
30377 unknown-command case. Fixes bug #27320.
30378
44454e4c 303792009-09-08 Felix Zielcke <fzielcke@z-51.de>
30380
30381 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
30382 `help' if the command exists.
30383
e30d87ad 303842009-09-06 Robert Millan <rmh.grub@aybabtu.com>
30385
30386 * INSTALL: Require GCC 4.1.3 or later.
30387
9a86f1ec 303882009-09-06 Yves Blusseau <blusseau@zetam.org>
30389
30390 * Makefile.in (RMKFILES): add i386-qemu.rmk
30391 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
30392 $(srcdir)/stamp-h.in
30393
7f26d466 303942009-09-05 Robert Millan <rmh.grub@aybabtu.com>
30395
30396 * util/grub-probe.c (probe): Comment out buggy codepath, which
30397 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
30398 should be re-enabled after 1.97.
30399
3a613259 304002009-09-05 Felix Zielcke <fzielcke@z-51.de>
30401
30402 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
30403 find searches for.
30404
197f76c7 304052009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
30406
30407 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
30408 unnecessary calls to grub_error.
30409
70ba68ce 304102009-09-04 Colin Watson <cjwatson@ubuntu.com>
30411
30412 * NEWS: Mention `keystatus' and Unicode fonts.
30413
4ff0d7a4 304142009-09-04 Robert Millan <rmh.grub@aybabtu.com>
30415
30416 * configure.ac: Bump version to 1.97~beta2.
30417 * docs/version.texi: Likewise.
30418
77c55a87 304192009-09-03 Colin Watson <cjwatson@ubuntu.com>
30420
30421 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
30422 containing unwind information in some cases where it previously did
30423 not. Use -fno-dwarf2-cfi-asm if available to restore the old
30424 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
30425 discussion.
30426
f79572cd 304272009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
30428
30429 Embedding loadenv module into grub-emu
30430
30431 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
30432 commands/loadenv.c
30433 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
30434 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
30435 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
30436 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
30437 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
30438 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
30439
93a81088 304402009-09-03 Magnus Granberg <zorry@ume.nu>
30441
30442 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
30443 include -fPIE in the default specs.
30444 * configure.ac: Check if pie_possible is yes and add -fno-PIE
30445 to TARGET_CFLAGS.
30446
160034b2 304472009-09-03 Felix Zielcke <fzielcke@z-51.de>
30448
30449 * INSTALL: Note that GNU Bison 2.3 or later is required.
30450
087c07c4 304512009-09-03 Colin Watson <cjwatson@ubuntu.com>
30452
30453 * kern/i386/pc/startup.S: Fix typo.
30454
cbf978c0 304552009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
30456
30457 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
30458 according to GCS.
30459
304602009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 30461
30462 * docs/grub.texi (Naming convention): Describe one-based partition
30463 numbering.
30464 (Device syntax): Likewise.
30465 (File name syntax): Likewise.
30466 (Block list syntax): Likewise.
30467 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
30468 menu.lst.
30469 (File name syntax): Likewise.
30470 (Command-line and menu entry commands): Document acpi, blocklist,
30471 crc, export, insmod, keystatus, ls, set, and unset commands.
30472
f3e8cdfd 304732009-09-02 Colin Watson <cjwatson@ubuntu.com>
30474
30475 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
30476 to avoid implying that only one of --shift, --ctrl, or --alt may be
30477 used.
30478
c0bc232b 304792009-09-02 Colin Watson <cjwatson@ubuntu.com>
30480
30481 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
30482 rather than comparing against S_IFREG, which will almost never work.
30483
aa0f752d 304842009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
30485
30486 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
30487 (write_blocklists): Likewise.
30488
ecb3166a 304892009-09-01 Colin Watson <cjwatson@ubuntu.com>
30490
30491 * script/lua/grub_lua.h (fputs): Supply a format string as the first
30492 argument to grub_printf.
30493
c403a125 304942009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 30495
30496 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 30497 non GNU test.
31aba781 30498
b5e7312c 304992009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
30500
30501 * kern/file.c (grub_file_read): Spelling fix
30502
fe00f472 305032009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
30504
30505 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
30506 loading of headers in some cases.
30507
cc55302e 305082009-08-30 Robert Millan <rmh.grub@aybabtu.com>
30509
30510 * configure.ac: Bump version to 1.97~beta1.
30511 * docs/version.texi: Likewise.
30512
5c90cdd2 305132009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 30514
30515 * include/grub/i386/xnu.h: Add license header.
30516 include grub/err.h explicitly.
30517
c90edae4 305182009-08-29 Robert Millan <rmh.grub@aybabtu.com>
30519
30520 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
30521 to `ufs' in the vfs.root.mountfrom kernel parameter.
30522
d8888b5c 305232009-08-29 Robert Millan <rmh.grub@aybabtu.com>
30524
30525 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
30526
30527 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
30528 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
30529
30530 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
30531 `ARRAY_SIZE' macro.
30532
6f07b921 305332009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
30534
30535 * kern/file.c (grub_file_read): Check offset.
30536 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
30537 * fs/jfs.c (grub_jfs_read_file): Likewise.
30538 * fs/ntfs.c (grub_ntfs_read): Likewise.
30539 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
30540 * fs/minix.c (grub_minix_read_file): Correct offset check.
30541 * fs/ufs.c (grub_ufs_read_file): Likewise.
30542
b4f34077 305432009-08-28 Colin Watson <cjwatson@ubuntu.com>
30544
30545 * term/i386/pc/console.c (bios_data_area): Cast
30546 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
30547
e7c69859 305482009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
30549
30550 1-bit optimised blitters.
30551
30552 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
30553 prototype.
30554 (grub_video_fbblit_replace_24bit_1bit): Likewise.
30555 (grub_video_fbblit_replace_16bit_1bit): Likewise.
30556 (grub_video_fbblit_replace_8bit_1bit): Likewise.
30557 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
30558 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
30559 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
30560 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
30561 function.
30562 (grub_video_fbblit_replace_24bit_1bit): Likewise.
30563 (grub_video_fbblit_replace_16bit_1bit): Likewise.
30564 (grub_video_fbblit_replace_8bit_1bit): Likewise.
30565 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
30566 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
30567 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
30568 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
30569 when possible.
30570 * video/video.c (grub_video_get_blit_format): Return
30571 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
30572
a57da43f 305732009-08-28 Colin Watson <cjwatson@ubuntu.com>
30574
30575 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
30576 the first argument to grub_printf.
30577
4cbe67e5 305782009-08-28 Colin Watson <cjwatson@ubuntu.com>
305792009-08-28 Robert Millan <rmh.grub@aybabtu.com>
30580
30581 Add `getkeystatus' terminal method. Add a new `keystatus' command
30582 to query it.
30583
30584 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
30585 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
30586 modifier key bitmasks.
30587 (struct grub_term_input): Add `getkeystatus' member.
30588 (grub_getkeystatus): Add prototype.
30589 * kern/term.c (grub_getkeystatus): New function.
30590
30591 * include/grub/i386/pc/memory.h
30592 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
30593 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
30594 Data Area layout.
30595 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
30596 (grub_console_term_input): Set `getkeystatus' member.
30597 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
30598 constants.
30599 (grub_usb_keyboard_getreport): Likewise.
30600 (grub_usb_keyboard_checkkey): Likewise.
30601 (grub_usb_keyboard_getkeystatus): New function.
30602 (grub_usb_keyboard_term): Set `getkeystatus' member.
30603
30604 * commands/keystatus.c: New file.
30605 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
30606 (keystatus_mod_SOURCES): New variable.
30607 (keystatus_mod_CFLAGS): Likewise.
30608 (keystatus_mod_LDFLAGS): Likewise.
30609 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
30610 commands/keystatus.c.
30611 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30612 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30613 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30614 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30615 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30616 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 30617
6e2a9085 306182009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
30619
30620 Split befs.mod and afs.mod into *_be.mod and *.mod
30621
30622 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
30623 (grub_fstest_SOURCES): Likewise.
30624 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
30625 (afs_be_mod_SOURCES): New variable.
30626 (afs_be_mod_CFLAGS): Likewise.
30627 (afs_be_mod_LDFLAGS): Likewise.
30628 (befs_be_mod_SOURCES): Likewise.
30629 (befs_be_mod_CFLAGS): Likewise.
30630 (befs_be_mod_LDFLAGS): Likewise.
30631 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
30632 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30633 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30634 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
30635 (grub_emu_SOURCES): Likewise.
30636 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30637 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30638 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30639 * fs/afs_be.c: New file.
30640 * fs/befs_be.c: New file.
30641 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
30642 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
30643 (U16): Replaced with ...
30644 (grub_afs_to_cpu16): ...this. All users updated.
30645 (U32): Replaced with ...
30646 (grub_afs_to_cpu32): ...this. All users updated.
30647 (U64): Replaced with ...
30648 (grub_afs_to_cpu64): ...this. All users updated.
30649 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
30650 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 30651 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 30652 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
30653 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
30654 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
30655 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
30656 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
30657 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
30658 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
30659 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
30660
32a71655 306612009-08-26 Bean <bean123ch@gmail.com>
30662
30663 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
30664 64-bit number.
30665 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
30666 (grub_xfs_inode_block): Change return type to grub_uint64_t.
30667 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
30668
552bf6c5 306692009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30670
30671 NetBSD memory map support.
30672
30673 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
30674 (grub_netbsd_btinfo_mmap_header): New structure.
30675 (grub_netbsd_btinfo_mmap_entry): Likewise.
30676 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
30677
1ae2078c 306782009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30679
30680 Enable bsd.mod on coreboot.
30681
30682 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
30683 (bsd_mod_SOURCES): New variable.
30684 (bsd_mod_CFLAGS): Likewise.
30685 (bsd_mod_LDFLAGS): Likewise.
30686 (bsd_mod_ASFLAGS): Likewise.
30687 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
30688 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
30689
beefc598 306902009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30691
30692 Cleanup NetBSD root support.
30693
30694 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
30695 grub_bsd_get_device.
30696 Fix typo.
30697
3b76e68b 306982009-08-25 Felix Zielcke <fzielcke@z-51.de>
30699
30700 * util/grub.d/00_header.in: Move check for the video backend of
30701 gfxterm from here ...
30702 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
30703 a suitable video backend.
30704
aea664ea 307052009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30706
30707 Fix breakage in grub-setup.
30708
30709 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
30710 "msdos_partition_map".
30711
ff747d50 307122009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30713
30714 Fix breakage in normal/auth.c.
30715
30716 * normal/auth.c (grub_iswordseparator): New function.
30717
e7e1f93f 307182009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30719
30720 Authentication support.
30721
30722 * commands/password.c: New file.
30723 * conf/common.rmk (pkglib_MODULES): Add password.mod.
30724 (password_mod_SOURCES): New variable.
30725 (password_mod_CFLAGS): Likewise.
30726 (password_mod_LDFLAGS): Likewise.
30727 (normal_mod_SOURCES): Add normal/auth.c.
30728 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
30729 normal/auth.c.
30730 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30731 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30732 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30733 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30734 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30735 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30736 * include/grub/auth.h: New file.
30737 * include/grub/err.h (grub_err_t): New enum value
30738 GRUB_ERR_ACCESS_DENIED.
30739 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
30740 'users'.
30741 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
30742 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
30743 users updated.
30744 * normal/auth.c: New file.
30745 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
30746 (grub_cmdline_run): Don't allow to go to command line without
30747 authentication.
30748 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
30749 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
30750 menuentry without superuser rights.
30751 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
30752 user isn't a superuser.
30753
70f1161d 307542009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30755
30756 Save space by inlining misc.c functions.
30757
30758 * kern/misc.c (grub_iswordseparator): Made static.
30759 * kern/misc.c (grub_strcat): Moved from here ...
30760 * include/grub/misc.h (grub_strcat): ... here. Inlined.
30761 * kern/misc.c (grub_strncat): Moved from here ...
30762 * include/grub/misc.h (grub_strncat): ... here. Inlined.
30763 * kern/misc.c (grub_strcasecmp): Moved from here ...
30764 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
30765 * kern/misc.c (grub_strncasecmp): Moved from here ...
30766 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
30767 * kern/misc.c (grub_isalpha): Moved from here ...
30768 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
30769 * kern/misc.c (grub_isdigit): Moved from here ...
30770 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
30771 * kern/misc.c (grub_isgraph): Moved from here ...
30772 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
30773 * kern/misc.c (grub_tolower): Moved from here ...
30774 * include/grub/misc.h (grub_tolower): ... here. Inlined.
30775
48e40bff 307762009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30777
30778 * script/sh/function.c (grub_script_function_find): Cut error message
30779 not to flood terminal.
30780 * script/sh/lexer.c (grub_script_yylex): Remove command line length
30781 limit.
30782 * script/sh/script.c (grub_script_arg_add): Duplicate string.
30783
c385bfc3 307842009-08-24 Colin Watson <cjwatson@ubuntu.com>
30785
30786 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
30787 `report' grub_uint8_t *.
30788 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
30789 Use a 50-millisecond timeout rather than just repeating
30790 grub_usb_keyboard_getreport 50 times.
30791 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
30792
2d21e3e8 307932009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30794
30795 Rename *_partition_map to part_*
30796
30797 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
30798 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
30799 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
30800 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
30801 All users updated.
30802 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
30803 All users updated.
30804 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
30805 * util/grub-probe.c (probe_partmap): Don't transform partition name
30806 to get module name.
30807
dd103c4e 308082009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30809
30810 Fix OpenBSD and NetBSD support.
30811
30812 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
30813 memory address conflict.
30814 (OPENBSD_MMAP_ACPI): New definition.
30815 (OPENBSD_MMAP_NVS): Likewise.
30816 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
30817 and OPENBSD_MMAP_NVS.
30818 Add memory map terminator
30819 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 30820 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 30821
16c84d74 308222009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30823
30824 Let user specify NetBSD root device.
30825
30826 * loader/i386/bsd.c (netbsd_root): New variable.
30827 (netbsd_opts): New option 'root'.
30828 (NETBSD_ROOT_ARG): New macro.
30829 (grub_netbsd_boot): Use 'netbsd_root'.
30830 (grub_bsd_unload): Free 'netbsd_root'.
30831 (grub_cmd_netbsd): Fill 'netbsd_root'.
30832
adb29902 308332009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30834
30835 Support for 64-bit NetBSD.
30836
30837 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
30838 point when booting non-FreeBSD.
30839
f5ae9f74 308402009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30841
30842 Support --no-smp and --no-acpi for NetBSD.
30843
30844 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
30845 (NETBSD_AB_NOACPI): Likewise.
30846 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
30847 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
30848
de74f136 308492009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30850
30851 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
30852 errors.
30853 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
30854 errors. Call grub_error when needed.
30855
e9a925da 308562009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30857
30858 * commands/search.c (search_fs): Try searching without autoload first.
30859 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
30860 filesystem module explicitly for faster booting.
30861
5174302b 308622009-08-23 Colin Watson <cjwatson@ubuntu.com>
30863
30864 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
30865
c8c80635 308662009-08-23 Colin Watson <cjwatson@ubuntu.com>
30867
30868 * util/grub.d/30_os-prober.in: Disable os-prober if
30869 `GRUB_DISABLE_OS_PROBER' was set to true.
30870
71acf5e5 308712009-08-23 Robert Millan <rmh.grub@aybabtu.com>
30872
30873 * partmap/pc.c: Rename to ...
30874 * partmap/msdos.c: ... this. Update all users.
30875 (grub_pc_partition_map): Rename to ...
30876 (grub_msdos_partition_map): ... this. Update all users.
30877
30878 * parttool/pcpart.c: Rename to ...
30879 * parttool/msdospart.c: ... this. Update all users.
30880
30881 * include/grub/pc_partition.h: Rename to ...
30882 * include/grub/msdos_partition.h: ... this. Update all users.
30883 (grub_pc_partition_bsd_entry): Rename to ...
30884 (grub_msdos_partition_bsd_entry): ... this. Update all users.
30885 (grub_pc_partition_disk_label): Rename to ...
30886 (grub_msdos_partition_disk_label): ... this. Update all users.
30887 (grub_pc_partition_entry): Rename to ...
30888 (grub_msdos_partition_entry): ... this. Update all users.
30889 (grub_pc_partition_mbr): Rename to ...
30890 (grub_msdos_partition_mbr): ... this. Update all users.
30891 (grub_pc_partition): Rename to ...
30892 (grub_msdos_partition): ... this. Update all users.
30893 (grub_pc_partition_is_empty): Rename to ...
30894 (grub_msdos_partition_is_empty): ... this. Update all users.
30895 (grub_pc_partition_is_extended): Rename to ...
30896 (grub_msdos_partition_is_extended): ... this. Update all users.
30897 (grub_pc_partition_is_bsd): Rename to ...
30898 (grub_msdos_partition_is_bsd): ... this. Update all users.
30899
30900 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
30901 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
30902 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
30903 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
30904 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
30905 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
30906 (gpt_mod_LDFLAGS): Rename to ...
30907 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
30908 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
30909 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
30910 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
30911 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
30912 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
30913 (part_gpt_mod_LDFLAGS): ... this.
30914 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
30915 `pcpart.mod' to `msdospart.mod'.
30916 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
30917 to ...
30918 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
30919 (msdospart_mod_LDFLAGS): ... this.
30920
c11fded5 309212009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30922
30923 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
30924 (openbsd_opts): Likewise.
30925 (netbsd_opts): Likewise.
30926 (freebsd_flags): Added 0 terminator.
30927 (openbsd_flags): Likewise.
30928 (netbsd_flags): Likewise.
30929 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
30930 (grub_cmd_freebsd): Transformed into extended command.
30931 (grub_cmd_openbsd): Likewise.
30932 (grub_cmd_netbsd): Likewise.
30933 (cmd_freebsd): Changed type to grub_extcmd_t.
30934 (cmd_openbsd): Likewise.
30935 (cmd_netbsd): Likewise.
30936 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
30937 grub_cmd_openbsd as extended commands.
30938 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
30939 cmd_netbsd and cmd_openbsd
30940
11d1c769 309412009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
30942
30943 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
30944
7a9094e5 309452009-08-21 Pavel Roskin <proski@gnu.org>
30946
5496c37e 30947 * Makefile.in (install-local): When checking if a file is in the
30948 build directory, use "test -e" to detect symlinks.
30949
7a9094e5 30950 * Makefile.in (install-local): Remove all files in
30951 $(DESTDIR)$(pkglibdir) before installing new files there.
30952
e53cea11 309532009-08-18 Felix Zielcke <fzielcke@z-51.de>
30954
30955 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
30956 grub-mkelfimage.
30957
9aced544 309582009-08-18 Felix Zielcke <fzielcke@z-51.de>
30959
30960 * util/grub-mkconfig.in: Don't use gfxterm by default if not
30961 explicitly specified by the user.
30962
b7da6bab 309632009-08-18 Pavel Roskin <proski@gnu.org>
30964
30965 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
30966 grub_uint8_t pointer for data.
30967 * include/grub/fbutil.h (struct grub_video_fbblit_info):
30968 Likewise.
30969 * video/fb/fbutil.c: Remove unnecessary casts.
30970
19f1b335 309712009-08-17 Michal Suchanek <hramrach@centrum.cz>
30972
30973 VBE cleanup.
30974
30975 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
30976 (grub_vbe_set_video_mode): Save active mode info
30977 only after setting the mode.
30978 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
30979 second argument.
30980
2f467aa9 309812009-08-17 Michal Suchanek <hramrach@centrum.cz>
30982
30983 Rename variables for clarity.
30984
30985 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
30986 (active_vbe_mode_info): ... this. All users updated.
30987 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
30988 All users updated.
30989 (initial_mode): Rename to ...
30990 (initial_vbe_mode): ... this. All users updated.
30991 (mode_in_use): Rename to ..
30992 (vbe_mode_in_use): ... this. All users updated.
30993 (mode_list): Rename to ..
30994 (vbe_mode_list): ... this. All users updated.
30995 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
30996 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
30997 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
30998 'mode_list_size' to 'vbe_mode_list_size'.
30999 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
31000 'best_mode_info' to 'best_vbe_mode_info' and
31001 'best_mode' to 'best_vbe_mode'
31002
6025fcd7 310032009-08-17 Michal Suchanek <hramrach@centrum.cz>
31004
31005 Remove duplicate grub_video_fb_get_video_ptr.
31006
31007 * include/grub/fbutil.h (get_data_ptr): Rename to ...
31008 (grub_video_fb_get_video_ptr): ... this.
31009 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
31010 * video/fb/fbutil.c: Add comment about addressing.
31011 (get_data_ptr): Rename to ...
31012 (grub_video_fb_get_video_ptr): ... this. All users updated.
31013 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
31014
cc8c6faf 310152009-08-17 Robert Millan <rmh.grub@aybabtu.com>
31016
31017 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
31018 grub_dprintf() that was just added.
31019
08aa61f0 310202009-08-17 Robert Millan <rmh.grub@aybabtu.com>
31021
31022 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
31023 (DEFAULT_VIDEO_MODE): Remove macros.
31024 (grub_linux_boot): Remove assumption that Linux has FB support,
31025 and use "text" as default video mode.
31026
7cef4f75 310272009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
31028
31029 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
31030 grub_dprintf.
31031 * fs/fat.c (grub_fat_read_data): Likewise.
31032
e1f39873 310332009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31034
31035 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
31036 payload.
31037 (grub_module): Likewise.
31038
c166d79e 310392009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31040
31041 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
31042 mbi->cmdline but free playground.
31043
c60cee8e 310442009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31045
31046 Handle group offset on UFS1.
31047
31048 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
31049 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
31050
c0d8b5d4 310512009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31052
31053 Split ufs.mod into ufs1.mod and ufs2.mod.
31054
31055 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
31056 (grub_fstest_SOURCES): Likewise.
31057 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
31058 (ufs_mod_SOURCES): Remove.
31059 (ufs_mod_CFLAGS): Likewise.
31060 (ufs_mod_LDFLAGS): Likewise.
31061 (ufs1_mod_SOURCES): New variable.
31062 (ufs1_mod_CFLAGS): Likewise.
31063 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 31064 (ufs2_mod_SOURCES): New variable.
31065 (ufs2_mod_CFLAGS): Likewise.
31066 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 31067 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
31068 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
31069 Likewise.
31070 (grub_emu_SOURCES): Likewise.
31071 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31072 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31073 (grub_setup_SOURCES): Likewise.
31074 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31075 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
31076 (grub_setup_SOURCES): Likewise.
31077 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
31078 Likewise.
31079 * fs/ufs2.c: New file.
31080 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
31081
d3539132 310822009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31083
31084 Framebuffer split.
31085
31086 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
31087 subsystem at the end.
31088 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
31089 (video_fb_mod_SOURCES): New variable.
31090 (video_fb_mod_CFLAGS): Likewise.
31091 (video_fb_mod_LDFLAGS): Likewise.
31092 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
31093 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
31094 * video/i386/pc/vbeblit.c: Moved from here ...
31095 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
31096 * video/i386/pc/vbefill.c: Moved from here ...
31097 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
31098 * video/i386/pc/vbeutil.c: Moved from here ...
31099 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
31100 * include/grub/i386/pc/vbeblit.h: Moved from here ...
31101 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
31102 * include/grub/i386/pc/vbefill.h: Moved from here ...
31103 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
31104 * include/grub/i386/pc/vbeutil.h: Moved from here ...
31105 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
31106 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
31107 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
31108 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
31109 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
31110 (grub_video_adapter): Added 'get_info_and_fini'.
31111 (grub_video_get_info_and_fini): New prototype.
31112 (grub_video_set_mode): make modestring const char *.
31113 * loader/i386/linux.c (grub_linux_setup_video): Use
31114 grub_video_get_info_and_fini.
31115 (grub_linux_boot): Move modesetting just before booting.
31116 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
31117 grub_video_get_info_and_fini.
31118 * video/i386/pc/vbe.c: Moved framebuffer part ...
31119 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
31120 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
31121 grub_video_fbstd_colors and grub_video_fb_set_palette.
31122 (grub_video_vbe_init): Clear 'framebuffer' variable and use
31123 grub_video_fb_init.
31124 (grub_video_vbe_fini): Use grub_video_fb_fini.
31125 (grub_video_vbe_setup): Use framebuffer.render_target instead of
31126 render_target and use grub_video_fb_set_active_render_target and
31127 grub_video_fb_set_palette.
31128 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
31129 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
31130 (grub_video_vbe_adapter): Use framebuffer.
31131 * video/video.c (grub_video_get_info_and_fini): New function.
31132 (grub_video_set_mode): Make modestring const char *.
31133 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
31134 values are already initialised.
31135
d404ee56 311362009-08-14 Pavel Roskin <proski@gnu.org>
31137
31138 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
31139 ABS and APPLE_CC.
31140 * boot/i386/pc/diskboot.S: Likewise.
31141 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
31142 sectors allow compilation on MacOSX.
31143 * conf/i386-pc.rmk: Enable unconditional compilation of
31144 lnxboot.img.
31145
9a10df16 311462009-08-13 Colin Watson <cjwatson@ubuntu.com>
31147
31148 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
31149 * util/grub.d/00_header.in: Enter interruptible sleep if
31150 GRUB_HIDDEN_TIMEOUT is set.
31151
be3c9ca7 311522009-08-13 Yves Blusseau <blusseau@zetam.org>
31153
31154 * include/grub/symbol.h: Add the LOCAL macro.
31155 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
31156 starting with "L_".
31157
1f9e557e 311582009-08-13 Pavel Roskin <proski@gnu.org>
31159
9ca62843 31160 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
31161 any modern compilers we support.
31162
1f9e557e 31163 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
31164 Use local labels starting with "L_" so that Apple assembler
31165 knows they are local.
31166
81623db6 311672009-08-10 Robert Millan <rmh.grub@aybabtu.com>
31168
31169 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
31170 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
31171 (bsd_kernel_types): ... this enum.
31172
31173 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
31174 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
31175 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
31176
31177 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
31178 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
31179 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
31180 messages.
31181
f5d35e7a 311822009-08-08 Robert Millan <rmh.grub@aybabtu.com>
31183
31184 * util/grub-dumpdevtree: Moved from here ...
31185 * util/i386/efi/grub-dumpdevtree: ... to here.
31186 (hexify): New function. Converts a string to its hex version.
31187 Generate hex versions of "efi" and "device-properties" by calling
31188 hexify() on the ASCII strings rather than by hardcoding numbers.
31189
d1e1d527 311902009-08-08 Robert Millan <rmh.grub@aybabtu.com>
31191
31192 * fs/jfs.c: Update copyright year.
31193
1ebbe064 311942009-08-08 Felix Zielcke <fzielcke@z-51.de>
31195
31196 * util/grub.d/00_header.in: Fix a comment.
31197 * util/grub.d/10_linux.in: Likewise.
31198 * util/grub.d/10_windows.in: Likewise.
31199 * util/grub.d/10_hurd.in: Likewise.
31200
a78c8d24 312012009-08-08 Felix Zielcke <fzielcke@z-51.de>
31202
31203 * util/grub-mkconfig.in: Allow the user to specify the used font
31204 with GRUB_FONT.
31205
29a6b9e8 312062009-08-08 Pavel Roskin <proski@gnu.org>
31207
b5f16cc4 31208 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
31209 available, xfs.mod needs it now.
31210
2f5cb827 31211 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
31212 the "g" modifier in sed when the intention is to strip something
31213 once. This fixes comparison of kernels with multiple dashes.
31214
29a6b9e8 31215 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
31216 on it. Add missing space before closing bracket. Fix
31217 misleading formatting.
31218
892a3d98 312192009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31220
31221 * docs/grub.texi: Major overhaul. Remove all sections that are
31222 specific to GRUB Legacy, or mostly composed of Legacy-specific
31223 information.
31224
ed94253f 312252009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31226
31227 * docs/version.texi: New file. Provides version information for
31228 grub.texi.
31229
126d6628 312302009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31231
31232 * docs/grub.texi: Update CVS information to SVN.
31233 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
31234
998b5aa9 312352009-08-07 Felix Zielcke <fzielcke@z-51.de>
31236
31237 * util/grub-mkconfig.in: Remove a wrong `fi'.
31238
818e094a 312392009-08-07 Felix Zielcke <fzielcke@z-51.de>
31240
31241 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
31242 (grub_jfs_uuid): New function.
31243 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
31244
b969c52f 312452009-08-07 Felix Zielcke <fzielcke@z-51.de>
31246
31247 * util/grub-mkconfig_lib.in (font_path): Move the functionality
31248 of it to ...
31249 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
31250 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
31251
7a4894cc 312522009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31253
31254 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
31255 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
31256 Update all users.
31257
31258 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
31259 not just "vmlinu[zx]".
31260 Moved from here ...
31261 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
31262 all users.
31263
31264 * util/grub.d/10_linux.in (find_latest): Moved from here ...
31265 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
31266 all users.
31267
4e2171f8 312682009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31269
31270 * util/grub.d/10_freebsd.in: Use an absolute device path for
31271 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
31272
6dcfcb32 312732009-08-06 Felix Zielcke <fzielcke@z-51.de>
31274
31275 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
31276 handling of multiple abstraction modules.
31277
f56a8756 312782009-08-04 Robert Millan <rmh.grub@aybabtu.com>
31279
31280 Fix a bug resulting in black screen when loading Linux using a
31281 packed video mode.
31282
31283 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
31284 function.
31285
31286 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
31287 (grub_vbe_bios_getset_dac_palette_width): New function.
31288 (grub_vbe_bios_get_dac_palette_width)
31289 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
31290 grub_vbe_bios_getset_dac_palette_width()).
31291
31292 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
31293 check for return status.
31294 (grub_vbe_get_video_mode_info): When getting information for a packed
31295 mode (<= 8 bpp), obtain DAC palette width using
31296 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
31297 {red,green,blue}_mark_size.
31298
222671b2 312992009-08-04 Felix Zielcke <fzielcke@z-51.de>
31300
ecb1a6d9 31301 * commands/search.c (options): Fix help output to match actual code.
222671b2 31302
f84114f5 313032009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
31304
31305 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
31306 of homegrown code.
31307
bd288a20 313082009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 31309
31310 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
31311 on XFS or ReiserFS.
31312
8aab5e25 313132009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
31314
31315 Support Apple partition map with sector size different from 512 bytes.
31316
31317 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
31318 (apple_partition_map_iterate): Respect 'aheader.blocksize'
31319 and 'apart.partmap_size'.
31320
6ad6258a 313212009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
313222009-08-01 Robert Millan <rmh.grub@aybabtu.com>
31323
31324 Fix cpuid command.
31325
31326 * commands/i386/cpuid.c (options): New variable.
31327 (grub_cmd_cpuid): Return real error.
31328 (GRUB_MOD_INIT(cpuid)): Declare options.
31329
67459bc6 313302009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
31331
31332 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
31333 valid.
31334
fbc6ab54 313352009-07-31 Bean <bean123ch@gmail.com>
31336
31337 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
31338 log2_inode.
31339 (grub_fshelp_node): Move inode field to the end.
31340 (grub_xfs_data): Remove inode field.
31341 (grub_xfs_inode_block): Calculate inode size using sblock.
31342 (grub_xfs_inode_offset): Likewise.
31343 (grub_xfs_read_inode): Calculate inode size using sblock.
31344 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
31345 (grub_xfs_iterate_dir): Calculate inode size using sblock.
31346 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
31347 to match inode size.
31348 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
31349 not accessible when data is null.
31350 (grub_xfs_open): Likewise.
31351
f45d6cfc 313522009-07-31 Bean <bean123ch@gmail.com>
31353
31354 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
31355 Don't change pv->disk if it's already set.
31356
31357 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
31358 (grub_raid_register): ... here.
31359 (grub_raid_rescan): Removed.
31360
31361 * include/grub/raid.h (grub_raid_rescan): Removed.
31362
31363 * util/grub-fstest.c: Remove include file <grub/raid.h>.
31364 (fstest): Replace grub_raid_rescan with module fini function followed
31365 by init function.
31366
31367 * util/grub-probe.c: Add include file <grub/raid.h>.
31368 (probe_raid_level): New function.
31369 (probe): Detect abstraction by walking the disk device, support two
31370 level of abstraction (LVM on RAID) when detecting partition map.
31371
24443b5a 313722009-07-31 Pavel Roskin <proski@gnu.org>
31373
31374 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
31375 to grub_zalloc(), it was erroneous.
31376 Reported by Bean <bean123ch@gmail.com>
31377
a275d9e7 313782009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
31379
31380 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 31381 embedding zone, not only the first one.
a275d9e7 31382
56c5a47f 313832009-07-29 Joe Auricchio <jauricchio@gmail.com>
31384
31385 * term/gfxterm.c (clear_char): New function.
31386 (grub_virtual_screen_setup): Use clear_char.
31387 (scroll_up): Likewise.
31388 (grub_virtual_screen_cls): Likewise.
31389
67bb323a 313902009-07-29 Felix Zielcke <fzielcke@z-51.de>
31391
31392 * util/deviceiter.c (get_acceleraid_disk_name): New static
31393 function.
31394 (grub_util_iterate_devices): Handle Accelraid devices.
31395 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
31396
388a7c75 313972009-07-28 Robert Millan <rmh.grub@aybabtu.com>
31398
31399 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
31400 separator for the suggested gfxpayload string (';' collides with the
31401 parser and needs escaping).
31402
3bb7abcf 314032009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
31404
31405 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
31406 Clear direction flag before jumping to OS.
31407 (grub_multiboot2_real_boot): Likewise.
31408
2ddd36d7 314092009-07-28 Felix Zielcke <fzielcke@z-51.de>
31410
31411 * util/i386/pc/grub-install: Fix parsing of --disk-module
31412 option.
31413
c521b62b 314142009-07-28 Felix Zielcke <fzielcke@z-51.de>
31415
31416 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
31417 when embedding.
31418
880e0a0c 314192009-07-26 Felix Zielcke <fzielcke@z-51.de>
31420
31421 * util/grub-mkconfig.in (package_version): New variable.
31422 Use it do display the version.
31423
2366e356 314242009-07-25 Felix Zielcke <fzielcke@z-51.de>
31425
31426 * kern/file.c (grub_file_open): Revert to previous check with
31427 grub_errno.
31428
7ad8c80e 314292009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
31430
31431 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
31432 from help line. It's out of sync with code.
31433
72b9658b 314342009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
31435
31436 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
31437 entries on failed boot.
31438
77435277 314392009-07-25 Felix Zielcke <fzielcke@z-51.de>
31440
31441 * kern/file.c (grub_file_open): Fix an error check.
31442
fcaa8b21 314432009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
31444
35d16c74 31445 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
31446 partition map couldn't be identified.
fcaa8b21 31447
48904cd1 314482009-07-23 Pavel Roskin <proski@gnu.org>
31449
ef3c317f 31450 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
31451 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
31452 case of little endian words becomes just an optimization.
31453 Respect const modifier.
ad8ea1f4 31454 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 31455
48904cd1 31456 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
31457 to avoid loss of upper bits if align is unsigned and shorter
31458 than addr.
31459
260c9a89 314602009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
31461
31462 UUID support for UFS
31463
31464 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
31465 (grub_ufs_uuid): New function.
31466 (grub_ufs_fs): add .uuid
31467
f76ce889 314682009-07-21 Pavel Roskin <proski@gnu.org>
31469
31470 * kern/dl.c (grub_dl_check_header): Make static.
31471
6a6cbcaf 314722009-07-21 Felix Zielcke <fzielcke@z-51.de>
31473
31474 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
31475 add drivemap for Vista. It breaks Windows 7.
31476
cffcddb2 314772009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
31478
31479 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
31480 128 bytes
31481
1ef44b80 314822009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31483
31484 Add BFS support
31485
31486 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
31487 (grub_fstest_SOURCES): Likewise.
31488 (pkglib_MODULES): Add befs.mod.
31489 (befs_mod_SOURCES): New variable.
31490 (befs_mod_CFLAGS): Likewise.
31491 (befs_mod_LDFLAGS): Likewise.
31492 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31493 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31494 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31495 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31496 (grub_setup_SOURCES): Likewise.
31497 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31498 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31499 (grub_setup_SOURCES): Likewise.
31500 * fs/befs.c: New file.
31501 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
31502 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
31503 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
31504 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
31505 (B_KEY_INDEX_ALIGN): New declaration.
31506 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
31507 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
31508 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
31509 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
31510 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
31511 (grub_afs_mount) [MODE_BFS]: Likewise.
31512 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
31513 (grub_afs_fs): Use GRUB_AFS_FSNAME
31514 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
31515 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
31516 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
31517 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
31518
4f253044 315192009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
31520
31521 * util/getroot.c (find_root_device): Add support for MacOSX.
31522 * util/hostdisk.c: Likewise.
31523
57a55913 315242009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31525
31526 * font/font.c (find_glyph): Check whether a font is present to avoid
31527 segmentation fault.
75421ca9 31528
315292009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 31530
31531 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
31532
e98cd0c2 315332009-07-20 Pavel Roskin <proski@gnu.org>
31534
31535 * configure.ac: Trim excessively wordy excuses.
31536
1d2d169a 315372009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31538
31539 Add symlink, mtime and label support to AtheFS.
31540
31541 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
31542 (grub_afs_iterate_dir): Handle symlinks.
31543 (grub_afs_open): Use grub_afs_read_symlink.
31544 (grub_afs_dir): Likewise.
31545 Pass mtime.
31546 (grub_afs_label): New function.
31547 (grub_afs_fs): Add grub_afs_label.
31548 (grub_afs_read_symlink): New function.
31549
186f3189 315502009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31551
31552 Fix AtheFS support.
31553
31554 * fs/afs.c: Fix comments style.
31555 (grub_afs_blockrun): Declare as packed.
31556 (grub_afs_datastream): Likewise.
31557 (grub_afs_bnode): Likewise.
31558 (grub_afs_btree): Likewise.
31559 (grub_afs_sblock): Likewise.
31560 Declare `name' as char.
31561 (grub_afs_inode): Declare as packed.
31562 Change void *vnode to grub_uint32_t unused.
31563 (grub_afs_iterate_dir): Check that key_size is positive.
31564 (grub_afs_mount): Don't read superblock twice.
75421ca9 31565 (grub_afs_dir): Don't free node in case of error,
186f3189 31566 grub_fshelp_find_file already handles this.
31567 (grub_afs_open): Likewise.
31568
5680109e 315692009-07-19 Pavel Roskin <proski@gnu.org>
31570
31571 * Makefile.in: Remove LIBLZO and enable_lzo.
31572 * conf/i386-pc.rmk: Remove lzo support.
31573 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
31574 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
31575 support.
31576 * kern/i386/pc/lzo1x.S: Remove.
31577 * kern/i386/pc/startup.S: Remove lzo support.
31578 * util/i386/pc/grub-mkimage.c: Likewise.
31579
ac70fa32 315802009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
31581
31582 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
31583 * fs/xfs.c (grub_xfs_dir): Likewise.
31584 * fs/afs.c (grub_afs_dir): Likewise.
31585 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
31586 (grub_iso9660_open): Likewise.
31587 * fs/jfs.c (grub_jfs_open): Likewise.
31588 * fs/ext2.c (grub_ext2_dir): Likewise.
31589 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
31590 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 31591
eab58da2 315922009-07-16 Pavel Roskin <proski@gnu.org>
31593
d2838156 31594 * configure.ac: Never add "-c" to CFLAGS.
31595
55c70904 31596 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
31597
43e6200c 31598 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
31599 grub_cv_cc_efiemu should be used.
31600
ce7a733d 31601 * configure.ac: Typo fixes.
31602
eab58da2 31603 * kern/mm.c (grub_zalloc): New function.
31604 (grub_debug_zalloc): Likewise.
31605 * include/grub/mm.h: Declare grub_zalloc() and
31606 grub_debug_zalloc().
31607 * util/misc.c (grub_zalloc): New function.
31608 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
31609 instead of grub_malloc(), remove unneeded initializations.
31610 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
31611 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
31612 * commands/parttool.c (grub_cmd_parttool): Likewise.
31613 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
31614 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
31615 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
31616 * disk/usbms.c (grub_usbms_finddevs): Likewise.
31617 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
31618 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
31619 (grub_cmd_efiemu_pnvram): Likewise.
31620 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
31621 * fs/iso9660.c (grub_iso9660_mount): Likewise.
31622 (grub_iso9660_iterate_dir): Likewise.
31623 * fs/jfs.c (grub_jfs_opendir): Likewise.
31624 * fs/ntfs.c (list_file): Likewise.
31625 (grub_ntfs_mount): Likewise.
31626 * kern/disk.c (grub_disk_open): Likewise.
31627 * kern/dl.c (grub_dl_load_core): Likewise.
31628 * kern/elf.c (grub_elf_file): Likewise.
31629 * kern/env.c (grub_env_context_open): Likewise.
31630 (grub_env_set): Likewise.
31631 (grub_env_set_data_slot): Likewise.
31632 * kern/file.c (grub_file_open): Likewise.
31633 * kern/fs.c (grub_fs_blocklist_open): Likewise.
31634 * loader/i386/multiboot.c (grub_module): Likewise.
31635 * loader/xnu.c (grub_xnu_create_key): Likewise.
31636 (grub_xnu_create_value): Likewise.
31637 * normal/main.c (grub_normal_add_menu_entry): Likewise.
31638 (read_config_file): Likewise.
31639 * normal/menu_entry.c (make_screen): Likewise.
31640 * partmap/sun.c (sun_partition_map_iterate): Likewise.
31641 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
31642 * script/sh/script.c (grub_script_parse): Likewise.
31643 * video/bitmap.c (grub_video_bitmap_create): Likewise.
31644 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
31645 * video/readers/png.c (grub_png_output_byte): Likewise.
31646 (grub_video_reader_png): Likewise.
31647
830afef7 316482009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 31649
31650 Enable all targets that can be built by default
31651
830afef7 31652 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 31653 grub-mkfont and grub-fstest if they can be built
31654
ee293aee 316552009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31656
31657 Fix hang and segmentation fault in grub-emu-usb
31658
31659 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
31660 * util/usb.c (grub_libusb_devices): likewise
31661 (grub_libusb_init): rename to ...
31662 (GRUB_MOD_INIT (libusb)):...this
31663 (grub_libusb_fini): rename to ..
31664 (GRUB_MOD_FINI (libusb)):...this
31665 * disk/usbms.c (grub_usbms_transfer): fix retry logic
31666 * include/grub/disk.h (grub_raid_init): removed, it's useless
31667 (grub_raid_fini): likewise
31668 (grub_lvm_init): likewise
31669 (grub_lvm_fini): likewise
31670 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
31671 by grub_init_all
31672
94414221 316732009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31674
31675 Fix libusb
31676
31677 * Makefile.in (LIBUSB): new macro
31678 * genmk.rb (Utility/print_tail): new method
31679 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
31680 (top level): call util.print_tail at the end.
31681
59ade63d 316822009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31683
31684 Make FreeBSD accept zpool.cache
31685
31686 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
31687 type is /boot/zfs/zpool.cache
31688
a58da8c7 316892009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31690
31691 Fix 64-bit efiemu
31692
31693 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
31694 correct wrong typedef
31695 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
31696
20591577 316972009-07-15 Pavel Roskin <proski@gnu.org>
31698
560ca572 31699 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
31700 * kern/disk.c (struct grub_disk_cache): Likewise.
31701
e8e8e4fd 31702 * commands/probe.c (options): Typo fix.
31703
fde24e10 31704 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
31705 Increase to 0x5a to accommodate FAT32. Adjust other offsets
31706 accordingly.
31707 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
31708
379c54c1 31709 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
31710 the end of "Error" to make the message more readable.
31711
7bd8f5bf 31712 * boot/i386/pc/boot.S (kernel_segment): Remove.
31713 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
31714 for destination.
31715
40b132c5 31716 * boot/i386/pc/boot.S (boot_version): Remove.
31717 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
31718 Remove.
31719
20591577 31720 * include/grub/i386/pc/boot.h: Sort all offsets.
31721 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
31722 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
31723 * boot/i386/pc/boot.S: Assert location of every offset listed in
31724 include/grub/i386/pc/boot.h.
31725
2df32b2c 317262009-07-13 Pavel Roskin <proski@gnu.org>
31727
44b5d879 31728 * include/grub/i386/coreboot/machine.h: Rename
31729 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
31730 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
31731 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
31732
17dc3751 31733 * kern/dl.c: Force native word size to suppress warnings when
31734 compiling grub-emu.
31735
2df32b2c 31736 * kern/device.c (grub_device_iterate): Change struct part_ent to
31737 hold the name, not a pointer to it. Use one grub_malloc() per
31738 partition, not two. Free partition_name if grub_malloc() fails.
31739 Set ents to NULL only before grub_partition_iterate() is called.
31740
75c59f59 317412009-07-11 Bean <bean123ch@gmail.com>
31742
31743 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
31744 childname.
31745
0ae1bf88 317462009-07-10 Bean <bean123ch@gmail.com>
317472009-07-10 Robert Millan <rmh.grub@aybabtu.com>
31748
31749 * kern/ieee1275/openfw.c (grub_children_iterate)
31750 (grub_devalias_iterate): Fix size evaluation for property or path
31751 strings, which was broken since r2132.
31752
8279cade 317532009-07-07 Pavel Roskin <proski@gnu.org>
31754
7d8a52d3 31755 * commands/search.c (search_file): Merge into ...
31756 (search_fs): ... this. Accept search type as argument.
31757 (grub_cmd_search): Pass search type to search_fs().
31758
25f9a05a 31759 * include/grub/util/console.h: New file.
31760 * util/console.c: Use it instead of grub/machine/console.h.
31761 * util/grub-emu.c: Likewise.
31762
8279cade 31763 * lib/arg.c (find_long_option): Remove.
31764 (find_long): Add `len' argument, make `s' const char *.
31765 (grub_arg_parse): Parse long options in place, not in a
31766 temporary buffer.
31767
4a11b60f 317682009-07-06 Pavel Roskin <proski@gnu.org>
31769
99f68041 31770 * commands/search.c (search_fs): Fix potential NULL pointer
31771 dereference.
31772
4a11b60f 31773 * commands/search.c (search_fs): Replace QUID macro with quid_fn
31774 function pointer.
31775
e110f4de 317762009-07-06 Daniel Mierswa <impulze@impulze.org>
31777
31778 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
31779 comparison.
31780
46eeb6a2 317812009-07-05 Pavel Roskin <proski@gnu.org>
31782
bab74958 31783 * include/grub/i386/linux.h (struct linux_kernel_params):
31784 Restore padding3, it's still needed.
31785
46eeb6a2 31786 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
31787 FreeBSD.
31788 * util/osdetect.lua: Likewise.
31789
b4a1dc79 317902009-07-05 Bean <bean123ch@gmail.com>
31791
31792 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
31793
31794 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
31795 (grub_lua_getenv): Likewise.
31796 (grub_lua_setenv): Likewise.
31797 (save_errno): New function.
31798 (push_result): Likewise.
31799 (grub_lua_enum_device): Likewise.
31800 (grub_lua_enum_file): Likewise.
31801 (grub_lua_file_open): Likewise.
31802 (grub_lua_file_close): Likewise.
31803 (grub_lua_file_seek): Likewise.
31804 (grub_lua_file_read): Likewise.
31805 (grub_lua_file_getline): Likewise.
31806 (grub_lua_file_getsize): Likewise.
31807 (grub_lua_file_getpos): Likewise.
31808 (grub_lua_file_eof): Likewise.
31809 (grub_lua_file_exist): Likewise.
31810 (grub_lua_add_menu): Likewise.
31811
31812 * script/lua/grub_lua.h (isupper): New inline function.
31813 (islower): Likewise.
31814 (ispunct): Likewise.
31815 (isxdigit): Likewise.
31816 (strcspn): Change to normal function.
31817 (strpbkr): New function declaration.
31818 (memchr): Likewise.
31819
31820 * script/lua/grub_main.c (scan_str): New function.
31821 (strcspn): Likewise.
31822 (strpbrk): Likewise.
31823 (memchr): Likewise.
31824
31825 * script/lua/linit.c (lualibs): Enable the string library.
31826
31827 * util/osdetect.lua: New file.
31828
2da92295 318292009-07-04 Robert Millan <rmh.grub@aybabtu.com>
31830
31831 * include/grub/i386/linux.h (struct linux_kernel_params): Add
31832 `capabilities' member.
31833
b2582ec9 318342009-07-02 Pavel Roskin <proski@gnu.org>
31835
31836 * genparttoollist.sh: Add missing newline at the end.
31837
32622956 318382009-07-01 Pavel Roskin <proski@gnu.org>
31839
87a7339e 31840 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
31841
d23af54e 31842 * util/hostdisk.c (open_device): Remove `const' from
31843 `sysctl_size', as sysctlbyname() can change it (in this case it
31844 doesn't actually happen).
31845
c94b18a9 31846 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
31847 using signed long int constants.
31848
c6cd3ef0 31849 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
31850 constant to avoid a warning on FreeBSD.
31851
0df63420 31852 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
31853 where it's needed.
31854
999577f1 31855 * Makefile.in: Install include/grub/machine symlink.
31856
6f41557f 31857 * Makefile.in: When installing symlinks, use "cp -fR", which
31858 works on FreeBSD and MacOSX.
31859 From Yves Blusseau <cl7m42e02@sneakemail.com>
31860
c8d22988 31861 * kern/dl.c (grub_dl_resolve_symbol): Make static.
31862 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
31863
1b96e952 31864 * util/misc.c: Move grub_reboot() and grub_halt() ...
31865 * util/grub-emu.c: ... here. Make main_env static.
31866 * include/grub/util/misc.h: Remove main_env.
31867
2ef0084d 31868 * kern/mm.c: Use correct format to print size_t.
31869
32622956 31870 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
31871 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
31872 * kern/powerpc/dl.c: Likewise.
31873 * kern/sparc64/dl.c: Likewise.
31874 * kern/x86_64/dl.c: Likewise.
31875
3f7f0cd0 318762009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31877
31878 Fix grub-emu build on sparc64-ieee1275.
31879
75421ca9 31880 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 31881 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
31882
211d06b5 318832009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31884
31885 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
31886 (grub_reboot, grub_halt): New functions.
31887
31888 * util/i386/pc/misc.c: Delete. Update all users.
31889 * util/sparc64/ieee1275/misc.c: Likewise.
31890 * util/powerpc/ieee1275/misc.c: Likewise.
31891
aaf53e3c 318922009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31893
31894 * conf/i386.rmk (setjmp_mod_SOURCES)
31895 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
31896 * conf/common.rmk (setjmp_mod_SOURCES)
31897 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
31898 to use $(target_cpu).
31899 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
31900 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
31901 * conf/powerpc-ieee1275.rmk: Likewise.
31902 * conf/sparc64-ieee1275.rmk: Likewise.
31903
31904 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
31905 $(target_cpu) for kern/$(target_cpu)/dl.c.
31906 * conf/i386-efi.rmk: Likewise.
31907 * conf/i386-ieee1275.rmk: Likewise.
31908 * conf/x86_64-efi.rmk: Likewise.
31909 * conf/i386-coreboot.rmk: Likewise.
31910 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
31911 $(target_cpu) for kern/$(target_cpu)/dl.c and for
31912 kern/$(target_cpu)/cache.S.
31913 * conf/sparc64-ieee1275.rmk: Likewise.
31914
a337130b 319152009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31916
31917 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
31918 type to `grub_uint8_t', and adjust `padding9' accordingly.
31919
c6fe4d53 319202009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31921
b09db61d 31922 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
31923
c6fe4d53 31924 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
31925 assembly in final jump, using register constraints.
31926
b09db61d 31927 (grub_linux_boot): For text mode, initialize `have_vga' using
31928 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
31929
31930 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
31931 right before the final jump.
31932
31933 Set `video_mode' to 0x3.
31934
31935 Document initialization of `video_page', `video_mode' and
31936 `video_ega_bx'.
31937
28333ad0 319382009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31939
31940 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
31941 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 31942 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 31943
02164e1b 319442009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31945
31946 Fix build on Debian / sparc.
31947
31948 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
31949
18b6c557 319502009-06-28 Pavel Roskin <proski@gnu.org>
31951
85f2aab6 31952 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
31953 fix a warning.
31954
18b6c557 31955 * util/grub.d/10_linux.in: Match SUSE style initrd names.
31956
ad760f81 319572009-06-27 Robert Millan <rmh.grub@aybabtu.com>
31958
31959 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
31960 `err'.
31961
87a4623b 319622009-06-27 Robert Millan <rmh.grub@aybabtu.com>
31963
31964 Revert r2338.
31965
31966 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
31967 file can't be opened. grub_file_open() is already supposed to set
75421ca9 31968 grub_errno / grub_errmsg appropriately.
87a4623b 31969 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
31970
8231fb77 319712009-06-27 Pavel Roskin <proski@gnu.org>
319722009-06-27 Robert Millan <rmh.grub@aybabtu.com>
31973
31974 * include/grub/dl.h: Include grub/elf.h.
31975 (struct grub_dl): Add symtab field.
31976 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
31977 GRUB_MODULES_MACHINE_READONLY.
31978 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
31979 of the header for read-only modules.
31980 (grub_dl_unload): Free mod->symtab for read-only modules.
31981 * kern/i386/dl.c: Use mod->symtab.
31982 * kern/powerpc/dl.c: Likewise.
31983 * kern/sparc64/dl.c: Likewise.
31984 * kern/x86_64/dl.c: Likewise.
31985
31986 * conf/i386-qemu.rmk: New file.
31987 * kern/i386/qemu/startup.S: Likewise.
31988 * kern/i386/qemu/mmap.c: Likewise.
31989 * boot/i386/qemu/boot.S: Likewise.
31990 * include/grub/i386/qemu/time.h: Likewise.
31991 * include/grub/i386/qemu/serial.h: Likewise.
31992 * include/grub/i386/qemu/kernel.h: Likewise.
31993 * include/grub/i386/qemu/console.h: Likewise.
31994 * include/grub/i386/qemu/boot.h: Likewise.
31995 * include/grub/i386/qemu/init.h: Likewise.
31996 * include/grub/i386/qemu/machine.h: Likewise.
31997 * include/grub/i386/qemu/loader.h: Likewise.
31998 * include/grub/i386/qemu/memory.h: Likewise.
31999
32000 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
32001 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
32002 [qemu] (pkglib_IMAGES): Add `boot.img'.
32003 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
32004 [qemu] (boot_img_FORMAT): New variables.
32005 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
32006 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
32007 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
32008 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
32009 [qemu] (kernel_img_FORMAT): New variables.
32010
32011 * configure.ac: Recognise `i386-qemu'.
32012
32013 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
32014 (for no compression).
32015 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
32016 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
32017 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
32018 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
32019 ifdefs).
32020
97fe384e 320212009-06-27 Pavel Roskin <proski@gnu.org>
32022
32023 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
32024 read.
32025 * efiemu/prepare32.c: Likewise.
32026 * efiemu/prepare64.c: Likewise.
32027
c402ab17 320282009-06-26 Pavel Roskin <proski@gnu.org>
32029
32030 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
32031 * include/grub/elf.h: Define symbols without "32" or "64" based
32032 on GRUB_TARGET_WORDSIZE.
32033 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
32034 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
32035 ELF definitions.
32036 * efiemu/loadcore64.c: Likewise.
32037 * loader/i386/bsd32.c: Likewise.
32038 * loader/i386/bsd64.c: Likewise.
32039 * kern/dl.c: Remove own ELF definitions.
32040 * util/i386/efi/grub-mkimage.c: Likewise.
32041
9bbdfd4d 320422009-06-23 Robert Millan <rmh.grub@aybabtu.com>
32043
32044 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
32045 segment 0x0 unconditionally, because the reference generated by
32046 GAS is an absolute address.
32047
a42ce6e9 320482009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32049
32050 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
32051 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
32052
c952cf92 320532009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32054
32055 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
32056 indexes. Check for -f explicitly.
cc3752ad 32057 (search_file): Improve error message.
32058 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 32059
132a0a59 320602009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32061
32062 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
32063 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
32064
387a140c 320652009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32066
32067 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
32068 * conf/i386-ieee1275.rmk: Likewise.
32069 * conf/i386-coreboot.rmk: Likewise.
32070
32071 * kern/i386/pc/startup.S (grub_stop): Remove function.
32072 * kern/i386/ieee1275/startup.S: Likewise.
32073 * kern/i386/coreboot/startup.S: Likewise.
32074 * kern/i386/misc.S (grub_stop): New function.
32075
41da9665 320762009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32077
32078 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
32079 * kern/i386/realmode.S (real_to_prot): ... to here.
32080
bf337234 320812009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32082
32083 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
32084 with `kernel.img'.
32085 (kernel_elf_SOURCES): Rename to ...
32086 (kernel_img_SOURCES): ... this.
32087 (kernel_elf_HEADERS): Rename to ...
32088 (kernel_img_HEADERS): ... this. Update all users.
32089 (kernel_elf_ASFLAGS): Rename to ...
32090 (kernel_img_ASFLAGS): ... this.
32091 (kernel_elf_CFLAGS): Rename to ...
32092 (kernel_img_CFLAGS): ... this.
32093 (kernel_elf_LDFLAGS): Rename to ...
32094 (kernel_img_LDFLAGS): ... this.
32095 * conf/i386-coreboot.rmk: Likewise.
32096 * conf/powerpc-ieee1275.rmk: Likewise.
32097
32098 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
32099 with "kernel.img".
32100
f52196ff 321012009-06-21 Pavel Roskin <proski@gnu.org>
32102
c3cee413 32103 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
32104 to match nested functions.
32105 * loader/sparc64/ieee1275/linux.c: Likewise.
32106
f52196ff 32107 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
32108
58750afc 321092009-06-21 Robert Millan <rmh.grub@aybabtu.com>
32110
32111 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
32112 all i386 platforms.
32113
15355c7d 321142009-06-21 Robert Millan <rmh.grub@aybabtu.com>
32115
32116 Fix asm file handling on ELF, and remove workarounds.
32117
32118 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 32119 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 32120 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
32121 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
32122
3f3ec72b 321232009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
32124
32125 Load BSD ELF modules
32126
32127 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
32128 and loader/i386/bsd64.c
32129 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
32130 (FREEBSD_MODTYPE_ELF_MODULE): New definition
32131 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
32132 (grub_freebsd_load_elfmodule32): New declaration
32133 (grub_freebsd_load_elfmoduleobj64): Likewise
32134 (grub_freebsd_load_elf_meta32): Likewise
32135 (grub_freebsd_load_elf_meta64): Likewise
32136 (grub_freebsd_add_meta): Likewise
32137 (grub_freebsd_add_meta_module): Likewise
32138 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
32139 (grub_freebsd_add_meta_module): Likewise and move module-specific
32140 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
32141 (grub_cmd_freebsd): Add elf-kernel specific parts
32142 based on grub_freebsd_add_meta_module
32143 (grub_cmd_freebsd_module): Add type parsing moved from
32144 grub_freebsd_add_meta_module
32145 (grub_cmd_freebsd_module_elf): New function
32146 (cmd_freebsd_module_elf): New variable
32147 (GRUB_MOD_INIT): Register freebsd_module_elf
32148 * loader/i386/bsd32.c: New file
32149 * loader/i386/bsd64.c: Likewise
32150 * loader/i386/bsdXX.c: Likewise
32151 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
32152 (grub_elf64_load): Likewise
32153 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
32154 All users updated
32155 (grub_elf64_load_hook_t): Likewise
32156
0db15301 321572009-06-21 Colin Watson <cjwatson@ubuntu.com>
32158
32159 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
32160 variable.
32161 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
32162 don't write a menu entry for recovery mode.
32163
546796c1 321642009-06-20 Robert Millan <rmh.grub@aybabtu.com>
32165
32166 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
32167 after it's no longer needed.
32168
cd7310d5 321692009-06-20 Robert Millan <rmh.grub@aybabtu.com>
32170
32171 * include/grub/i386/loader.h (grub_linux_prot_size)
32172 (grub_linux_tmp_addr, grub_linux_real_addr)
32173 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
32174 GRUB_MACHINE_PCBIOS.
32175 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
32176 common grub_util_info() call to ...
32177 (generate_image): ... here.
32178 Fix use of uninitialized memory, comparison of signed with
32179 unsigned integers and memory leak.
32180 Remove bogus module address message.
32181
ab32d3b5 321822009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
32183
32184 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
32185 grub_raid_register
32186 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
32187
024ef597 321882009-06-19 Pavel Roskin <proski@gnu.org>
32189
32190 * configure.ac: Remove stray AC_MSG_CHECKING.
32191
3ac72b51 321922009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
32193
32194 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 32195
e14cd814 321962009-06-18 Pavel Roskin <proski@gnu.org>
32197
32198 * conf/common.rmk: Add fs_file.mod.
32199 * disk/fs_file.c: New file.
32200 * include/grub/disk.h (enum grub_disk_dev_id): Add
32201 GRUB_DISK_DEVICE_FILE_ID.
32202
26586d98 322032009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32204
32205 Fix build with Apple's toolchain. Part 2
32206
32207 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
32208 a fake start
32209
26de2bcd 322102009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32211
32212 Fix build with Apple's toolchain. Part 1
32213
32214 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
32215 for long calls
32216 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 32217 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 32218 Apple's toolchain
32219
09b3490b 322202009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32221
32222 Fix warnings
32223
32224 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
32225 (decomp_block): initialize ch
32226 use grub_memcpy instead of memcpy
32227
c22a006a 322282009-06-17 Pavel Roskin <proski@gnu.org>
32229
d3638678 32230 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
32231 version, use declarations needed to use vga_text as the startup
32232 console.
32233
c22a006a 32234 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
32235 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
32236 the kernel.
32237 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
32238 and grub_at_keyboard_fini(), it's done on module load and
32239 unload.
32240
05b129e0 322412009-06-17 Felix Zielcke <fzielcke@z-51.de>
32242
32243 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
32244 file can't be found.
32245 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
32246
cf24ed9e 322472009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
32248
32249 Fix newline handling
32250
32251 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 32252 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 32253 (grub_script_yylex): don't segfault on unterminated script
32254 newline terminates command and variable
32255
74aa8e4b 322562009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
32257
32258 avoid double grub_adjust_range call. Bug reported by David Simner
32259
32260 * kern/disk.c (grub_disk_write): change to raw disk access before
32261 calling disk_read
32262
1bd265f3 322632009-06-17 Colin Watson <cjwatson@ubuntu.com>
32264
32265 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
32266 spaces, for the benefit of help2man.
32267 * util/i386/efi/grub-mkimage.c (usage): Likewise.
32268
a2d08c06 322692009-06-16 Pavel Roskin <proski@gnu.org>
32270
32271 * kern/i386/halt.c: Include grub/machine/init.h.
32272 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
32273
b97bcb19 322742009-06-16 Felix Zielcke <fzielcke@z-51.de>
32275
32276 * util/grub.d/30_os-prober.in: Use ${root} in the generated
32277 drivemap menuentry.
32278
0644f96c 322792009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
32280
32281 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
32282 `echo' command.
32283
3ef17a2e 322842009-06-16 Pavel Roskin <proski@gnu.org>
32285
32286 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
32287 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
32288 save %dx, we only need %dl and we never change it.
32289 * boot/i386/pc/cdboot.S: Don't set the root drive.
32290 * boot/i386/pc/pxeboot.S: Likewise.
32291 * include/grub/i386/pc/boot.h: Remove
32292 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
32293 GRUB_BOOT_MACHINE_DRIVE_CHECK.
32294 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
32295 * kern/i386/pc/init.c (make_install_device): Remove references
32296 to grub_root_drive.
32297 * kern/i386/pc/startup.S: Likewise.
32298 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
32299
693fe637 323002009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
32301
32302 xnu_uuid command
32303
32304 * commands/xnu_uuid.c: new file
32305 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
32306 (xnu_uuid_mod_SOURCES): new variable
32307 (xnu_uuid_mod_CFLAGS): likewise
32308 (xnu_uuid_mod_LDFLAGS): likewise
32309 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
32310 * conf/i386-ieee1275.rmk: likewise
32311 * conf/i386-pc.rmk: likewise
32312 * conf/powerpc-ieee1275.rmk: likewise
32313 * conf/sparc64-ieee1275.rmk: likewise
32314 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
32315
c9da87d0 323162009-06-16 Pavel Roskin <proski@gnu.org>
32317
32318 * configure.ac: Avoid '==' in test command, it's not portable.
32319
9c6f4596 323202009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
32321
32322 Probe command
32323
32324 * commands/probe.c: new file
32325 * conf/common.rmk (pkglib_MODULES): add probe.mod
32326 (probe_mod_SOURCES): new variable
32327 (probe_mod_CFLAGS): likewise
32328 (probe_mod_LDFLAGS): likewise
32329 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
32330 * conf/i386-ieee1275.rmk: likewise
32331 * conf/i386-pc.rmk: likewise
32332 * conf/powerpc-ieee1275.rmk: likewise
32333 * conf/sparc64-ieee1275.rmk: likewise
32334
70b7f9fd 323352009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
32336
32337 Fix handling of string like \"hello\" and "a
32338 b"
32339
32340 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
32341 (grub_script_yylex): fix parsing of quoting, escaping and newline
32342
71c79a6b 323432009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
32344
dd74360c 32345 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 32346 handling
dd74360c 32347
0644f96c 323482009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 32349
32350 * util/grub-mkconfig.in: Fix parsing of --output option.
32351
e40893c3 323522009-06-12 Pavel Roskin <proski@gnu.org>
32353
32354 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
32355 genmk.rb don't need to be generated or installed.
32356
3a1acfe2 323572009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
32358
32359 * commands/i386/pc/drivemap_int13h.S: add more comments
32360
3a4575d4 323612009-06-11 Pavel Roskin <proski@gnu.org>
32362
0658e928 32363 * Makefile.in (uninstall): Uninstall manuals.
32364
ca0388f0 32365 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
32366 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
32367 and update-grub_lib in two places.
32368 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
32369
e3b27c39 32370 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
32371 a compiler warning.
32372
3a4575d4 32373 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
32374 `entry_lo' to fix variable shadowing.
32375
af1f4f55 323762009-06-11 Christian Franke <franke@computer.org>
32377
32378 * kern/misc.c (__enable_execute_stack): Add missing return type
32379 to prevent gcc warning.
32380
5225e649 323812009-06-11 Felix Zielcke <fzielcke@z-51.de>
32382
32383 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
32384
7d83bd47 323852009-06-11 Pavel Roskin <proski@gnu.org>
32386
c1cb63ba 32387 * Makefile.in: Don't rely on any scripts being executable.
32388 Always use $(SHELL) to run shell scripts.
32389
7d83bd47 32390 * configure.ac: Always define ___main if using -nostdlib. This
32391 fixes tests on Cygwin.
32392
948f48e7 323932009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
32394
32395 UDF fix
32396
7d83bd47 32397 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 32398 is in bytes and not in blocks
7d83bd47 32399
8ada9bc1 324002009-06-11 Pavel Roskin <proski@gnu.org>
32401
32402 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
32403 warning.
32404
25ad2323 324052009-06-11 Felix Zielcke <fzielcke@z-51.de>
32406
32407 * util/grub.d/30_os-prober.in: Fix a comment. Source
32408 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
32409 to set the root device. Place drivemap command in the generated
32410 chain entry.
32411
e65acb0c 324122009-06-11 Pavel Roskin <proski@gnu.org>
32413
32414 * configure.ac: Remove host_m32. Issues with 64-bit utilities
32415 have long been resolved.
32416
f285fe2d 324172009-06-11 Colin Watson <cjwatson@ubuntu.com>
32418
bd47b0b5 32419 * util/grub.d/10_linux.in: Capitalise "Linux".
32420
f285fe2d 32421 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
32422
a0c62e4e 324232009-06-11 Pavel Roskin <proski@gnu.org>
32424
b6783cb2 32425 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
32426 fix a gcc warning and ensure that the function won't ever exit.
32427
dde032e8 32428 * kern/i386/ieee1275/init.c: Add missing prototype for
32429 grub_stop_floppy().
32430
22cd079d 32431 * loader/ieee1275/multiboot2.c [__i386__]: Include
32432 grub/cpu/multiboot.h.
32433
a0c62e4e 32434 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
32435 casts to short - they are not portable and cause warnings. Fix
32436 use of uninitialized values in input_buf. Use ARRAY_SIZE.
32437
63963d17 324382009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
32439
32440 Drivemap fixes
32441
32442 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
32443 new function
32444 (grub_get_root_biosnumber_saved): new variable
32445 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
32446 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 32447 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 32448 %dx after the call if necessary
32449 * conf/common.rmk (pkglib_MODULES): remove boot.mod
32450 (boot_mod_SOURCES): remove
32451 (boot_mod_CFLAGS): remove
32452 (boot_mod_LDFLAGS): remove
32453 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
32454 (boot_mod_SOURCES): new variable
32455 (boot_mod_CFLAGS): likewise
32456 (boot_mod_LDFLAGS): likewise
32457 * conf/i386-efi.rmk: likewise
32458 * conf/i386-ieee1275.rmk: likewise
32459 * conf/i386-pc.rmk: likewise
32460 * conf/powerpc-ieee1275.rmk: likewise
32461 * conf/sparc64-ieee1275.rmk: likewise
32462 * conf/x86_64-efi.rmk: likewise
32463 * include/grub/i386/pc/biosnum.h: new file
32464 * lib/i386/pc/biosnum.c: likewise
32465 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
32466 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
32467 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 32468
33abf7ae 324692009-06-10 Pavel Roskin <proski@gnu.org>
32470
5ac35b35 32471 * io/gzio.c (test_header): Don't reuse one buffer for all data.
32472 Use separate variables. Read only the file size at the end, but
32473 not the checksum that we don't use.
32474
5c5215d5 32475 * kern/file.c (grub_file_read): Use void pointer for the buffer.
32476 Adjust all callers.
32477
27d5fef7 32478 * kern/ieee1275/openfw.c: Remove libc includes.
32479 * kern/ieee1275/cmain.c: Likewise.
32480 * include/grub/ieee1275/ieee1275.h: Likewise.
32481
33abf7ae 32482 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
32483 compiler warnings.
32484
19d50c2b 324852009-06-10 Felix Zielcke <fzielcke@z-51.de>
32486
32487 * Makefile.in: Remove all trailing whitespace.
32488 * conf/i386-pc.rmk: Likewise.
32489 * conf/powerpc-ieee1275.rmk: Likewise.
32490 * conf/sparc64-ieee1275.rmk: Likewise.
32491 * docs/grub.texi: Likewise.
32492 * docs/texinfo.tex: Likewise.
32493 * disk/fs_uuid.c: Likewise.
32494 * disk/lvm.c: Likewise.
32495 * disk/scsi.c: Likewise.
32496 * disk/ata.c: Likewise.
32497 * disk/ieee1275/ofdisk.c: Likewise.
32498 * disk/i386/pc/biosdisk.c: Likewise.
32499 * disk/host.c: Likewise.
32500 * disk/raid.c: Likewise.
32501 * disk/efi/efidisk.c: Likewise.
32502 * disk/usbms.c: Likewise.
32503 * disk/memdisk.c: Likewise.
32504 * disk/loopback.c: Likewise.
32505 * kern/powerpc/dl.c: Likewise.
32506 * kern/device.c: Likewise.
32507 * kern/dl.c: Likewise.
32508 * kern/sparc64/dl.c: Likewise.
32509 * kern/ieee1275/ieee1275.c: Likewise.
32510 * kern/term.c: Likewise.
32511 * kern/fs.c: Likewise.
32512 * kern/i386/dl.c: Likewise.
32513 * kern/i386/pc/startup.S: Likewise.
32514 * kern/i386/pc/init.c: Likewise.
32515 * kern/i386/pc/mmap.c: Likewise.
32516 * kern/i386/pc/lzo1x.S: Likewise.
32517 * kern/i386/ieee1275/init.c: Likewise.
32518 * kern/i386/realmode.S: Likewise.
32519 * kern/i386/tsc.c: Likewise.
32520 * kern/partition.c: Likewise.
32521 * kern/corecmd.c: Likewise.
32522 * kern/file.c: Likewise.
32523 * kern/efi/efi.c: Likewise.
32524 * kern/efi/init.c: Likewise.
32525 * kern/efi/mm.c: Likewise.
32526 * kern/main.c: Likewise.
32527 * kern/err.c: Likewise.
32528 * kern/env.c: Likewise.
32529 * kern/disk.c: Likewise.
32530 * kern/generic/millisleep.c: Likewise.
32531 * kern/generic/rtc_get_time_ms.c: Likewise.
32532 * kern/misc.c: Likewise.
32533 * kern/parser.c: Likewise.
32534 * genmk.rb: Likewise.
32535 * configure.ac: Likewise.
32536 * boot/i386/pc/diskboot.S: Likewise.
32537 * boot/i386/pc/pxeboot.S: Likewise.
32538 * boot/i386/pc/boot.S: Likewise.
32539 * boot/i386/pc/lnxboot.S: Likewise.
32540 * boot/i386/pc/cdboot.S: Likewise.
32541 * parttool/pcpart.c: Likewise.
32542 * video/readers/tga.c: Likewise.
32543 * video/video.c: Likewise.
32544 * video/bitmap.c: Likewise.
32545 * lib/envblk.c: Likewise.
32546 * lib/i386/setjmp.S: Likewise.
32547 * fs/xfs.c: Likewise.
32548 * fs/afs.c: Likewise.
32549 * fs/fat.c: Likewise.
32550 * fs/ntfs.c: Likewise.
32551 * fs/udf.c: Likewise.
32552 * fs/affs.c: Likewise.
32553 * fs/iso9660.c: Likewise.
32554 * fs/hfs.c: Likewise.
32555 * fs/fshelp.c: Likewise.
32556 * fs/ext2.c: Likewise.
32557 * fs/jfs.c: Likewise.
32558 * fs/reiserfs.c: Likewise.
32559 * fs/hfsplus.c: Likewise.
32560 * fs/minix.c: Likewise.
32561 * fs/cpio.c: Likewise.
32562 * fs/sfs.c: Likewise.
32563 * fs/ufs.c: Likewise.
32564 * efiemu/prepare.c: Likewise.
32565 * efiemu/loadcore_common.c: Likewise.
32566 * efiemu/runtime/efiemu.sh: Likewise.
32567 * efiemu/runtime/efiemu.S: Likewise.
32568 * efiemu/runtime/efiemu.c: Likewise.
32569 * efiemu/pnvram.c: Likewise.
32570 * efiemu/main.c: Likewise.
32571 * efiemu/i386/pc/cfgtables.c: Likewise.
32572 * efiemu/i386/loadcore64.c: Likewise.
32573 * efiemu/i386/loadcore32.c: Likewise.
32574 * efiemu/loadcore.c: Likewise.
32575 * efiemu/symbols.c: Likewise.
32576 * efiemu/mm.c: Likewise.
32577 * include/grub/autoefi.h: Likewise.
32578 * include/grub/datetime.h: Likewise.
32579 * include/grub/term.h: Likewise.
32580 * include/grub/hfs.h: Likewise.
32581 * include/grub/lvm.h: Likewise.
32582 * include/grub/i386/tsc.h: Likewise.
32583 * include/grub/i386/linux.h: Likewise.
32584 * include/grub/i386/xnu.h: Likewise.
32585 * include/grub/i386/efiemu.h: Likewise.
32586 * include/grub/i386/pc/biosdisk.h: Likewise.
32587 * include/grub/i386/pc/memory.h: Likewise.
32588 * include/grub/i386/pc/vbe.h: Likewise.
32589 * include/grub/parttool.h: Likewise.
32590 * include/grub/video.h: Likewise.
32591 * include/grub/memory.h: Likewise.
32592 * include/grub/fs.h: Likewise.
32593 * include/grub/partition.h: Likewise.
32594 * include/grub/xnu.h: Likewise.
32595 * include/grub/efi/api.h: Likewise.
32596 * include/grub/efi/pe32.h: Likewise.
32597 * include/grub/efi/memory.h: Likewise.
32598 * include/grub/multiboot.h: Likewise.
32599 * include/grub/usbdesc.h: Likewise.
32600 * include/grub/multiboot2.h: Likewise.
32601 * include/grub/acpi.h: Likewise.
32602 * include/grub/efiemu/efiemu.h: Likewise.
32603 * include/grub/disk.h: Likewise.
32604 * include/grub/ieee1275/ieee1275.h: Likewise.
32605 * include/grub/net.h: Likewise.
32606 * include/grub/machoload.h: Likewise.
32607 * include/grub/macho.h: Likewise.
32608 * include/multiboot.h: Likewise.
32609 * genmoddep.awk: Likewise.
32610 * normal/main.c: Likewise.
32611 * normal/menu_entry.c: Likewise.
32612 * normal/menu_viewer.c: Likewise.
32613 * normal/completion.c: Likewise.
32614 * normal/cmdline.c: Likewise.
32615 * normal/misc.c: Likewise.
32616 * normal/datetime.c: Likewise.
32617 * bus/usb/usbtrans.c: Likewise.
32618 * bus/usb/ohci.c: Likewise.
32619 * bus/usb/uhci.c: Likewise.
32620 * bus/usb/usb.c: Likewise.
32621 * mmap/efi/mmap.c: Likewise.
32622 * mmap/i386/pc/mmap_helper.S: Likewise.
32623 * mmap/i386/pc/mmap.c: Likewise.
32624 * mmap/i386/mmap.c: Likewise.
32625 * mmap/i386/uppermem.c: Likewise.
32626 * mmap/mmap.c: Likewise.
32627 * commands/acpi.c: Likewise.
32628 * commands/echo.c: Likewise.
32629 * commands/blocklist.c: Likewise.
32630 * commands/loadenv.c: Likewise.
32631 * commands/usbtest.c: Likewise.
32632 * commands/boot.c: Likewise.
32633 * commands/parttool.c: Likewise.
32634 * commands/search.c: Likewise.
32635 * commands/cat.c: Likewise.
32636 * commands/i386/pc/play.c: Likewise.
32637 * commands/i386/pc/drivemap.c: Likewise.
32638 * commands/i386/pc/vbeinfo.c: Likewise.
32639 * commands/i386/pc/acpi.c: Likewise.
32640 * commands/i386/pc/vbetest.c: Likewise.
32641 * commands/ls.c: Likewise.
32642 * commands/cmp.c: Likewise.
32643 * commands/test.c: Likewise.
32644 * commands/efi/acpi.c: Likewise.
32645 * commands/gptsync.c: Likewise.
32646 * commands/help.c: Likewise.
32647 * partmap/amiga.c: Likewise.
32648 * partmap/apple.c: Likewise.
32649 * partmap/acorn.c: Likewise.
32650 * partmap/pc.c: Likewise.
32651 * partmap/sun.c: Likewise.
32652 * partmap/gpt.c: Likewise.
32653 * script/sh/lexer.c: Likewise.
32654 * script/sh/function.c: Likewise.
32655 * font/font.c: Likewise.
32656 * font/font_cmd.c: Likewise.
32657 * loader/powerpc/ieee1275/linux.c: Likewise.
32658 * loader/efi/chainloader.c: Likewise.
32659 * loader/multiboot_loader.c: Likewise.
32660 * loader/macho.c: Likewise.
32661 * loader/i386/multiboot.c: Likewise.
32662 * loader/i386/linux.c: Likewise.
32663 * loader/i386/pc/linux.c: Likewise.
32664 * loader/i386/pc/multiboot2.c: Likewise.
32665 * loader/i386/pc/chainloader.c: Likewise.
32666 * loader/i386/pc/xnu.c: Likewise.
32667 * loader/i386/bsd_trampoline.S: Likewise.
32668 * loader/i386/efi/linux.c: Likewise.
32669 * loader/i386/multiboot_elfxx.c: Likewise.
32670 * loader/i386/bsd_helper.S: Likewise.
32671 * loader/i386/bsd.c: Likewise.
32672 * loader/i386/linux_trampoline.S: Likewise.
32673 * loader/i386/xnu_helper.S: Likewise.
32674 * loader/i386/xnu.c: Likewise.
32675 * loader/i386/bsd_pagetable.c: Likewise.
32676 * loader/i386/multiboot_helper.S: Likewise.
32677 * loader/xnu.c: Likewise.
32678 * loader/xnu_resume.c: Likewise.
32679 * io/gzio.c: Likewise.
32680 * term/efi/console.c: Likewise.
32681 * term/terminfo.c: Likewise.
32682 * term/ieee1275/ofconsole.c: Likewise.
32683 * term/i386/pc/serial.c: Likewise.
32684 * term/i386/pc/vesafb.c: Likewise.
32685 * term/i386/pc/vga.c: Likewise.
32686 * term/usb_keyboard.c: Likewise.
32687 * term/gfxterm.c: Likewise.
32688 * aclocal.m4: Likewise.
32689 * util/lvm.c: Likewise.
32690 * util/grub.d/30_os-prober.in: Likewise.
32691 * util/grub.d/10_hurd.in: Likewise.
32692 * util/console.c: Likewise.
32693 * util/grub-macho2img.c: Likewise.
32694 * util/grub-probe.c: Likewise.
32695 * util/hostfs.c: Likewise.
32696 * util/i386/pc/grub-mkimage.c: Likewise.
32697 * util/i386/pc/grub-setup.c: Likewise.
32698 * util/i386/efi/grub-mkimage.c: Likewise.
32699 * util/grub-mkconfig.in: Likewise.
32700 * util/raid.c: Likewise.
32701 * util/resolve.c: Likewise.
32702 * util/grub-mkdevicemap.c: Likewise.
32703 * util/grub-emu.c: Likewise.
32704 * util/getroot.c: Likewise.
32705 * util/hostdisk.c: Likewise.
32706 * util/usb.c: Likewise.
32707 * util/grub-editenv.c: Likewise.
32708 * util/misc.c: Likewise.
32709
d2d49665 327102009-06-10 Felix Zielcke <fzielcke@z-51.de>
32711
32712 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
32713 `genparttoollist.sh'.
32714 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
32715 Add `*.sh' to the list find searches for and change `mdate.sh'
32716 to `mdate-sh'.
32717
fe052e37 327182009-06-10 Pavel Roskin <proski@gnu.org>
32719
2763ac18 32720 * include/grub/multiboot2.h: Provide compatibility defines for
32721 multiboot2.h.
32722 * include/multiboot2.h: Include stdint.h only if needed, using
32723 angle brackets.
32724 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
32725 grub/multiboot2.h.
32726 * loader/ieee1275/multiboot2.c: Likewise.
32727 * loader/multiboot2.c: Likewise.
32728 * loader/multiboot_loader.c: Likewise.
32729
437e6adc 32730 * configure.ac: Use -nostdlib when probing for the target. It
32731 should not be required to have libc for the target.
32732
06a6836c 32733 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
32734 they fail without libc headers for the target.
32735 * include/grub/powerpc/libgcc.h: Use weak attribute for all
32736 exports.
32737 * include/grub/sparc64/libgcc.h: Likewise. Don't use
32738 preprocessor conditionals.
32739
fe052e37 32740 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
32741 build system doesn't need to be aware of the tar.c internals.
32742
afd22553 327432009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 32744
afd22553 32745 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 32746
6b787c4f 327472009-06-09 Robert Millan <rmh.grub@aybabtu.com>
32748
32749 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
32750 disk limit to 26 for IDE, Virtio, Xen and SCSI.
32751
327522009-06-09 Felix Zielcke <fzielcke@z-51.de>
32753
32754 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 32755 aren't available if ata.mod gets used.
6b787c4f 32756
473d1e45 327572009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 32758
473d1e45 32759 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 32760 initialising controller.
473d1e45 32761 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 32762
255a27d4 327632009-06-08 Felix Zielcke <fzielcke@z-51.de>
32764
32765 * util/i386/pc/grub-install.in: Add a parameter --disk-module
32766 to choose between ata and biosdisk module on i386-pc.
32767
473d1e45 327682009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 32769
d55842d8 32770 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
32771 Subclass and Programming Interface fields in terms of the 3 byte
32772 Class Code register.
32773 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
32774
fa5db0b1 32775 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
32776 interface is OHCI. Add grub_dprintf for symmetry with
32777 bus/usb/uhci.c.
32778 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
32779 interface is UHCI. Add interf variable for programming
32780 interface. Print interface with class/subclass.
32781
c0947beb 32782 * bus/usb/ohci.c: Set interf with correct field.
32783
69da8877 32784 * bus/usb/uhci.c: Remove unneeded doubled lines.
32785 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
32786 Remove whitespace inside comment.
32787
9e172e30 327882009-06-08 Robert Millan <rmh.grub@aybabtu.com>
32789
32790 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
32791 as fallback an equivalent option without depth.
32792
de65ee2b 327932009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
32794
32795 Not fail if unable to retrieve C/H/S on LBA disks
32796
473d1e45 32797 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 32798 if unable to retrieve C/H/S on LBA disks
32799
b57ea2c9 328002009-06-08 Pavel Roskin <proski@gnu.org>
32801
32802 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
32803 about aliasing.
32804
af361263 328052009-06-08 Felix Zielcke <fzielcke@z-51.de>
32806
32807 * Makefile.in (uninstall): Remove all $lib_DATA files.
32808
4c9ec6b3 328092009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
32810
32811 Bugfix: install on partitionless device
32812
32813 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
32814 is a whole disk
32815
e76fc924 328162009-06-08 Felix Zielcke <fzielcke@z-51.de>
32817
32818 * Makefile.in (uninstall): Remove all $include_DATA files.
32819
ba5a0d05 328202009-06-08 Felix Zielcke <fzielcke@z-51.de>
32821
32822 * commands/true.c: New file. Implement the true and false commands.
32823 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
32824 (true_mod_SOURCES): New variable.
32825 (true_mod_CFLAGS): Likewise.
32826 (true_mod_LDFLAGS): Likewise.
32827
c8048e32 328282009-06-05 Colin D Bennett <colin@gibibit.com>
32829
32830 Optimized font character lookup using binary search instead of linear
32831 search. Fonts now are required to have the character index ordered by
32832 code point.
32833
32834 * font/font.c (load_font_index): Verify that fonts have ordered
32835 character indices.
32836 (find_glyph): Use binary search instead of linear search to find a
32837 character in a font.
32838
408305be 328392009-06-05 Michael Scherer <misc@mandriva.org>
32840
32841 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
32842 uses case sensitive btree.
32843 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
32844 only for case insensitive filesystems.
32845
8ee1e0d9 328462009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
32847
32848 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
32849 * conf/common.rmk (search_mod_CFLAGS): likewise
32850
a9966eb1 328512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32852
473d1e45 32853 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 32854 compensate a compiler bug
32855
9e7100fb 328562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32857
473d1e45 32858 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 32859 instead of '\b'
473d1e45 32860
ede21d71 328612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32862
32863 Definitions for creating asm symbols with Apple's CC
32864
32865 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
32866 [APPLE_CC] (VARIABLE): likewise
32867
9dbf7653 328682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32869
32870 Disable lnxboot.img when compiled
32871 with Apple's CC
32872
32873 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
32874 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
32875 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
32876 [! APPLE_CC] (CODE_LENG): skip
32877 [! APPLE_CC] (setup_sects): likewise
32878 [! APPLE_CC]: skip filling
473d1e45 32879
e93cdc3d 328802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32881
32882 Address in trampolines based on 32-bit registers when compiled
32883 with Apple's CC
32884
473d1e45 32885 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 32886 for addresses
32887 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
32888
6c688477 328892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32890
32891 Avoid aliases when compiling with Apple's CC for PCBIOS machine
32892
32893 * kern/misc.c [APPLE_CC] (memcpy): new function
32894 [APPLE_CC] (memmove): likewise
32895 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 32896 (memcpy): define alias conditionally on !APPLE_CC
6c688477 32897 (memset): likewise
32898 (abort): likewise
32899 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
32900 APPLE_CC are defined
32901 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
32902 (grub_assert_fail): make prototype conditional
32903
e37ffc5c 329042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32905
32906 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
32907
473d1e45 32908 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
32909 grub-macho2img
e37ffc5c 32910 (CLEANFILES): add grub-macho2img
32911 (grub_macho2img_SOURCES): new variable
32912 * kern/i386/pc/startup.S (bss_start): new variable
32913 (bss_end): likewise
32914 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
32915 * util/grub-macho2img.c: new file
32916
cf00df31 329172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32918
32919 Use objconv when compiling with Apple's CC
32920
32921 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
32922 (efiemu64.o): likewise
32923 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
32924 when compiling with Apple's CC
32925 (efiemu64_s.o): likewise
32926 * configure.ac: check for objconv when compiling with Apple's CC
32927 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 32928
d119a20c 329292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32930
32931 Define segment as well as section when compiling with
32932 Apple's CC
32933
32934 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
32935 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
32936 (efiemu_convert_pointer): likewise
32937 (efiemu_set_virtual_address_map): likewise
32938 (efiemu_convert_pointer): likewise
32939 (efiemu_getcrc32): likewise
32940 (init_crc32_table): likewise
32941 (reflect): likewise
32942 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
32943 (GRUB_MOD_DEP): likewise
473d1e45 32944
c8600122 329452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32946
32947 Allow a compilation without -mcmodel=large
32948
32949 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
32950 when compiled without -mcmodel=large
473d1e45 32951 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 32952 without -mcmodel=large
473d1e45 32953 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 32954 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 32955
e8df1d4e 329562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32957
32958 Remove nested functions in efiemu core
32959
32960 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 32961
cc6c3ac1 329622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32963
32964 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
32965
32966 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
32967 temporary storage
473d1e45 32968 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
32969 using Apple's CC
cc6c3ac1 32970 (grub_cpu_is_tsc_supported): likewise
32971 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 32972
3e325901 329732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32974
32975 Absolute addressing through constant with Apple's cc
32976
32977 * kern/i386/pc/startup.S: Define necessary constants
32978 and address through it when using ABS with Apple's CC
32979 * boot/i386/pc/diskboot.S: likewise
32980 * boot/i386/pc/boot.S: likewise
32981 * boot/i386/pc/lnxboot.S: likewise
32982 * boot/i386/pc/cdboot.S: likewise
32983 * mmap/i386/pc/mmap_helper.S: likewise
32984 * commands/i386/pc/drivemap_int13h.S: likewise
32985
2b167a72 329862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32987
32988 Check if compiler is apple cc
32989
32990 * Makefile.in (ASFLAGS): new variable
32991 (TARGET_ASFLAGS): likewise
32992 (TARGET_MODULE_FORMAT): likewise
32993 (TARGET_APPLE_CC): likewise
32994 (OBJCONV): likewise
32995 (TARGET_IMG_CFLAGS): likewise
32996 (TARGET_CPPFLAGS): add includedir
32997 * configure.ac: call grub_apple_cc and grub_apple_target_cc
32998 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
32999 Check for linker script only if compiler isn't Apple's CC
33000 (TARGET_MODULE_FORMAT): set
33001 (TARGET_APPLE_CC): likewise
33002 (TARGET_ASFLAGS): likewise
33003 (ASFLAGS): likewise
33004 Check for objcopy only if compiler isn't Apple's CC
33005 Check for BSS symbol only if compiler isn't Apple's CC
33006 * genmk.rb: adapt nm options if we use Apple's utils
33007 * aclocal.m4 (grub_apple_cc): new test
33008 (grub_apple_target_cc): likewise
473d1e45 33009
fb14123e 330102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33011
33012 Simplify sed expressions and improve awk
33013
33014 * Makefile.in (install-local): simplify sed expression
33015 * gencmdlist.sh: likewise
33016 * genmoddep.awk: avoid adding module as a dependency of itself
33017
5b889789 330182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33019
33020 Add missing start symbols
33021
33022 * boot/i386/pc/boot.S: add start
fb14123e 33023 * boot/i386/pc/pxeboot.S: likewise
473d1e45 33024
fd2bf2e3 330252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33026
33027 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 33028
33029 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 33030 (relocate_addresses): consider both r_addend and value at offset
33031 (make_mods_section): zerofill modinfo and header
33032 (convert_elf): write prefix here
473d1e45 33033
5389763d 330342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33035
33036 Use .asciz instead of .string
33037
33038 * i386/pc/diskboot.S: use .asciz instead of .string
33039 * i386/pc/boot.S: likewise
33040 * include/grub/dl.h (GRUB_MOD_DEP): likewise
33041 (GRUB_MOD_NAME): likewise
473d1e45 33042
3eb5ed4e 330432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33044
33045 gfxpayload support
33046
33047 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
33048 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
33049 (grub_video_setup): remove
33050 (grub_video_set_mode): new prototype
33051 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
33052 (vid_mode): remove
33053 (linux_vesafb_res): compile only on PCBIOS
33054 (grub_linux_boot): support gfxpayload
33055 * loader/i386/pc/xnu.c (video_hook): new function
33056 (grub_xnu_set_video): support gfxpayload
33057 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
33058 (DEFAULT_VIDEO_HEIGHT): likewise
33059 (DEFAULT_VIDEO_FLAGS): likewise
33060 (DEFAULT_VIDEO_MODE): new definition
33061 (video_hook): new function
33062 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 33063 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 33064 loading xnu
33065 * video/video.c (grub_video_setup): removed
473d1e45 33066 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 33067 grub_video_setup
33068
4b0e1143 330692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33070
33071 Avoid calling biosdisk in drivemap
33072
33073 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
33074 (revparse_biosdisk): likewise
33075 (list_mappings): derive name from id directly
33076 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 33077
fda6cb98 330782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33079
33080 Script fixes
33081
33082 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
33083 (grub_lexer_param): add tokenonhold
33084 (grub_script_create_cmdline): remove cmdline. All callers updated
33085 (grub_script_function_create): make functionname
33086 grub_script_arg. All callers updated
33087 (grub_script_execute_argument_to_string): new prototype
33088 * kern/parser.c (state_transitions): reorder
33089 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 33090 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 33091 make global
33092 (grub_script_execute_cmdline): use new format
33093 * script/sh/function.c (grub_script_function_create): make functionname
33094 grub_script_arg. All callers updated
473d1e45 33095 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 33096 (grub_script_yylex): remove
33097 (grub_script_yylex2): renamed to ...
33098 (grub_script_yylex): ...renamed
33099 parse the expressions like a${b}c
33100 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
33101 (GRUB_PARSER_TOKEN_VAR): remove
33102 (GRUB_PARSER_TOKEN_NAME): likewise
33103 ("if"): declare as typeless
33104 ("while"): likewise
33105 ("function"): likewise
33106 ("else"): likewise
33107 ("then"): likewise
33108 ("fi"): likewise
33109 (text): remove
33110 (argument): likewise
33111 (script): accept empty scripts and make exit on error
33112 (arguments): use GRUB_PARSER_TOKEN_ARG
33113 (function): likewise
33114 (command): move error handling to script
33115 (menuentry): move grub_script_lexer_ref before
473d1e45 33116 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 33117 argument. All callers updated
33118
f4448a07 331192009-06-04 Robert Millan <rmh.grub@aybabtu.com>
33120
33121 Prevent GRUB from probing floppies during boot.
33122
33123 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
33124 * commands/search.c (options): Add --no-floppy.
33125 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
33126 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
33127 --no-floppy when searching for UUIDs.
33128
2bf5885a 331292009-06-04 Robert Millan <rmh.grub@aybabtu.com>
33130
33131 Simplify the code duplication in commands/search.c.
33132
33133 * commands/search.c (search_label, search_fs_uuid): Merge into ...
33134 (search_fs): ... this. Update all users.
33135
f6fd460a 331362009-06-03 Felix Zielcke <fzielcke@z-51.de>
33137
33138 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
33139
cbb3c83e 331402009-05-28 Pavel Roskin <proski@gnu.org>
33141
57788cfd 33142 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
33143 Remove the original symlink explicitly.
33144
cbb3c83e 33145 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
33146 just one slash. That's how grub_fshelp_find_file() does it.
33147
cd0d5e30 331482009-05-26 Pavel Roskin <proski@gnu.org>
33149
f0f8bbe2 33150 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
33151 to `str'.
33152
cd0d5e30 33153 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
33154 possibly unused.
33155
8c2cab51 331562009-05-25 Christian Franke <franke@computer.org>
33157
33158 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
33159 register.
33160 (grub_atapi_identify): Add wait after drive select.
33161 (grub_ata_identify): Do more strict status register check before
33162 calling grub_atapi_identify (). Suppress error message if status
33163 register is 0x00 after command failure. Add status register
33164 check after PIO read to avoid bogus identify due to stuck DRQ.
33165 Thanks to Pavel Roskin for testing.
33166 (grub_device_initialize): Remove unsafe status register check.
33167 Thanks to 'phcoder' for problem report and patch.
33168 Prevent sign extension in debug message.
33169
230c0ad6 331702009-05-23 Colin D Bennett <colin@gibibit.com>
33171
33172 Cleaned up `include/grub/normal.h'. Grouped prototypes by
33173 definition file, and functions defined in `normal/menu.c' have had
33174 their prototypes moved to `include/grub/menu.h' for consistency.
33175
33176 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
33177 from normal.h.
33178 (grub_menu_get_entry): Likewise.
33179 (grub_menu_get_timeout): Likewise.
33180 (grub_menu_set_timeout): Likewise.
33181 (grub_menu_execute_entry): Likewise.
33182 (grub_menu_execute_with_fallback): Likewise.
33183 (grub_menu_entry_run): Likewise.
33184
33185 * include/grub/normal.h: Re-ordered and grouped function
33186 prototypes by file that the function is defined in.
33187 (grub_menu_execute_callback): Removed; moved to menu.h.
33188 (grub_menu_get_entry): Likewise.
33189 (grub_menu_get_timeout): Likewise.
33190 (grub_menu_set_timeout): Likewise.
33191 (grub_menu_execute_entry): Likewise.
33192 (grub_menu_execute_with_fallback): Likewise.
33193 (grub_menu_entry_run): Likewise.
33194 (grub_menu_addentry): Renamed from this ...
33195 (grub_normal_add_menu_entry): ... to this.
33196
33197 * normal/main.c (grub_menu_addentry): Renamed from this ...
33198 (grub_normal_add_menu_entry): ... to this.
33199
33200 * script/sh/execute.c (grub_script_execute_menuentry): Update
33201 reference to renamed grub_menu_addentry function.
33202
861f03a5 332032009-05-23 Felix Zielcke <fzielcke@z-51.de>
33204
33205 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
33206
96b1619a 332072009-05-22 Pavel Roskin <proski@gnu.org>
33208
bf6a5fb2 33209 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
33210 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
33211 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
33212 compiling for the i386 targets, but not for the utilities.
33213
96b1619a 33214 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
33215 to grub_uint8_t.
33216 (grub_root_drive): Likewise.
33217 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
33218 remove alignment.
33219 (grub_root_drive): Change size to byte.
33220 (grub_start_addr): Remove.
33221 (grub_end_addr): Likewise.
33222 (grub_apm_bios_info): Likewise.
33223
b729776b 332242009-05-21 Felix Zielcke <fzielcke@z-51.de>
33225
33226 * normal/i386: Remove.
33227 * normal/powerpc: Likewise.
33228 * normal/sparc64: Likewise.
33229 * normal/x86_64: Likewise.
33230
0a15ce80 332312009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
33232
33233 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 33234 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 33235 * loader/i386/xnu_helper.S: Likewise
d6da58e6 33236
33db9015 332372009-05-18 Colin D Bennett <colin@gibibit.com>
33238
d6da58e6 33239 Display error messages when parsing a Lua statement fails.
33240 Previously, executing a syntactically invalid statement like
33241 ")foo" or "bar;" would silently fail.
33db9015 33242
33243 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 33244 (grub_lua_parse_line): Improved reporting of Lua parser and
33245 execution errors.
33db9015 33246
46422c89 332472009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
33248
33249 Remove -Werror which causes build to fail on some systems
33250
33251 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
33252 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
33253 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 33254
22f53a96 332552009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
33256
33257 trampoline for linux on 64-bit platform
33258
18f547ad 33259 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
33260 loader/i386/efi/linux_trampoline.S
33261 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 33262 declaration
d6da58e6 33263 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
33264 here
22f53a96 33265 * loader/i386/linux_trampoline.S: moved here
d6da58e6 33266 * loader/i386/efi/linux.c (allocate_pages): reserve space for
33267 trampoline
22f53a96 33268 (jumpvector): removed
33269 (grub_linux_trampoline_start): new declaration
33270 (grub_linux_trampoline_end): likewise
33271 (grub_linux_boot): use trampoline when on 64-bit platform
33272 * loader/i386/linux.c: likewise
33273
cb5a0f40 332742009-05-16 Pavel Roskin <proski@gnu.org>
33275
33276 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
33277 const to avoid a warning.
33278 (grub_lua_setenv): Likewise.
33279 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
33280 lmsg to fix a warning.
33281
334f2c28 332822009-05-16 Felix Zielcke <fzielcke@z-51.de>
33283
33284 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 33285 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
33286 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
33287 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
33288 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
33289 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
33290 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
33291 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 33292
59e5d3ec 332932009-05-16 Felix Zielcke <fzielcke@z-51.de>
33294
33295 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
33296
9d87a1ba 332972009-05-16 Bean <bean123ch@gmail.com>
33298
33299 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
33300 (lua_mod_SOURCES): New variable.
33301 (lua_mod_CFLAGS): Likewise.
33302 (lua_mod_LDFLAGS): Likewise.
33303
33304 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
33305 (setjmp_mod_SOURCES): New variable.
33306 (setjmp_mod_CFLAGS): Likewise.
33307 (setjmp_LDFLAGS): Likewise.
33308
33309 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
33310 (setjmp_mod_SOURCES): New variable.
33311 (setjmp_mod_CFLAGS): Likewise.
33312 (setjmp_LDFLAGS): Likewise.
33313
33314 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
33315 (setjmp_mod_SOURCES): New variable.
33316 (setjmp_mod_CFLAGS): Likewise.
33317 (setjmp_LDFLAGS): Likewise.
33318
33319 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
33320 (setjmp_mod_SOURCES): New variable.
33321 (setjmp_mod_CFLAGS): Likewise.
33322 (setjmp_LDFLAGS): Likewise.
33323
33324 * normal/i386/setjmp.S: Moved from here ...
33325 * lib/i386/setjmp.S: ... Moved here
33326 * normal/x86_64/setjmp.S: Moved from here ...
33327 * lib/x86_64/setjmp.S: ... Moved here
33328 * normal/powerpc/setjmp.S: Moved from here ...
33329 * lib/powerpc/setjmp.S: ... Moved here
33330 * normal/sparc64/setjmp.S: Moved from here ...
33331 * lib/sparc64/setjmp.S: ... Moved here
33332
33333 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
33334 returns_twice in mingw.
33335
33336 * script/lua/grub_lib.c: New file.
33337 * script/lua/grub_lib.h: Likewise.
33338 * script/lua/grub_lua.h: Likewise.
33339 * script/lua/grub_main.c: Likewise.
33340 * script/lua/lapi.c: Likewise.
33341 * script/lua/lapi.h: Likewise.
33342 * script/lua/lauxlib.c: Likewise.
33343 * script/lua/lauxlib.h: Likewise.
33344 * script/lua/lbaselib.c: Likewise.
33345 * script/lua/lcode.c: Likewise.
33346 * script/lua/lcode.h: Likewise.
33347 * script/lua/ldblib.c: Likewise.
33348 * script/lua/ldebug.c: Likewise.
33349 * script/lua/ldebug.h: Likewise.
33350 * script/lua/ldo.c: Likewise.
33351 * script/lua/ldo.h: Likewise.
33352 * script/lua/ldump.c: Likewise.
33353 * script/lua/lfunc.c: Likewise.
33354 * script/lua/lfunc.h: Likewise.
33355 * script/lua/lgc.c: Likewise.
33356 * script/lua/lgc.h: Likewise.
33357 * script/lua/linit.c: Likewise.
33358 * script/lua/liolib.c: Likewise.
33359 * script/lua/llex.c: Likewise.
33360 * script/lua/llex.h: Likewise.
33361 * script/lua/llimits.h: Likewise.
33362 * script/lua/lmathlib.c: Likewise.
33363 * script/lua/lmem.c: Likewise.
33364 * script/lua/lmem.h: Likewise.
33365 * script/lua/loadlib.c: Likewise.
33366 * script/lua/lobject.c: Likewise.
33367 * script/lua/lobject.h: Likewise.
33368 * script/lua/lopcodes.c: Likewise.
33369 * script/lua/lopcodes.h: Likewise.
33370 * script/lua/loslib.c: Likewise.
33371 * script/lua/lparser.c: Likewise.
33372 * script/lua/lparser.h: Likewise.
33373 * script/lua/lstate.c: Likewise.
33374 * script/lua/lstate.h: Likewise.
33375 * script/lua/lstring.c: Likewise.
33376 * script/lua/lstring.h: Likewise.
33377 * script/lua/lstrlib.c: Likewise.
33378 * script/lua/ltable.c: Likewise.
33379 * script/lua/ltable.h: Likewise.
33380 * script/lua/ltablib.c: Likewise.
33381 * script/lua/ltm.c: Likewise.
33382 * script/lua/ltm.h: Likewise.
33383 * script/lua/lua.h: Likewise.
33384 * script/lua/luaconf.h: Likewise.
33385 * script/lua/lualib.h: Likewise.
33386 * script/lua/lundump.c: Likewise.
33387 * script/lua/lundump.h: Likewise.
33388 * script/lua/lvm.c: Likewise.
33389 * script/lua/lvm.h: Likewise.
33390 * script/lua/lzio.c: Likewise.
33391 * script/lua/lzio.h: Likewise.
33392
5e898c9d 333932009-05-16 Bean <bean123ch@gmail.com>
33394
33395 * include/grub/kernel.h (grub_module_header_types): Add type
33396 OBJ_TYPE_CONFIG.
33397
33398 * kern/main.c (grub_load_config): New function.
33399 (grub_main): Call grub_load_config to read boot config.
33400
33401 * grub-mkimage (generate_image): New parameter config_path.
33402 (options): New option --config.
33403 (main): Parse --config option, and pass it to generate_image.
33404
cf353a47 334052009-05-14 Christian Franke <franke@computer.org>
33406
33407 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
33408 This fixes build on Cygwin.
33409
3834887f 334102009-05-14 Pavel Roskin <proski@gnu.org>
33411
33412 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
33413 jump. This saves two bytes, so the typical case of 2 swapped
33414 drives would fit 32 bytes.
33415
8090fc01 334162009-05-13 Pavel Roskin <proski@gnu.org>
33417
ac963883 33418 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
33419 grub_uint32_t to avoid a warning.
33420
8090fc01 33421 * loader/i386/linux.c (allocate_pages): When assigning
33422 real_mode_mem, cast through grub_size_t to fix a warning. The
33423 code already makes sure that the value would fit a pointer.
33424 (grub_linux_setup_video): Cast render_target->data to
33425 grub_size_t to fix a warning.
33426
18f547ad 334272009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 33428
33429 * commands/i386/pc/drivemap.c: New file - implement drivemap
33430 command.
33431 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
33432 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
33433
6f6a8b28 334342009-05-13 Pavel Roskin <proski@gnu.org>
33435
33436 * util/i386/pc/grub-setup.c (setup): Remove unused variable
33437 embedding_area_exists.
33438
15fbf4c4 334392009-05-13 Robert Millan <rmh.grub@aybabtu.com>
33440
33441 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
33442 it easier to understand / work with.
59978c8a 33443 Improve warning messages for cases where there's no embedding area,
33444 or when it is too small (or core.img too large).
15fbf4c4 33445
238e871f 334462009-05-13 Pavel Roskin <proski@gnu.org>
33447
0ab3a9a4 33448 * loader/i386/pc/multiboot2.c: Add necessary includes for
33449 grub_multiboot2_real_boot().
33450
a2c8c5f8 33451 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
33452 PX record is always little-endian. We only need the lower 2
33453 bytes of the mode.
33454
faec96af 33455 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
33456 facilitate code reuse.
33457 (grub_cpio_mount): Use "struct head", not a char buffer. This
33458 fixes a warning reported by gcc 4.4.
33459
238e871f 33460 * kernel/disk.c (grub_disk_read): Use void pointer for the
33461 buffer.
33462 (grub_disk_write): Use const void pointer for the buffer.
33463 Adjust all callers. Remove unnecessary casts.
33464
901d2f0c 334652009-05-10 Robert Millan <rmh.grub@aybabtu.com>
33466
33467 * util/i386/pc/grub-install.in: Update copyright year.
33468
18f547ad 334692009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 33470
33471 gptsync
33472
33473 * commands/gptsync.c: new file
33474 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
33475 (gptsync_mod_SOURCES): new variable
33476 (gptsync_mod_CFLAGS): likewise
33477 (gptsync_mod_LDFLAGS): likewise
18f547ad 33478 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 33479 new definition
33480 (GRUB_PC_PARTITION_TYPE_HFS): likewise
33481 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
33482 * conf/i386-ieee1275.rmk: likewise
33483 * conf/i386-pc.rmk: likewise
33484 * conf/powerpc-ieee1275.rmk: likewise
33485
b4ba690a 334862009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
33487
33488 Fixed grub-emu
33489
33490 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
33491 (grub_dl_ref): likewise
33492
317e1a44 334932009-05-08 Robert Millan <rmh.grub@aybabtu.com>
33494
33495 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
33496 split in two functions (one for msdos and one for gpt).
33497
041b8094 334982009-05-08 Pavel Roskin <proski@gnu.org>
33499
752473c2 33500 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
33501 not modified.
33502
041b8094 33503 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
33504 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
33505 Initialize them with -1. Add sanity check for bad1. Eliminate
33506 nerr variable.
33507
172800ce 335082009-05-08 David S. Miller <davem@davemloft.net>
33509
33510 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
33511
29aa5e81 335122009-05-06 Robert Millan <rmh.grub@aybabtu.com>
33513
33514 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 33515 existence.
29aa5e81 33516
96613b62 335172009-05-05 Felix Zielcke <fzielcke@z-51.de>
33518
33519 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 33520 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 33521
eef73c8a 335222009-05-05 David S. Miller <davem@davemloft.net>
33523
33524 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
33525
119494b5 335262009-05-05 Pavel Roskin <proski@gnu.org>
33527
33528 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
33529 of grub_dl_ref() and grub_dl_unref().
33530 * commands/parttool.c: Remove preprocessor conditionals around
33531 grub_dl_ref() and grub_dl_unref().
33532 * fs/affs.c: Likewise.
33533 * fs/afs.c: Likewise.
33534 * fs/cpio.c: Likewise.
33535 * fs/ext2.c: Likewise.
33536 * fs/fat.c: Likewise.
33537 * fs/hfs.c: Likewise.
33538 * fs/hfsplus.c: Likewise.
33539 * fs/iso9660.c: Likewise.
33540 * fs/jfs.c: Likewise.
33541 * fs/minix.c: Likewise.
33542 * fs/ntfs.c: Likewise.
33543 * fs/reiserfs.c: Likewise.
33544 * fs/sfs.c: Likewise.
33545 * fs/udf.c: Likewise.
33546 * fs/ufs.c: Likewise.
33547 * fs/xfs.c: Likewise.
33548 * include/grub/dl.h: Likewise.
33549 * loader/xnu.c: Likewise.
33550
de5fd76e 335512009-05-04 Pavel Roskin <proski@gnu.org>
33552
33553 * commands/acpi.c: Remove unused variable my_mod.
33554 * partmap/amiga.c: Likewise.
33555 * partmap/apple.c: Likewise.
33556 * partmap/gpt.c: Likewise.
33557 * partmap/pc.c: Likewise.
33558 * partmap/sun.c: Likewise.
33559 * term/gfxterm.c: Likewise.
33560 * term/i386/pc/vesafb.c: Likewise.
33561 * term/i386/pc/vga.c: Likewise.
33562
983598ad 335632009-05-04 David S. Miller <davem@davemloft.net>
33564
33565 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
33566 pointer args to grub_ieee1275_get_property().
33567
8aadec43 33568 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
33569
9554b15e 33570 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
33571 devices, and do not traverse down under controller nodes.
33572
67e23c90 33573 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
33574 (grub_ofdisk_open): Use it to un-escape "," characters.
33575 * kern/disk.c (find_part_sep): New.
33576 (grub_disk_open): Use it to find the first non-escaped ','
33577 character in the disk name.
33578 * util/ieee1275/devicemap.c (escape_of_path): New.
33579 (grub_util_emit_devicemap_entry): Use it.
33580 * util/sparc64/ieee1275/grub-install.in: Update script to
33581 strip partition specifiers properly by not triggering on
33582 '\' escaped ',' characters.
33583
74bfdd2f 335842009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33585
33586 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
33587 to 0x300.
33588 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
33589 resolutions.
33590 (linux_vesafb_modes): Add a lot of additional modes to the list (based
33591 on documentation from Wikipedia).
33592
4241d2b1 335932009-05-04 Pavel Roskin <proski@gnu.org>
33594
33595 * disk/ata.c: Spelling fixes.
33596 * disk/raid.c: Likewise.
33597 * disk/usbms.c: Likewise.
33598 * disk/dmraid_nvidia.c: Likewise.
33599 * kern/ieee1275/openfw.c: Likewise.
33600 * kern/ieee1275/init.c: Likewise.
33601 * kern/ieee1275/cmain.c: Likewise.
33602 * boot/i386/pc/cdboot.S: Likewise.
33603 * video/readers/png.c: Likewise.
33604 * video/i386/pc/vbe.c: Likewise.
33605 * fs/udf.c: Likewise.
33606 * fs/hfs.c: Likewise.
33607 * fs/reiserfs.c: Likewise.
33608 * efiemu/runtime/efiemu.c: Likewise.
33609 * efiemu/main.c: Likewise.
33610 * efiemu/mm.c: Likewise.
33611 * include/grub/elf.h: Likewise.
33612 * include/grub/xnu.h: Likewise.
33613 * include/grub/usbdesc.h: Likewise.
33614 * include/grub/usb.h: Likewise.
33615 * include/grub/script_sh.h: Likewise.
33616 * include/grub/lib/LzmaEnc.h: Likewise.
33617 * include/grub/efiemu/efiemu.h: Likewise.
33618 * include/grub/command.h: Likewise.
33619 * normal/menu.c: Likewise.
33620 * normal/main.c: Likewise.
33621 * normal/datetime.c: Likewise.
33622 * bus/usb/uhci.c: Likewise.
33623 * mmap/i386/uppermem.c: Likewise.
33624 * mmap/mmap.c: Likewise.
33625 * commands/acpi.c: Likewise.
33626 * commands/test.c: Likewise.
33627 * partmap/apple.c: Likewise.
33628 * font/font.c: Likewise.
33629 * loader/sparc64/ieee1275/linux.c: Likewise.
33630 * loader/macho.c: Likewise.
33631 * loader/i386/bsd_trampoline.S: Likewise.
33632 * loader/i386/bsd.c: Likewise.
33633 * loader/xnu.c: Likewise.
33634 * term/i386/pc/vesafb.c: Likewise.
33635 * term/usb_keyboard.c: Likewise.
33636 * util/resolve.c: Likewise.
33637 * util/getroot.c: Likewise.
33638
0cfc0083 336392009-05-04 Felix Zielcke <fzielcke@z-51.de>
33640
33641 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
33642
7c1d00cd 336432009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33644
33645 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
33646 build error.
33647
b01f0548 336482009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33649
33650 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
33651 parameter only available on BIOS.
33652
ecc3eb22 336532009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
33654
33655 Removed wrong semicolon in declaration
33656
33657 * grub/misc.h (grub_dprintf): remove semicolon
33658
112972a9 336592009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33660
33661 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
33662 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
33663 is done by grub_cmd_linux() now).
33664 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
33665 restore video to text mode.
33666 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
33667 indicates lack of "vga=" parameter. "vga=0" is mapped to
33668 `GRUB_LINUX_VID_MODE_NORMAL'.
33669
afd5c115 336702009-05-04 Felix Zielcke <fzielcke@z-51.de>
33671
33672 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
33673 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
33674 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 33675 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 33676 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
33677 `grub_script.tab.c'.
33678
33679 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33680 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33681 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33682 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33683 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33684
faa517ce 33685 * Makefile.in: Remove duplicated 2008 in Copyright line.
33686
ae0c0bdc 336872009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33688
473d1e45 33689 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 33690 unconditionally.
33691 * include/grub/util/misc.h (grub_util_warn): New declaration.
33692
33693 * util/i386/pc/grub-install.in: Understand --force and pass it down
33694 to grub-setup.
33695
33696 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
33697 down to setup().
33698 (setup): Improve error messages and add warnings when requested to
33699 install in odd layouts. Refuse to install using blocklists unless
33700 --force was set.
33701
18f547ad 337022009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 33703
33704 * disk/raid.c (grub_raid_scan_device): Improve debug message.
33705
6d260daa 337062009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
33707
33708 Updated copyright year
33709
33710 * fs/hfsplus.c: updated copyright year
18f547ad 33711
69f853f8 337122009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
33713
33714 HFS+ UUID
33715
18f547ad 33716 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 33717 in the space previously used by unused3
33718 (grub_hfsplus_uuid): new function
33719 (grub_hfsplus_fs): added uuid field
33720
4c402e73 337212009-05-03 Pavel Roskin <proski@gnu.org>
33722
33723 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
33724 suppress warnings. It's no longer needed.
33725 * disk/host.c: Likewise.
33726 * disk/ata_pthru.c: Likewise.
33727 * disk/loopback.c: Likewise.
33728 * hook/datehook.c: Likewise.
33729 * parttool/pcpart.c: Likewise.
33730 * fs/i386/pc/pxe.c: Likewise.
33731 * fs/ntfscomp.c: Likewise.
33732 * efiemu/main.c: Likewise.
33733 * mmap/mmap.c: Likewise.
33734 * commands/crc.c: Likewise.
33735 * commands/hexdump.c: Likewise.
33736 * commands/hdparm.c: Likewise.
33737 * commands/acpi.c: Likewise.
33738 * commands/echo.c: Likewise.
33739 * commands/minicmd.c: Likewise.
33740 * commands/blocklist.c: Likewise.
33741 * commands/memrw.c: Likewise.
33742 * commands/loadenv.c: Likewise.
33743 * commands/usbtest.c: Likewise.
33744 * commands/lsmmap.c: Likewise.
33745 * commands/boot.c: Likewise.
33746 * commands/parttool.c: Likewise.
33747 * commands/configfile.c: Likewise.
33748 * commands/search.c: Likewise.
33749 * commands/ieee1275/suspend.c: Likewise.
33750 * commands/cat.c: Likewise.
33751 * commands/i386/pc/pxecmd.c: Likewise.
33752 * commands/i386/pc/play.c: Likewise.
33753 * commands/i386/pc/halt.c: Likewise.
33754 * commands/i386/pc/vbeinfo.c: Likewise.
33755 * commands/i386/pc/vbetest.c: Likewise.
33756 * commands/lspci.c: Likewise.
33757 * commands/date.c: Likewise.
33758 * commands/handler.c: Likewise.
33759 * commands/ls.c: Likewise.
33760 * commands/test.c: Likewise.
33761 * commands/cmp.c: Likewise.
33762 * commands/efi/loadbios.c: Likewise.
33763 * commands/efi/fixvideo.c: Likewise.
33764 * commands/halt.c: Likewise.
33765 * commands/help.c: Likewise.
33766 * commands/reboot.c: Likewise.
33767 * hello/hello.c: Likewise.
33768 * script/sh/main.c: Likewise.
33769 * loader/xnu.c: Likewise.
33770 * term/terminfo.c: Likewise.
33771 * term/i386/pc/serial.c: Likewise.
33772 * term/usb_keyboard.c: Likewise.
33773
515b5079 337742009-05-03 David S. Miller <davem@davemloft.net>
33775
33776 * normal/menu.c: Include grub/parser.h
33777
dfc31a22 337782009-05-03 Pavel Roskin <proski@gnu.org>
33779
2fee74f1 33780 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
33781 not char*.
33782 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
33783 Suggested by Javier Martín <lordhabbit@gmail.com>
33784
dfc31a22 33785 * util/i386/pc/grub-mkrescue.in: Allow for the case when
33786 efiemu??.o doesn't exist.
33787 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
33788 copying.
33789
18f547ad 337902009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 33791
33792 FreeBSD 64-bit support
33793
18f547ad 33794 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 33795 and loader/i386/bsd_trampoline.S
33796 (bsd_mod_ASFLAGS): new variable
33797 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
33798 (FREEBSD_MODTYPE_KERNEL64): likewise
33799 (grub_bsd64_trampoline_start): likewise
33800 (grub_bsd64_trampoline_end): likewise
33801 (grub_bsd64_trampoline_selfjump): likewise
33802 (grub_bsd64_trampoline_gdt): likewise
33803 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
33804 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
33805 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
33806 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 33807 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 33808 of "attrib" member
33809 * loader/i386/bsd_pagetable.c: new file
33810 * loader/i386/bsd_trampoline.S: likewise
33811 * loader/i386/bsd.c (ALIGN_QWORD): new macro
33812 (ALIGN_VAR): likewise
33813 (entry_hi): new variable
33814 (kern_end_mdofs): likewise
33815 (is_64bit): likewise
33816 (grub_freebsd_add_meta): use ALIGN_VAR
33817 (grub_e820_mmap): new declaration
33818 (grub_freebsd_add_mmap): new function
33819 (grub_freebsd_add_meta_module): support 64 bit kernels
33820 (grub_freebsd_list_modules): use ALIGN_VAR
33821 (gdt_descriptor): new declaration
33822 (grub_freebsd_boot): support 64 bit kernels
33823 (grub_bsd_elf64_hook): new function
33824 (grub_bsd_load_elf): support elf64
33825
038c5720 338262009-05-03 Bean <bean123ch@gmail.com>
33827
33828 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
33829 after we get the result of if statement.
33830
fc45fb58 338312009-05-03 Bean <bean123ch@gmail.com>
33832
33833 * Makefile.in (enable_efiemu): New variable.
33834
33835 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
33836 set.
33837 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
33838 path.
33839 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
33840 path, add -mno-red-zone option.
33841 (efiemu64_s.o): Likewise.
33842 (efiemu64.o): Use macro $^ for source file.
33843
33844 * configure.ac (--enable-efiemu): New option.
33845
bbee0f2b 338462009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
33847
33848 xnu support
33849
33850 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
33851 (pkglib_MODULES): add xnu.mod
33852 (xnu_mod_SOURCES): new variable
33853 (xnu_mod_CFLAGS): likewise
33854 (xnu_mod_LDFLAGS): likewise
33855 (xnu_mod_ASFLAGS): likewise
33856 * conf/i386-pc.rmk: likewise
33857 * conf/x86_64-efi.rmk: likewise
7dd4a573 33858 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 33859 new declaration
33860 * include/grub/i386/macho.h: new file
33861 * include/grub/i386/xnu.h: likewise
33862 * include/grub/macho.h: likewise
33863 * include/grub/machoload.h: likewise
33864 * include/grub/x86_64/macho.h: likewise
33865 * include/grub/x86_64/xnu.h: likewise
33866 * include/grub/xnu.h: likewise
33867 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
33868 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
33869 * loader/i386/efi/xnu.c: new file
33870 * loader/i386/pc/xnu.c: likewise
33871 * loader/i386/xnu.c: likewise
33872 * loader/i386/xnu_helper.S: likewise
33873 * loader/macho.c: likewise
33874 * loader/xnu.c: likewise
33875 * loader/xnu_resume.c: likewise
33876 * util/grub-dumpdevtree: likewise
33877 * include/grub/i386/pit.h: include grub/err.h
33878 (grub_pit_wait): export
33879 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 33880
5caf964d 338812009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
33882
33883 Efiemu
7dd4a573 33884
5caf964d 33885 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 33886 _linux_efi, linux_efi.
33887 new files in grub-emu
5caf964d 33888 new targets efiemu32.o and efiemu64.o
33889 * loader/linux_normal_efiemu.c: likewise
33890 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 33891 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 33892 files to copy
33893 * include/grub/autoefi.h: new file
7dd4a573 33894 * include/grub/i386/efiemu.h: likewise
5caf964d 33895 * include/grub/i386/pc/efiemu.h: likewise
33896 * include/grub/efi/api.h: add LL suffix when necessary
33897 new definitions relating to tables
33898 * include/grub/efiemu/efiemu.h: new file
33899 * include/grub/efiemu/runtime.h: likewise
33900 * efiemu/prepare.c: likewise
33901 * efiemu/loadcore_common.c: likewise
33902 * efiemu/loadcore64.c: likewise
33903 * efiemu/runtime/efiemu.sh: likewise
33904 * efiemu/runtime/efiemu.S: likewise
33905 * efiemu/runtime/efiemu.c: likewise
33906 * efiemu/runtime/config.h: likewise
33907 * efiemu/prepare32.c: likewise
33908 * efiemu/main.c: likewise
33909 * efiemu/modules/pnvram.c: likewise
33910 * efiemu/modules/i386: likewise
33911 * efiemu/modules/i386/pc: likewise
33912 * efiemu/modules/acpi.c: likewise
33913 * efiemu/i386/pc/cfgtables.c: likewise
33914 * efiemu/i386/loadcore64.c: likewise
33915 * efiemu/i386/loadcore32.c: likewise
33916 * efiemu/prepare64.c: likewise
33917 * efiemu/loadcore.c: likewise
33918 * efiemu/symbols.c: likewise
33919 * efiemu/mm.c: likewise
33920 * efiemu/loadcore32.c: likewise
7dd4a573 33921
339222009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 33923
33924 ACPI spoofing
33925
33926 * commands/acpi.c: new file
33927 * commands/i386/pc/acpi.c: likewise
33928 * commands/efi/acpi.c: likewise
33929 * include/grub/acpi.h: likewise
33930 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
33931 (acpi_mod_SOURCES): new variable
33932 (acpi_mod_CFLAGS): likewise
33933 (acpi_mod_LDFLAGS): likewise
33934 * conf/i386-efi.rmk: likewise
33935 * conf/x86_64-efi.rmk: likewise
33936
7dd4a573 339372009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 33938
33939 Missing part from mmap patch
33940
33941 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
33942 (grub_mmap_unregister)
33943 (grub_mmap_free_and_unregister): use grub_mmap_register
33944
7dd4a573 339452009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 33946
33947 Mmap services
33948
33949 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
33950 * loader/i386/linux.c (find_mmap_size): likewise
33951 (allocate_pages): likewise
33952 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
33953 (grub_fill_multiboot_mmap): likewise
33954 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
33955 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
33956 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
33957 (OPENBSD_MMAP_RESERVED): likewise
33958 * include/grub/i386/pc/memory.h: include grub/memory.h
33959 (grub_lower_mem): removed
33960 (grub_upper_mem): likewise
33961 (GRUB_MACHINE_MEMORY_ACPI): new definition
33962 (GRUB_MACHINE_MEMORY_NVS): likewise
33963 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
33964 (GRUB_MACHINE_MEMORY_HOLE): likewise
33965 (grub_machine_mmap_register): likewise
33966 (grub_machine_mmap_unregister): likewise
33967 (grub_machine_get_upper): likewise
33968 (grub_machine_get_lower): likewise
33969 (grub_machine_get_post64): likewise
33970 * include/grub/i386/efi/memory.h: new file
33971 * include/grub/x86_64/efi/memory.h: likewise
33972 * include/grub/efi/memory.h: likewise
33973 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
33974 (mmap_mod_SOURCES): new variable
33975 (mmap_mod_LDFLAGS): likewise
33976 (mmap_mod_ASFLAGS): likewise
33977 * conf/i386-coreboot.rmk: likewise
33978 * conf/i386-ieee1275.rmk: likewise
33979 * conf/i386-efi.rmk: likewise
33980 * conf/x86_64-efi.rmk: likewise
33981 * include/grub/types.h (UINT_TO_PTR): new macro
33982 (PTR_TO_UINT32): likewise
33983 (PTR_TO_UINT64): likewise
33984 * include/grub/memory.h: new file
33985 * mmap/i386/pc/mmap.c: likewise
33986 * mmap/i386/pc/mmap_helper.S: likewise
33987 * mmap/i386/uppermem.c: likewise
33988 * mmap/mmap.c: likewise
33989 * mmap/efi/mmap.c: likewise
7dd4a573 33990 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 33991 grub_upper_mem
33992 * kern/i386/pc/init.c (grub_lower_mem): removed variable
33993 (grub_upper_mem): likewise
33994 (grub_machine_init): don't use grub_upper_mem,
33995 make grub_lower_mem local
33996 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
33997 grub_mmap_iterate and grub_mmap_get_upper
33998 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
33999
d558e6b5 340002009-05-02 Bean <bean123ch@gmail.com>
34001
34002 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
34003 script/sh/parser.y.
34004 (pkglib_MODULES): Add normal.mod and sh.mod.
34005 (normal_SOURCES): New variable.
34006 (normal_mod_CFLAGS): Likewise.
34007 (normal_mod_LDFLAGS): Likewise.
34008 (sh_mod_SOURCES): Likewise.
34009 (sh_mod_CFLAGS): Likewise.
34010 (sh_mod_LDFLAGS): Likewise.
34011
34012 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
34013 script/sh/lexer.c_DEPENDENCIES.
34014 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
34015 kern/rescue_reader.c and kern/rescue_parser.c.
34016 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
34017 (grub_emu_SOURCES): Change source files.
34018 (pkglib_MODULES): Remove normal.mod.
34019 (normal_SOURCES): Removed.
34020 (normal_mod_CFLAGS): Likewise.
34021 (normal_mod_LDFLAGS): Likewise.
34022 * conf/i386-coreboot.rmk: Likewise.
34023 * conf/i386-efi.rmk: Likewise.
34024 * conf/i386-ieee1276.rmk: Likewise.
34025 * conf/powerpc-ieee1275.rmk: Likewise.
34026 * conf/sparc64-ieee1275.rmk: Likewise.
34027 * conf/x86_64-efi.rmk: Likewise.
34028
34029 * include/grub/command.h (grub_command_execute): New inline function.
34030
34031 * include/grub/menu.h (grub_menu_entry): Removed commands field.
34032
34033 * include/grub/normal.h: Remove <grub/setjmp.h>.
34034 (grub_fs_module_list): Moved to normal/autofs.c.
34035 (grub_exit_env): Removed.
34036 (grub_command_execute): Likewise.
34037 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
34038 parameter script.
34039 (read_command_list): New function declaration.
34040 (read_fs_list): Likewise.
34041
34042 * include/parser.h: Include <grub/reader.h>.
34043 (grub_parser_split_cmdline): Change type of getline parameter.
34044 (grub_parser): New structure.
34045 (grub_parser_class): New variable.
34046 (grub_parser_execute): New function declaration.
34047 (grub_register_rescue_parser): Likewise.
34048 (grub_parser_register): New inline function.
34049 (grub_parser_unregister): Likewise.
34050 (grub_parser_get_current): Likewise.
34051 (grub_parser_set_current): Likewise.
34052
34053 * include/grub/reader.h: New file.
34054 * kern/reader.c: Likewise.
34055 * kern/rescue_parser.c: Likewise.
34056 * kern/rescue_reader.c: Likewise.
34057 * normal/autofs.c: Likewise.
34058 * normal/dyncmd.c: Likewise.
34059
34060 * include/grub/rescue.h: Removed.
34061 * normal/command.h: Likewise.
34062
34063 * include/grub/script.h: Moved to ...
34064 * include/grub/script_sh.h: ... Moved here.
34065 * normal/execute.c: Moved to ...
34066 * script/sh/execute.c: ... Moved here.
34067 * normal/function.c: Moved to ...
34068 * script/sh/function.c: ... Moved here.
34069 * normal/lexer.c: Moved to ...
34070 * script/sh/lexer.c: ... Moved here.
34071 * normal/parser.y: Moved to ...
34072 * script/sh/parser.y: ... Moved here.
34073 * normal/script.c: Moved to ...
34074 * script/sh/script.c: ... Moved here.
34075
34076 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
34077 <grub/reader.h>.
34078 (grub_exit_env): Removed.
34079 (fs_module_list): Moved to normal/autofs.c.
34080 (grub_file_getline): Don't handle comment here.
34081 (free_menu): Skip removed field entry->commands.
34082 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
34083 script parameter.
34084 (read_config_file): Removed nested parameter, change getline function.
34085 (grub_enter_normal_mode): Removed.
34086 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
34087 (read_command_list): Likewise.
34088 (autoload_fs_module): Moved to normal/autofs.c.
34089 (read_fs_list): Likewise.
34090 (reader_nested): New variable.
34091 (grub_normal_execute): Run parser.sh to switch to sh parser.
34092 (grub_cmd_rescue): Removed.
34093 (cmd_normal): Removed.
34094 (grub_cmd_normal): Unregister itself at the beginning. Don't register
34095 rescue command.
34096 (grub_cmdline_run): New function.
34097 (grub_normal_reader_init): Likewise.
34098 (grub_normal_read_line): Likewise.
34099 (grub_env_write_pager): Likewise.
34100 (cmdline): New variable.
34101 (grub_normal_reader): Likewise.
34102 (GRUB_MOD_INIT): Register normal reader and set as current, register
34103 pager hook, register normal command with grub_register_command_prio,
34104 so that it won't show up in command.lst.
34105 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
34106 grub_fs_autoload_hook.
34107
34108 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
34109 (grub_menu_execute_entry): Replace grub_script_execute with
34110 grub_parser_execute, change parameter to grub_command_execute.
34111
34112 * normal/menu_text.c: Remove <grub/script.h>.
34113
34114 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
34115 and <grub/parser.h>.
34116 (run): Change editor_getline to use new parser interface. Change
34117 parameter to grub_command_execute.
34118
34119 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
34120 <grub/reader.h> and <grub/parser.h>.
34121 (grub_load_normal_mode): Execute normal command.
34122 (grub_main): Call grub_register_core_commands,
34123 grub_register_rescue_parser and grub_register_rescue_reader, use
34124 grub_reader_loop to enter input loop.
34125
7dd4a573 34126 * kern/parser.c (grub_parser_split_cmdline): Change type of
34127 getline parameter.
d558e6b5 34128 (grub_parser_class): New variable.
34129 (grub_parser_execute): New function.
34130
34131 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
34132 * loader/multiboot2.c: Likewise.
34133 * loader/sparc64/ieee1275/linux.c: Likewise.
34134
34135 * util/grub-emu.c (read_command_list): New dummy function.
34136
18db813d 341372009-05-02 Robert Millan <rmh.grub@aybabtu.com>
34138
34139 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
34140 count to 16 for CCISS and IDA.
34141
6c67de15 341422009-05-02 Robert Millan <rmh.grub@aybabtu.com>
34143
34144 * normal/menu_text.c (grub_wait_after_message): Print a newline
34145 after waiting for user input.
34146
34147 * loader/i386/linux.c: Include `<grub/normal.h>'.
34148 (grub_cmd_linux): Improve the error message about `ask' mode, by
34149 waiting for user input so it's not missed (we can do this, since
34150 user requested interaction).
34151
d9dc87b0 341522009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
34153
34154 Added missing lst to grub-mkrescue
34155
34156 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
34157 and ${input_dir}/parttool.lst
34158
ac8a2baa 341592009-04-30 David S. Miller <davem@davemloft.net>
34160
ad22a610 34161 * util/hostdisk.c (device_is_wholedisk): New function.
34162 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
34163 zero only if device_is_wholedisk() returns true.
34164
6966215d 34165 * util/hostdisk.c (convert_system_partition_to_system_disk):
34166 Handle virtual disk devices named /dev/vdiskX as found on sparc
34167 and powerpc.
34168
ac8a2baa 34169 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
34170 lettered partition specifier is found, convert to numbered.
34171
979b4fb4 341722009-04-29 David S. Miller <davem@davemloft.net>
34173
e2bf39b2 34174 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
34175 * include/grub/sparc64/ieee1275/memory.h: Likewise.
34176
3c64e104 34177 * normal/command.c: Add missing newline at end of file.
34178
979b4fb4 34179 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
34180 warnings.
34181 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
34182 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
34183 grub_ofdisk_read): Likewise, and deal similarly with the fact that
34184 ihandles have a 32-bit type but need to be stored in a "void *".
34185
136d9f82 341862009-04-28 Pavel Roskin <proski@gnu.org>
34187
9459c306 34188 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
34189 not disk. Adjust all dependencies.
2e08a26a 34190 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 34191 grub_disk_close().
34192
136d9f82 34193 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
34194 parent's partition, don't copy it by reference, as it gets freed
34195 on close.
34196
7dd4a573 341972009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 34198
34199 Preboot hooks support
34200
34201 * commands/boot.c (struct grub_preboot_t): new declaration
34202 (preboots_head): new variable
34203 (preboots_tail): likewise
34204 (grub_loader_register_preboot_hook): new function
34205 (grub_loader_unregister_preboot_hook): likewise
34206 (grub_loader_set): launch preboot hooks
34207 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
34208 (grub_loader_register_preboot_hook): new declaration
34209 (grub_loader_unregister_preboot_hook): likewise
34210
5af922b5 342112009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
34212
34213 Warning fix
34214
7dd4a573 34215 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 34216 calling grub_dprintf
34217
a5562c30 342182009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
34219
34220 Bug and warning fixes
34221
7dd4a573 34222 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 34223 declaration
34224 * commands/test.c (test_parse): fixed bug with file tests and corrected
34225 declaration of find_file
34226
4006f85c 342272009-04-26 Pavel Roskin <proski@gnu.org>
34228
34229 * Makefile.in: Don't install empty manual pages if help2man is
34230 missing. Use help2man option for output, not shell redirection.
34231
5c77c3de 342322009-04-26 David S. Miller <davem@davemloft.net>
34233
34234 * util/grub-mkdevicemap.c (make_device_map): Add missing
34235 NESTED_FUNC_ATTR to process_device().
34236
033b10a8 342372009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
34238
34239 Test command
34240
34241 * commands/test.c: rewritten to use bash-like test
34242
e4343593 342432009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
34244
34245 Parttool autoloading and improvements
34246
7dd4a573 34247 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 34248 (parttool.lst): new target
34249 * genmk.rb: generate parttool-*
34250 (CLEANFILES): add #{parttool}
34251 (PARTTOOLFILES): new variable
34252 * genparttoollist.sh: new file
7dd4a573 34253 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 34254 (grub_pcpart_type): likewise
34255 * commands/parttool.c (helpmsg): new variable
34256 (grub_cmd_parttool): output help if not enough arguments are supplied
34257 autoload modules
34258 (GRUB_MOD_INIT(parttool)): use helpmsg
34259
0d312500 342602009-04-24 David S. Miller <davem@davemloft.net>
34261
7dd4a573 34262 Avoiding opening same device multiple times in device iterator.
0d312500 34263
34264 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 34265 and use it to build a list of partitions in iterate_disk() and
0d312500 34266 iterate_partition().
34267
ac20caff 34268 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
34269 on disk->data.
34270
0dcf7495 34271 * disk/ieee1275/nand.c (grub_nand_iterate): Return
34272 grub_devalias_iterate() result instead of unconditional 0.
34273 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
34274 Also, capture hook return value, either directly or via
34275 grub_children_iterate(), and propagate to caller.
34276 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
34277 grub_children_iterate): Return value is now 'int' instead of
34278 'grub_err_t'.
34279 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
34280 like a proper iterator, stopping when hooks return non-zero.
34281 (grub_devalias_iterate): Likewise.
34282
c8c08833 342832009-04-23 David S. Miller <davem@davemloft.net>
34284
34285 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
34286
f01005a8 342872009-04-22 David S. Miller <davem@davemloft.net>
34288
34289 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
34290 is larger than address_cells, use that value for address_cells too.
34291
4e8269da 34292 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
34293 IEEE1275_MAX_PATH_LEN): Define.
34294 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
34295 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
34296 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
34297 'devtype'. Explicitly NULL terminate devalias expansion.
34298
a1447506 34299 * util/sparc64/ieee1275/misc.c: New file.
34300 * util/sparc64/ieee1275/grub-setup.c: New file.
34301 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
34302 * util/sparc64/ieee1275/grub-mkimage.c: New file.
34303 * util/sparc64/ieee1275/grub-install.in: New file.
34304 * util/ieee1275/ofpath.c: New file.
34305 * util/ieee1275/devicemap.c: New file.
34306 * util/devicemap.c: New file.
34307 * util/deviceiter.c: New file.
34308 * kern/sparc64/ieee1275/init.c: New file.
34309 * include/grub/util/ofpath.h: New file.
34310 * include/grub/util/deviceiter.h: New file.
34311 * util/grub-mkdevicemap.c: Include deviceiter.h.
34312 Implement using grub_util_emit_devicemap_entry and
34313 grub_util_iterate_devices.
34314 * conf/i386-corebook.rmk: Build util/deviceiter.c and
34315 util/devicemap.c into grub-mkdevicemap
34316 * conf/i386-efi.rmk: Likewise.
34317 * conf/i386-ieee1275.rmk: Likewise.
34318 * conf/i386-pc.rmk: Likewise.
34319 * conf/powerpc-ieee1275.rmk: Likewise.
34320 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
34321 images and installation utilities. Build kernel as image
34322 instead of as elf binary. Use common rules as much as possible.
34323
7dd4a573 343242009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 34325
34326 Correct GPT definition
34327
7dd4a573 34328 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 34329 of "attrib" member
34330
c6c5219f 343312009-04-19 Felix Zielcke <fzielcke@z-51.de>
34332
34333 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
34334
0552ff9f 343352009-04-19 David S. Miller <davem@davemloft.net>
34336
34337 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
34338 (grub_rescue_cmd_linux): Rename to...
34339 (grub_cmd_linux): and fix prototype.
34340 (grub_rescue_cmd_initrd): Rename to...
34341 (grub_cmd_initrd): and fix prototype.
34342 (cmd_linux, cmd_initrd): New.
34343 (GRUB_MOD_INIT(linux)): Use grub_register_command().
34344 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
34345
d1a282fc 343462009-04-17 Pavel Roskin <proski@gnu.org>
34347
07c5039f 34348 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
34349 format.
34350 (grub_ohci_transfer): Likewise.
34351
b012002d 34352 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
34353
1bc09c35 34354 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
34355 return without a value. Fix inconsistent indentation.
34356
e0ff9126 34357 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
34358 match struct grub_fs.
34359
d1a282fc 34360 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
34361 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
34362 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
34363 * commands/lspci.c (grub_lspci_iter): Likewise.
34364
a96df3f2 343652009-04-16 Bean <bean123ch@gmail.com>
34366
34367 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
34368 value.
34369
41bb0fe9 343702009-04-15 Pavel Roskin <proski@gnu.org>
34371
34372 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
34373 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
34374 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
34375 definitions.
34376
596c6970 343772009-04-15 Felix Zielcke <fzielcke@z-51.de>
34378
34379 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 34380 that no multiple data or metadata areas are supported and `Unknown
596c6970 34381 metadata header'.
34382
7dd4a573 343832009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 34384
34385 Move loader out of the kernel
34386
34387 * kern/loader.c: moved to ...
34388 * commands/boot.c: ... moved here
34389 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
34390 * commands/boot.c (grub_cmd_boot): moved here. All users updated
34391 * include/grub/kernel.h (grub_machine_fini): export
34392 * include/grub/loader.h (grub_loader_is_loaded): update declaration
34393 (grub_loader_set): likewise
34394 (grub_loader_unset): likewise
34395 (grub_loader_boot): likewise
34396 * conf/common.rmk: new module boot.mod
34397 (pkglib_MODULES): add boot.mod
34398 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
34399 (grub_emu_SOURCES): likewise
34400 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
34401 (grub_emu_SOURCES): likewise
34402 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
34403 (grub_emu_SOURCES): likewise
34404 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
34405 (grub_emu_SOURCES): likewise
34406 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
34407 (grub_emu_SOURCES): likewise
7dd4a573 34408 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
34409 (grub_emu_SOURCES): likewise
0d5d5653 34410 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 34411 (grub_emu_SOURCES): likewise
0d5d5653 34412
7dd4a573 344132009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 34414
34415 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 34416
5999d619 34417 * kern/misc.c (grub_itoa): Removed function
34418 (grub_ltoa): likewise
34419 (grub_vsprintf): use grub_lltoa
34420
7dd4a573 344212009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 34422
34423 Restore grub-emu
34424
34425 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
34426 * conf/i386-coreboot.rmk: likewise
34427 * conf/i386-ieee1275.rmk: likewise
34428 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 34429
20318222 344302009-04-15 Felix Zielcke <fzielcke@z-51.de>
34431
34432 * INSTALL: Add that `./autogen.sh' needs to be run before
34433 `./configure.'.
34434
d05f0df3 344352009-04-14 Bean <bean123ch@gmail.com>
34436
34437 * Makefile.in (pkglib_DATA): Add handler.lst.
34438 (handler.lst): New rule.
34439
34440 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
34441 * conf/i386-coreboot.rmk: Likewise.
34442 * conf/i386-ieee1275.rmk: Likewise.
34443 * conf/i386-efi.rmk: Likewise.
34444 * conf/x86_64-efi.rmk: Likewise.
34445 * conf/powerpc-ieee1275.rmk: Likewise.
34446 * conf/sparc64-ieee1275.rmk: Likewise.
34447
34448 * genhandlerlist.sh: New file.
34449
34450 * genmk.rb: Add rules to generate handler.lst.
34451
34452 * include/grub/normal.h (grub_file_getline): New function definition.
34453 (read_handler_list): Likewise.
34454 (free_handler_list): Likewise.
34455
34456 * include/grub/term.h (grub_term_register_input): Add name parameter
34457 for auto generation of handler.lst.
34458 (grub_term_register_output): Likewise.
34459
34460 * normal/handler.c: New file.
34461
34462 * normal/main.c (get_line): Renamed to grub_file_getline.
34463 (read_config_file): Use the newly renamed grub_file_getline.
34464 (read_command_list): Likewise.
34465 (read_fs_list): Likewise.
34466 (grub_normal_execute): Call read_handler_list to parse handler.lst.
34467 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
34468
34469 * term/efi/console.c (grub_console_init): Add name parameter for auto
34470 generation of handler.lst.
34471 * term/gfxterm.c: Likewise.
34472 * term/i386/pc/at_keyboard.c: Likewise.
34473 * term/i386/pc/console.c: Likewise.
34474 * term/i386/pc/serial.c: Likewise.
34475 * term/i386/pc/vesafb.c: Likewise.
34476 * term/i386/pc/vga.c: Likewise.
34477 * term/i386/pc/vga_text.c: Likewise.
34478 * term/ieee1275/ofconsole.c: Likewise.
34479 * term/usb_keyboard.c: Likewise.
34480
33c846be 344812009-04-14 Bean <bean123ch@gmail.com>
34482
34483 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
34484 properly with null character.
34485
4484e01e 344862009-04-14 Felix Zielcke <fzielcke@z-51.de>
34487
34488 * configure: Remove.
34489 * config.h.in: Likewise.
f93d668e 34490 * stamp-h.in: Likewise.
4484e01e 34491 * DISTLIST: Likewise.
34492 * conf/common.mk: Likewise.
34493 * conf/i386-coreboot.mk: Likewise.
34494 * conf/i386-efi.mk: Likewise.
34495 * conf/i386-ieee1275.mk: Likewise.
34496 * conf/i386.mk: Likewise.
34497 * conf/i386-pc.mk: Likewise.
34498 * conf/powerpc-ieee1275.mk: Likewise.
34499 * conf/sparc64-ieee1275.mk: Likewise.
34500 * conf/x86_64-efi.mk: Likewise.
34501
34502 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
34503 develop on GRUB.
34504
7dd4a573 345052009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 34506 David S. Miller <davem@davemloft.net>
34507
34508 * util/hostdisk.c (make_device_name): Fix buffer length
34509 calculations.
34510
e25b5a8c 345112009-04-14 Felix Zielcke <fzielcke@z-51.de>
34512
34513 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
34514 <sys/param.h> and <sys/sysctl.h>.
34515 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
34516 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
34517 opening the device and reset them afterwards.
34518
1f1f580c 345192009-04-13 Pavel Roskin <proski@gnu.org>
34520
34521 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
34522 Reported by John Stanley <jpsinthemix@verizon.net>
34523
7ebc2d6b 345242009-04-13 Robert Millan <rmh@aybabtu.com>
34525
34526 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 34527 that name for menuentries when appropriate.
7ebc2d6b 34528
d8ba3667 345292009-04-13 Felix Zielcke <fzielcke@z-51.de>
34530
34531 * util/grub.d/10_freebsd.in: Add a missing `fi'.
34532
cba416eb 345332009-04-13 Robert Millan <rmh@aybabtu.com>
34534
34535 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
34536 to Linux, simply abort telling the user it's no longer supported.
34537
a547a745 345382009-04-13 Felix Zielcke <fzielcke@z-51.de>
34539
34540 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 34541 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 34542 `freebsd_loadenv' only when devices.hints exist.
34543
232a769c 345442009-04-13 Pavel Roskin <proski@gnu.org>
34545
34546 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
34547
c3012039 345482009-04-13 Felix Zielcke <fzielcke@z-51.de>
34549
34550 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
34551 partition number.
34552 (grub_drive): Likewise.
34553
234022fe 345542009-04-13 David S. Miller <davem@davemloft.net>
34555
34556 * kern/sparc64/ieee1275/ieee1275.c: New file.
34557 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
34558 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
34559 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
34560 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
34561 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
34562 grub_ieee1275_alloc_physmem): Declare new exported functions.
34563
d8e1836c 34564 * include/grub/sparc64/ieee1275/loader.h: New file.
34565 * include/grub/sparc64/ieee1275/memory.h: Likewise.
34566 * include/grub/sparc64/kernel.h: Likewise.
34567 * loader/sparc64/ieee1275/linux.c: Likewise.
34568
96bd81ec 34569 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
34570 (grub_fstest_SOURCES): Likewise.
34571
6a4737e5 34572 * util/hostdisk.c (make_device_name): Do not make any assumptions
34573 about the length of drive names.
34574
1d7a72fd 34575 * kern/dl.c (grub_dl_load_file): Close file immediately when
34576 we are done using it.
34577
56bc2471 345782009-04-12 David S. Miller <davem@davemloft.net>
34579
34580 * kern/misc.c (grub_ltoa): Fix cast when handling negative
34581 values. Noticed by Pavel Roskin.
34582
df38d0bb 34583 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
34584 target compiler.
7dd4a573 34585
e382e93a 34586 * genmk.rb: Add more flexible image type specification, also
34587 pass --strip-unneeded to objcopy.
34588 * conf/i386-pc.rmk: Use *_FORMAT.
34589 * conf/i386-pc.mk: Rebuilt.
34590
f5dbbca9 34591 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
34592 (OFDISK_HASH_SZ): Define.
34593 (ofdisk_hash): New hash table.
34594 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
34595 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
34596 instead of device phandle which is not unique.
34597
91c88b12 34598 * kern/sparc64/ieee1275/init.c: Delete, replace with...
34599 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
34600 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
34601 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
34602 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
34603 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
34604 GRUB_KERNEL_MACHINE_DATA_END): Define.
34605 (grub_kernel_image_size, grub_total_module_size): Declare.
34606
5b5d4aa5 346072009-04-12 Pavel Roskin <proski@gnu.org>
34608
7dd4a573 34609 * configure.ac: Change the logic when we check for target tools.
34610 Do it when the target is specified and it's different from the
34611 specified value of the host.
5b5d4aa5 34612
c91e1793 346132009-04-11 Felix Zielcke <fzielcke@z-51.de>
34614
34615 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
34616 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
34617 GNU/kFreeBSD. Check if a device is a character device. Use
34618 DIOCGMEDIASIZE to get the size.
34619 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
34620 support for GNU/kFreeBSD.
34621 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
34622 is a character device instead of a block device. Add support for
34623 FreeBSD device names.
34624
34625 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
34626 is a character device instead of a block device.
34627
34628 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
34629 is a character device instead of a block device.
34630
b1ac8644 346312009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
34632
34633 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
34634 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
34635 FreeBSD. Check if a device is a character device. Use
34636 DIOCGMEDIASIZE to get the size.
34637 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
34638 support for FreeBSD.
34639 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
34640 is a character device instead of a block device. Add support for
34641 FreeBSD device names.
34642
34643 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
34644 a character device instead of a block device.
34645 (grub_util_check_char_device): New function.
34646
34647 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
34648 a character device instead of a block device.
34649
34650 * include/grub/util/getroot.h (grub_util_check_char_device): New
34651 prototype.
34652
a3f7515a 346532009-04-11 David S. Miller <davem@davemloft.net>
34654
34655 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
34656 static libgcc.
34657 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
34658 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
34659 function, if present.
34660 (__bswapdi2): Likewise.
34661
0d44993d 34662 * include/grub/sparc64/ieee1275/boot.h: New file.
34663 * boot/sparc64/ieee1275/boot.S: Likewise.
34664 * boot/sparc64/ieee1275/diskboot.S: Likewise.
34665
ed3d2bc2 34666 * kern/misc.c (grub_ltoa): New function.
34667 (grub_vsprintf): Use it to format 'long' integers.
34668
d3bfb59c 346692009-04-10 David S. Miller <davem@davemloft.net>
34670
34671 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
34672 slots are of type grub_ieee1275_cell_t.
34673 (grub_nand_read): Likewise.
34674 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
34675 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
34676 macros are used to compare values in arg/ret block of the call.
34677 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
34678 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
34679 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
34680 grub_ieee1275_instance_to_path, grub_ieee1275_write,
34681 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
34682 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
34683 grub_ieee1275_close, grub_ieee1275_set_property,
34684 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
34685 grub_ieee1275_cell_t.
34686 * kern/ieee1275/openfw.c (grub_map): Likewise.
34687 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
34688 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
34689
450e2238 34690 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
34691 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
34692 (grub_devalias_iterate): Likewise.
34693
7dd4a573 346942009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 34695
34696 UFS improvements
34697
34698 * fs/ufs.c (INODE_NBLOCKS): new definition
34699 (struct grub_ufs_dirent): added fields for non-BSD dirents
34700 (grub_ufs_get_file_block): fixed double indirect handling
34701 (grub_ufs_lookup_symlink): use more robust way to determine whether
34702 symlink is inline
34703 (grub_ufs_find_file): support for non-BSD dirents
34704 (grub_ufs_dir): support for non-BSD dirents
34705
e7e6862a 347062009-04-10 Bean <bean123ch@gnail.com>
34707
34708 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
34709 attribute, otherwise the size would be wrong for i386 platform.
34710
34711 * include/grub/pci.h (grub_pci_read_word): New inline function.
34712 (grub_pci_read_byte): Likewise.
34713 (grub_pci_write): Likewise.
34714 (grub_pci_write_word): Likewise.
34715 (grub_pci_write_byte): Likewise.
34716
34717 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
34718
34719 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
34720 (find_framebuf): Scan pci to locate the frame buffer address.
34721
34722 * commands/efi/fixvideo.c: New file.
34723
34724 * commands/efi/loadbios.c: Likewise.
34725
34726 * commands/memrw.c: Likewise.
34727
34728 * util/grub-dumpbios.in: Likewise.
34729
34730 * conf/common.rmk (grub-dumpbios): New utility.
34731 (pkglib_MODULES): New module memrw.mod.
34732 (memrw_mod_SOURCE): New macro.
34733 (memrw_mod_CFLAGS): Likewise.
34734 (memrw_mod_LDFLAGS): Likewise.
34735
7dd4a573 34736 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 34737 fixvideo.mod.
34738 (loadbios_mod_SOURCE): New macro.
34739 (loadbios_mod_CFLAGS): Likewise.
34740 (loadbios_mod_LDFLAGS): Likewise.
34741 (fixvideo_mod_SOURCE): Likewise.
34742 (fixvideo_mod_CFLAGS): Likewise.
34743 (fixvideo_mod_LDFLAGS): Likewise.
34744
7dd4a573 34745 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 34746 fixvideo.mod.
34747 (loadbios_mod_SOURCE): New macro.
34748 (loadbios_mod_CFLAGS): Likewise.
34749 (loadbios_mod_LDFLAGS): Likewise.
34750 (fixvideo_mod_SOURCE): Likewise.
34751 (fixvideo_mod_CFLAGS): Likewise.
34752 (fixvideo_mod_LDFLAGS): Likewise.
34753
af63ada2 347542009-04-08 Felix Zielcke <fzielcke@z-51.de>
34755
34756 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
34757
c2cdde70 347582009-04-07 David S. Miller <davem@davemloft.net>
34759
34760 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
34761 support for R_SPARC_OLO10 relocations. Fix compile warning for
34762 R_SPARC_WDISP30 case.
ea3f72cf 34763 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 34764
761319cf 347652009-04-06 Pavel Roskin <proski@gnu.org>
34766
1007d1f5 34767 * include/grub/misc.h (ARRAY_SIZE): New macro.
34768 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
34769 New macro.
34770 * loader/i386/linux.c (allocate_pages): Use free_pages().
34771 (grub_linux_unload): Don't use free_pages().
34772 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
34773 wrong index. Treat all other modes as text modes.
34774 (grub_cmd_linux): Initialize vid_mode unconditionally to
34775 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
34776
761319cf 34777 * commands/help.c (print_command_help): Use cmd->prio, not
34778 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
34779
ea761d40 347802009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 34781
ea761d40 34782 Parttool
34783
34784 * parttool/pcpart.c: new file
34785 * commands/parttool.c: likewise
34786 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
34787 (parttool_mod_SOURCES): new variable
34788 (parttool_mod_CFLAGS): likewise
34789 (parttool_mod_LDFLAGS): likewise
34790 (pcpart_mod_SOURCES): likewise
34791 (pcpart_mod_CFLAGS): likewise
34792 (pcpart_mod_LDFLAGS): likewise
7dd4a573 34793 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 34794 and parttool/pcpart.c
34795 * conf/i386-efi.rmk: likewise
34796 * conf/i386-ieee1275.rmk: likewise
34797 * conf/i386-pc.rmk: likewise
34798 * conf/powerpc-ieee1275.rmk: likewise
34799 * conf/sparc64-ieee1275.rmk: likewise
34800 * conf/x86_64-ieee1275.rmk: likewise
34801
05aaebfb 348022009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
34803
34804 Support for mtime and further expandability of dir command
34805
34806 * include/grub/lib/datetime.h: moved to ...
7dd4a573 34807 * include/grub/datetime.h: ... moved here and added
05aaebfb 34808 declaration of grub_unixtime2datetime. All users updated
7dd4a573 34809 * include/grub/fs.h: new syntax for dir and mtime functions in
34810 struct grub_fs
05aaebfb 34811 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
34812 and GRUB_FSHELP_FLAGS_MASK
34813 * commands/ls.c (grub_ls_list_files): Write mtime in long format
34814 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
34815 (grub_ext2_mtime): new function
34816 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
34817 (grub_hfsplus_mtime): new function
34818 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
34819 (GRUB_UFS_ATTR_FILE): likewise
34820 (GRUB_UFS_ATTR_LNK): likewise
34821 (struct grub_ufs_sblock): new fields mtime
34822 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
34823 all users updated
34824 (grub_ufs_dir): mtime support
34825 (grub_ufs_mtime): new function
34826 * fs/affs.c (grub_affs_dir): use new dir syntax
34827 * fs/afs.c (grub_afs_dir): likewise
34828 * fs/cpio.c (grub_cpio_dir): likewise
34829 * fs/fat.c (grub_fat_find_dir): likewise
34830 * fs/hfs.c (grub_hfs_dir): likewise
34831 * fs/iso9660.c (grub_iso9660_dir): likewise
34832 * fs/jfs.c (grub_jfs_dir): likewise
34833 * fs/minix.c (grub_minix_dir): likewise
34834 * fs/ntfs.c (grub_ntfs_dir): likewise
34835 * fs/reiserfs.c (grub_reiserfs_dir): likewise
34836 * fs/sfs.c (grub_sfs_dir): likewise
34837 * fs/xfs.c (grub_xfs_dir): likewise
34838 * util/hostfs.c (grub_hostfs_dir): likewise
34839 * lib/datetime.c: moved to ...
34840 * normal/datetime.c: ... moved here
34841 (grub_unixtime2datetime): new function
34842 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 34843 * normal/completion.c (iterate_dir): use new dir syntax
34844 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 34845 last modification time of a volume
7dd4a573 34846 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 34847 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 34848 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 34849 (normal_mod_SOURCES): likewise
34850 (datetime_mod_SOURCES): Removed lib/datetime.c
34851 * conf/i386-efi.rmk: likewise
7dd4a573 34852 * conf/i386-ieee1275.rmk: likewise
05aaebfb 34853 * conf/i386-pc.rmk: likewise
34854 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 34855 * conf/sparc64-ieee1275.rmk: likewise
34856 * conf/x86_64-efi.rmk: likewise
05aaebfb 34857
8a7e1a14 348582009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
34859
34860 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 34861
34862 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 34863 on grub_fat_find_dir
34864 (grub_fat_find_dir): use grub_fat_iterate_dir
34865 (grub_fat_label): likewise
34866
04186a9c 348672009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
34868
7dd4a573 34869 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 34870 and command.h
34871 remove extraneous kernel_elf_HEADERS
34872
da4c0bb6 348732009-04-04 Bean <bean123ch@gnail.com>
34874
34875 * include/grub/util/misc.h: Add dummy function fsync for mingw.
34876
34877 * util/misc.c: Likewise.
34878
54ad9555 348792009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34880
34881 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
34882 instead of grub_printf.
34883
7a6bf9f2 348842009-04-03 Robert Millan <rmh@aybabtu.com>
34885
34886 * loader/i386/linux.c (grub_linux_setup_video): Fill
34887 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
34888 values from `mode info' structure instead of hardcoded
34889 values.
34890
3fcc2083 348912009-04-01 Pavel Roskin <proski@gnu.org>
34892
34893 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
34894 unused now.
34895 * genmk.rb: Likewise.
34896 * configure.ac: Likewise.
34897
5ec9740b 348982009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
34899
34900 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
34901 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
34902
5270cec8 349032009-04-01 David S. Miller <davem@davemloft.net>
34904
34905 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 34906 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 34907 (grub_setjmp): Mark with 'returns_twice' attribute.
34908 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
34909 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
34910 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
34911
9c3dd854 349122009-04-01 Robert Millan <rmh@aybabtu.com>
34913
34914 Reapply fix from 2008-07-28 which was accidentally reverted; also
34915 perform the same fix to a similar check in same function.
34916
34917 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
34918 with the same number are found, just use issue a warning with
34919 grub_dprintf(), as this error has been reported to be non-fatal.
34920
0d818b7e 349212009-03-31 Pavel Roskin <proski@gnu.org>
34922
34923 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
34924 for cross-compilation.
34925
95646d92 349262009-03-30 Robert Millan <rmh@aybabtu.com>
34927
34928 Fix i386-ieee1275 build.
34929
34930 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
34931 Remove declaration.
34932
6a003ed1 349332009-03-30 Pavel Roskin <proski@gnu.org>
34934
34935 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
34936 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
34937 zero-terminated, rely only on the strlen value. Fix comparison
34938 of strings differing in length.
34939
92f33540 349402009-03-30 Robert Millan <rmh@aybabtu.com>
34941
34942 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
34943 checking for abi version. Improve error messages on BIOS to notify
34944 user about `linux16' command.
34945
a8c48fd5 349462009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
34947
f968172e 34948 Leak fixes
a8c48fd5 34949
f968172e 34950 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
34951 in case of collision
34952 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 34953
9c323f09 349542009-03-29 Robert Millan <rmh@aybabtu.com>
34955
34956 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
34957 set `vid_mode' accordingly.
34958 (grub_linux_boot): Process `vid_mode' and set video mode.
34959
ae68f423 349602009-03-29 Robert Millan <rmh@aybabtu.com>
34961
34962 * util/grub.d/10_linux.in (linux_entry): New function.
34963 Factorize generation of Linux boot entries.
34964
5709cfc4 349652009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
34966
34967 Make the format of Environment Block plain text. The boot loader
34968 part is not tested well yet.
7dd4a573 34969
5709cfc4 34970 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
34971 (buffer): Removed.
34972 (envblk): Likewise.
34973 (usage): Remove "info" and "clear". Add "unset". Update the
34974 description of "set", as this does not delete variables any
34975 longer.
34976 (create_envblk_file): Complete rewrite.
34977 (open_envblk_file): Likewise.
34978 (cmd_info): Removed.
34979 (cmd_list): Likewise.
34980 (cmd_set): Likewise.
34981 (cmd_clear): Likewise.
34982 (list_variables): New function.
34983 (write_envblk): Likewise.
34984 (set_variables): Likewise.
34985 (unset_variables): Likewise.
34986 (main): Complete rewrite.
34987
34988 * commands/loadenv.c (buffer): Removed.
34989 (envblk): Likewise.
34990 (open_envblk_file): New function.
34991 (read_envblk_file): Complete rewrite.
34992 (grub_cmd_load_env): Likewise.
34993 (grub_cmd_list_env): Likewise.
34994 (struct blocklist): New struct.
34995 (free_blocklists): New function.
34996 (check_blocklists): Likewise.
34997 (write_blocklists): Likewise.
34998 (grub_cmd_save_env): Complete rewrite.
34999
35000 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
35001 a plain text signature.
35002 (GRUB_ENVBLK_MAXLEN): Removed.
35003 (struct grub_envblk): Complete rewrite.
35004 (grub_envblk_find): Removed.
35005 (grub_envblk_insert): Likewise.
35006 (grub_envblk_open): New prototype.
35007 (grub_envblk_set): Likewise.
35008 (grub_envblk_delete): Put const to VALUE.
35009 (grub_envblk_iterate): Put const to NAME and VALUE.
35010 (grub_envblk_close): New prototype.
35011 (grub_envblk_buffer): New inline function.
35012 (grub_envblk_size): Likewise.
35013
35014 * lib/envblk.c: Include grub/mm.h.
35015 (grub_env_find): Removed.
35016 (grub_envblk_open): New function.
35017 (grub_envblk_close): Likewise.
35018 (escaped_value_len): Likewise.
35019 (find_next_line): Likewise.
35020 (grub_envblk_insert): Removed.
35021 (grub_envblk_set): New function.
35022 (grub_envblk_delete): Complete rewrite.
35023 (grub_envblk_iterate): Likewise.
35024
a9368fd3 350252009-03-28 Robert Millan <rmh@aybabtu.com>
35026
35027 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
35028 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
35029 variables. Use 16-bit loader.
35030 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
35031 loader.
35032 * kern/i386/loader.S (grub_linux_boot): Rename to ...
35033 (grub_linux16_boot): ... this. Update all users.
35034 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
35035 (grub_linux_boot): ... this. Update all users.
35036
35037 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
35038 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
35039 commands to `linux16' and `initrd16'.
35040 (GRUB_MOD_FINI(linux)): Rename to ...
35041 (GRUB_MOD_FINI(linux16)): ... this.
35042
e4dd5a7e 350432009-03-24 Pavel Roskin <proski@gnu.org>
35044
35045 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
35046 not just for compilation.
35047
c04d6e05 350482009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
35049
35050 Move multiboot helper out of kernel
35051
35052 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
35053 `loader/i386/multiboot_helper.S'.
35054 * conf/i386-coreboot.rmk: Likewise
35055 * conf/i386-ieee1275.rmk: Likewise
35056
35057 * kern/i386/loader.S: Move multiboot helpers from here...
35058 * loader/i386/multiboot_helper.S: ...moved here
35059 * include/grub/i386/loader.h: Move declarations of multiboot
35060 helpers from here...
35061 * include/grub/i386/multiboot.h: ...moved here
35062 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
35063
42a5b3fc 350642009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35065
35066 * kern/env.c (grub_env_context_open): Added an argument to specify
35067 whether a new context inherits exported variables from current
35068 one. This is useful when making a sandbox to interpret a config
35069 file.
35070 All callers updated.
35071
35072 * include/grub/env.h (grub_env_context_open): Updated the prototype.
35073
b28bbc4e 350742009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35075
35076 * kern/env.c (grub_env_context_close): Fix memory leaks.
35077
f04f02e4 350782009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35079
35080 * normal/main.c (grub_normal_execute): Added an argument
35081 BATCH to specify if an interactive interface should be provided
35082 after reading a config file.
35083 All callers updated.
35084 (read_command_list): Prevent being executed twice.
35085 (read_fs_list): Likewise.
35086
42a5b3fc 35087 * include/grub/normal.h (grub_normal_execute): Updated the
35088 prototype.
f04f02e4 35089
41473ac2 350902009-03-22 Pavel Roskin <proski@gno.org>
35091
fbc00b0c 35092 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
35093 _start.
35094 * kern/i386/pc/startup.S: Likewise.
35095 * kern/i386/efi/startup.S: Likewise.
35096 * kern/i386/ieee1275/startup.S: Likewise.
35097 * kern/i386/coreboot/startup.S: Likewise.
35098 * kern/x86_64/efi/startup.S: Likewise.
35099
41473ac2 35100 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
35101 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
35102 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
35103
2274cc8f 351042009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
35105
35106 Bugfixes in multiboot for bugs uncovered by solaris kernel.
35107
35108 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
35109 limit detection.
35110 Use vaddr of correct segment for entry_point.
35111
b1b797cb 351122009-03-21 Bean <bean123ch@gmail.com>
35113
35114 * commands/blocklist.c: Add include file <grub/command.h>, remove
35115 <grub/normal.h> and <grub/arg.h>.
35116 (grub_cmd_blocklist): Use the new command interface.
35117 (GRUB_MOD_INIT): Likewise.
35118 (GRUB_MOD_FINI): Likewise.
35119 * commands/boot.c: Likewise.
35120 * commands/cat.c: Likewise.
35121 * commands/cmp.c: Likewise.
35122 * commands/configfile.c: Likewise.
35123 * commands/crc.c: Likewise.
35124 * commands/echo.c: Likewise.
35125 * commands/halt.c: Likewise.
35126 * commands/handler.c: Likewise.
35127 * commands/hdparm.c: Likewise.
35128 * commands/help.c: Likewise.
35129 * commands/hexdump.c: Likewise.
35130 * commands/loadenv.c: Likewise.
35131 * commands/ls.c: Likewise.
35132 * commands/lsmmap.c: Likewise.
35133 * commands/lspci.c: Likewise.
35134 * commands/loadenv.c: Likewise.
35135 * commands/read.c: Likewise.
35136 * commands/reboot.c: Likewise.
35137 * commands/search.c: Likewise.
35138 * commands/sleep.c: Likewise.
35139 * commands/test.c: Likewise.
35140 * commands/usbtest.c: Likewise.
35141 * commands/videotest.c: Likewise.
35142 * commands/i386/cpuid.c: Likewise.
35143 * commands/i386/pc/halt.c: Likewise.
35144 * commands/i386/pc/play.c: Likewise.
35145 * commands/i386/pc/pxecmd.c: Likewise.
35146 * commands/i386/pc/vbeinfo.c: Likewise.
35147 * commands/i386/pc/vbetest.c: Likewise.
35148 * commands/ieee1275/suspend.c: Likewise.
35149 * disk/loopback.c: Likewise.
35150 * font/font_cmd.c: Likewise.
35151 * hello/hello.c: Likewise.
35152 * loader/efi/appleloader.c: Likewise.
35153 * loader/efi/chainloader.c: Likewise.
35154 * loader/i386/bsd.c: Likewise.
35155 * loader/i386/efi/linux.c: Likewise.
35156 * loader/i386/ieee1275/linux.c: Likewise.
35157 * loader/i386/linux.c: Likewise.
35158 * loader/i386/pc/chainloader.c: Likewise.
35159 * loader/i386/pc/linux.c: Likewise.
35160 * loader/powerpc/ieee1275/linux.c: Likewise.
35161 * loader/multiboot_loader.c: Likewise.
35162 * term/gfxterm.c: Likewise.
35163 * term/i386/pc/serial.c: Likewise.
35164 * term/terminfo.c: Likewise.
35165
35166 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
35167 * term/i386/pc/vga.c: Likewise.
35168 * video/readers/jpeg.c: Likewise.
35169 * video/readers/png.c: Likewise.
35170 * video/readers/tga.c: Likewise.
35171
35172 * util/grub-fstest (cmd_loopback): Removed.
35173 (cmd_blocklist): Likewise.
35174 (cmd_ls): Likewise.
35175 (grub_register_command): Likewise.
35176 (grub_unregister_command): Likewise.
35177 (execute_command): Use grub_command_find to locate command and execute
35178 it.
35179
35180 * include/grub/efi/chainloader.h: Removed.
35181 * loader/efi/chainloader_normal.c: Likewise.
35182 * loader/i386/bsd_normal.c: Likewise.
35183 * loader/i386/pc/chainloader_normal.c: Likewise.
35184 * loader/i386/pc/multiboot_normal.c: Likewise.
35185 * loader/linux_normal.c: Likewise.
35186 * loader/multiboot_loader_normal.c: Likewise.
35187 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
35188
35189 * gencmdlist.sh: Scan new registration command grub_register_extcmd
35190 and grub_register_command_p1.
35191
35192 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
35193 kern/command.c, lib/arg.c and commands/extcmd.c.
35194 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
35195 (minicmd_mod_SOURCES): New variable.
35196 (minicmd_mod_CFLAGS): Likewise.
35197 (minicmd_mod_LDFLAGS): Likewise.
35198 (extcmd_mod_SOURCES): Likewise.
35199 (extcmd_mod_CFLAGS): Likewise.
35200 (extcmd_mod_LDFLAGS): Likewise.
35201 (boot_mod_SOURCES): Removed.
35202 (boot_mod_CFLAGS): Likewise.
35203 (boot_mod_LDFLAGS): Likewise.
35204
35205 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
35206 kern/corecmd.c.
35207 (kernel_img_HEADERS): Add command.h.
35208 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
35209 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
35210 and lib/arg.c.
35211 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
35212 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
35213 remove the corresponding normal mode command.
35214 (normal_mod_SOURCES): Remove normal/arg.c.
35215 * conf/i386-coreboot.rmk: Likewise.
35216 * conf/i386-efi.rmk: Likewise.
35217 * conf/i386-ieee1275.rmk: Likewise.
35218 * conf/powerpc-ieee1275.rmk: Likewise.
35219 * conf/x86_64-efi.rmk: Likewise.
35220
35221 * include/grub/arg.h: Move from here ...
35222 * include/grub/lib/arg.h: ... to here.
35223
35224 * normal/arg.c: Move from here ...
35225 * lib/arg.c: ... to here.
35226
35227 * commands/extcmd.c: New file.
35228 * commands/minicmd.c: Likewise.
35229 * include/grub/command.h: Likewise.
35230 * include/grub/extcmd.h: Likewise.
35231 * kern/command.c: Likewise.
35232 * kern/corecmd.c: Likewise.
35233
35234 * kern/list.c (grub_list_iterate): Return int instead of void.
35235 (grub_list_insert): New function.
35236 (grub_prio_list_insert): Likewise.
35237
35238 * kern/rescue.c (grub_rescue_command): Removed.
35239 (grub_rescue_command_list): Likewise.
35240 (grub_rescue_register_command): Likewise.
35241 (grub_rescue_unregister_command): Likewise.
35242 (grub_rescue_cmd_boot): Move to minicmd.c
35243 (grub_rescue_cmd_help): Likewise.
35244 (grub_rescue_cmd_info): Likewise.
35245 (grub_rescue_cmd_boot): Likewise.
35246 (grub_rescue_cmd_testload): Likewise.
35247 (grub_rescue_cmd_dump): Likewise.
35248 (grub_rescue_cmd_rmmod): Likewise.
35249 (grub_rescue_cmd_lsmod): Likewise.
35250 (grub_rescue_cmd_exit): Likewise.
35251 (grub_rescue_print_devices): Moved to corecmd.c.
35252 (grub_rescue_print_files): Likewise.
35253 (grub_rescue_cmd_ls): Likewise.
35254 (grub_rescue_cmd_insmod): Likewise.
35255 (grub_rescue_cmd_set): Likewise.
35256 (grub_rescue_cmd_unset): Likewise.
7d074e3c 35257 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 35258 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 35259 commands, remove grub_rescue_register_command calls.
b1b797cb 35260
7d074e3c 35261 * normal/command.c (grub_register_command): Removed.
b1b797cb 35262 (grub_unregister_command): Likewise.
35263 (grub_command_find): Likewise.
35264 (grub_iterate_commands): Likewise.
35265 (rescue_command): Likewise.
35266 (export_command): Moved to corecmd.c.
35267 (set_command): Removed.
35268 (unset_command): Likewise.
35269 (insmod_command): Likewise.
35270 (rmmod_command): Likewise.
35271 (lsmod_command): Likewise.
35272 (grub_command_init): Likewise.
35273
35274 * normal/completion.c (iterate_command): Use cmd->prio to check for
35275 active command.
35276 (complete_arguments): Use grub_extcmd_t structure to find options.
35277 (grub_normal_do_completion): Change function grub_iterate_commands to
35278 grub_command_iterate.
35279
35280 * normal/execute.c (grub_script_execute_cmd): No need to parse
35281 argument here.
35282
35283 * normal/main.c (grub_dyncmd_dispatcher): New function.
35284 (read_command_list): Register unload commands as dyncmd.
35285 (grub_cmd_normal): Use new command interface, register rescue,
35286 unregister normal at entry, register normal, unregister rescue at exit.
35287
35288 * include/grub/list.h (grub_list_test_t): New type.
35289 (grub_list_iterate): Return int instead of void.
35290 (grub_list_insert): New function.
35291 (GRUB_AS_NAMED_LIST_P): New macro.
35292 (GRUB_AS_PRIO_LIST): Likewise.
35293 (GRUB_AS_PRIO_LIST_P): Likewise.
35294 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
35295 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
35296 (grub_prio_list): New structure.
35297 (grub_prio_list_insert): New function.
35298 (grub_prio_list_remove): New inline function.
35299
35300 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
35301 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
35302 (GRUB_COMMAND_FLAG_MENU): Likewise.
35303 (GRUB_COMMAND_FLAG_BOTH): Likewise.
35304 (GRUB_COMMAND_FLAG_TITLE): Likewise.
35305 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
35306 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
35307 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
35308 (grub_command): Likewise.
35309 (grub_register_command): Likewise.
35310 (grub_command_find): Likewise.
35311 (grub_iterate_commands): Likewise.
35312 (grub_command_init): Likewise.
35313 (grub_arg_parse): Likewise.
35314 (grub_arg_show_help): Likewise.
35315
35316 * include/grub/rescue.h (grub_rescue_register_command): Removed.
35317 (grub_rescue_unregister_command): Likewise.
35318
35319 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
35320 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
35321 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
35322
35323 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
35324 grub_rescue_cmd_initrd.
35325 * include/grub/i386/loader.h: Likewise.
35326 * include/grub/x86_64/loader.h: Likewise.
35327
35328 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
35329
1f4147aa 353302009-03-21 Bean <bean123ch@gmail.com>
35331
35332 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
35333 instead of stat in mingw environment.
35334
35335 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
35336
35337 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
35338
35339 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
35340 AC_CONFIG_LINKS.
35341
2156d5ba 353422009-03-21 Bean <bean123ch@gmail.com>
35343
35344 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
35345 out of range error.
35346
177b82ca 353472009-03-18 Michel Dänzer <michel@daenzer.net>
35348
35349 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
35350 checking inode flags for EXT4_EXTENTS_FLAG.
35351
14aad807 353522009-03-18 Robert Millan <rmh@aybabtu.com>
35353
35354 * loader/i386/linux.c: Include `<grub/video.h>' and
35355 `<grub/i386/pc/vbe.h>'..
35356 (grub_linux_setup_video): New function. Loosely based on the EFI one.
35357 (grub_linux32_boot): Attempt to configure video settings with
35358 grub_linux_setup_video().
35359 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
35360 to avoid grub_console_fini() which would step out of graphical mode
35361 unconditionally.
35362
8cf83a27 353632009-03-14 Robert Millan <rmh@aybabtu.com>
35364
35365 Fix build on powerpc.
35366 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
35367
40164e75 353682009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
35369
35370 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
35371 background image command.
35372
c58bc32a 353732009-03-12 Colin D Bennett <colin@gibibit.com>
35374
35375 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
35376 (grub_gfxterm_putchar): Extract pairs of identical calls to
35377 draw_cursor out of conditional blocks.
35378
5415144a 353792009-03-11 Pavel Roskin <proski@gnu.org>
35380
35381 * fs/hfs.c (grub_hfs_strncasecmp): New function.
35382 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
35383
6394042e 353842009-03-11 Robert Millan <rmh@aybabtu.com>
35385
35386 * loader/i386/multiboot_elfxx.c
35387 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
35388
b7b50e5f 353892009-03-11 Felix Zielcke <fzielcke@z-51.de>
35390
35391 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
35392 `kern/handler.c'.
35393
1ca7fc96 353942009-03-11 Robert Millan <rmh@aybabtu.com>
35395
35396 * loader/i386/multiboot.c (code_size): New variable.
35397 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 35398 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 35399 4-byte alignment to MBI and others by increasing
7d074e3c 35400 `boot_loader_name_length' appropriately.
1ca7fc96 35401
35402 * loader/i386/multiboot_elfxx.c
35403 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
35404
a83ea1d2 354052009-03-09 Felix Zielcke <fzielcke@z-51.de>
35406
35407 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
35408 `fs/ext2.c'.
35409
aa9f3bff 354102009-03-08 Robert Millan <rmh@aybabtu.com>
35411
35412 Make loader/i386/linux.c usable on i386-pc again.
35413
35414 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
35415 memory to heap.
35416 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
35417 `#error' stanza.
35418
d8b3b60e 354192009-03-07 Bean <bean123ch@gmail.com>
35420
35421 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
35422 allocation.
35423
b362c9e9 354242009-03-06 Robert Millan <rmh@aybabtu.com>
35425
35426 Fix display issue on terminals with screen size other than 80x25
35427 (e.g. gfxterm with resolution higher than 640x480).
35428
35429 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 35430 position relative to the center of the terminal instead of relying
b362c9e9 35431 on a hardcoded offset.
35432
9304eef1 354332009-03-04 Robert Millan <rmh@aybabtu.com>
35434
35435 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
35436 installed.
35437
35438 * Makefile.in (host_kernel): New variable.
35439 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
35440 scripts instead of just the windows one.
35441 * configure.ac: Initialize and AC_SUBST `host_kernel'.
35442
eabc95fb 354432009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 35444
35445 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
35446 `kern/handler.c'.
35447 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35448 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35449 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35450 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35451 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35452 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35453
ceb1223c 354542009-03-04 Felix Zielcke <fzielcke@z-51.de>
35455
35456 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
35457 or if there's no space for the disk label and print the partition number on a
35458 invalid magic.
35459
4910684a 354602009-03-04 Felix Zielcke <fzielcke@z-51.de>
35461
35462 * util/misc.c: Include <time.h>.
35463 (grub_millisleep): New function.
35464
7e9ca17a 354652009-03-04 Bean <bean123ch@gmail.com>
35466
35467 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
35468 another option -mno-red-zone.
35469
35470 * commands/handler.c: Change module description.
35471
35472 * kern/handler.c: Add missing space at the end of description line.
35473
35474 * kern/list.c: Likewise.
35475
f501677c 354762009-03-03 Robert Millan <rmh@aybabtu.com>
35477
35478 Move more components to the relocation area, and fix mbi pointer
35479 handling to use the destination rather than the origin (thanks to
35480 Vladimir Serbinenko for spotting).
35481
35482 * loader/i386/multiboot.c (mbi_dest): New variable.
35483 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
35484 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
35485 relocation area.
35486
9902d047 354872009-03-01 Bean <bean123ch@gmail.com>
35488
50fb7002 35489 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 35490 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
35491 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
35492 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
35493
35494 * loader/i386/efi/linux.c (acpi_guid): New variable.
35495 (acpi_guid): Likewise.
35496 (EBDA_SEG_ADDR): New constant.
35497 (LOW_MEM_ADDR): Likewise.
35498 (FAKE_EBDA_SEG): Likewise.
35499 (fake_bios_data): New function.
35500 (grub_linux_boot): Call fake_bios_data.
35501
71b9f361 355022009-03-01 Bean <bean123ch@gmail.com>
35503
35504 * commands/terminal.c: Removed.
35505
35506 * commands/handler.c: New file.
35507
35508 * include/grub/list.h: Likewise.
35509
35510 * include/grub/handler.h: Likewise.
35511
35512 * kern/list.c: Likewise.
35513
35514 * kern/handler.c: Likewise.
35515
35516 * kern/term.h: Include header file <grub/handler.h>.
35517 (grub_term_input): Move next field to the beginning.
35518 (grub_term_output): Likewise.
35519 (grub_term_input_class): New variable.
35520 (grub_term_output_class): Likewise.
35521 (grub_term_register_input): Changed to inline function.
35522 (grub_term_register_output): Likewise.
35523 (grub_term_unregister_input): Likewise.
35524 (grub_term_unregister_output): Likewise.
35525 (grub_term_set_current_input): Likewise.
35526 (grub_term_set_current_output): Likewise.
35527 (grub_term_get_current_input): Likewise.
35528 (grub_term_get_current_output): Likewise.
35529 (grub_term_iterate_input): Removed.
35530 (grub_term_iterate_output): Likewise.
35531
35532 * kern/term.c (grub_term_list_input): Removed.
35533 (grub_term_list_output): Likewise.
35534 (grub_term_input_class): New variable.
35535 (grub_term_output_class): Likewise.
50fb7002 35536 (grub_cur_term_input): Change variable as macro.
71b9f361 35537 (grub_cur_term_output): Likewise.
35538 (grub_term_register_input): Removed.
35539 (grub_term_register_output): Likewise.
35540 (grub_term_unregister_input): Likewise.
35541 (grub_term_unregister_output): Likewise.
35542 (grub_term_set_current_input): Likewise.
35543 (grub_term_set_current_output): Likewise.
35544 (grub_term_iterate_input): Likewise.
35545 (grub_term_iterate_output): Likewise.
35546 (grub_term_get_current_input): Likewise.
35547 (grub_term_get_current_output): Likewise.
35548
35549 * util/grub-editenv.c: Include header file <grub/handler.h>.
35550 (grub_term_get_current_input): Removed.
35551 (grub_term_get_current_output): Likewise.
35552 (grub_term_input_class): New variable.
50fb7002 35553 (grub_term_output_class): Likewise.
71b9f361 35554
35555 * util/grub-fstest.c (grub_term_get_current_input): Removed.
35556 (grub_term_get_current_output): Likewise.
35557 (grub_term_input_class): New variable.
50fb7002 35558 (grub_term_output_class): Likewise.
71b9f361 35559
35560 * util/grub-probe.c (grub_term_get_current_input): Removed.
35561 (grub_term_get_current_output): Likewise.
35562 (grub_term_input_class): New variable.
50fb7002 35563 (grub_term_output_class): Likewise.
71b9f361 35564
35565 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
35566 (grub_term_get_current_output): Likewise.
35567 (grub_term_input_class): New variable.
50fb7002 35568 (grub_term_output_class): Likewise.
71b9f361 35569
35570 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
35571 (terminal_mod_SOURCES): Likewise.
35572 (terminal_mod_CFLAGS): Likewise.
35573 (terminal_mod_LDFLAGS): Likewise.
35574
35575 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
35576 handler.c.
35577 (kernel_img_SOURCES): Add list.c and handler.c.
35578 (kernel_img_HEADERS): Add list.h and handler.h.
35579
35580 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
35581 handler.c.
35582 (kernel_mod_SOURCES): Add list.c and handler.c.
35583 (kernel_mod_HEADERS): Add list.h and handler.h.
35584
35585 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
35586 handler.c.
35587 (kernel_elf_SOURCES): Add list.c and handler.c.
35588 (kernel_elf_HEADERS): Add list.h and handler.h.
35589
35590 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
35591 handler.c.
35592 (kernel_elf_SOURCES): Add list.c and handler.c.
35593 (kernel_elf_HEADERS): Add list.h and handler.h.
35594
35595 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
35596 handler.c.
35597 (kernel_mod_SOURCES): Add list.c and handler.c.
35598 (kernel_mod_HEADERS): Add list.h and handler.h.
35599
35600 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
35601 handler.c.
35602 (kernel_elf_SOURCES): Add list.c and handler.c.
35603 (kernel_elf_HEADERS): Add list.h and handler.h.
35604
8a31787f 356052009-02-27 Robert Millan <rmh@aybabtu.com>
35606
35607 Factorize elf32 / elf64 code in Multiboot loader. This will
35608 prevent it from getting out of sync again.
35609
35610 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
35611 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
35612 grub_multiboot_load_elf64): Move from here ...
35613 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
35614 grub_multiboot_load_elf): ... to here (new file).
35615
51cd3dfc 356162009-02-27 Robert Millan <rmh@aybabtu.com>
35617
35618 * util/grub.d/10_linux.in: Rename "single-user mode" to
35619 "recovery mode".
35620
6e8c9c3a 356212009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
35622
35623 Don't leak in SCSI code.
35624 * disk/scsi.c (grub_scsi_close): free `scsi'.
35625
4b6bf4f9 356262009-02-27 Robert Millan <rmh@aybabtu.com>
35627
35628 * loader/i386/pc/multiboot.c: Move from here ...
35629 * loader/i386/multiboot.c: ... to here. Update all users.
35630
b9413424 356312009-02-27 Robert Millan <rmh@aybabtu.com>
35632
35633 Patch from Alexandre Bique <bique.alexandre@gmail.com>
35634 * util/i386/pc/grub-setup.c (setup): Fix directory path.
35635
50fb7002 356362009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 35637
35638 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
35639 b-tree.
35640
8cc50345 356412009-02-27 Robert Millan <rmh@aybabtu.com>
35642
35643 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
35644 `0x' qualifier as 0 when base is specified as parameter).
35645
6e09b8b7 356462009-02-24 Bean <bean123ch@gmail.com>
35647
35648 * configure.ac: Check for -mcmodel=large in x86_64 target.
35649
35650 * include/grub/efi/api.h (efi_call_10): New macro.
35651 (efi_wrap_10): New function.
35652
35653 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
35654 (GRUB_PE32_REL_BASED_HIGH): Likewise.
35655 (GRUB_PE32_REL_BASED_LOW): Likewise.
35656 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
35657 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
35658 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
35659 (GRUB_PE32_REL_BASED_SECTION): Likewise.
35660 (GRUB_PE32_REL_BASED_REL): Likewise.
35661 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
35662 (GRUB_PE32_REL_BASED_DIR64): Likewise.
35663 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
35664
35665 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
35666 issue.
35667
35668 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
35669 (efi_wrap_10): New function.
35670
35671 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
35672
35673 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
35674 MB/MBP model (NV chipset).
35675 (devdata_devs): Add devpath_5 to the list.
35676
35677 * load/i386/efi/linux.c (video_base): Remove variable.
35678 (RGB_MASK): New macro.
35679 (RGB_MAGIC): Likewise.
35680 (LINE_MIN): Likewise.
35681 (LINE_MAX): Likewise.
35682 (FBTEST_STEP): Likewise.
35683 (FBTEST_COUNT): Likewise.
35684 (fb_list): New variable.
35685 (grub_find_video_card): Remove function.
35686 (find_framebuf): New function.
35687 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
35688 line length.
35689
35690 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
35691 problem for x86_64.
35692
74b21bee 356932009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
35694
35695 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
35696
35697 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
35698 coding tool name.
35699
a455f472 357002009-02-22 Robert Millan <rmh@aybabtu.com>
35701
35702 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
35703 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
35704 in our relocation, instead of using it directly from heap. Also
35705 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
35706
6374daf3 357072009-02-21 Robert Millan <rmh@aybabtu.com>
35708
35709 Implement USB keyboard support (based on patch by Marco Gerards)
35710
35711 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
35712 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
35713 (usb_keyboard_mod_LDFLAGS): New variables.
35714
35715 * term/usb_keyboard.c: New file.
35716
8fa4ea70 357172009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
35718
35719 Corrected wrong declaration
35720
35721 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
35722
353976ac 357232009-02-14 Christian Franke <franke@computer.org>
35724
35725 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
35726 (grub_lspci_iter): Print class code and programming interface byte.
35727
6aa1169b 357282009-02-14 Christian Franke <franke@computer.org>
35729
35730 * gendistlist.sh: Ignore `.svn' directories.
35731
265372ca 357322009-02-14 Felix Zielcke <fzielcke@z-51.de>
35733
35734 * fs/fat.c: Add 2009 to Copyright line.
35735
9ff516f3 357362009-02-14 Christian Franke <franke@computer.org>
35737
35738 * commands/hdparm.c: New file. Provides `hdparm' command
35739 which sends ATA commands via grub_disk_ata_pass_through ().
35740
35741 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
35742
35743 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
35744 and <grub/cpu/io.h> to include/grub/ata.h.
35745 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
35746 (GRUB_CDROM_SECTOR_SIZE): Remove.
35747 (GRUB_ATA_*): Move to include/grub/ata.h.
35748 (GRUB_ATAPI_*): Likewise.
35749 (enum grub_ata_commands): Likewise.
35750 (enum grub_ata_timeout_milliseconds): Likewise.
35751 (struct grub_ata_device): Likewise.
35752 (grub_ata_regset): Likewise.
35753 (grub_ata_regget): Likewise.
35754 (grub_ata_regset2): Likewise.
35755 (grub_ata_regget2): Likewise.
35756 (grub_ata_check_ready): Likewise.
35757 (grub_ata_wait_not_busy): Remove static, exported in
35758 include/grub/ata.h.
35759 (grub_ata_wait_drq): Likewise.
35760 (grub_ata_pio_read): Likewise.
35761
35762 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
35763 function for hdparm.mod.
35764
35765 * include/grub/ata.h: New file, contains declarations from
35766 disk/ata.c.
35767 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
35768
35769 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
35770 (grub_disk_ata_pass_through): New exported variable.
35771
35772 * kern/disk.c (grub_disk_ata_pass_through): New variable.
35773
772e23da 357742009-02-13 Colin D Bennett <colin@gibibit.com>
35775
35776 Support multiple fallback entries, and provide an API to support
35777 executing default+fallback menu entries. Renamed the `terminal' menu
35778 viewer to `text'.
35779
35780 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
35781 variable declaration.
35782 (grub_menu_execute_callback): New structure declaration.
35783 (grub_menu_execute_callback_t): New typedef.
35784 (grub_menu_execute_with_fallback): New function declaration.
35785 (grub_menu_get_entry): Likewise.
35786 (grub_menu_get_timeout): Likewise.
35787 (grub_menu_set_timeout): Likewise.
35788
35789 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
35790
35791 * normal/menu.c (grub_wait_after_message): Moved to
35792 `normal/menu_text.c'.
35793 (draw_border): Likewise.
35794 (print_message): Likewise.
35795 (print_entry): Likewise.
35796 (print_entries): Likewise.
35797 (grub_menu_init_page): Likewise.
35798 (get_entry_number): Likewise.
35799 (print_timeout): Likewise.
35800 (run_menu): Likewise.
35801 (grub_menu_execute_entry): Likewise.
35802 (show_text_menu): Likewise.
35803 (get_and_remove_first_entry_number): New function.
35804 (grub_menu_execute_with_fallback): Likewise.
35805 (get_entry): Renamed to ...
35806 (grub_menu_get_entry): .. this and made it global.
35807 (get_timeout): Renamed to ...
35808 (grub_menu_get_timeout): ... this and made it global.
35809 (set_timeout): Renamed to ...
35810 (grub_menu_set_timeout): ... this and made it global.
35811 (grub_normal_terminal_menu_viewer): Renamed to ...
35812 (grub_normal_text_menu_viewer): ... this.
35813
35814 * normal/menu_text.c: New file. Extracted text-menu-specific code
35815 from normal/menu.c.
35816
35817 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
35818 (normal_mod_SOURCES): Likewise.
35819
35820 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35821 (normal_mod_SOURCES): Likewise.
35822
35823 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35824 (normal_mod_SOURCES): Likewise.
35825
35826 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
35827 (normal_mod_SOURCES): Likewise.
35828
35829 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35830 (normal_mod_SOURCES): Likewise.
35831
35832 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35833 (normal_mod_SOURCES): Likewise.
35834
35835 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35836 (normal_mod_SOURCES): Likewise.
35837
16ac430e 358382009-02-11 Robert Millan <rmh@aybabtu.com>
35839
35840 * util/grub.d/00_header.in: Update old reference to `font' command.
35841
06ff20fc 358422009-02-10 Felix Zielcke <fzielcke@z-51.de>
35843
35844 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
35845
35846 Based on patch from Javier Martín.
35847
96da9407 358482009-02-09 Felix Zielcke <fzielcke@z-51.de>
35849
35850 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 35851 to avoid false positives with FAT.
96da9407 35852 (grub_fstest_SOURCES): Likewise.
35853 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35854 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35855 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35856 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35857 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35858 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35859
6dca6fe4 358602009-02-09 Felix Zielcke <fzielcke@z-51.de>
35861
06ff20fc 35862 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 35863 bpb.version_specific.fat12_or_fat16.fstype and
35864 bpb.version_specific.fat32.fstype.
35865
2550c62f 358662009-02-08 Robert Millan <rmh@aybabtu.com>
35867
be110b30 35868 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 35869
56978920 358702009-02-08 Robert Millan <rmh@aybabtu.com>
35871
35872 * Makefile.in (host_os, host_cpu): New variables.
35873 (target_os): Remove. Update all users.
35874
d64399b5 358752009-02-08 Marco Gerards <marco@gnu.org>
35876
35877 * Makefile.in (enable_grub_emu_usb): New variable.
35878 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
35879 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
35880 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
35881 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
35882 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
35883 `usbtest.mod' and `usbms.mod'.
35884 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
35885 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
35886 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
35887 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
35888 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
35889 variables.
35890
35891 * disk/usbms.c: New file.
35892
35893 * include/grub/usb.h: Likewise.
35894
35895 * include/grub/usbtrans.h: Likewise.
35896
35897 * include/grub/usbdesc.h: Likewise.
35898
35899 * bus/usb/usbtrans.c: Likewise.
35900
35901 * bus/usb/ohci.c: Likewise.
35902
35903 * bus/usb/uhci.c: Likewise.
35904
35905 * bus/usb/usbhub.c: Likewise.
35906
35907 * bus/usb/usb.c: Likewise.
35908
35909 * commands/usbtest.c: Likewise.
35910
35911 * util/usb.c: Likewise.
50fb7002 35912
d64399b5 35913 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
35914
35915 * configure.ac: Test for libusb presence.
50fb7002 35916
d64399b5 35917 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
35918
2b40d6bb 359192009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
35920
35921 * kern/mm.c: Add more comments.
35922
73a4ce81 359232009-02-08 Robert Millan <rmh@aybabtu.com>
35924
35925 Patch from Javier Martín.
35926 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
35927 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
35928
f821ce59 359292009-02-08 Robert Millan <rmh@aybabtu.com>
35930
35931 * fs/cpio.c: Split tar functionality to ...
35932 * fs/tar.c: ... here (new file). Update all users.
35933
aebfc4b0 359342009-02-07 Robert Millan <rmh@aybabtu.com>
35935
35936 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
35937 backward-incompatible features.
35938
35939 Based on patch from Javier Martín, with some adjustments.
35940
50fb7002 359412009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 35942
35943 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
35944
0bb5115e 359452009-02-07 Robert Millan <rmh@aybabtu.com>
35946
35947 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
35948 position of `disk/lvm.c' to ensure grub_init_all() always picks it
35949 after the RAID stuff.
35950
38a0f8e7 359512009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
35952
50fb7002 35953 Fixes problem when running vbetest command as reported by
38a0f8e7 35954 Vladimir Serbinenko <phcoder@gmail.com>.
35955
35956 * (grub_vbe_set_video_mode): Fixed problem with text modes.
35957
3143cc1c 359582009-02-04 Felix Zielcke <fzielcke@z-51.de>
35959
35960 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
35961 /dev/md/NpN style mdraid devices.
35962
9cba6fce 359632009-02-03 Felix Zielcke <fzielcke@z-51.de>
35964
35965 * util/unifont2pff.rb: Remove.
35966
e507a2c1 359672009-02-03 Felix Zielcke <fzielcke@z-51.de>
35968
35969 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
35970 `#'.
35971
d2c2b4cd 359722009-02-03 Felix Zielcke <fzielcke@z-51.de>
35973
35974 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
35975 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35976 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35977 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35978 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35979 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35980 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35981
b4315fb0 359822009-02-02 Christian Franke <franke@computer.org>
35983
35984 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
35985
de3aa260 359862009-02-01 Felix Zielcke <fzielcke@z-51.de>
35987
7c3ff286 35988 * INSTALL: Note that we now require at least autoconf 2.59 and
35989 that LZO is optional.
de3aa260 35990
825a182b 359912009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
35992
35993 Base on patch on bug #24154 created by Tomas Tintera
35994 <trosos@seznam.cz>.
35995
35996 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
35997
a69ef770 359982009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
35999
7c3ff286 36000 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 36001 <bero@arklinux.org>.
36002
36003 * normal/parser.y (script_init): Add missing semicolon.
36004
6fa42fa6 360052009-01-31 Colin D Bennett <colin@gibibit.com>
36006
7c3ff286 36007 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 36008 (free_menu_entry_classes): Added.
36009 (grub_normal_menu_addentry): Added class property handling.
36010 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
36011 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
36012
36013 * normal/menu_viewer.c: New file.
36014
36015 * normal/menu.c (run_menu_entry): Renamed to ...
36016 (grub_menu_execute_entry): ... this and made it as global.
36017 (grub_menu_run): Renamed to ...
36018 (show_text_menu): ... this and made it local.
36019 (show_text_menu): Adapt to new function names.
36020 (grub_normal_terminal_menu_viewer): New global variable.
36021
36022 * include/grub/menu.h: New file.
36023
36024 * include/grub/menu_viewer.h: New file.
36025
36026 * include/grub/normal.h: Added include to grub/menu.h.
36027 (grub_menu_entry): Moved to include/grub/menu.h.
36028 (grub_menu_entry_t): Likewise.
36029 (grub_menu): Likewise.
36030 (grub_menu_t): Likewise.
36031 (grub_normal_terminal_menu_viewer): Added.
36032 (grub_menu_execute_entry): Likewise.
36033 (grub_menu_run): Removed.
36034
36035 * DISTLIST: Added include/grub/menu.h.
36036 Added include/grub/menu_viewer.h.
36037 Added normal/menu_viewer.c.
36038
360392009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
36040
36041 * normal/execute.c (grub_script_execute_menuentry): Changed to use
36042 arglist for menutitle arguments.
36043
36044 * normal/main.c (grub_normal_menu_addentry): Likewise.
36045
36046 * normal/parser.y (menuentry): Likewise.
36047
36048 * normal/script.c (grub_script_create_cmdmenu): Likewise.
36049
36050 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
36051 (grub_script_create_cmdmenu): Likewise.
36052
36053 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
36054
36055 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
36056 changes.
36057
36058 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
36059
36060 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
36061
36062 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
36063
36064 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36065
36066 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36067
36068 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36069
56192c23 360702009-01-30 Christian Franke <franke@computer.org>
36071
36072 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
36073 in option help text.
36074
d72521b3 360752009-01-27 Pavel Roskin <proski@gnu.org>
36076
36077 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
36078
994b5e84 360792009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
36080
36081 * commands/lsmmap.c: Add include to grub/machine/memory.h.
36082
36083 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
36084
36085 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
36086 unregister function.
36087
6a7eab2c 360882009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
36089
36090 * disk/scsi.c (grub_scsi_read): Fix sign problem.
36091
36092 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
36093
36094 * util/grub-mkfont.c (usage): Fix typo.
36095
36096 * util/elf/grub-mkimage.c (load_modules): Fix warning.
36097
1806b56e 360982009-01-26 Daniel Mierswa <impulze@impulze.org>
36099
3fb18f09 36100 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
36101
336e1fb9 36102 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
36103
1806b56e 36104 * kern/misc.c (grub_strcasecmp): New function.
36105 (grub_strcasecmp): Use grub_size_t instead of int for length.
36106 Fix return value.
36107 * include/grub/misc.h: Update function prototypes.
36108
580b2a0f 361092009-01-26 Robert Millan <rmh@aybabtu.com>
36110
36111 * configure.ac: Fix cross-compilation check.
ef257b36 36112
d31c24f1 361132009-01-22 Christian Franke <franke@computer.org>
36114
36115 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
36116 (precision) digit string. Allow `.format2' without `format1' (width).
36117 Limit input chars for `%s' output to `format2' if specified. This is
36118 compatible with standard printf ().
36119
3138b44c 361202009-01-22 Christian Franke <franke@computer.org>
36121
36122 * disk/ata.c (grub_ata_wait_status): Replace by ...
36123 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
36124 other status bits may be invalid while BSY is asserted.
36125 (grub_ata_check_ready): New function.
36126 (grub_ata_cmd): Removed.
36127 (grub_ata_wait_drq): New function.
36128 (grub_ata_strncpy): Remove inline.
36129 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
36130 and error check now done by grub_ata_wait_drq ().
36131 (grub_ata_pio_write): Likewise.
36132 (grub_atapi_identify): Set DEV before check for !BSY. Use
36133 grub_ata_wait_drq () to wait for data.
36134 (grub_ata_device_initialize): Add status register check to
36135 detect missing SATA slave devices. Add debug messages.
36136 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
36137 (grub_atapi_packet): Set DEV before check for !BSY. Replace
36138 transfer loop by grub_ata_pio_write ().
36139 (grub_ata_identify): Set DEV before check for !BSY. Use
36140 grub_ata_wait_drq () to wait for data.
ef257b36 36141 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 36142 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
36143 read/write in one loop. Fix invalid command on write. Fix incomplete
36144 command on (size % batch) == 0. Add missing error check after write of
36145 last block. Add debug messages.
36146 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
36147
59a64ef6 361482009-01-19 Christian Franke <franke@computer.org>
36149
36150 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
36151 (GRUB_ATAPI_IREASON_*): Likewise.
36152 (grub_ata_pio_write): Fix timeout error return.
36153 (grub_atapi_identify): Add grub_ata_wait () after cmd.
36154 (grub_atapi_wait_drq): New function.
36155 (grub_atapi_packet): New parameter `size'.
36156 Use grub_atapi_wait_drq () and direct write instead of
36157 grub_ata_pio_write ().
36158 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
36159 reads the number of bytes requested by the device for each DRQ
36160 assertion.
36161 (grub_atapi_write): Remove old implementation, return not
36162 implemented instead.
36163
1cfe20b3 361642009-01-19 Christian Franke <franke@computer.org>
36165
36166 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
36167 of 512 to calculate data size.
36168 (grub_scsi_read12): Likewise.
36169 (grub_scsi_write10): Likewise.
36170 (grub_scsi_write12): Likewise.
36171 (grub_scsi_read): Adjust size according to blocksize.
36172 Add checks for invalid blocksize and unaligned transfer.
36173
bee5fe5d 361742009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
36175
36176 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
36177
ef257b36 36178 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 36179 width glyphs.
36180
3e643f8c 361812009-01-19 Robert Millan <rmh@aybabtu.com>
36182
36183 * config.guess: Update to latest version from config git.
36184 * config.sub: Likewise.
36185
4fa80998 361862009-01-17 Felix Zielcke <fzielcke@z-51.de>
36187
36188 * Makefile.in: Change font compilation to use new grub-mkfont instead
36189 of java version.
36190
36191 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
36192 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
36193 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
36194 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
36195 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
36196 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
36197 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
36198 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
36199 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
36200
7086085b 362012009-01-16 Christian Franke <franke@computer.org>
36202
36203 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
36204 (enum grub_ata_timeout_milliseconds): New enum.
36205 (grub_ata_wait_status): Add parameter milliseconds.
36206 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
36207 recovery from timed-out commands.
36208 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
36209 return grub_errno instead of REG_ERROR.
36210 (grub_ata_pio_write): Add parameter milliseconds.
36211 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
36212 Pass milliseconds to grub_ata_wait_status () and
36213 grub_ata_pio_read ().
36214 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
36215 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
36216 grub_ata_wait_status (). Fix IDENTIFY timeout check.
36217 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
36218 It is not suitable for device detection, because DEV bit is ignored,
36219 the command may run too long, and not all devices set the signature
36220 properly.
36221 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
36222 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
36223 Fix device selection, DEV bit must be set first to address the registers
36224 of the correct device.
36225 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
36226 grub_ata_pio_read/write ().
36227 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
36228 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
36229
4a412913 362302009-01-13 Carles Pina i Estany <carles@pina.cat>
36231
36232 * util/grub-editenv.c (main): Use fseeko(), not fseek().
36233
7795c55e 362342009-01-13 Bean <bean123ch@gmail.com>
d913988c 36235
36236 * util/grub-mkfont.c (write_font): forget to remove some debug code.
36237
7795c55e 362382009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 36239
36240 * Makefile.in: (enable_grub_mkfont): New variable.
36241 (freetype_cflags): Likewise.
36242 (freetype_libs): Likewise.
36243
36244 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
36245 (grub_mkfont_SOURCES): New variable.
36246 (grub_mkfont_CFLAGS): Likewise.
36247 (grub_mkfont_LDFLAGS): Likewise.
36248
36249 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
36250 library if `--enable-grub-mkfont' is requested.
36251 (enable_grub_mkfont): New variable.
36252 (freetype_cflags): Likewise.
36253 (freetype_libs): Likewise.
36254
36255 * util/grub-mkfont.c: New file.
36256
093af1fe 362572009-01-12 Christian Franke <franke@computer.org>
36258
36259 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
36260 mode check. Fix setting of compat_use[].
36261
f36cc108 362622009-01-10 Robert Millan <rmh@aybabtu.com>
36263
36264 Update a few copyright years which we forgot to do in 2008 (only for
36265 files whose changes made in 2008 were copyright-significant)
36266
36267 * Makefile.in: Add 2008 to Copyright line.
36268 * disk/ieee1275/ofdisk.c: Likewise.
36269 * disk/efi/efidisk.c: Likewise.
36270 * kern/dl.c: Likewise.
36271 * kern/sparc64/ieee1275/init.c: Likewise.
36272 * kern/mm.c: Likewise.
36273 * kern/efi/mm.c: Likewise.
36274 * boot/i386/pc/boot.S: Likewise.
36275 * genfslist.sh: Likewise.
36276 * fs/iso9660.c: Likewise.
36277 * fs/hfs.c: Likewise.
36278 * fs/jfs.c: Likewise.
36279 * fs/minix.c: Likewise.
36280 * fs/ufs.c: Likewise.
36281 * gensymlist.sh.in: Likewise.
36282 * genkernsyms.sh.in: Likewise.
36283 * include/grub/misc.h: Likewise.
36284 * include/grub/types.h: Likewise.
36285 * include/grub/symbol.h: Likewise.
36286 * include/grub/elf.h: Likewise.
36287 * include/grub/kernel.h: Likewise.
36288 * include/grub/disk.h: Likewise.
36289 * include/grub/dl.h: Likewise.
36290 * include/grub/i386/linux.h: Likewise.
36291 * include/grub/i386/pc/biosdisk.h: Likewise.
36292 * include/grub/efi/api.h: Likewise.
36293 * include/grub/efi/pe32.h: Likewise.
36294 * include/grub/util/misc.h: Likewise.
36295 * normal/execute.c: Likewise.
36296 * normal/arg.c: Likewise.
36297 * normal/completion.c: Likewise.
36298 * normal/lexer.c: Likewise.
36299 * normal/parser.y: Likewise.
36300 * normal/misc.c: Likewise.
36301 * commands/i386/pc/vbeinfo.c: Likewise.
36302 * commands/hexdump.c: Likewise.
36303 * commands/terminal.c: Likewise.
36304 * commands/ls.c: Likewise.
36305 * commands/help.c: Likewise.
36306 * partmap/pc.c: Likewise.
36307 * loader/efi/chainloader.c: Likewise.
36308 * loader/multiboot_loader.c: Likewise.
36309 * loader/i386/pc/multiboot2.c: Likewise.
36310 * term/efi/console.c: Likewise.
36311 * term/i386/pc/serial.c: Likewise.
36312 * util/lvm.c: Likewise.
36313 * util/console.c: Likewise.
36314 * util/i386/efi/grub-mkimage.c: Likewise.
36315 * util/raid.c: Likewise.
36316
7f02114b 363172009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
36318
36319 * commands/videotest.c: Removed include to grub/machine/memory.h.
36320
36321 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
36322 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
36323 (video_mod_SOURCES): Removed.
36324 (video_mod_CFLAGS): Likewise.
36325 (video_mod_LDFLAGS): Likewise.
36326 (gfxterm_mod_SOURCES): Likewise.
36327 (gfxterm_mod_CFLAGS): Likewise.
36328 (gfxterm_mod_LDFLAGS): Likewise.
36329 (videotest_mod_SOURCES): Likewise.
36330 (videotest_mod_CFLAGS): Likewise.
36331 (videotest_mod_LDFLAGS): Likewise.
36332 (bitmap_mod_SOURCES): Likewise.
36333 (bitmap_mod_CFLAGS): Likewise.
36334 (bitmap_mod_LDFLAGS): Likewise.
36335 (tga_mod_SOURCES): Likewise.
36336 (tga_mod_CFLAGS): Likewise.
36337 (tga_mod_LDFLAGS): Likewise.
36338 (jpeg_mod_SOURCES): Likewise.
36339 (jpeg_mod_CFLAGS): Likewise.
36340 (jpeg_mod_LDFLAGS): Likewise.
36341 (png_mod_SOURCES): Likewise.
36342 (png_mod_CFLAGS): Likewise.
36343 (png_mod_LDFLAGS): Likewise.
36344
36345 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
36346 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
36347 (video_mod_SOURCES): Added.
36348 (video_mod_CFLAGS): Likewise.
36349 (video_mod_LDFLAGS): Likewise.
36350 (videotest_mod_SOURCES): Likewise.
36351 (videotest_mod_CFLAGS): Likewise.
36352 (videotest_mod_LDFLAGS): Likewise.
36353 (bitmap_mod_SOURCES): Likewise.
36354 (bitmap_mod_CFLAGS): Likewise.
36355 (bitmap_mod_LDFLAGS): Likewise.
36356 (tga_mod_SOURCES): Likewise.
36357 (tga_mod_CFLAGS): Likewise.
36358 (tga_mod_LDFLAGS): Likewise.
36359 (jpeg_mod_SOURCES): Likewise.
36360 (jpeg_mod_CFLAGS): Likewise.
36361 (jpeg_mod_LDFLAGS): Likewise.
36362 (png_mod_SOURCES): Likewise.
36363 (png_mod_CFLAGS): Likewise.
36364 (png_mod_LDFLAGS): Likewise.
36365 (gfxterm_mod_SOURCES): Likewise.
36366 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 36367 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 36368
36369 * term/gfxterm.c: Removed include to grub/machine/memory.h,
36370 grub/machine/console.h.
36371
644fff97 363722009-01-04 Jerone Young <jerone@gmail.com>
36373
36374 Make on screen instructions clearer
36375
36376 Based on patch created by Jidanni <jidanni@jidanni.org>
36377
36378 * normal/menu.c: print clearer instructions on the screen
36379
1e901a75 363802009-01-02 Colin D Bennett <colin@gibibit.com>
36381
36382 New font engine.
34c44600 36383
1e901a75 36384 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
36385 build system and fixed gfxterm.c to work with different sized fonts.
36386
36387 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 36388
1e901a75 36389 * configure: Re-generated.
34c44600 36390
1e901a75 36391 * DISTLIST: Removed font/manager.c.
36392 Added font/font.c.
36393 Added font/font_cmd.c.
34c44600 36394
1e901a75 36395 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
36396 compilation.
34c44600 36397
1e901a75 36398 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 36399
36400 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 36401
36402 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 36403
1e901a75 36404 * normal/menu.c: Likewise.
34c44600 36405
1e901a75 36406 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
36407 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 36408
1e901a75 36409 * include/grub/font.h: Replaced with new file.
34c44600 36410
1e901a75 36411 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
36412 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
36413 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
36414 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
36415 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 36416 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 36417 fg_red, fg_green, fg_blue, fg_alpha.
36418 (grub_video_adapter): Removed blit_glyph.
34c44600 36419 (grub_video_blit_glyph): Removed.
36420
1e901a75 36421 * font/manager.c: Removed file.
34c44600 36422
36423 * font/font.c: New file.
36424
1e901a75 36425 * font/font_cmd.c: Likewise.
34c44600 36426
1e901a75 36427 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 36428
1e901a75 36429 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
36430 (grub_video_vbe_map_rgba): Likewise.
36431 (grub_video_vbe_unmap_color_int): Likewise.
36432 (grub_video_vbe_blit_glyph): Removed.
36433 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 36434
1e901a75 36435 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
36436 (get_pixel): Likewise.
34c44600 36437 (set_pixel): Likewise.
36438
1e901a75 36439 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 36440
1e901a75 36441 * term/gfxterm.c: Adapted to new font engine.
34c44600 36442
1e901a75 36443 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 36444
1e901a75 36445 * term/i386/pc/vga.c: Likewise.
34c44600 36446
1e901a75 36447 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 36448
1e901a75 36449 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 36450
1e901a75 36451 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 36452
1e901a75 36453 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 36454
1e901a75 36455 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 36456
1e901a75 36457 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 36458
1e901a75 36459 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 36460
1e901a75 36461 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 36462
1e901a75 36463 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
36464
36465 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 36466
1e901a75 36467 * util/grub-mkconfig_lib.in: Changed font extension.
36468
278922e8 364692008-12-28 Felix Zielcke <fzielcke@z-51.de>
36470
36471 * util/getroot.c (grub_util_get_grub_dev): Add support for
36472 /dev/md/dNNpNN style partitionable mdraid devices.
36473
3ced05cf 364742008-12-12 Alex Smith <alex@alex-smith.me.uk>
36475
36476 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
36477 at a time limit of the PXE TFTP API correctly.
36478 (grub_pxefs_close): Likewise.
36479
7fd0ee30 364802008-11-29 Robert Millan <rmh@aybabtu.com>
36481
34c44600 36482 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 36483 grub_ata_device_initialize() calls.
36484
34c44600 364852008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 36486
36487 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
36488 iteration failed.
36489 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
36490
89313780 364912008-11-28 Robert Millan <rmh@aybabtu.com>
36492
36493 Fix build on powerpc-ieee1275. Based on patch created by
36494 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
36495 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
36496 `kern/ieee1275/mmap.c'.
36497 * include/grub/powerpc/ieee1275/memory.h: New file.
36498
15257703 36499 Provide grub-install on coreboot.
36500 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
36501 (grub_install_SOURCES): New variable.
36502 * util/i386/pc/grub-install.in: Add a few condition checks to make it
36503 usable on coreboot.
36504
9fc5388a 365052008-11-25 Felix Zielcke <fzielcke@z-51.de>
36506
36507 * util/grub-fstest.c (grub_term_get_current_input): Change return type
36508 to `grub_term_input_t'.
36509 (grub_term_get_current_output): Change return type to
36510 `grub_term_output_t'.
36511
bc3a2f31 365122008-11-22 Robert Millan <rmh@aybabtu.com>
36513
34c44600 36514 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 36515 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
36516 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
36517 grub_vga_text_cls().
36518
80fc88f2 36519 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 36520 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 36521
cbf36fd3 36522 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
36523 to 0x200000 (avoids trouble with some OFW implementations, and matches
36524 with the one in Yaboot).
36525 Reported by Manoel Abranches
36526
73e8e268 365272008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 36528
36529 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
36530 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
36531
73e8e268 36532 * util/grub-mkconfig_lib.in (grub_warn): New function.
36533 (convert_system_path_to_grub_path): Use grub_warn() when issuing
36534 warnings, to obtain consistent formatting.
36535 * util/grub.d/00_header.in: Likewise.
36536 * util/update-grub_lib.in: Likewise.
36537
e94045a1 36538 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 36539 Move comment text to `#error' stanza.
e94045a1 36540
79d29fd7 36541 Harmonize ieee1275's grub_available_iterate() with the generic
36542 grub_machine_mmap_iterate() interface (fixes a recently-introduced
36543 build problem on i386-ieee1275):
36544 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
36545 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
36546 parameter `type'. Update all users of this function.
36547 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
36548 `kern/ieee1275/mmap.c'.
36549 * kern/ieee1275/init.c
36550 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
36551 with ...
36552 (grub_machine_mmap_iterate): ... this.
36553 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
36554 return type to `grub_err_t'. Update all implementations of this
36555 function prototype.
36556 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
36557 Likewise.
36558
60d6b16e 36559 Add `lsmmap' command (lists firmware-provided memory map):
36560 * commands/lsmmap.c: New file.
36561 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
36562 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
36563 variables.
36564 * conf/powerpc-ieee1275.rmk: Likewise.
36565 * conf/i386-coreboot.rmk: Likewise.
36566 * conf/i386-ieee1275.rmk: Likewise.
36567
ebaaf49b 365682008-11-19 Robert Millan <rmh@aybabtu.com>
36569
36570 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 36571 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
36572 constraints to initrd allocation (based on code from
36573 loader/i386/pc/linux.c). Without them, initrd was allocated too high
36574 for Linux to find it.
ebaaf49b 36575
dfab719f 365762008-11-14 Robert Millan <rmh@aybabtu.com>
36577
36578 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
36579 order to cope with duplicate slashes.
36580
10fc3eb9 365812008-11-14 Robert Millan <rmh@aybabtu.com>
36582
36583 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
36584 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
36585 don't want to mess with lower memory, because it is used in the Linux
36586 loader.
36587
36588 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 36589 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 36590 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
36591 is in our heap (probably as a result of it being corrupted during
2f2a3442 36592 decompression). Add #error instance with comment to explain why this
36593 loader isn't currently usable on PC/BIOS.
10fc3eb9 36594
e2e07847 365952008-11-14 Robert Millan <rmh@aybabtu.com>
36596
36597 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 36598 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 36599
fe8e8d69 366002008-11-12 Robert Millan <rmh@aybabtu.com>
36601
36602 Make loader/i386/linux.c buildable on i386-pc (although disabled).
36603
36604 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
36605 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
36606 from here ...
36607 * include/grub/i386/pc/memory.h: ... to here.
36608
976b07d0 366092008-11-12 Robert Millan <rmh@aybabtu.com>
36610
36611 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
36612 split).
36613
36614 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
36615 (grub_console_cur_color, grub_console_real_putchar)
36616 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
36617 (grub_console_setcolorstate, grub_console_setcolor)
36618 (grub_console_getcolor): Move from here ...
36619 * include/grub/i386/vga_common.h: ... to here (new file).
36620
36621 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
36622 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
36623 `<grub/i386/io.h>'.
36624 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
36625 `<grub/i386/vga_common.h>'.
36626
76679cd3 366272008-11-12 Robert Millan <rmh@aybabtu.com>
36628
36629 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
36630 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
36631 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
36632 variables.
36633 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
36634 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
36635
36636 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
36637 grub_console_init() with call to grub_vga_text_init().
36638 (grub_machine_fini): Replace call to
36639 grub_console_fini() with call to grub_vga_text_fini() and
36640 grub_at_keyboard_fini().
36641
36642 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
36643 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
36644 (grub_console_setcolorstate, grub_console_setcolor)
36645 (grub_console_getcolor): New function prototypes.
36646
36647 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
36648 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
36649 (grub_vga_text_setcursor): Static-ize.
36650 (grub_vga_text_term): New structure.
36651 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
36652
36653 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
36654 (grub_console_cur_color, grub_console_standard_color)
36655 (grub_console_normal_color, grub_console_highlight_color)
36656 (map_char, grub_console_putchar, grub_console_getcharwidth)
36657 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
36658 (grub_console_getcolor): Move from here ...
36659 * term/i386/vga_common.c: ... to here (same function names).
36660
95b841d3 366612008-11-12 Robert Millan <rmh@aybabtu.com>
36662
36663 Use newly-added Multiboot support in coreboot.
36664
36665 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
36666 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
36667
36668 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
36669 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
36670 (codestart): Store the MBI in `startup_multiboot_info' when we're
36671 being loaded using Multiboot.
36672
36673 * kern/i386/coreboot/init.c (grub_machine_init): Move
36674 grub_at_keyboard_init() call to beginning of function (useful for
36675 debugging). Call grub_machine_mmap_init() before attempting to use
36676 grub_machine_mmap_iterate().
36677 (grub_lower_mem, grub_upper_mem): Move from here ...
36678 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
36679 here (new file).
36680
36681 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
36682 function prototype.
36683
761ca975 366842008-11-12 Robert Millan <rmh@aybabtu.com>
36685
36686 Fix a regression introduced by the at_keyboard.mod split. Because
36687 some terminals are default on some platforms and non-default on
36688 others, the first terminal being registered determines which is
36689 going to be default.
36690
36691 * kern/term.c (grub_term_register_input): If this is the first
36692 terminal being registered, set it as the current one.
36693 (grub_term_register_output): Likewise.
36694
36695 * term/efi/console.c (grub_console_init): Do not call
36696 grub_term_set_current_output() or grub_term_set_current_input().
36697 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
36698 * term/i386/pc/console.c (grub_console_init): Likewise.
36699 (grub_console_fini): Do not call grub_term_set_current_input()
36700 (but leave grub_term_set_current_output() to restore text mode).
36701
6c529df7 367022008-11-10 Robert Millan <rmh@aybabtu.com>
36703
36704 * util/grub.d/00_header.in: Add backward compatibility check for
36705 versions of terminal.mod that don't understand `terminal_input' or
36706 `terminal_output'.
36707
132e4113 367082008-11-09 Robert Millan <rmh@aybabtu.com>
36709
36710 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
36711 `terminal_input' / `terminal_output', not `terminal'.
36712
ac293d50 367132008-11-08 Robert Millan <rmh@aybabtu.com>
36714
36715 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 36716 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 36717
0025933a 367182008-11-08 Robert Millan <rmh@aybabtu.com>
36719
36720 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 36721 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 36722 members. Update all users.
36723 * util/console.c (grub_ncurses_term): Split in ...
36724 (grub_ncurses_term_input): ... this, and ...
36725 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 36726 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 36727
37c86336 367282008-11-08 Robert Millan <rmh@aybabtu.com>
36729
36730 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
36731 (PKGDATA): Add $(pkgdata_SRCDIR).
36732 (pkglib_BUILDDIR): New variable.
36733 (pkgdata_SRCDIR): New variable.
36734 (build_env.mk): New target.
36735 (include_DATA): New variable.
36736 (install-local): Install $(include_DATA) files in $(includedir).
36737
b6c15a2d 367382008-11-07 Pavel Roskin <proski@gnu.org>
36739
d99d46f1 36740 * gendistlist.sh: Use C locale for sorting to ensure consistent
36741 output on all systems.
36742
b6c15a2d 36743 * util/grub.d/00_header.in: Remove incorrect space before
36744 "serial".
36745
c32ee8c9 367462008-11-07 Robert Millan <rmh@aybabtu.com>
36747
36748 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
36749 per specification.
36750 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
36751 * loader/multiboot_loader.c (find_multi_boot2_header): New function
36752 (based on find_multi_boot1_header).
36753 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
36754 using find_multi_boot2_header(), and abort if neither Multiboot or
36755 Multiboot headers were found.
36756
651c29b7 367572008-11-07 Robert Millan <rmh@aybabtu.com>
36758
36759 Modularize at_keyboard.mod:
36760
36761 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
36762 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
36763 (at_keyboard_mod_LDFLAGS): New variables.
36764
36765 Actual terminal split:
36766
36767 * include/grub/term.h (struct grub_term): Split in ...
36768 (struct grub_term_input): ... this, and ...
36769 (struct grub_term_output): ... this. Update all users.
36770 (grub_term_set_current): Split in ...
36771 (grub_term_set_current_input): ... this, and ...
36772 (grub_term_set_current_output): ... this.
36773 (grub_term_get_current): Split in ...
36774 (grub_term_get_current_input): ... this, and ...
36775 (grub_term_get_current_output): ... this.
36776 (grub_term_register): Split in ...
36777 (grub_term_register_input): ... this, and ...
36778 (grub_term_register_output): ... this.
36779 (grub_term_unregister): Split in ...
36780 (grub_term_unregister_input): ... this, and ...
36781 (grub_term_unregister_output): ... this.
36782 (grub_term_iterate): Split in ...
36783 (grub_term_iterate_input): ... this, and ...
36784 (grub_term_iterate_output): ... this.
36785
36786 * kern/term.c (grub_term_list): Split in ...
36787 (grub_term_list_input): ... this, and ...
36788 (grub_term_list_output): ... this. Update all users.
36789 (grub_cur_term): Split in ...
36790 (grub_cur_term_input): ... this, and ...
36791 (grub_cur_term_output): ... this. Update all users.
36792 (grub_term_set_current): Split in ...
36793 (grub_term_set_current_input): ... this, and ...
36794 (grub_term_set_current_output): ... this.
36795 (grub_term_get_current): Split in ...
36796 (grub_term_get_current_input): ... this, and ...
36797 (grub_term_get_current_output): ... this.
36798 (grub_term_register): Split in ...
36799 (grub_term_register_input): ... this, and ...
36800 (grub_term_register_output): ... this.
36801 (grub_term_unregister): Split in ...
36802 (grub_term_unregister_input): ... this, and ...
36803 (grub_term_unregister_output): ... this.
36804 (grub_term_iterate): Split in ...
36805 (grub_term_iterate_input): ... this, and ...
36806 (grub_term_iterate_output): ... this.
36807
36808 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
36809 a check for input and one for output (and only attempt to get keys
36810 from user when input works).
36811
36812 * util/grub-probe.c (grub_term_get_current): Split in ...
36813 (grub_term_get_current_input): ... this, and ...
36814 (grub_term_get_current_output): ... this.
36815 * util/grub-fstest.c: Likewise.
36816 * util/i386/pc/grub-setup.c: Likewise.
36817 * util/grub-editenv.c: Likewise.
36818
36819 Portability adjustments:
36820
36821 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
36822 `term/i386/pc/at_keyboard.c'.
36823 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
36824 grub_keyboard_controller_init() (now handled by terminal .init).
36825 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
36826 grub_at_keyboard_init().
36827 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
36828 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
36829 at_keyboard.mod via input terminal interface).
36830 * include/grub/i386/coreboot/console.h: Convert into a stub for
36831 `<grub/i386/pc/console.h>'.
36832
36833 Migrate full terminals to new API:
36834
36835 * term/efi/console.c (grub_console_term): Split into ...
36836 (grub_console_term_input): ... this, and ...
36837 (grub_console_term_output): ... this. Update all users.
36838 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
36839 (grub_ofconsole_init): Split into ...
36840 (grub_ofconsole_init_input): ... this, and ...
36841 (grub_ofconsole_init_output): ... this.
36842 (grub_ofconsole_term): Split into ...
36843 (grub_ofconsole_term_input): ... this, and ...
36844 (grub_ofconsole_term_output): ... this. Update all users.
36845 * term/i386/pc/serial.c (grub_serial_term): Split into ...
36846 (grub_serial_term_input): ... this, and ...
36847 (grub_serial_term_output): ... this. Update all users.
36848 * term/i386/pc/console.c (grub_console_term): Split into ...
36849 (grub_console_term_input): ... this, and ...
36850 (grub_console_term_output): ... this. Update all users.
36851 (grub_console_term_input): Only enable it on PC/BIOS platform.
36852 (grub_console_init): Remove grub_keyboard_controller_init() call.
36853
36854 Migrate input terminals to new API:
36855
36856 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
36857 `i386' and `i386/pc' to enable build on x86_64 (this driver is
36858 i386-specific anyway).
36859 (grub_console_checkkey): Rename to ...
36860 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
36861 users.
36862 (grub_keyboard_controller_orig): New variable.
36863 (grub_console_getkey): Rename to ...
36864 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
36865 users.
36866 (grub_keyboard_controller_init): Static-ize. Save original
36867 controller value so that it can be restored ...
36868 (grub_keyboard_controller_fini): ... here (new function).
36869 (grub_at_keyboard_term): New structure.
36870 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
36871 functions.
36872
36873 Migrate output terminals to new API:
36874
36875 * term/i386/pc/vga.c (grub_vga_term): Change type to
36876 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
36877 members. Update all users.
36878 * term/gfxterm.c (grub_video_term): Change type to
36879 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
36880 members. Update all users.
36881 * include/grub/i386/pc/console.h (grub_console_checkkey)
36882 (grub_console_getkey): Do not export (no longer needed by gfxterm,
36883 etc).
36884
36885 Migrate `terminal' command and userland tools to new API:
36886
36887 * commands/terminal.c (grub_cmd_terminal): Split into ...
36888 (grub_cmd_terminal_input): ... this, and ...
36889 (grub_cmd_terminal_output): ... this.
36890 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
36891 `terminal_input' and `terminal_output'.
36892 * util/grub.d/00_header.in: Adjust `terminal' calls to new
36893 `terminal_input' / `terminal_output' API.
36894 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
36895 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
36896 provided ${GRUB_TERMINAL}, convert it).
36897
96e5d876 368982008-11-04 Robert Millan <rmh@aybabtu.com>
36899
36900 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
36901 for FreeBSD.
36902 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
36903
556f3775 369042008-11-03 Bean <bean123ch@gmail.com>
36905
36906 * kern/elf.c (grub_elf32_load): Revert to previous code.
36907 (grub_elf64_load): Likewise.
36908
36909 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
36910
926b9823 369112008-11-01 Robert Millan <rmh@aybabtu.com>
36912
36913 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
36914 (TARGET_CPPFLAGS): Likewise.
36915 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
36916
1432e958 369172008-11-01 Carles Pina i Estany <carles@pina.cat>
36918
36919 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
36920
dba3f844 369212008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 36922
36923 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
36924 addition of objects until the code is not going to be able to fail.
36925
dba3f844 369262008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 36927
36928 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
36929 (add a missing NULL check, and correct them by moving the pointer
36930 operations after the actual check).
36931
7ab28c21 369322008-10-29 Robert Millan <rmh@aybabtu.com>
36933
36934 * util/i386/pc/grub-install.in: Handle empty string as output from
36935 make_system_path_relative_to_its_root().
36936
1b7748eb 369372008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
36938
36939 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
36940 circular metadata worst case scenario. If the metadata is circular
36941 then copy the wrap in place.
36942 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
36943 project lib/format_text/layout.h
36944 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
36945
c9618ab2 369462008-10-03 Felix Zielcke <fzielcke@z-51.de>
36947
7a36edca 36948 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 36949
bf981c62 369502008-10-03 Felix Zielcke <fzielcke@z-51.de>
36951
36952 * util/update-grub_lib.in: Mention filename in warning message.
36953
6d994591 369542008-09-29 Felix Zielcke <fzielcke@z-51.de>
36955
36956 * NEWS: Update for rename of update-grub to grub-mkconfig.
36957
18ade780 369582008-09-29 Felix Zielcke <fzielcke@z-51.de>
36959
36960 * util/update-grub_lib.in: Copy to ...
36961 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 36962 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 36963 * util/update-grub.in: Rename to ...
36964 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
36965 option. Add `--output' option to allow users to specify the generated
36966 configuration file. Default to stdout.
36967 (update_grub_dir): Rename to ...
36968 (grub_mkconfig_dir): ... this.
36969 (grub_cfg): Default to an empty string.
36970 * conf/common.rmk (update-grub): Rename to ...
36971 (grub-mkconfig): ... this.
36972 (update-grub_lib): Copy to ...
36973 (grub-mkconfig_lib): ... this.
36974 (update-grub_SCRIPTS): Copy to ...
36975 (grub-mkconfig_SCRIPTS): ... this. Update all users.
36976 (update-grub_DATA): Rename to ...
36977 (grub-mkconfig_DATA): ... this.
36978
556ce6ac 369792008-09-28 Robert Millan <rmh@aybabtu.com>
36980
36981 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
36982 to `modified'. Add the real `created' field.
36983 (grub_iso9660_uuid): Use `modified' rather than `created' for
36984 constructing the UUID.
36985
369862008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 36987
36988 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
36989 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
36990
92274e85 369912008-09-28 Bean <bean123ch@gmail.com>
36992
36993 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
36994 Thanks to Christian Franke for finding this bug.
36995
add6f17a 369962008-09-25 Robert Millan <rmh@aybabtu.com>
36997
36998 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
36999 instances of grub_util_get_disk_name() (see previous commit).
37000
d2a367b8 370012008-09-25 Robert Millan <rmh@aybabtu.com>
37002
37003 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
37004 `util/i386/get_disk_name.c'.
37005 * conf/i386-efi.rmk: Likewise.
37006 * conf/x86_64-efi.rmk: Likewise.
37007 * conf/i386-coreboot.rmk: Likewise.
37008 * conf/i386-ieee1275.rmk: Likewise.
37009 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
37010 `util/ieee1275/get_disk_name.c'.
37011 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
37012 * util/ieee1275/get_disk_name.c: Remove file.
37013 * util/i386/get_disk_name.c: Remove file.
37014 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
37015 "hd%d" for device.map entries, rather than using
37016 grub_util_get_disk_name().
37017
81a06771 370182008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 37019
37020 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
37021 warning.
37022 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
37023
5a004279 370242008-09-24 Carles Pina i Estany <carles@pina.cat>
37025
37026 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
37027 Changed to 0x5100.
37028 (GRUB_TERM_PPAGE): Changed to 0x4900.
37029
397093d3 370302008-09-24 Robert Millan <rmh@aybabtu.com>
37031
37032 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
37033 macros (they were i386-pc specific).
37034 * include/grub/sparc64/ieee1275/console.h: Likewise.
37035 * include/grub/efi/console.h: Likewise.
37036
a91b6c7c 370372008-09-22 Bean <bean123ch@gmail.com>
37038
37039 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
37040 resident and in attribute list.
37041
37042 * include/grub/ntfs.h (BMP_LEN): Removed.
37043
c40fd116 370442008-09-22 Bean <bean123ch@gmail.com>
37045
81a06771 37046 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 37047 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
37048
37049 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
37050 error occurs, as grub_disk_open will call grub_disk_close, which will
37051 call p->close (scsi).
37052
81a06771 370532008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 37054
37055 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
37056 (AC_PREREQ): Bumped to 2.59.
37057 (AC_TRY_COMPILE): Replace obsolete macro with ...
37058 (AC_COMPILE_IFELSE): ... this.
37059 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
37060 (AC_LINK_IFELSE): ... this.
37061
5dc43410 370622008-09-21 Felix Zielcke <fzielcke@z-51.de>
37063
37064 * autogen.sh: Add a call to `gendistlist.sh'.
37065
9035dce4 370662008-09-19 Christian Franke <franke@computer.org>
37067
37068 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
37069 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
37070 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
37071 Export __enable_execute_stack() to modules.
37072 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
37073 New function.
37074
7fd75377 370752008-09-09 Felix Zielcke <fzielcke@z-51.de>
37076
040030b3 37077 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
37078 Sort the list.
37079
370802008-09-09 Felix Zielcke <fzielcke@z-51.de>
37081
37082 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 37083 #include <grub/util/hostdisk.h>.
37084
89d5ffcf 370852008-09-08 Robert Millan <rmh@aybabtu.com>
37086
37087 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
37088 segments when their filesz is zero (grub_file_read() interprets
81a06771 37089 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 37090 Use `lowest_segment' rather than 0 for calculating the current
37091 segment load address.
37092
40da438f 370932008-09-08 Robert Millan <rmh@aybabtu.com>
37094
37095 * util/hostdisk.c (open_device): Replace a grub_util_info() call
37096 with grub_dprintf("hostdisk", ...), as it was so verbose that it
37097 clobbered useful information.
37098
ddbf5556 370992008-09-08 Robert Millan <rmh@aybabtu.com>
37100
37101 * include/grub/util/biosdisk.h: Move to ...
37102 * include/grub/util/hostdisk.h: ... here. Update all users.
37103 * util/biosdisk.c: Move to ...
37104 * util/hostdisk.c: ... here. Update all users.
37105
783d0f48 371062008-09-07 Robert Millan <rmh@aybabtu.com>
37107
37108 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
37109 variables.
37110 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
37111 and length can be stored directly in the `mbi->mmap_addr' and
37112 `mbi->mmap_length' struct fields.
37113
548e2ea5 371142008-09-07 Robert Millan <rmh@aybabtu.com>
37115
37116 * conf/i386.rmk: New file. Provides declaration for building
37117 `cpuid.mod'.
37118 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
37119 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
37120 variables.
37121 Include `conf/i386.mk'.
37122 * conf/i386-efi.rmk: Likewise.
37123 * conf/x86_64-efi.rmk: Likewise.
37124 * conf/i386-coreboot.rmk: Likewise.
37125 * conf/i386-ieee1275.rmk: Likewise.
37126
0ea85a37 371272008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
37128
37129 Based on patch created by Colin D Bennett <colin@gibibit.com>.
37130 Adds optimization support for BGR based modes.
37131
37132 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
37133 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
37134 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
37135 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
37136 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
37137 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
37138 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
37139 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
37140 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
37141 (grub_video_i386_vbeblit_index_index): Likewise.
37142 (grub_video_i386_vbeblit_replace_directN): Added.
37143 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
37144 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
37145 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
37146 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
37147 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
37148 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 37149 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 37150 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
37151 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
37152 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
37153 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
37154 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
37155 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
37156
37157 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
37158 (grub_video_i386_vbefill_R8G8B8): Likewise.
37159 (grub_video_i386_vbefill_index): Likewise.
37160 (grub_video_i386_vbefill_direct32): Added.
37161 (grub_video_i386_vbefill_direct24): Likewise.
37162 (grub_video_i386_vbefill_direct16): Likewise.
37163 (grub_video_i386_vbefill_direct8): Likewise.
37164
81a06771 37165 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 37166 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
37167 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
37168 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
37169 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
37170 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 37171
0ea85a37 37172 * video/video.c (grub_video_get_blit_format): Updated to use new
37173 blit formats. Added handling for 16 bit color modes.
81a06771 37174
37175 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 37176 fillers.
37177 (common_blitter): Updated to use new blitters.
37178
37179 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
37180 Removed.
37181 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
37182 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
37183 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
37184 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
37185 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
37186 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
37187 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
37188 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
37189 (grub_video_i386_vbeblit_index_index): Likewise.
37190 (grub_video_i386_vbeblit_replace_directN): Added.
37191 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
37192 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
37193 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
37194 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
37195 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
37196 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
37197 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
37198 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
37199 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
37200 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
37201 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
37202 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
37203 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 37204
0ea85a37 37205 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
37206 (grub_video_i386_vbefill_R8G8B8): Likewise.
37207 (grub_video_i386_vbefill_index): Likewise.
37208 (grub_video_i386_vbefill_direct32): Added.
37209 (grub_video_i386_vbefill_direct24): Likewise.
37210 (grub_video_i386_vbefill_direct16): Likewise.
37211 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 37212
0ea85a37 37213 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
37214 types.
81a06771 37215
0ea85a37 37216 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
37217 types.
81a06771 37218
0ea85a37 37219 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
37220 blitter types.
81a06771 37221
0ea85a37 37222 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
37223 types.
37224
e8a83df6 372252008-09-06 Felix Zielcke <fzielcke@z-51.de>
37226
37227 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
37228 RAID level 1.
37229
6bcd8ee5 372302008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 37231
6bcd8ee5 37232 * fs/iso9660.c (grub_iso9660_date): New structure.
37233 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
37234 (grub_iso9660_uuid): New function.
c375ae58 37235
59261157 372362008-09-05 Bean <bean123ch@gmail.com>
37237
37238 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
37239
37240 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
37241 insensitive bit for names in Win32 and Win32 & DOS namespace.
37242
37243 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
37244
37245 * include/grub/types.h (LONG_MAX): Likewise.
37246
58b6645a 372472008-09-04 Felix Zielcke <fzielcke@z-51.de>
37248
4ee55921 37249 * util/getroot.c: Include <config.h>.
37250 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
37251 add support for /dev/md/N devices and handle LVM double dash escaping.
37252
372532008-09-04 Felix Zielcke <fzielcke@z-51.de>
37254
37255 * config.guess: Update to latest version from config git.
37256 * config.sub: Likewise.
58b6645a 37257
9124f65d 372582008-09-03 Robert Millan <rmh@aybabtu.com>
37259
37260 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
37261 `disk->total_sectors'.
37262
81a06771 372632008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 37264
37265 * include/grub/normal.h: Fixed incorrect comment for
37266 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
37267
81a06771 372682008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 37269
37270 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
37271 values with defines.
37272
37273 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
37274 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
37275 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
37276 (GRUB_VBE_MODEATTR_COLOR): Likewise.
37277 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
37278 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
37279 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
37280 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
37281 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
37282 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
37283 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
37284 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
37285 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
37286 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
37287 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
37288 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
37289 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
37290 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
37291 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
37292
93d5cbf8 372932008-08-31 Robert Millan <rmh@aybabtu.com>
37294
37295 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
37296 declaration.
37297 (grub_multiboot): Fix a few warnings.
37298
21751d50 372992008-08-31 Robert Millan <rmh@aybabtu.com>
37300
37301 * loader/i386/pc/multiboot.c: Update comment not to say that
37302 boot_device support is unimplemented.
37303
e27a75c5 373042008-08-31 Robert Millan <rmh@aybabtu.com>
37305
37306 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
37307 or memory map support are unimplemented.
37308
81a06771 373092008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 37310
37311 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
37312
81a06771 373132008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 37314
37315 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
37316 total video memory in 'vbeinfo' output; show color format details for
37317 each video mode.
37318
7c5d8d95 373192008-08-30 Pavel Roskin <proski@gnu.org>
37320
37321 * util/genmoddep.c: Remove for real this time.
37322 * DISTLIST: Remove util/genmoddep.c.
37323
4cebd25a 373242008-08-30 Robert Millan <rmh@aybabtu.com>
37325
37326 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
37327 as required by Multiboot spec (it was already 4-byte aligned, but
37328 only by chance).
37329
b497a269 373302008-08-29 Pavel Roskin <proski@gnu.org>
37331
e3925185 37332 * kern/powerpc/ieee1275/crt0.S: Rename to ...
37333 * kern/powerpc/ieee1275/startup.S: ... this.
37334 * conf/powerpc-ieee1275.rmk: Adjust for the above.
37335 * DISTLIST: Likewise.
37336
b497a269 37337 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
37338 grub/cpu/kernel.h. Add start label for consistency with other
37339 platforms. Add grub_prefix immediately after start. Add jump
37340 to the code after grub_prefix.
37341 * include/grub/powerpc/kernel.h: Provide valid values for
37342 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
37343
6e5a42fe 373442008-08-29 Bean <bean123ch@gmail.com>
37345
37346 * configure.ac: Change host_os to cygwin for mingw.
37347 (asprintf): New check for function.
37348
37349 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
37350 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
37351
37352 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 37353 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 37354 sync, sleep and grub_util_get_disk_size for mingw.
37355
37356 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
37357 to get size in mingw.
37358 (open_device): Use flag O_BINARY if it's defined.
37359 (find_root_device): Add dummy code for mingw.
37360
37361 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
37362 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
37363 (get_scsi_disk_name): Return 0 for mingw.
37364
37365 * util/hostfs.c: #include <grub/util/misc.h>.
37366 (grub_hostfs_open): Use "rb" flag to open file, use
37367 grub_util_get_disk_size to get disk size for mingw.
37368
37369 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
37370 (asprintf): New function if HAVE_ASPRINTF is not set.
37371 (sync): New function for mingw.
37372 (sleep): Likewise.
37373 (grub_util_get_disk_size): Likewise.
37374
ab3f2673 373752008-08-28 Pavel Roskin <proski@gnu.org>
37376
37377 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
37378 kern/time.c.
37379
1c282483 373802008-08-28 Robert Millan <rmh@aybabtu.com>
37381
37382 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
37383
678e849c 373842008-08-28 Robert Millan <rmh@aybabtu.com>
37385
37386 Change find_grub_drive() syntax so it doesn't prevent it from
37387 detecting NULL names as errors.
37388
37389 * util/biosdisk.c (find_grub_drive): Move free slot search code
37390 from here ...
37391 (find_free_slot): ... to here.
37392 (read_device_map): Use find_free_slot() to search for free slots.
37393
965c75ca 373942008-08-27 Marco Gerards <marco@gnu.org>
37395
37396 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
37397 (scsi_mod_SOURCES): New variable.
37398 (scsi_mod_CFLAGS): Likewise
37399 (scsi_mod_LDFLAGS): Likewise.
37400
37401 * disk/scsi.c: New file.
37402
37403 * include/grub/scsi.h: Likewise.
37404
37405 * include/grub/scsicmd.h: Likewise.
37406
37407 * disk/ata.c: Include <grub/scsi.h>.
37408 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
37409 instead.
37410 (grub_ata_iterate): Skip ATAPI devices.
37411 (grub_ata_open): Only handle ATAPI devices.
37412 (struct grub_atapi_read): Removed.
37413 (grub_atapi_readsector): Likewise.
37414 (grub_ata_read): No longer handle ATAPI devices.
37415 (grub_ata_write): Likewise.
37416 (grub_atapi_iterate): New function.
37417 (grub_atapi_read): Likewise.
37418 (grub_atapi_write): Likewise.
37419 (grub_atapi_open): Likewise.
37420 (grub_atapi_close): Likewise.
37421 (grub_atapi_dev): New variable.
37422 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
37423 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
37424
37425 * include/grub/disk.h (enum grub_disk_dev_id): Add
37426 `GRUB_DISK_DEVICE_SCSI_ID'.
37427
c07ae501 374282008-08-26 Robert Millan <rmh@aybabtu.com>
37429
37430 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
37431 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
37432 descriptive.
37433
5ed20adc 374342008-08-23 Bean <bean123ch@gmail.com>
37435
37436 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
37437 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
37438 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
37439 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
37440 dm_nv.mod.
37441 (raid5rec_mod_SOURCES): New macro.
37442 (raid5rec_mod_CFLAGS): Likewise.
37443 (raid5rec_mod_LDFLAGS): Likewise.
37444 (raid6rec_mod_SOURCES): Likewise.
37445 (raid6rec_mod_CFLAGS): Likewise.
37446 (raid6rec_mod_LDFLAGS): Likewise.
37447 (mdraid_mod_SOURCES): Likewise.
37448 (mdraid_mod_CFLAGS): Likewise.
37449 (mdraid_mod_LDFLAGS): Likewise.
37450 (dm_nv_mod_SOURCES): Likewise.
37451 (dm_nv_mod_CFLAGS): Likewise.
37452 (dm_nv_mod_LDFLAGS): Likewise.
37453
37454 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
37455 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
37456 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
37457
37458 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
37459 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
37460
37461 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37462
37463 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37464
37465 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37466
37467 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37468
37469 * disk/raid5_recover.c: New file.
37470
37471 * disk/raid6_recover.c: Likewise.
37472
37473 * disk/mdraid_linux.c: Likewise.
37474
37475 * disk/dmraid_nvidia.c: Likewise.
37476
37477 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
37478 ULONG_MAX.
37479
37480 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
37481 calculate the size of raid device.
37482 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
37483 different layout of raid5.
37484 (grub_raid_scan_device): Remove code specific to mdraid.
37485 (grub_raid_list): New variable.
37486 (free_array): New function.
37487 (grub_raid_register): Likewise.
37488 (grub_raid_unregister): Likewise.
37489 (grub_raid_rescan): Likewise.
37490 (GRUB_MOD_INIT): Don't iterate device here.
37491 (GRUB_MOD_FINI): Use free_array to release resource.
37492
37493 * include/grub/raid.h: Remove macro and structure specific to mdraid.
37494 (grub_raid5_recover_func_t): New function variable type.
37495 (grub_raid6_recover_func_t): Likewise.
37496 (grub_raid5_recover_func): New variable.
37497 (grub_raid6_recover_func): Likewise.
37498 (grub_raid_register): New function.
37499 (grub_raid_unregister): Likewise.
37500 (grub_raid_rescan): Likewise.
37501 (grub_raid_block_xor): Likewise.
37502
37503 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
37504 (CMD_CRC): New macro.
37505 (part): Removed.
37506 (read_file): Handle device as well as file.
37507 (cmd_crc): New function.
37508 (fstest): Handle multiple disks.
37509 (options): Remove part, raw and long, add root and diskcount.
37510 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 37511 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 37512 add handling for the new options, support multiple disks.
37513
37514 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
37515
29c18915 375162008-08-23 Bean <bean123ch@gmail.com>
37517
37518 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
37519
37520 * genfslist.sh: Ignore kernel.mod.
37521
37522 * genpartmaplist.sh: Likewise.
37523
8415f261 375242008-08-23 Robert Millan <rmh@aybabtu.com>
37525
37526 * util/getroot.c (find_root_device): Skip anything that starts with
37527 a dot, not just directories. This avoids things like /dev/.tmp.md0.
37528
d5a7dc5b 375292008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 37530
d5a7dc5b 37531 * util/update-grub.in (GRUB_GFXMODE): Export variable.
37532 * util/grub.d/00_header.in: Allow the administrator to change default
37533 gfxmode via ${GRUB_GFXMODE}.
37534
380cfbb4 375352008-08-21 Felix Zielcke <fzielcke@z-51.de>
37536
37537 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
37538
c9baafe7 375392008-08-21 Robert Millan <rmh@aybabtu.com>
37540
37541 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
37542 loader.
37543 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
37544 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
37545
e290bef2 375462008-08-20 Carles Pina i Estany <carles@pina.cat>
37547
37548 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
37549 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
37550
f9dbfc96 375512008-08-19 Robert Millan <rmh@aybabtu.com>
37552
37553 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
37554 (struct grub_virtual_screen): Remove `cursor_color'.
37555 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
37556 initialization.
37557 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
37558
dd6bd6ab 375592008-08-18 Robert Millan <rmh@aybabtu.com>
37560
37561 Unify (identical) linux_normal.c files.
37562 * loader/i386/efi/linux_normal.c: Move from here ...
37563 * loader/linux_normal.c: ... to here. Update all users.
37564 * loader/i386/pc/linux_normal.c: Delete. Update all users.
37565 * loader/i386/ieee1275/linux_normal.c: Likewise.
37566
7f42f83e 375672008-08-18 Robert Millan <rmh@aybabtu.com>
37568
37569 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
37570 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
37571 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
37572 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
37573 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
37574 New macros.
37575 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
37576 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
37577 (GRUB_LINUX_CL_END_OFFSET): ... to here.
37578 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
37579 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
37580 (GRUB_EFI_CL_END_OFFSET): Rename to ...
37581 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
37582 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
37583 Initialize `params->video_cursor_x' and `params->video_cursor_y'
37584 portably using grub_getxy().
37585 Replace `-EFI' with `-bzImage' in boot message.
37586
38487ddb 375872008-08-17 Robert Millan <rmh@aybabtu.com>
37588
37589 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
37590
deceb3ec 375912008-08-17 Robert Millan <rmh@aybabtu.com>
37592
37593 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
37594
37595 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
37596 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
37597 (grub_machine_mmap_iterate): New function declaration.
37598 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
37599 structure.
37600 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
37601 macros.
37602
37603 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
37604 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
37605 Move e820 parsing from here ...
37606 * kern/i386/pc/mmap.c: New file.
37607 (grub_machine_mmap_iterate): ... to here.
37608
37609 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
37610 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
37611 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
37612 (grub_available_iterate): Redeclare to return `void', and redeclare
37613 its hook to use grub_uint64_t as addr and size parameters, and rename
37614 to ...
37615 (grub_machine_mmap_iterate): ... this. Update all users.
37616
37617 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
37618 to make it more readable. Rename to ...
37619 (grub_machine_mmap_iterate): ... this.
37620
37621 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
37622 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
37623 (grub_multiboot): Allocate an extra region after the payload, and fill
37624 it with a Multiboot memory map. Adjust a.out loader to calculate size
37625 with the extra space.
37626 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
37627 with the extra space.
37628
f8aa0f43 376292008-08-17 Carles Pina i Estany <carles@pina.cat>
37630
9807deb9 37631 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 37632
605f5bb6 376332008-08-17 Felix Zielcke <fzielcke@z-51.de>
37634
37635 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
37636 mdate-sh to the list `find' searches for.
37637 * DISTLIST: Regenerated.
37638
210db6c6 376392008-08-16 Felix Zielcke <fzielcke@z-51.de>
37640
37641 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
37642 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 37643 genmoddep.awk, gensymlist.sh.in.
37644 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 37645 * DISTLIST: Regenerated.
48cdbfd4 37646 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 37647
1082b929 376482008-08-16 Robert Millan <rmh@aybabtu.com>
37649
37650 * disk/raid.c (grub_raid_init): Handle/report errors set by
37651 grub_device_iterate().
37652 * disk/lvm.c (grub_lvm_init): Likewise.
37653
42ce5170 376542008-08-15 Bean <bean123ch@gmail.com>
37655
37656 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37657 and datehook.mod.
37658 (datetime_mod_SOURCES): New macro.
37659 (datetime_mod_CFLAGS): Likewise.
37660 (datetime_mod_LDFLAGS): Likewise.
37661 (date_mod_SOURCES): Likewise.
37662 (date_mod_CFLAGS): Likewise.
37663 (date_mod_LDFLAGS): Likewise.
37664 (datehook_mod_SOURCES): Likewise.
37665 (datehook_mod_CFLAGS): Likewise.
37666 (datehook_mod_LDFLAGS): Likewise.
37667
37668 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37669 and datehook.mod.
37670 (datetime_mod_SOURCES): New macro.
37671 (datetime_mod_CFLAGS): Likewise.
37672 (datetime_mod_LDFLAGS): Likewise.
37673 (date_mod_SOURCES): Likewise.
37674 (date_mod_CFLAGS): Likewise.
37675 (date_mod_LDFLAGS): Likewise.
37676 (datehook_mod_SOURCES): Likewise.
37677 (datehook_mod_CFLAGS): Likewise.
37678 (datehook_mod_LDFLAGS): Likewise.
37679
37680 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37681 and datehook.mod.
37682 (datetime_mod_SOURCES): New macro.
37683 (datetime_mod_CFLAGS): Likewise.
37684 (datetime_mod_LDFLAGS): Likewise.
37685 (date_mod_SOURCES): Likewise.
37686 (date_mod_CFLAGS): Likewise.
37687 (date_mod_LDFLAGS): Likewise.
37688 (datehook_mod_SOURCES): Likewise.
37689 (datehook_mod_CFLAGS): Likewise.
37690 (datehook_mod_LDFLAGS): Likewise.
37691
37692 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37693 and datehook.mod.
37694 (datetime_mod_SOURCES): New macro.
37695 (datetime_mod_CFLAGS): Likewise.
37696 (datetime_mod_LDFLAGS): Likewise.
37697 (date_mod_SOURCES): Likewise.
37698 (date_mod_CFLAGS): Likewise.
37699 (date_mod_LDFLAGS): Likewise.
37700 (datehook_mod_SOURCES): Likewise.
37701 (datehook_mod_CFLAGS): Likewise.
37702 (datehook_mod_LDFLAGS): Likewise.
37703
37704 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37705 and datehook.mod.
37706 (datetime_mod_SOURCES): New macro.
37707 (datetime_mod_CFLAGS): Likewise.
37708 (datetime_mod_LDFLAGS): Likewise.
37709 (date_mod_SOURCES): Likewise.
37710 (date_mod_CFLAGS): Likewise.
37711 (date_mod_LDFLAGS): Likewise.
37712 (datehook_mod_SOURCES): Likewise.
37713 (datehook_mod_CFLAGS): Likewise.
37714 (datehook_mod_LDFLAGS): Likewise.
37715
37716 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
37717
37718 * commands/date.c: New file.
37719
37720 * hook/datehook.c: Likewise.
37721
37722 * include/grub/lib/datetime.h: Likewise.
37723
37724 * include/grub/i386/cmos.h: Likewise.
37725
37726 * lib/datetime.c: Likewise.
37727
37728 * lib/i386/datetime.c: Likewise.
37729
37730 * lib/efi/datetime.c: Likewise.
37731
0e9242da 377322008-08-14 Robert Millan <rmh@aybabtu.com>
37733
37734 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
37735 (grub_mkelfimage_SOURCES): New variable.
37736 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
37737
37738 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
37739 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
37740 * conf/powerpc-ieee1275.rmk: Likewise.
37741 * conf/i386-ieee1275.rmk: Likewise.
37742
37743 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
37744 * kern/i386/coreboot/init.c: Likewise.
37745
37746 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
37747 with `<grub/cpu/kernel.h>'.
37748 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
37749 to ...
37750 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
37751 * kern/i386/coreboot/startup.S: Likewise.
37752
37753 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
37754 (GRUB_MOD_GAP): Remove.
37755 * include/grub/powerpc/kernel.h: New file.
37756 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
37757 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
37758 * include/grub/i386/kernel.h: New file.
37759 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
37760 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
37761 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
37762
37763 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
37764 `grub-mkelfimage'.
37765 Use --directory when invoking grub_mkimage.
37766
37767 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
37768 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
37769 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
37770 and GRUB_KERNEL_CPU_PREFIX.
37771
b86408f8 377722008-08-14 Felix Zielcke <fzielcke@z-51.de>
37773
d5e619ca 37774 * include/grub/err.h (grub_err_printf): New function prototype.
37775 * util/misc.c (grub_err_printf): New function.
37776 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
37777 grub_printf.
37778 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 37779
7161f0e0 377802008-08-13 Robert Millan <rmh@aybabtu.com>
37781
37782 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
37783
a1967522 377842008-08-13 Robert Millan <rmh@aybabtu.com>
37785
37786 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
37787 boot entry.
37788
371458b5 377892008-08-12 Robert Millan <rmh@aybabtu.com>
37790
37791 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
37792 of the relocation code from here ...
37793 (grub_multiboot): ... to here.
37794 (forward_relocator, backward_relocator): Move from here ...
37795 * kern/i386/loader.S (grub_multiboot_forward_relocator)
37796 (grub_multiboot_backward_relocator): ... to here.
37797 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
37798 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
37799 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
37800 (grub_multiboot_forward_relocator_end)
37801 (grub_multiboot_backward_relocator)
37802 (grub_multiboot_backward_relocator_end): New variables.
37803
05f9452b 378042008-08-12 Bean <bean123ch@gmail.com>
37805
37806 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
37807
20024ab0 378082008-08-11 Robert Millan <rmh@aybabtu.com>
37809
37810 * kern/i386/linuxbios/startup.S: Move from here ...
37811 * kern/i386/coreboot/startup.S: ... to here.
37812
37813 * kern/i386/linuxbios/init.c: Move from here ...
37814 * kern/i386/coreboot/init.c: ... to here.
37815
37816 * kern/i386/linuxbios/table.c: Move from here ...
37817 * kern/i386/coreboot/mmap.c: ... to here.
37818
37819 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
37820
e352e9cd 378212008-08-11 Robert Millan <rmh@aybabtu.com>
37822
37823 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
37824 errors. Leave it to the upper layer to handle them.
37825
2d05bc6a 378262008-08-09 Christian Franke <franke@computer.org>
37827
37828 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
37829 * conf/common.rmk: Install `grub-pe2elf' only if requested.
37830 Install `grub.d/10_windows' only on Cygwin.
37831 * configure.ac: Add subst of `target_os'.
37832 Check `target_os' also before setting TARGET_OBJ2ELF.
37833 Add `--enable-grub-pe2elf'.
37834
042bd419 378352008-08-08 Robert Millan <rmh@aybabtu.com>
37836
37837 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
37838 (grub_last_time): Change type to grub_uint64_t.
37839 (grub_disk_open): Migrate code from to using grub_get_time_ms().
37840 (grub_disk_close): Likewise.
37841
37842 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
37843 (run_menu): Migrate code from to using grub_get_time_ms().
37844
37845 * util/misc.c (grub_get_time_ms): New function.
37846
7f280db5 378472008-08-08 Marco Gerards <marco@gnu.org>
37848
37849 * disk/ata.c (grub_ata_regget): Change return type to
37850 `grub_uint8_t'.
37851 (grub_ata_regget2): Likewise.
37852 (grub_ata_wait_status): New function.
37853 (grub_ata_wait_busy): Removed function, updated all users to use
37854 `grub_ata_wait_status'.
37855 (grub_ata_wait_drq): Likewise.
37856 (grub_ata_cmd): New function.
37857 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
37858 error handling.
37859 (grub_ata_pio_write): Add error handling.
37860 (grub_atapi_identify): Likewise.
37861 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
37862 handling.
37863 (grub_ata_identify): Use `grub_ata_cmd' and improve error
37864 handling. Actually use the detected registers. Reorder the
37865 detection logic such that it is easier to read.
37866 (grub_ata_pciinit): Do not assign the same ID to each controller.
37867 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
37868 handling.
37869 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
37870
37871 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
37872
1fbc5e66 378732008-08-08 Marco Gerards <marco@gnu.org>
37874
37875 * NEWS: Update.
37876
819ce6c0 378772008-08-07 Bean <bean123ch@gmail.com>
37878
37879 * include/grub/x86_64/pci.h: New file.
37880
5c41d44d 378812008-08-07 Christian Franke <franke@computer.org>
37882
37883 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
37884 (TIMER2_GATE): Likewise.
37885 (grub_pit_wait): Add enable/disable of the timer2 gate
37886 bit of port 0x61. This fixes a possible infinite loop.
37887
5ebc275d 378882008-08-07 Bean <bean123ch@gmail.com>
37889
37890 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
37891 kern/i386/tsc.c and kern/i386/pit.c.
37892
37893 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
37894 x86_64 platform.
37895
37896 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
37897 <grub/i386/tsc.h>.
37898
37899 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
37900
e383b3d0 379012008-08-07 Bean <bean123ch@gmail.com>
37902
37903 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
37904
37905 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
37906
37907 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
37908 multiple inclusion. Add #include <grub/types.h>.
37909
1cbb58ac 379102008-08-06 Christian Franke <franke@computer.org>
37911
37912 * conf/common.rmk: Build and install `10_windows'.
37913 * util/grub.d/10_windows.in: New script.
37914
337f5a1e 379152008-08-06 Pavel Roskin <proski@gnu.org>
37916
37917 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
37918
057bc4ac 379192008-08-06 Robert Millan <rmh@aybabtu.com>
37920
37921 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
37922 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
37923
2b99f123 379242008-08-06 Bean <bean123ch@gmail.com>
37925
37926 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
37927 (grub_pxefs_fs_int): Remove dummy definition.
37928 (grub_pxefs_open): Use data->block_size to store the current block
37929 size setting.
37930 (grub_pxefs_read): Use block size stored in data->block_size. As the
37931 value of grub_pxe_blksize can be changed after the file is opened.
37932
9f0234cb 379332008-08-06 Bean <bean123ch@gmail.com>
37934
37935 * fs/i386/pc/pxe.c (curr_file): new variable.
37936 (grub_pxefs_open): Simply the handling of pxe file system. Don't
37937 require the dummy internal file system anymore.
37938 (grub_pxefs_read): Removed.
37939 (grub_pxefs_close): Likewise.
37940 (grub_pxefs_fs_int): Likewise.
37941 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
37942 connection when we switch file.
37943 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
37944
a55d42e0 379452008-08-06 Robert Millan <rmh@aybabtu.com>
37946
37947 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
37948 `halt.mod'.
37949 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
37950 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
37951
37952 * kern/i386/halt.c: New file.
37953 * kern/i386/reboot.c: Likewise.
37954 * include/grub/i386/reboot.h: Likewise.
37955 * include/grub/i386/halt.h: Likewise.
37956
37957 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
37958 Include `<grub/cpu/halt.h>'.
37959 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
37960 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
37961
37962 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
37963 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
37964 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
37965 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
37966 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
37967 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
37968 from here ...
37969 * include/grub/i386/at_keyboard.h: ... to here.
37970
24371d26 379712008-08-05 Robert Millan <rmh@aybabtu.com>
37972
37973 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
37974 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
37975 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
37976 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
37977 `kern/generic/millisleep.c'.
37978
37979 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
37980 instead of grub_get_rtc().
37981 (grub_tsc_init): Initialize `tsc_boot_time'.
37982
37983 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
37984 (grub_machine_init): Use grub_tsc_init() rather than
37985 installing an RTC-based handler via grub_install_get_time_ms().
37986
37987 * kern/i386/pit.c: New file.
37988 * include/grub/i386/pit.h: Likewise.
37989
9e7007b3 379902008-08-05 Bean <bean123ch@gmail.com>
37991
37992 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
37993
37994 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
37995 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
37996 (pxe_mod_SOURCES): New macro.
37997 (pxe_mod_CFLAGS): Likewise.
37998 (pxe_mod_LDFLAGS): Likewise.
37999 (pxecmd_mod_SOURCES): Likewise.
38000 (pxecmd_mod_CFLAGS): Likewise.
38001 (pxecmd_mod_LDFLAGS): Likewise.
38002
38003 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
38004 (grub_pxe_call): Likewise.
38005
38006 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
38007
38008 * commands/i386/pc/pxecmd.c: New file.
38009
9f0234cb 38010 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 38011
38012 * include/grub/i386/pc/pxe.h: Likewise.
38013
6977d49f 380142008-08-05 Bean <bean123ch@gmail.com>
38015
38016 * util/console.c (grub_console_cur_color): New variable.
38017 (grub_console_standard_color): Likewise.
38018 (grub_console_normal_color): Likewise.
38019 (grub_console_highlight_color): Likewise.
38020 (color_map): Likewise.
38021 (use_color): Likewise.
38022 (NUM_COLORS): New macro.
38023 (grub_ncurses_setcolorstate): Handle color properly.
38024 (grub_ncurses_setcolor): Don't change color here, just remember the
38025 settings, color will be set in grub_ncurses_setcolorstate.
38026 (grub_ncurses_getcolor): New function.
38027 (grub_ncurses_init): Initialize color pairs.
38028 (grub_ncurses_term): New member grub_ncurses_getcolor.
38029
9c2ff3ee 380302008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 38031
9c2ff3ee 38032 High resolution timer support. Implemented for x86 CPUs using TSC.
38033 Extracted generic grub_millisleep() so it's linked in only as needed.
38034 This requires a Pentium compatible CPU; if the RDTSC instruction is
38035 not supported, then it falls back on the generic grub_get_time_ms()
38036 implementation that uses the machine's RTC.
38037
38038 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
38039 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
38040 `kern/generic/millisleep.c'.
38041
38042 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
38043 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
38044
38045 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
38046 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
38047
38048 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
38049
38050 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38051 `kern/generic/millisleep.c'.
38052
38053 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
38054
38055 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
38056
38057 * kern/generic/rtc_get_time_ms.c: New file.
38058
38059 * kern/generic/millisleep.c: New file.
337f5a1e 38060
9c2ff3ee 38061 * kern/misc.c: Don't include
38062 <kern/time.h> anymore.
38063 (grub_millisleep_generic): Removed.
38064
38065 * commands/sleep.c (grub_interruptible_millisleep): Uses
38066 grub_get_time_ms() instead of grub_get_rtc().
38067
38068 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
38069 function.
38070 (grub_cpu_is_cpuid_supported): New inline function.
38071 (grub_cpu_is_tsc_supported): New inline function.
38072 (grub_tsc_init): New function prototype.
38073 (grub_tsc_get_time_ms): New function prototype.
38074
38075 * kern/i386/tsc.c (grub_get_time_ms): New file.
38076
38077 * include/grub/time.h: Include <grub/types.h.
38078 (grub_millisleep_generic): Removed.
38079 (grub_get_time_ms): New prototype.
38080 (grub_install_get_time_ms): New prototype.
38081 (grub_rtc_get_time_ms): New prototype.
38082
38083 * kern/time.c (grub_get_time_ms): New function.
38084 (grub_install_get_time_ms): New function.
38085
38086 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
38087 <grub/time.h> anymore.
38088 (grub_millisleep): Removed.
38089 (grub_machine_init): Call grub_tsc_init.
38090
38091 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
38092 get_time_ms() implementation.
38093
38094 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
38095 (ieee1275_get_time_ms): New function.
38096 (grub_machine_init): Install get_time_ms() implementation.
38097
38098 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
38099 (grub_machine_init): Call grub_tsc_init().
38100 (grub_millisleep): Removed.
bf06a93f 38101
9c2ff3ee 38102 * kern/ieee1275/init.c (grub_millisleep): Removed.
38103 (grub_machine_init): Install ieee1275_get_time_ms()
38104 implementation.
38105 (ieee1275_get_time_ms): New function.
38106 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
38107 real work.
38108
9ec92aaf 381092008-08-05 Marco Gerards <marco@gnu.org>
38110
38111 * disk/ata.c: Include <grub/pci.h>.
38112 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
38113 (grub_ata_initialize): Rewritten.
38114 (grub_ata_device_initialize): New function.
38115
8d23f507 381162008-08-04 Pavel Roskin <proski@gnu.org>
38117
38118 * kern/main.c: Include grub/mm.h.
38119
5e15ee3d 381202008-08-04 Robert Millan <rmh@aybabtu.com>
38121
38122 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
38123 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
38124 corruption problem).
38125
a9053f8f 381262008-08-04 Robert Millan <rmh@aybabtu.com>
38127
38128 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
38129 warnings introduced in my last commit.
38130
dd19c7d7 381312008-08-03 Robert Millan <rmh@aybabtu.com>
38132
38133 Make PCI available on all i386 architectures.
38134
38135 * include/grub/i386/pc/pci.h: Move from here ...
38136 * include/grub/i386/pci.h: ... to here.
38137
38138 * include/grub/i386/pc/pci.h: Remove.
38139 * include/grub/i386/efi/pci.h: Remove.
38140 * include/grub/x86_64/efi/pci.h: Remove.
38141
38142 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
38143 `<grub/cpu/pci.h>'.
38144
38145 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
38146 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
38147 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
38148
38149 * conf/i386-ieee1275.rmk: Likewise.
38150
e14a6184 381512008-08-03 Robert Millan <rmh@aybabtu.com>
38152
38153 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
38154 (grub_console_setcursor): Make it possible to set cursor off.
38155
52768e37 381562008-08-03 Robert Millan <rmh@aybabtu.com>
38157
38158 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
38159 of modules instead of assuming which platform provides what.
38160 * util/update-grub.in: Likewise.
38161
2d52f57f 381622008-08-03 Robert Millan <rmh@aybabtu.com>
38163
38164 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
38165 instead of `grub_install_dos_part' to determine whether a drive needs
38166 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 38167 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 38168
2a5cd121 381692008-08-02 Robert Millan <rmh@aybabtu.com>
38170
38171 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
38172
93808428 381732008-08-02 Robert Millan <rmh@aybabtu.com>
38174
38175 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
38176 of informational grub_dprintf() calls.
38177
3bd0a12a 381782008-08-02 Robert Millan <rmh@aybabtu.com>
38179
38180 * disk/memdisk.c (memdisk_size): Don't initialize.
38181 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
38182
38183 * include/grub/i386/pc/kernel.h
38184 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
38185 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
38186 (grub_memdisk_image_size, grub_arch_memdisk_addr)
38187 (grub_arch_memdisk_size): Remove.
38188
38189 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
38190 field (was only used to transfer a constant). Add `type' field to
38191 support multiple module types.
38192 (grub_module_iterate): New function.
38193
38194 * kern/device.c (grub_device_open): Do not hide error messages
38195 when grub_disk_open() fails. Use grub_print_error() instead.
38196
38197 * kern/i386/pc/init.c (grub_arch_modules_addr)
38198 (grub_arch_memdisk_size): Remove functions.
38199 (grub_arch_modules_addr): Return the module address in high memory
38200 (now that it isn't copied anymore).
38201
38202 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
38203 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
38204 decompression routine (grub_total_module_size already includes that
38205 now). Don't copy modules back to low memory.
38206
38207 * kern/main.c: Include `<grub/mm.h>'.
38208 (grub_load_modules): Split out (and use) ...
38209 (grub_module_iterate): ... this function, which iterates through
38210 module objects and runs a hook.
38211 Comment out grub_mm_init_region() call, as it would cause non-ELF
38212 modules to be overwritten.
38213
38214 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
38215 the memdisk image in its own region, make it part of the module list.
38216 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
38217 (main): Parse --memdisk|-m option, and pass user-provided path as
38218 parameter to generate_image().
38219 (add_segments): Pass `memdisk_path' down to load_modules().
38220 (load_modules): Embed memdisk image in module section when requested.
38221 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
38222 `header.type' instead of `header.offset'.
38223
38224 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
38225 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
38226 (memdisk_mod_LDFLAGS): New variables.
38227 * conf/i386-coreboot.rmk: Likewise.
38228 * conf/i386-ieee1275.rmk: Likewise.
38229
a927cc73 382302008-08-02 Robert Millan <rmh@aybabtu.com>
38231
38232 * loader/i386/pc/multiboot.c (playground, forward_relocator)
38233 (backward_relocator): New variables. Used to allocate and relocate
38234 the payload, respectively.
38235 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 38236 address, install the appropriate relocator code in each bound of
a927cc73 38237 the payload, and set the entry point such that
38238 grub_multiboot_real_boot() will jump to one of them.
38239
38240 * kern/i386/loader.S (grub_multiboot_payload_size)
38241 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
38242 (grub_multiboot_payload_entry_offset): New variables.
38243 (grub_multiboot_real_boot): Set cpu context to what the relocator
38244 expects, and jump to the relocator instead of the payload.
38245
38246 * include/grub/i386/loader.h (grub_multiboot_payload_size)
38247 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
38248 (grub_multiboot_payload_entry_offset): Export.
38249
b15d8a0c 382502008-08-01 Bean <bean123ch@gmail.com>
38251
38252 * normal/menu_entry.c (editor_getline): Don't return the original
38253 string as result, as it will be released by lexer once it has done
38254 using it.
38255
cdfb3d22 382562008-08-01 Robert Millan <rmh@aybabtu.com>
38257
38258 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
38259 within menuentries, not before them.
38260 util/grub.d/10_hurd.in: Likewise.
38261
9175e93d 382622008-08-01 Bean <bean123ch@gmail.com>
38263
38264 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
38265 (bufio_mod_SOURCES): New macro.
38266 (bufio_mod_CFLAGS): Likewise.
38267 (bufio_mod_LDFLAGS): Likewise.
38268
38269 * include/grub/bufio.h: New file.
38270
38271 * io/bufio.c: Likewise.
38272
38273 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
38274 (grub_video_reader_png): Use grub_buffile_open to open file.
38275
38276 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
38277 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
38278
38279 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
38280 (grub_video_reader_tga): Use grub_buffile_open to open file.
38281
38282 * font/manager.c: Include <grub/bufio.h>.
38283 (add_font): Use grub_buffile_open to open file.
38284
3d8383e7 382852008-07-31 Robert Millan <rmh@aybabtu.com>
38286
38287 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
38288 ELF segments, use a macro for arbitrarily accessing any of them instead
38289 of preparing a pointer that allows access to one at a time.
38290 (grub_multiboot_load_elf64): Likewise.
38291
16e641b6 382922008-07-31 Bean <bean123ch@gmail.com>
38293
38294 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
38295 GRUB_KERNEL_MACHINE_DATA_END.
38296
59198b72 382972008-07-30 Robert Millan <rmh@aybabtu.com>
38298
38299 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
38300 Increase from 0x50 to 0x60.
38301 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
38302 use UUIDs to identify the root drive for them. If that's not
38303 possible, abort.
38304 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
38305 check, for cross-disk installs.
38306
ae88bca3 383072008-07-30 Robert Millan <rmh@aybabtu.com>
38308
38309 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
38310 is non-empty, use it to set the `prefix' environment variable instead
38311 of the usual approach.
38312 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
38313 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
38314 environment variable instead of dummy make_install_device().
38315
38316 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
38317 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 38318 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 38319
38320 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
38321 New variable reference.
38322 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
38323 New macro. Defines offset of `grub_prefix' within startup.S (relative
38324 to `start').
38325 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
38326 section within startup.S (relative to `start').
38327 * include/grub/i386/coreboot/kernel.h: Likewise.
38328
38329 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
38330 Overwrite grub_prefix with its contents, at the beginning of the
38331 first segment.
38332 (main): Understand -p|--prefix.
38333
14f41dd1 383342008-07-30 Robert Millan <rmh@aybabtu.com>
38335
38336 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
38337
4ca049a3 383382008-07-30 Robert Millan <rmh@aybabtu.com>
38339
38340 * term/i386/pc/vga_text.c (grub_console_cls): Use
38341 grub_console_gotoxy() to go back to beginning of the screen.
38342 Found by Patrick Georgi <patrick.georgi@coresystems.de>
38343
2921d337 383442008-07-29 Christian Franke <franke@computer.org>
38345
38346 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
38347 Add conversion of emulated mount points on Cygwin.
38348
b609876d 383492008-07-29 Christian Franke <franke@computer.org>
38350
38351 * util/update-grub.in: Add a check for admin
38352 group on Cygwin.
38353 Remove old `grub.cfg.new' before creation.
38354 Add `-f' to `mv' to handle the different filesystem
38355 semantics of Windows.
38356
e93e4679 383572008-07-29 Bean <bean123ch@gmail.com>
38358
38359 * normal/main.c (get_line): Fix buffer overflow bug.
38360
41694fd0 383612008-07-28 Robert Millan <rmh@aybabtu.com>
38362
38363 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
38364 (struct grub_apple_header): New struct. Describes the layout of
38365 the partmap header.
38366 (apple_partition_map_iterate): Check the header magic as well as the
38367 partition magic (which was already being checked).
38368
cfd0b4e6 383692008-07-28 Pavel Roskin <proski@gnu.org>
38370
38371 * genmk.rb: Add a warning to the beginning of the output that
38372 it's a generated file and should not be edited.
38373
93cce016 383742008-07-28 Robert Millan <rmh@aybabtu.com>
38375
38376 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
38377 with the same number are found, just use issue a warning with
38378 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 38379
cd1df915 383802008-07-27 Robert Millan <rmh@aybabtu.com>
38381
38382 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
38383 information.
38384
b70a8427 383852008-07-27 Bean <bean123ch@gmail.com>
38386
38387 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
38388 (grub_fat_find_dir): Ignore case when comparing filename.
38389
8f5e379f 383902008-07-27 Bean <bean123ch@gmail.com>
38391
38392 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
38393 smallino, as it's more descriptive, and i8count can be confused with
38394 the other field count.
38395 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
38396 inode type.
38397
a85cd5a0 383982008-07-27 Bean <bean123ch@gmail.com>
38399
38400 * commands/crc.c: New file.
38401
38402 * lib/crc.c: Likewise.
38403
38404 * include/grub/lib/crc.h: Likewise.
38405
38406 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
38407
38408 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
38409 (hexdump): Move this function to ...
38410
38411 * lib/hexdump.c: ... here.
38412
38413 * include/grub/hexdump.h: Renamed to ...
38414
38415 * include/grub/lib/hexdump.h: ... this.
38416
38417 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
38418
38419 * util/grub-editenv.c: Likewise.
38420
38421 * include/envblk.h: Renamed to ...
38422
38423 * include/lib/envblk.h: ... this.
38424
38425 * util/envblk.c: Renamed to ...
38426
38427 * lib/envblk.c: ... this.
38428
38429 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
38430 lib/hexdump.c.
38431 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
38432 (pkglib_MODULES): Add crc.mod.
38433 (hexdump_mod_SOURCES): Add lib/hexdump.c.
38434 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
38435 (crc_mod_SOURCES): New macro.
38436 (crc_mod_CFLAGS): Likewise.
38437 (crc_mod_LDFLAGS): Likewise.
38438
38439 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
38440
38441 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38442
38443 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38444
38445 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38446
38447 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38448
c298def0 384492008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 38450
38451 * commands/help.c: Include <grub/term.h>.
38452 (TERM_WIDTH): Removed. Updated all users.
38453
cc349fb3 384542008-07-27 Pavel Roskin <proski@gnu.org>
38455
38456 * util/getroot.c (find_root_device): Rephrase a comment to avoid
38457 spurious warnings about a comment within a comment.
38458
9051607e 384592008-07-25 Robert Millan <rmh@aybabtu.com>
38460
38461 * util/getroot.c (find_root_device): Skip devices that match
38462 /dev/dm-[0-9]. This lets the real device be found for any type of
38463 abstraction (LVM, EVMS, RAID..).
38464 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
38465 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
38466 device is found first, find_root_device() will now skip it.
38467
01453bfc 384682008-07-24 Pavel Roskin <proski@gnu.org>
38469
38470 * include/grub/types.h: Use __builtin_bswap32() and
38471 __builtin_bswap64() with gcc 4.3 and newer.
38472
6af9849f 384732008-07-24 Christian Franke <franke@computer.org>
38474
3a0fa256 38475 * util/i386/pc/grub-install.in: If `--debug' is specified,
38476 pass `--verbose' to grub-setup.
38477 Abort script if make_system_path_relative_to_its_root() fails.
38478
7810e747 384792008-07-24 Bean <bean123ch@gmail.com>
38480
38481 * configure.ac: Fixed a bug caused by the previous cygwin patch,
38482 variable `target_platform' should be `platform'.
38483
42290e17 384842008-07-24 Bean <bean123ch@gmail.com>
38485
51cc5193 38486 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 38487 (grub_png_init_fixed_block): New function.
38488 (grub_png_decode_image_data): Handle fixed huffman code compression.
38489
2a8a80e4 384902008-07-24 Bean <bean123ch@gmail.com>
38491
38492 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
38493 (grub_pe2elf_SOURCES): New macro.
38494 (CLEANFILES): Add grub-pe2elf.
38495
38496 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
38497 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
38498 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
38499 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
38500 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
38501 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
38502 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
38503 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
38504 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
38505 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
38506 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
38507 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
38508 (GRUB_PE32_DT_FUNCTION): Likewise.
38509 (GRUB_PE32_REL_I386_DIR32): Likewise.
38510 (GRUB_PE32_REL_I386_REL32): Likewise.
38511 (grub_pe32_symbol): New structure.
38512 (grub_pe32_reloc): Likewise.
38513
38514 * util/grub-pe2elf.c: New file.
38515
38516 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
38517 start symbol in non pc platform.
38518
38519 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
38520
38521 The following patches are from Christian Franke.
38522
38523 * include/grub/dl.h: Remove .previous, gas supports this only
38524 for ELF format.
38525
38526 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
38527 Remove .type, gas supports this only for ELF format.
38528
38529 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
38530 nullbytes in symbol table. This fixes an infinite loop if table is
38531 zero filled.
38532
38533 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
38534 TARGET_IMG_LDFLAGS and EXEEXT.
38535
38536 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
38537 TARGET_IMG_LDFLAGS_AC.
38538 (grub_CHECK_STACK_ARG_PROBE): New function.
38539
38540 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
38541
38542 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
38543
38544 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
38545 to set TARGET_IMG_LD* accordingly.
38546 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
38547 Add call to grub_CHECK_STACK_ARG_PROBE.
38548 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
38549
38550 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
38551
38552 * genmk.rb: Add EXEEXT to CLEANFILES.
38553
12ccdb75 385542008-07-23 Robert Millan <rmh@aybabtu.com>
38555
38556 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
38557 define the codes for arrows and lines used for the menu).
38558 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
38559 as well.
38560
38561 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
38562 fonts, because the latter are too slow.
38563
18eeaf04 385642008-07-21 Bean <bean123ch@gmail.com>
38565
38566 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
38567 a20. Run keyboard test last, as it will cause macbook to halt.
38568
b095e2ad 385692008-07-18 Pavel Roskin <proski@gnu.org>
38570
38571 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
38572 load foreign architecture modules correctly anyway. Keep
38573 support for loading host architecture modules, whether we
38574 compile them or not.
38575
737feb35 385762008-07-17 Pavel Roskin <proski@gnu.org>
38577
3f4ce737 38578 * configure.ac: Use -m32 or -m64 regardless of whether we had to
38579 change target_cpu. The compiler default can mismatch target_cpu
38580 in any case.
38581
4ad2d049 38582 * disk/efi/efidisk.c: Fix format warnings on x86_64.
38583 * kern/efi/efi.c: Likewise.
38584
f6130a12 38585 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
38586 target compiler is functional.
38587 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
38588 are set up.
38589
58393a2d 38590 * configure.ac: Default to efi platform for x86_64-apple. Allow
38591 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
38592 adjustments from the rest, only do them if target is not
38593 explicitly given. Merge other adjustments with the final sanity
38594 check. Remove an extraneous check for supported CPU. Be
38595 specific which CPU and which platform is not supported.
38596
737feb35 38597 * configure.ac: Default to pc platform for x86_64.
38598
546f966a 385992008-07-17 Robert Millan <rmh@aybabtu.com>
38600
38601 Partial LinuxBIOS -> Coreboot rename.
38602
38603 * conf/i386-linuxbios.rmk: Renamed to ...
38604 * conf/i386-coreboot.rmk: ... this.
38605 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
38606 * configure.ac: Accept "coreboot" as input platform (but maintain
38607 compatibility with "linuxbios").
38608 * include/grub/i386/linuxbios: Renamed to ...
38609 * include/grub/i386/coreboot: ... this.
38610
20011694 386112008-07-17 Bean <bean123ch@gmail.com>
38612
38613 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 38614 (appleldr_mod_SOURCE): New variable.
20011694 38615 (appleldr_mod_CFLAGS): Likewise.
38616 (appleldr_mod_LDFLAGS): Likewise.
38617 (pci_mod_SOURCES): Likewise.
38618 (pci_mod_CFLAGS): Likewise.
38619 (pci_mod_LDFLAGS): Likewise.
38620 (lspci_mod_SOURCES): Likewise.
38621 (lspci_mod_CFLAGS): Likewise.
38622 (lspci_mod_LDFLAGS): Likewise.
38623
38624 * conf/x86_64-efi.rmk: New file.
38625
38626 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
38627 macro.
38628 (grub_efidisk_write): Likewise.
38629
38630 * include/efi/api.h (efi_call_0): New macro.
38631 (efi_call_1): Likewise.
38632 (efi_call_2): Likewise.
38633 (efi_call_3): Likewise.
38634 (efi_call_4): Likewise.
38635 (efi_call_5): Likewise.
38636 (efi_call_6): Likewise.
38637
38638 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
38639 grub_rescue_cmd_chainloader.
38640
38641 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
38642 (grub_pe32_optional_header): Change some fields based on i386 or
38643 x86_64 platform.
38644 (GRUB_PE32_PE32_MAGIC): Likewise.
38645
38646 * include/grub/efi/uga_draw.h: New file.
38647
38648 * include/grub/elf.h (STN_ABS): New constant.
38649 (R_X86_64_NONE): Relocation constant for x86_64.
38650 (R_X86_64_64): Likewise.
38651 (R_X86_64_PC32): Likewise.
38652 (R_X86_64_GOT32): Likewise.
38653 (R_X86_64_PLT32): Likewise.
38654 (R_X86_64_COPY): Likewise.
38655 (R_X86_64_GLOB_DAT): Likewise.
38656 (R_X86_64_JUMP_SLOT): Likewise.
38657 (R_X86_64_RELATIVE): Likewise.
38658 (R_X86_64_GOTPCREL): Likewise.
38659 (R_X86_64_32): Likewise.
38660 (R_X86_64_32S): Likewise.
38661 (R_X86_64_16): Likewise.
38662 (R_X86_64_PC16): Likewise.
38663 (R_X86_64_8): Likewise.
38664 (R_X86_64_PC8): Likewise.
38665
38666 * include/grub/i386/efi/pci.h: New file.
38667
38668 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
38669 Change it value based on platform.
38670 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
38671 (GRUB_E820_RAM): Likewise.
38672 (GRUB_E820_RESERVED): Likewise.
38673 (GRUB_E820_ACPI): Likewise.
38674 (GRUB_E820_NVS): Likewise.
38675 (GRUB_E820_EXEC_CODE): Likewise.
38676 (GRUB_E820_MAX_ENTRY): Likewise.
38677 (grub_e820_mmap): New structure.
38678 (linux_kernel_header): Change the efi field according to different
38679 kernel version, also field from linux_kernel_header.
38680
38681 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
38682
38683 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
38684 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
38685 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
38686 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
38687 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
38688 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
38689 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
38690 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
38691 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
38692 (GRUB_PCI_ADDR_IO_MASK): Likewise.
38693
38694 * include/grub/x86_64/efi/kernel.h: New file.
38695
38696 * include/grub/x86_64/efi/loader.h: Likewise.
38697
38698 * include/grub/x86_64/efi/machine.h: Likewise.
38699
38700 * include/grub/x86_64/efi/pci.h: Likewise.
38701
38702 * include/grub/x86_64/efi/time.h: Likewise.
38703
38704 * include/grub/x86_64/linux.h: Likewise.
38705
38706 * include/grub/x86_64/setjmp.h: Likewise.
38707
38708 * include/grub/x86_64/time.h: Likewise.
38709
38710 * include/grub/x86_64/types.h: Likewise.
38711
38712 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
38713 GRUB_TARGET_SIZEOF_VOID_P.
38714
38715 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
38716 (grub_efi_locate_handle): Likewise.
38717 (grub_efi_open_protocol): Likewise.
38718 (grub_efi_set_text_mode): Likewise.
38719 (grub_efi_stall): Likewise.
38720 (grub_exit): Likewise.
38721 (grub_reboot): Likewise.
38722 (grub_halt): Likewise.
38723 (grub_efi_exit_boot_services): Likewise.
38724 (grub_get_rtc): Likewise.
38725
38726 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
38727 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
38728 (grub_efi_allocate_pages): Wrap efi calls.
38729 (grub_efi_free_pages): Wrap efi calls.
38730 (grub_efi_get_memory_map): Wrap efi calls.
38731
38732 * kern/x86_64/dl.c: New file.
38733
38734 * kern/x86_64/efi/callwrap.S: Likewise.
38735
38736 * kern/x86_64/efi/startup.S: Likewise.
38737
38738 * loader/efi/appleloader.c: Likewise.
38739
38740 * loader/efi/chainloader.c (cmdline): New variable.
38741 (grub_chainloader_unload): Wrap efi calls.
38742 (grub_chainloader_boot): Likewise.
38743 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
38744 command line.
38745
38746 * loader/efi/chainloader_normal.c (chainloader_command):
38747 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
38748 command line.
38749
38750 * loader/i386/efi/linux.c (allocate_pages): Change allocation
38751 method.
38752 (grub_e820_add_region): New function.
38753 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
38754 booting.
38755 (grub_find_video_card): New function.
38756 (grub_linux_setup_video): New function.
38757 (grub_rescue_cmd_linux): Probe for video information.
38758
38759 * normal/x86_64/setjmp.S: New file.
38760
38761 * term/efi/console.c (map_char): New function.
38762 (grub_console_putchar): Map unicode char.
38763 (grub_console_checkkey): Wrap efi calls.
38764 (grub_console_getkey): Likewise.
38765 (grub_console_getwh): Likewise.
38766 (grub_console_gotoxy): Likewise.
38767 (grub_console_cls): Likewise.
38768 (grub_console_setcolorstate): Likewise.
38769 (grub_console_setcursor): Likewise.
38770
38771 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
38772
59652a20 387732008-07-16 Pavel Roskin <proski@gnu.org>
38774
ef294055 38775 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
38776 format strings.
38777
59652a20 38778 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
38779 pointer, not an integer. This fixes a warning and prevents
38780 precision loss on 64-bit systems.
38781 (relocate_addresses): Remove unneeded cast.
38782
afc3b5d7 387832008-07-15 Pavel Roskin <proski@gnu.org>
38784
506b2b3e 38785 * kern/i386/ieee1275/init.c: Include grub/cache.h.
38786
62ead89c 38787 * term/ieee1275/ofconsole.c: Disable code unused on i386.
38788
c4cd51d7 38789 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
38790 Fix comparison between signed and unsigned.
38791
0d3d8f28 38792 * include/grub/i386/ieee1275/console.h: Declare
38793 grub_console_init() and grub_console_fini().
38794
8804b286 38795 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
38796 It's empty and unused.
38797
ee01cf35 38798 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
38799 beginning to avoid warnings with some compilers.
38800
afc3b5d7 38801 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
38802 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
38803
e4e8eaa5 388042008-07-14 Pavel Roskin <proski@gnu.org>
38805
407aceb4 38806 * kern/env.c (grub_register_variable_hook): Don't copy empty
38807 string, it leaks memory. Pass "" to grub_env_set(), it should
38808 handle constant strings.
38809
e4e8eaa5 38810 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
38811 * commands/cmp.c (grub_cmd_cmp): Likewise.
38812 * kern/dl.c (grub_dl_flush_cache): Likewise.
38813 (grub_dl_load_core): Likewise.
38814 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
38815 (grub_elf64_load_phdrs): Likewise.
38816
d4e2dad3 388172008-07-13 Pavel Roskin <proski@gnu.org>
38818
38819 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
38820 between signed and unsigned.
38821 (LzmaEnc_Finish): Fix warning about an unused parameter.
38822
aa24b516 388232008-07-13 Bean <bean123ch@gmail.com>
38824
38825 * Makefile.in (enable_lzo): New rule.
38826
38827 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
38828
38829 * configure.ac (ENABLE_LZO): New option --enable-lzo.
38830
38831 * boot/i386/pc/lnxboot.S: #include <config.h>.
38832
38833 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 38834 its value according to the compression algorithm used, lzo or lzma.
aa24b516 38835
38836 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
38837 compression algorithm according to configure macro.
38838
38839 * kern/i386/pc/startup.S (codestart): Likewise.
38840
38841 * kern/i386/pc/lzma_decode.S: New file.
38842
38843 * include/grub/lib/LzFind.h: Likewise.
38844
38845 * include/grub/lib/LzHash.h: Likewise.
38846
38847 * include/grub/lib/LzmaDec.h: Likewise.
38848
38849 * include/grub/lib/LzmaEnc.h: Likewise.
38850
38851 * include/grub/lib/LzmaTypes.h: Likewise.
38852
38853 * lib/LzFind.c: Likewise.
38854
38855 * lib/LzmaDec.c: Likewise.
38856
38857 * lib/LzmaEnc.c: Likewise.
38858
4ae821ac 388592008-07-13 Bean <bean123ch@gmail.com>
38860
38861 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
38862 (grub_ext4_extent_header): New structure.
38863 (grub_ext4_extent): Likewise.
38864 (grub_ext4_extent_idx): Likewise.
38865 (grub_ext4_find_leaf): New function.
38866 (grub_ext2_read_block): Handle extents.
38867
9a745147 388682008-07-12 Robert Millan <rmh@aybabtu.com>
38869
38870 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
38871
d49a4cf6 388722008-07-11 Robert Millan <rmh@aybabtu.com>
38873
38874 * util/grub.d/40_custom.in: New file. Example on how to add custom
38875 entries to /etc/grub.d.
38876 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
38877 40_custom (implicitly, by merging all the grub.d rules).
38878
947414b4 388792008-07-11 Pavel Roskin <proski@gnu.org>
38880
0059cf6f 38881 * commands/read.c (grub_getline): Fix invalid memory access.
38882 Don't add newline to the variable value.
38883
947414b4 38884 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
38885 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
38886 (serial_hw_get_port): Check validity of the port number.
38887 (grub_cmd_serial): Check return value of serial_hw_get_port().
38888
62a02d00 388892008-07-07 Pavel Roskin <proski@gnu.org>
38890
38891 * boot/i386/pc/diskboot.S (notification_string): Replace
38892 "Loading kernel" with just "loading". This is shorter, less
38893 confusing and saves a few bytes for possible future changes.
38894
3e5581b0 388952008-07-05 Pavel Roskin <proski@gnu.org>
38896
ea387a48 38897 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
38898 size for ATAPI devices, they are undefined. Output sector
38899 number in decimal form.
38900
3e5581b0 38901 * disk/ata.c: Use named constants for status bits.
38902
fdecb8fd 389032008-07-04 Pavel Roskin <proski@gnu.org>
38904
bcd35b90 38905 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
38906 grub_addr_t before casting it to the void pointer to fix a
38907 warning. Non-addressable regions are discarded earlier.
38908 (grub_arch_modules_addr): Cast _end to grub_addr_t.
38909 * kern/i386/linuxbios/table.c: Include grub/misc.h.
38910 (check_signature): Don't shadow table_header.
38911 (grub_linuxbios_table_iterate): Cast numeric constants to
38912 grub_linuxbios_table_header_t.
38913 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
38914 grub_stop().
38915
af58ab3d 38916 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
38917 prevent warnings.
38918
1759aa57 38919 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
38920 pointer, which can cause warnings. Support 64-bit addresses.
38921
fdecb8fd 38922 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
38923 of sizeof(long). This fixes PowerPC image generation on x86_64.
38924
8516d2a8 389252008-07-04 Robert Millan <rmh@aybabtu.com>
38926
38927 This fixes a performance issue when pc & gpt partmap iterators
38928 didn't abort iteration even after our hook found what it was
fe987087 38929 looking for (often causing expensive probes of non-existent drives).
8516d2a8 38930
38931 Some callers relied on previous buggy behaviour, since they would
34c44600 38932 raise an error when their own hooks caused early abortion of its
8516d2a8 38933 iteration.
38934
38935 * kern/device.c (grub_device_open): Improve error message.
38936 * disk/lvm.c (grub_lvm_open): Likewise.
38937 * disk/raid.c (grub_raid_open): Likewise.
38938
38939 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
38940 when hook requests it, independently of grub_errno.
38941 (pc_partition_map_probe): Do not fail when find_func() caused
38942 early abortion of pc_partition_map_iterate().
38943
38944 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
38945 when hook requests it, independently of grub_errno.
38946 (gpt_partition_map_probe): Do not fail when find_func() caused
38947 early abortion of gpt_partition_map_iterate().
38948
38949 * kern/partition.c (grub_partition_iterate): Abort parent iteration
38950 when hook requests it, independently of grub_errno. Do not fail when
38951 part_map_iterate_hook() caused early abortion of p->iterate().
38952
38953 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
38954 when grub_partition_iterate() returned with non-zero.
38955
277d0de9 389562008-07-03 Pavel Roskin <proski@gnu.org>
38957
38958 * disk/ata.c (grub_ata_pio_write): Check status before writing,
38959 like we do in grub_ata_pio_read().
38960 (grub_ata_readwrite): Always write individual sectors. Fix the
38961 sector count for the remainder.
38962 (grub_ata_write): Enable writing to ATA devices. Correctly
38963 report error for ATAPI devices.
38964
d4c9b428 389652008-07-02 Pavel Roskin <proski@gnu.org>
38966
e43fc690 38967 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
38968 warning.
38969
f707af42 38970 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
38971 for every read sector, we already increment it for the whole
38972 batch. This fixes reading more than 256 sectors at once.
38973
11e16b15 38974 * util/grub-editenv.c (cmd_info): Cast argument to long
38975 explicitly. ptrdiff_t reduces to int on i386.
38976
cbabfdd4 38977 * util/grub-editenv.c (main): Be specific which parameter is
38978 missing.
38979
b8fbce0a 38980 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
38981 (memdisk): Make memdisk_orig_addr a pointer.
38982
c9c8e606 38983 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
38984 for file offsets, use grub_off_t instead. Fix printf format
38985 warnings.
38986
ca62e598 38987 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
38988 there. Real unexpected warnings should not drown in the noise
38989 about known problems.
38990
ce8d1766 38991 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
38992 grub_disk_addr_t for memory addresses.
38993
00c7a56a 38994 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
38995 explicitly to fix a warning.
38996
08d3ef09 38997 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
38998
cb71ba20 38999 * Makefile.in (MODULE_LDFLAGS): New variable.
39000 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
39001 the linker accepts --build-id=none.
39002 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
39003 MODULE_LDFLAGS.
39004 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
39005
d4c9b428 39006 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
39007 those in Linux XFS code. Provide a way to access 64-bit parent
39008 inode.
39009 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
39010 the end of struct grub_xfs_dir_header.
39011
d4156eee 390122008-07-02 Bean <bean123ch@gmail.com>
39013
39014 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
39015 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
39016 and GRUB_IEEE1275_FLAG_NO_ANSI.
39017
39018 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
39019 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
39020 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
39021
39022 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
39023 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
39024
39025 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
39026 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
39027
39028 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
39029 esc sequence on non ANSI terminal.
39030 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
39031
39032 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
39033 beginning of file.
39034
2270f77b 390352008-07-02 Bean <bean123ch@gmail.com>
39036
39037 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
39038 (grub_editenv_SOURCES): New variable.
39039 (pkglib_MODULES): Add loadenv.mod.
39040 (loadenv_mod_SOURCES): New variable.
39041 (loadenv_mod_CFLAGS): Likewise.
39042 (loadenv_mod_LDFLAGS): Likewise.
39043
39044 * include/grub/envblk.h: New file.
39045
39046 * util/envblk.c: New file.
39047
39048 * util/grub-editenv.c: New file.
39049
39050 * commands/loadenv.c: New file.
39051
0e9e51ec 390522008-07-01 Pavel Roskin <proski@gnu.org>
39053
d89b7634 39054 * include/multiboot2.h (struct multiboot_tag_module): Use char,
39055 not unsigned char. This fixes warnings and is consistent with
39056 other tags.
39057
bf1835b1 39058 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
39059
8222a04b 39060 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
39061
6a42d99d 39062 * term/tparm.c (analyze): Always set *popcount.
39063
10b159d1 39064 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
39065 cast to fix a warning.
39066
b8789f6c 39067 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
39068 cast to suppress a warning.
39069
29d7e38a 39070 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
39071 grub_fshelp_read_file() expects.
39072
f341f669 39073 * fs/fat.c: Fix UUID calculation on big-endian systems. We
39074 write uuid as a 32-bit value in CPU byte order, so declare and
39075 use it as such.
39076
0e9e51ec 39077 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
39078 long if the format specifier expects it.
39079 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
39080 * partmap/pc.c (pc_partition_map_iterate): Likewise.
39081 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
39082 long to fix a warning.
39083 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
39084 grub_dprintf() arguments to fix warnings.
39085
3aefa857 390862008-06-30 Pavel Roskin <proski@gnu.org>
39087
56c7668b 39088 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
39089 install_bsd_part immediately before core.img is embedded or
39090 modified on disk. This fixes core.img verification if core.img
39091 cannot be embedded.
39092
3aefa857 39093 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
39094 core_path to calculate the blocklist.
39095 Patch from Javier Martín <lordhabbit@gmail.com>
39096
5444088d 390972008-06-29 Robert Millan <rmh@aybabtu.com>
39098
39099 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
39100 block to disk block.
39101 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
39102 Patch from Niels Böhm <bitbucket@arcor.de>
39103
674835c8 391042008-06-29 Robert Millan <rmh@aybabtu.com>
39105
39106 * util/update-grub_lib.in (font_path): Search for fonts in
39107 /boot/grub first, which is more likely to be readable (we aren't
39108 deciding where fonts live, just looking for them).
39109
f527dbc8 391102008-06-26 Pavel Roskin <proski@gnu.org>
39111
6c2d8df6 39112 * util/biosdisk.c (read_device_map): Don't leave dead map
39113 entries for devices failing stat() check.
39114
f527dbc8 39115 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
39116 core_path_dev for the core.img path on the target device.
39117
aebe3d13 391182008-06-26 Robert Millan <rmh@aybabtu.com>
39119
39120 * disk/fs_uuid.c: New file.
39121 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
39122 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
39123 (fs_uuid_mod_LDFLAGS): New variables.
39124 * include/grub/disk.h (grub_disk_dev_id): Add
39125 `GRUB_DISK_DEVICE_UUID_ID'.
39126 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
39127 implement iterate().
39128
37aaf354 391292008-06-26 Robert Millan <rmh@aybabtu.com>
39130
39131 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
39132 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
39133 Linux image includes no initrd.
39134
25ff262a 391352008-06-21 Javier Martín <lordhabbit@gmail.com>
39136
39137 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
39138 call to resolve the core image location that effectively appended the
39139 name twice.
39140
76a2bd44 391412008-06-21 Robert Millan <rmh@aybabtu.com>
39142
39143 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
39144 call from here ...
39145
39146 * util/grub.d/10_hurd.in: ... to here ...
39147 * util/grub.d/10_linux.in: ... and here.
39148
650e1c79 391492008-06-19 Robert Millan <rmh@aybabtu.com>
39150
fe987087 39151 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 39152 after it has been set by grub_machine_set_prefix().
39153
6ce63911 391542008-06-19 Robert Millan <rmh@aybabtu.com>
39155
39156 * commands/search.c (search_label, search_fs_uuid, search_file): Print
39157 search result when not saving to variable, not the other way around.
39158 When saving to variable, abort iteration as soon as a match is found.
39159
73940cec 391602008-06-19 Robert Millan <rmh@aybabtu.com>
39161
39162 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
39163 check for partition that provides /boot/grub. Its logic is flawed,
39164 as it prevents prepare_grub_to_access_device() from being called
39165 multiple times.
39166
3c62a39d 391672008-06-19 Robert Millan <rmh@aybabtu.com>
39168
39169 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
39170 "insmod" command directly when abstraction modules are needed,
fe987087 39171 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 39172 since it had already been processed).
39173
47395a42 391742008-06-19 Pavel Roskin <proski@gnu.org>
39175
39176 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
39177 changed. This is needed in case GRUB_LIBDIR changes.
39178 * conf/i386-ieee1275.rmk: Likewise.
39179 * conf/i386-linuxbios.rmk: Likewise.
39180 * conf/i386-pc.rmk: Likewise.
39181 * conf/powerpc-ieee1275.rmk: Likewise.
39182
a145ac2d 391832008-06-18 Pavel Roskin <proski@gnu.org>
39184
39185 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
39186 kernel_elf_symlist.c to symlist.c for consistency with other
39187 architectures. Update all users.
39188 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39189
7847c51e 391902008-06-18 Robert Millan <rmh@aybabtu.com>
39191
39192 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
39193 it in prefix.
39194
39195 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
39196 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
39197 a RAID device, run setup() for all members independently on whether
39198 LVM abstraction is being used.
39199 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
39200 If grub-mkimage has set `*install_dos_part == -2', don't override this
39201 value.
39202 Perform *install_dos_part adjustments independently on whether
39203 we're embedding or not.
39204 Clarify error message when image is too big for embedding.
39205 Remove duplicate *install_dos_part stanza.
39206
b23e5644 392072008-06-17 Robert Millan <rmh@aybabtu.com>
39208
39209 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
39210 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
39211 variables.
39212 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
39213 values in grub_ofconsole_normal_color and
39214 grub_ofconsole_highlight_color (they're not directly related to
39215 background and foreground).
39216 (grub_ofconsole_setcolorstate): Extract background and foreground
39217 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
39218
0aac2f79 392192008-06-17 Robert Millan <rmh@aybabtu.com>
39220
39221 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
39222 /boot/grub for the check in last commit, not /boot (they could be
39223 different partitions).
39224
3cca7ef3 392252008-06-16 Robert Millan <rmh@aybabtu.com>
39226
39227 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
39228 asked to setup access for the same partition that provides /boot,
39229 don't bother using UUIDs since our root already has the value we
39230 want.
39231
347396d8 392322008-06-16 Robert Millan <rmh@aybabtu.com>
39233
39234 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
39235 I2O devices.
39236 Patch from Sven Mueller <sven@debian.org>.
39237
991477f8 392382008-06-16 Robert Millan <rmh@aybabtu.com>
39239
39240 * util/update-grub.in: Check for $EUID instead of $UID.
39241 Reported by Vincent Zweije.
39242
d31a32a1 392432008-06-16 Bean <bean123ch@gmail.com>
39244
fe987087 39245 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 39246 (grub_ext2_read_block): Likewise.
39247 (grub_ext2_read_inode): Likewise.
39248 (grub_ext2_mount): Likewise.
39249 (grub_ext2_close): Likewise.
39250 (grub_ext3_get_journal): Removed.
39251
fe987087 39252 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 39253 (grub_reiserfs_read_symlink): Likewise.
39254 (grub_reiserfs_mount): Likewise.
39255 (grub_reiserfs_open): Likewise.
39256 (grub_reiserfs_read): Likewise.
39257 (grub_reiserfs_close): Likewise.
39258 (grub_reiserfs_get_journal): Removed.
39259
39260 * fs/fshelp.c (grub_fshelp_read): Removed.
39261 (grub_fshelp_map_block): Likewise.
39262
39263 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
39264 (grub_fshelp_journal): Likewise.
39265 (grub_fshelp_read): Likewise.
39266 (grub_fshelp_map_block): Likewise.
39267
3540a760 392682008-06-16 Pavel Roskin <proski@gnu.org>
39269
39270 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
39271 floating point anymore.
39272 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
39273
95614c84 392742008-06-15 Pavel Roskin <proski@gnu.org>
39275
39276 * commands/ls.c (grub_ls_list_files): Use integer calculations
39277 for human readable format, avoid floating point use.
39278 * kern/misc.c (grub_ftoa): Remove.
39279 (grub_vsprintf): Remove floating point support.
39280
50465dd6 392812008-06-15 Robert Millan <rmh@aybabtu.com>
39282
fe6b695a 39283 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 39284 devices.
39285 Reported by Max Vozeler.
39286
a9207284 392872008-06-15 Robert Millan <rmh@aybabtu.com>
39288
39289 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
39290 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
39291 skipped later.
39292 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
39293 the beginning of the prefix.
39294
39295 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
39296 It is assumed that if we have a memdisk, grub-mkimage has set
39297 grub_prefix to include the "(memdisk)" drive in it.
39298
a7cbd45a 392992008-06-15 Robert Millan <rmh@aybabtu.com>
39300
39301 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
39302 Initialize keyboard controller after registering the terminal, so that
39303 grub_printf() can be called from grub_keyboard_controller_init().
39304
21cf716a 393052008-06-15 Robert Millan <rmh@aybabtu.com>
39306
39307 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
39308 extent-btree which is written as big endian on disk.
39309 Reported by Alain Greppin <al@chilibi.org>.
39310
23a64d8e 393112008-06-14 Robert Millan <rmh@aybabtu.com>
39312
39313 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
39314 * util/i386/pc/grub-install.in (modules): Likewise.
39315
d687651c 393162008-06-13 Pavel Roskin <proski@gnu.org>
39317
39318 * commands/ls.c (grub_ls_list_files): Fix format warnings.
39319
dfe9ddd4 393202008-06-13 Bean <bean123ch@gmail.com>
39321
39322 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
39323
39324 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
39325
39326 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
39327 to indicate sparse block.
39328
16ae7781 393292008-06-12 Pavel Roskin <proski@gnu.org>
39330
e6d1a308 39331 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
39332 number, grub_fshelp_read() does it for us.
39333
16ae7781 39334 * fs/fshelp.c (grub_fshelp_read): New function. Implement
39335 linear disk read with journal translation.
39336 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
39337 * include/grub/fshelp.h: Declare grub_fshelp_read().
39338
40fd3a2b 393392008-06-09 Pavel Roskin <proski@gnu.org>
39340
39341 * fs/minix.c (grub_minix_mount): Handle error reading
39342 superblock.
39343
f5679726 393442008-06-08 Robert Millan <rmh@aybabtu.com>
39345
39346 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
39347 don't append the RAID prefix afterwards.
39348 Reported by Clint Adams.
39349
ce525529 393502008-06-08 Robert Millan <rmh@aybabtu.com>
39351
39352 Based on description from Pavel:
39353 * kern/disk.c (grub_disk_check_range): Rename to ...
39354 (grub_disk_adjust_range): ... this. Add a comment explaining the
39355 tasks performed by this function.
39356
ad4936a0 393572008-06-08 Robert Millan <rmh@aybabtu.com>
39358
39359 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
39360 `num_serial' (for consistency with other variables).
39361 (struct grub_ntfs_data): Add `uuid' member.
39362 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
39363 (grub_ntfs_uuid): New function.
39364 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
39365
dc20b0f9 393662008-06-07 Pavel Roskin <proski@gnu.org>
39367
39368 * util/biosdisk.c (open_device): Revert last change to the
39369 function, it broke installation. The sector needs to be
39370 different dependent on which device is opened.
39371
c5e3cfba 393722008-06-06 Robert Millan <rmh@aybabtu.com>
39373
39374 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
39375 rest of GRUB, and breakage doesn't happen if its value were modified.
39376
39377 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
39378 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
39379 a constant (same value).
39380 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
39381 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
39382
26a1f8c4 393832008-06-06 Robert Millan <rmh@aybabtu.com>
39384
39385 * util/biosdisk.c (open_device): Do not modify sector offset when
39386 accessing a partition. kern/disk.c already handles this for us.
39387
25d6b327 393882008-06-06 Robert Millan <rmh@aybabtu.com>
39389
39390 * util/grub-emu.c (grub_machine_init): Move code in this function from
39391 here ...
39392 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
39393 segfault in case grub_printf() is called).
39394
39395 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
39396 grub_probe. Update all users not to explicitly add it again.
39397 (grub_device): New variable; contains corresponding device for grubdir.
39398 (fs_module, partmap_module, devabstraction_module): Pass
39399 `--device ${grub_device}' to grub_probe to avoid traversing /dev
39400 every time.
39401
9ece62fb 394022008-06-05 Robert Millan <rmh@aybabtu.com>
39403
39404 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
39405 is found, print it (same layout as with labels).
39406
1ad36d37 394072008-06-04 Robert Millan <rmh@aybabtu.com>
39408
39409 * util/biosdisk.c (get_drive): Rename to ...
39410 (find_grub_drive): ... this. Update all users.
39411
39412 (get_os_disk): Rename to ...
39413 (convert_system_partition_to_system_disk): ... this. Update all users.
39414
39415 (find_drive): Rename to ...
39416 (find_system_device): ... this. Update all users.
39417
e6a30859 394182008-06-04 Robert Millan <rmh@aybabtu.com>
39419
39420 * util/biosdisk.c (get_os_disk): Handle IDA devices.
39421 * util/grub-mkdevicemap.c (get_mmc_disk_name)
39422 (make_device_map): Likewise.
39423
00c108a4 394242008-06-01 Robert Millan <rmh@aybabtu.com>
39425
39426 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
39427 before dereferencing it.
39428
39429 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
39430 union with fat12/fat16-specific ones. Add some new fields, including
39431 `num_serial' for both versions.
39432 (struct grub_fat_data): Add `uuid' member.
39433 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
39434 names. Initialize `data->uuid' using `num_serial'.
39435 (grub_fat_uuid): New function.
39436 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
39437
39438 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
39439 (grub_reiserfs_uuid): New function.
39440 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
39441 member.
39442
39443 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
39444 (grub_xfs_uuid): New function.
39445 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
39446
1385c5bb 394472008-06-01 Robert Millan <rmh@aybabtu.com>
39448
39449 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
39450 code that is backward compatible with pre-uuid search command.
39451
c682dfd7 394522008-05-31 Robert Millan <rmh@aybabtu.com>
39453
39454 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
39455 floppies after everything else, to ensure floppy drive isn't accessed
39456 unnecessarily (patch from Bean).
39457
b7db5d47 394582008-05-31 Robert Millan <rmh@aybabtu.com>
39459
39460 * commands/search.c (search_label, search_fs_uuid, search_file): Do
39461 not print device names when we were asked to set a variable.
39462
6e037aa9 394632008-05-31 Robert Millan <rmh@aybabtu.com>
39464
39465 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
39466 using "cursor-on" and "cursor-off" commands (understood at least by
39467 the Open Firmware flavour on OLPC).
39468
41305bc8 394692008-05-31 Michael Gorven <michael@gorven.za.net>
39470
39471 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
39472 on and off sequences.
39473
69ba137e 394742008-05-31 Robert Millan <rmh@aybabtu.com>
39475
39476 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
39477 * util/update-grub.in: Likewise.
39478
520ae21b 394792008-05-30 Pavel Roskin <proski@gnu.org>
39480
39481 * util/biosdisk.c (linux_find_partition): Simplify logic and
39482 make the code more universal. Keep special processing for
39483 devfs, but use a simple rule for all other devices. If the
39484 device ends with a number, append 'p' and the partition number.
39485 Otherwise, append only the partition number.
39486
5786569b 394872008-05-30 Robert Millan <rmh@aybabtu.com>
39488
39489 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
39490 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
39491 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
39492 the `root' parameter to Linux.
39493
51500452 394942008-05-30 Robert Millan <rmh@aybabtu.com>
39495
39496 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
39497 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
39498 --fs_uuid with --fs-uuid.
39499 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
39500 all filesystems support them).
39501
811d3878 395022008-05-30 Robert Millan <rmh@aybabtu.com>
39503
39504 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 39505 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 39506
cab63c95 395072008-05-30 Robert Millan <rmh@aybabtu.com>
39508
39509 * util/grub.d/00_header.in: Remove obsolete comment referencing
39510 convert_system_path_to_grub_path().
39511 * util/update-grub.in: Likewise.
39512 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
39513 (convert_system_path_to_grub_path): Add a warning message explaining
39514 that this function is deprecated. Rely on is_path_readable_by_grub()
39515 for the readability checks.
39516 (font_path): Use is_path_readable_by_grub() for the readability
39517 check rather than convert_system_path_to_grub_path().
39518
972e2f7a 395192008-05-30 Robert Millan <rmh@aybabtu.com>
39520
39521 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
39522 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
39523 converting it first.
39524 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
39525 grub.cfg for access to font file, and afterwards call it again to set
39526 the root device.
39527
62191274 395282008-05-30 Robert Millan <rmh@aybabtu.com>
39529
39530 * commands/search.c (options): Add --fs_uuid option.
39531 (search_fs_uuid): New function.
39532 (grub_cmd_search): Fix --set argument passing.
39533 Use search_fs_uuid() when requested via --fs_uuid.
39534 (grub_search_init): Update help message.
39535 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
39536 and redeclare it as an array of 16-bit words.
39537 (grub_ext2_uuid): New function.
39538 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
39539 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
39540 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
39541 (GRUB_DEVICE_BOOT_UUID): New variables.
39542 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
39543 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
39544 whenever possible.
39545 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
39546 just assume `root' variable has the right value.
39547 * util/grub.d/10_linux.in: Likewise.
39548 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
39549 via PRINT_FS_UUID.
39550 (main): Recognise `-t fs_uuid' argument.
39551
01b73ec8 395522008-05-30 Robert Millan <rmh@aybabtu.com>
39553
39554 * util/biosdisk.c (map): Redefine structure to hold information
39555 about GRUB drive name.
fe6b695a 39556 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 39557 drive names.
39558 (call_hook): Remove.
39559 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
39560 member. Assume drive has partitions.
39561 (grub_util_biosdisk_open): Access device names via `.device' struct
39562 member.
39563 (open_device): Likewise.
39564 (find_drive): Likewise.
39565 (read_device_map): Adjust map[] usage to match the new struct
39566 definition. Don't check for duplicates (still possible, but not cheap
39567 anymore).
39568 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
39569 (make_device_name): Remove assumption of BIOS-like drive names.
39570
22f16596 395712008-05-30 Pavel Roskin <proski@gnu.org>
39572
39573 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
39574 compiling execute.c doesn't need grub_script.tab.h anymore.
39575 (normal/command.c_DEPENDENCIES): Likewise.
39576 (normal/function.c_DEPENDENCIES): Likewise.
39577 * conf/i386-ieee1275.rmk: Likewise.
39578 * conf/i386-linuxbios.rmk: Likewise.
39579 * conf/i386-pc.rmk: Likewise.
39580 * conf/powerpc-ieee1275.rmk: Likewise.
39581 * conf/sparc64-ieee1275.rmk: Likewise.
39582
528ad8f2 395832008-05-29 Pavel Roskin <proski@gnu.org>
39584
d1dff95d 39585 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
39586 when scanning metadata for volume group name.
39587
528ad8f2 39588 * include/grub/script.h: Don't include grub_script.tab.h. It's
39589 a generated file, which may only be included from the files with
39590 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
39591 use union YYSTYPE, as the later allows forward declaration.
39592 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
39593
47248e08 395942008-05-29 Robert Millan <rmh@aybabtu.com>
39595
39596 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
39597 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
39598 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
39599 (grub_console_checkkey): Add grub_dprintf() call to report unknown
39600 scan codes.
39601
ee632529 396022008-05-29 Robert Millan <rmh@aybabtu.com>
39603
39604 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
39605 control key combinations.
39606
eee96e08 396072008-05-29 Robert Millan <rmh@aybabtu.com>
39608
39609 * util/powerpc/ieee1275/grub-install.in: Move from here ...
39610 * util/ieee1275/grub-install.in: ... to here.
39611 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
39612 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
39613 (grub_install_SOURCES): Likewise.
39614
da9a6a94 396152008-05-29 Robert Millan <rmh@aybabtu.com>
39616
39617 * fs/affs.c: Update copyright year.
39618 * fs/ext2.c: Likewise.
39619 * fs/fshelp.c: Likewise.
39620 * fs/hfsplus.c: Likewise.
39621 * fs/ntfs.c: Likewise.
39622 * fs/xfs.c: Likewise.
39623 * include/grub/fshelp.h: Likewise.
39624 * util/grub-mkdevicemap.c: Likewise.
39625
12e65f3a 396262008-05-28 Robert Millan <rmh@aybabtu.com>
39627
39628 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
39629 might need to be fatfs to support some firmware implementations
39630 (e.g. OFW or EFI).
39631
23023641 396322008-05-28 Robert Millan <rmh@aybabtu.com>
39633
39634 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
39635 devices.
39636 * util/grub-mkdevicemap.c (get_mmc_disk_name)
39637 (make_device_map): Likewise.
39638
887d2619 396392008-05-20 Bean <bean123ch@gmail.com>
39640
39641 * fs/fshelp.c (grub_fshelp_map_block): New function.
39642 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
39643 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
39644
39645 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
39646 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
39647 (grub_fshelp_journal): New structure.
39648 (grub_fshelp_map_block): New function prototype.
39649 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
39650 (grub_fshelp_map_block): Likewise.
39651
39652 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
39653 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
39654 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
39655 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
39656 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
39657 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
39658 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
39659 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
39660 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
39661 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
39662 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
39663 (grub_ext2_sblock): New members for journal support.
39664 (grub_ext3_journal_header): New structure.
39665 (grub_ext3_journal_revoke_header): Likewise.
39666 (grub_ext3_journal_block_tag): Likewise.
39667 (grub_ext3_journal_sblock): Likewise.
39668 (grub_fshelp_node): New members logfile and journal.
39669 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
39670 grub_fshelp_map_block to get real block number.
39671 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
39672 number.
39673 (grub_ext2_read_inode): Likewise.
39674 (grub_ext3_get_journal): New function.
39675 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
39676 (grub_ext2_close): Release memory used by journal.
39677
39678 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
39679 (REISERFS_MAGIC_DESC_BLOCK): New macro.
39680 (grub_reiserfs_transaction_header): Renamed to
39681 grub_reiserfs_description_block, replace field data with real_blocks.
39682 (grub_reiserfs_commit_block): New structure.
39683 (grub_reiserfs_data): New member journal.
39684 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
39685 number.
39686 (grub_reiserfs_read_symlink): Likewise.
39687 (grub_reiserfs_iterate_dir): Likewise.
39688 (grub_reiserfs_open): Likewise.
39689 (grub_reiserfs_read): Likewise.
39690 (grub_reiserfs_get_journal): New function.
39691 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
39692 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
39693 using grub_reiserfs_get_journal.
39694 (grub_reiserfs_close): Release memory used by journal.
39695
39696 * fs/affs.c (grub_affs_read_block): Change block type to
39697 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
39698
39699 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
39700
39701 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
39702
39703 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
39704
39705 * fs/udf.c (grub_udf_read_block): Change block type to
39706 grub_disk_addr_t. Use type cast to avoid warning.
39707
39708 * fs/xfs.c (grub_xfs_read_block): Likewise.
39709
b7c6bed5 397102008-05-16 Christian Franke <franke@computer.org>
39711
39712 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
39713 to ensure that break with ESC will always work.
39714 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
39715 Remove ESC from keyboard queue.
39716
eedf167f 397172008-05-16 Christian Franke <franke@computer.org>
39718
39719 * util/biosdisk.c: [__CYGWIN__] Add includes.
39720 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
39721 (get_os_disk): Move variable declarations to OS specific
39722 parts to avoid warning.
39723 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
39724 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
39725 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
39726 Cygwin.
39727 * util/getroot.c: [__CYGWIN__] Add includes.
39728 (strip_extra_slashes): Fix "/" case.
39729 [__CYGWIN__] (get_win32_path): New function.
39730 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
39731 [__CYGWIN__] (find_root_device): Disable.
39732 [__CYGWIN__] (get_bootsec_serial): New function.
39733 [__CYGWIN__] (find_cygwin_root_device): Likewise.
39734 [__linux__] (grub_guess_root_device): Add early returns to simplify
39735 structure.
39736 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
39737 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
39738 check for Linux only.
39739
a079699e 397402008-05-15 Bean <bean123ch@gmail.com>
39741
39742 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
39743 keyboard hang problem in apple's intel mac.
39744
1cf4059a 397452008-05-09 Robert Millan <rmh@aybabtu.com>
39746
39747 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
39748 devices.
39749 * util/grub-mkdevicemap.c (get_virtio_disk_name)
39750 (make_device_map): Likewise.
39751 Reported by Aurelien Jarno <aurel32@debian.org>
39752
ed759390 397532008-05-07 Ian Campbell <ijc@hellion.org.uk>
39754
39755 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
39756 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
39757 (make_device_map): Output entries for xvd type disks.
39758
b56c4eaa 397592008-05-07 Robert Millan <rmh@aybabtu.com>
39760
39761 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
39762 devices.
39763 * util/grub-mkdevicemap.c (get_cciss_disk_name)
39764 (make_device_map): Likewise.
39765 Reported by Roland Dreier <rdreier@cisco.com>
39766
7f8866ed 397672008-05-07 Robert Millan <rmh@aybabtu.com>
39768
39769 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
39770 grub_strstr() call. Correct a few mistakes in failure path handling.
39771
b0346e0f 397722008-05-06 Robert Millan <rmh@aybabtu.com>
39773
39774 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
39775 Do not print a trailing slash (therefore, the root directory is an
39776 empty string).
39777 (convert_system_path_to_grub_path): Do not remove trailing slash
39778 from make_system_path_relative_to_its_root() output.
39779
39780 * util/i386/pc/grub-install.in: Add trailing slash to output from
39781 make_system_path_relative_to_its_root().
39782
6cf12cbd 397832008-05-06 Robert Millan <rmh@aybabtu.com>
39784
39785 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
39786 ensures that output lines aren't intermangled with those sent to
39787 stderr (via grub_util_info()).
39788 * util/grub-probe.c (grub_refresh): Likewise.
39789 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
39790
0fbb3117 397912008-05-05 Christian Franke <franke@computer.org>
39792
39793 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
39794 Add Cygwin device names.
39795 (get_ide_disk_name) [__CYGWIN__]: Likewise.
39796 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
39797 (check_device): Return error instead of success on empty name.
39798 (make_device_map): Move label inside linux specific code to
39799 prevent compiler warning.
39800
8124cdb7 398012008-04-30 Robert Millan <rmh@aybabtu.com>
39802
39803 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
39804 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
39805 first boot option.
39806 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
39807
094c01d0 398082008-04-29 Robert Millan <rmh@aybabtu.com>
39809
39810 * docs/grub.cfg: New file (example GRUB configuration).
39811
f4b1fc02 398122008-04-26 Robert Millan <rmh@aybabtu.com>
39813
329ce2a5 39814 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
39815 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
39816 and `disk/ieee1275/nand.c'.
f4b1fc02 39817
25f16ec1 398182008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 39819
25f16ec1 39820 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
39821 i386-linuxbios.
39822
39823 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
39824 change the buffer size to 4096 for cdrom device.
39825
39826 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
39827 and nand.mod.
39828 (_linux_mod_SOURCES): New variable.
39829 (_linux_mod_CFLAGS): Likewise.
39830 (_linux_mod_LDFLAGS): Likewise.
39831 (linux_mod_SOURCES): Likewise.
39832 (linux_mod_CFLAGS): Likewise.
39833 (linux_mod_LDFLAGS): Likewise.
39834 (nand_mod_SOURCES): Likewise.
39835 (nand_mod_CFLAGS): Likewise.
39836 (nand_mod_LDFLAGS): Likewise.
39837
39838 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
39839 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
39840 type property. (nand device in olpc don't have this property)
39841
39842 * include/grub/disk.h (grub_disk_dev_id): New macro
39843 GRUB_DISK_DEVICE_NAND_ID.
39844
39845 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
39846 function prototype.
39847 (grub_rescue_cmd_initrd): Likewise.
39848
39849 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
39850 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
39851 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 39852
25f16ec1 39853 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
39854 GRUB_MACHINE_IEEE1275 is defined.
39855
39856 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
39857 Use NESTED_FUNC_ATTR attribute on the hook parameter.
39858
39859 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
39860 on nested function heap_init.
39861 (grub_upper_mem): New variable for i386-ieee1275.
39862 (grub_get_extended_memory): New function for i386-ieee1275.
39863 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
39864
39865 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
39866 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
39867 property.
f19dbdb7 39868
25f16ec1 39869 * loader/i386/ieee1275/linux.c: New file.
39870
39871 * loader/i386/ieee1275/linux_normal.c: New file.
39872
39873 * disk/ieee1275/nand.c: New file.
39874
e89d61e9 398752008-04-18 Thomas Schwinge <tschwinge@gnu.org>
39876
39877 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
39878 value.
39879 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
39880
602566f6 398812008-04-18 Robert Millan <rmh@aybabtu.com>
39882
39883 Restructures early code path on ieee1275 to unify grub_main() as
39884 the first C function that is executed in every platform.
39885
39886 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
39887 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
39888 cmain().
39889 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
39890 * kern/ieee1275/cmain.c (cmain): Rename to ...
39891 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
39892 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
39893 at the beginning.
39894
57490c2b 398952008-04-18 Robert Millan <rmh@aybabtu.com>
39896
39897 * util/update-grub.in: Fix syntax error when setting
39898 `GRUB_PRELOAD_MODULES'.
39899 Reported by Stephane Chazelas <stephane@artesyncp.com>
39900
1977517d 399012008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
39902
39903 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
39904 section into account, newer toolchains generate unique build ids
39905 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 39906 we want build ids to be preserved
1977517d 39907 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
39908 far from other sections don't cause the raw binary images grow
39909 size
39910
bfb1f1a2 399112008-04-15 Robert Millan <rmh@aybabtu.com>
39912
39913 * disk/lvm.c: Update copyright year.
39914 * kern/misc.c: Likewise.
39915
01979850 399162008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
39917
39918 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 39919 there is no memory left for physical volume name.
01979850 39920
0a1150e2 399212008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
39922
39923 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
39924 volume name mapping to support bigger than 9 character names properly.
39925
82ead3fe 399262008-04-13 Robert Millan <rmh@aybabtu.com>
39927
39928 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
39929 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
39930
e54a72f5 399312008-04-13 Christian Franke <franke@computer.org>
39932
39933 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
39934 to create a floppy emulation boot CD when non emulation mode
39935 does not work.
39936 Enable Joliet CD filesystem extension.
39937
9fe86034 399382008-04-13 Robert Millan <rmh@aybabtu.com>
39939
39940 * kern/misc.c (grub_strncat): Fix off-by-one error.
39941 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
39942
39943 * kern/env.c (grub_env_context_close): Clear current context, not
39944 previous one.
39945 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
39946
39947 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
39948
7ceeee39 399492008-04-13 Robert Millan <rmh@aybabtu.com>
39950
39951 Improve robustness when handling LVM.
39952
39953 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 39954 (and leave `*p' unmodified).
7ceeee39 39955 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
39956 through it.
39957 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
39958 iterating through it.
39959 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
39960 through it.
fe6b695a 39961 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 39962 when due) on each grub_lvm_getvalue() or grub_strstr() call.
39963 Don't assume `vg->pvs != NULL' when iterating through it.
39964
58cd3d85 399652008-04-13 Robert Millan <rmh@aybabtu.com>
39966
39967 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
39968 * genmk.rb (partmap): New variable.
39969 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
39970 (#{partmap}): New target rule.
39971 * genpartmaplist.sh: New file.
39972 * Makefile.in (pkglib_DATA): Add partmap.lst.
39973 (partmap.lst): New target rule.
39974 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
39975 modules (including all partition maps), instead of preloading them.
39976
78b51059 399772007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
39978
39979 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
39980 `linux-boot-prober' (if installed) to detect other operating
39981 systems which are installed on the computer and add them to
39982 the boot menu.
39983 * conf/common.rmk: Build and install 30_os-prober.
39984
a91627b4 399852008-04-12 Robert Millan <rmh@aybabtu.com>
39986
39987 * kern/powerpc/ieee1275/init.c: Move from here ...
39988 * kern/ieee1275/init.c: ... to here. Update all users.
39989
39990 * kern/powerpc/ieee1275/cmain.c: Move from here ...
39991 * kern/ieee1275/cmain.c: ... to here. Update all users.
39992
39993 * kern/powerpc/ieee1275/openfw.c: Move from here ...
39994 * kern/ieee1275/openfw.c: ... to here. Update all users.
39995
39996 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
39997 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
39998
322562ea 399992008-04-10 Pavel Roskin <proski@gnu.org>
40000
40001 * configure.ac: Always use "_cv_" in cache variables for
40002 compatibility with Autoconf 2.62.
40003
a02a73c5 400042008-04-07 Robert Millan <rmh@aybabtu.com>
40005
40006 Revert grub/machine/init.h addition by Pavel (since it breaks on
40007 i386-ieee1275 and others):
40008 * util/i386/pc/misc.c: Remove grub/machine/init.h.
40009 * util/powerpc/ieee1275/misc.c: Likewise.
40010
25c024b1 400112008-04-07 Robert Millan <rmh@aybabtu.com>
40012
40013 * util/grub-probe.c (probe): Improve error message.
40014
3cbd2f98 400152008-04-07 Robert Millan <rmh@aybabtu.com>
40016
40017 * util/biosdisk.c (read_device_map): Skip devices that don't exist
40018 (this prevents the presence of a bogus entry from ruining the whole
40019 thing).
40020
87a297bf 400212008-04-06 Pavel Roskin <proski@gnu.org>
40022
36747a62 40023 * util/biosdisk.c: Include grub/util/biosdisk.h.
40024 * util/grub-fstest.c (execute_command): Make static.
40025 * util/grub-mkdevicemap.c (check_device): Likewise.
40026 * util/i386/pc/misc.c: Include grub/machine/init.h.
40027 * util/powerpc/ieee1275/misc.c: Likewise.
40028 * util/lvm.c: Include grub/util/lvm.h.
40029 * util/misc.c: Include grub/kernel.h, grub/misc.h and
40030 grub/cache.h.
40031 * util/raid.c: Include grub/util/raid.h.
40032 (grub_util_getdiskname): Make static.
40033
87a297bf 40034 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
40035 grub_hostfs_fini(), as they are called from grub_init_all() and
40036 grub_fini_all() respectively. This fixes an infinite loop in
40037 grub-fstest due to double registration of hostfs.
40038 Reported by Christian Franke <Christian.Franke@t-online.de>
40039
f6ce7629 400402008-04-05 Pavel Roskin <proski@gnu.org>
40041
40042 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
40043 all 8 functions. Otherwise, probe function 0 only.
40044
070e49e4 400452008-04-04 Pavel Roskin <proski@gnu.org>
40046
8b088a4c 40047 * commands/lspci.c (grub_lspci_iter): Print the bus number
40048 correctly.
40049
4f657021 40050 * commands/lspci.c (grub_pci_classes): Fix typos.
40051 (grub_lspci_iter): Don't print func twice. Print vendor ID
40052 before device ID, as it's normally done.
40053
070e49e4 40054 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
40055 Fix signedness warnings.
40056 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
40057 Likewise.
40058 * util/ieee1275/get_disk_name.c: Include config.h so that
40059 _GNU_SOURCE is defined and getline() is declared. Mark an
40060 unused argument as such. Fix a signedness warning.
40061
ba7328dc 400622008-04-02 Pavel Roskin <proski@gnu.org>
40063
26887f22 40064 * genkernsyms.sh.in: Use more robust assignments for CC and
40065 srcdir. Quote srcdir.
40066 * gensymlist.sh.in: Likewise. Assert at the compile time that
40067 the symbol table is not empty.
40068
ba7328dc 40069 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
40070 * fs/cpio.c (grub_cpio_read): Likewise.
40071
0f582c6b 400722008-04-01 Pavel Roskin <proski@gnu.org>
40073
4b6e1995 40074 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
40075 * disk/host.c (grub_host_open): Likewise.
40076 * disk/loopback.c (grub_loopback_open): Likewise.
40077 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
40078 disk->id as in disk/host.c, not a multi-character constant.
40079
828a2768 40080 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
40081 later is obsolete, potentially dangerous and sets a bad example.
40082 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
40083 * util/misc.c (grub_util_get_image_size): Likewise.
40084
2bb4fb47 40085 * disk/loopback.c (options): Improve help for "--partitions".
40086
0f582c6b 40087 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
40088 options to align them with the short options, e.g. "echo -e".
40089
a33224e0 400902008-03-31 Bean <bean123ch@gmail.com>
40091
40092 * video/reader/png.c (grub_png_data): New member is_16bit and
40093 image_data.
40094 (grub_png_decode_image_header): Detect 16 bit png image.
40095 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
40096 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
40097 (grub_video_reader_png): Release memory occupied by image_data.
40098
40099 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
40100 4096 bytes.
40101 (grub_nfs_mount): Skip the test for sector per cluster.
40102
40103 * include/grub/ntfs.h (MAX_SPC): Removed.
40104
86cb4f54 401052008-03-31 Bean <bean123ch@gmail.com>
40106
40107 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
40108 (grub_probe_SOURCES): Add fs/afs.c.
40109 (grub_fstest_SOURCES): Likewise.
40110 (afs_mod_SOURCES): New variable.
40111 (afs_mod_CFLAGS): Likewise.
40112 (afs_mod_LDFLAGS): Likewise.
40113
40114 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
40115 (grub_emu_SOURCES): Likewise.
40116
40117 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40118
40119 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40120
40121 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40122
40123 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40124
40125 * fs/afs.c: New file.
40126
17c74c21 401272008-03-30 Pavel Roskin <proski@gnu.org>
40128
4cb68e89 40129 * disk/host.c: Include grub/misc.h to fix a warning.
40130 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
40131 warnings about implicit declarations.
40132
8790bb04 40133 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
40134 variable.
40135 * include/grub/i386/loader.h: Change declaration of
40136 grub_linux_boot() to match what grub_loader_set() expects.
40137 * util/getroot.c (grub_guess_root_device): Return const char* to
40138 fix a warning.
40139 * util/grub-probe.c (probe): Fix a warning about uninitialized
40140 abstraction_name variable.
40141 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
40142 second argument as unused to fix a warning.
40143
9a3f3296 40144 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
40145 missing grub_error() call.
40146
0ecef90d 40147 * util/update-grub_lib.in: Define datarootdir, since Autoconf
40148 2.60 and newer uses it to define datadir.
40149
0bf6d401 40150 * commands/sleep.c: Fix warning about implicit declaration.
40151 * disk/memdisk.c: Likewise.
40152 * loader/aout.c: Likewise.
40153 * loader/i386/bsd_normal.c: Likewise.
40154 * util/grub-probe.c: Likewise.
40155
7cdacf97 40156 * commands/i386/cpuid.c (has_longmode): Make static.
40157 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
40158 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
40159
17c74c21 40160 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
40161 GDT. This is more robust, as %ds can change.
40162 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
40163 calling real_to_prot().
40164 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
40165
80a3e68b 401662008-03-28 Pavel Roskin <proski@gnu.org>
40167
40168 * kern/i386/pc/startup.S: Assert that uncompressed functions
40169 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
40170 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
40171 code, as they push parts of the code (error handlers) beyond
40172 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
40173 code as correctness and size.
40174
77bcd272 401752008-03-28 Pavel Roskin <proski@gnu.org>
40176
40177 * kern/i386/pc/startup.S
40178 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
40179 data block address to the real mode, keep offset minimal. This
40180 works around a bug in AWARD BIOS on old Athlon systems, which
40181 makes CD detection hang.
40182
c5dfd43b 401832008-03-26 Pavel Roskin <proski@gnu.org>
40184
40185 * normal/color.c (grub_parse_color_name_pair): Make `name' a
40186 const.
40187 * include/grub/normal.h: Add grub_parse_color_name_pair()
40188 declaration.
40189
bf962df2 401902008-03-24 Bean <bean123ch@gmail.com>
40191
40192 * disk/i386/pc/biosdisk.c (cd_start): Removed.
40193 (cd_count): Removed.
40194 (cd_drive): New variable.
40195 (grub_biosdisk_get_drive): Don't check for (cdN) device.
40196 (grub_biosdisk_call_hook): Likewise.
40197 (grub_biosdisk_iterate): Change cdrom detection method.
40198 (grub_biosdisk_open): Replace cd_start with cd_drive.
40199 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
40200 detect cdrom device.
40201
40202 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
40203 Removed.
40204 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
40205 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
40206 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
40207 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
40208 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
40209 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
40210 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
40211 (grub_biosdisk_cdrp): New structure.
40212 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
40213
40214 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
40215
40216 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
40217 device.
40218
40219 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
40220 New function.
40221
68e7fc7a 402222008-03-20 Robert Millan <rmh@aybabtu.com>
40223
40224 Remove 2 TiB limit in ata.mod.
40225 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
40226 (grub_ata_dumpinfo): Print sector count with 0x%llx.
40227 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
40228 grub_uint64_t instead of grub_uint32_t.
40229
38ad2cf5 402302008-03-05 Bean <bean123ch@gmail.com>
40231
40232 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
40233 (grub_multiboot): Set boot device.
40234
40235 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
40236
2b89344e 402372008-03-02 Bean <bean123ch@gmail.com>
40238
40239 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
40240 symlink_buffer.
40241
87a95d1f 402422008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
40243
40244 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
40245 texinfo.tex.
40246
40247 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
40248 modified.
40249
40250 * docs/fdl.texi: New file.
f19dbdb7 40251
87a95d1f 40252 * docs/mdate-sh: New file. Copied from gnulib.
40253 * docs/texinfo.tex: Likewise.
40254
40255 * config.guess: Updated from gnulib.
40256 * install-sh: Likewise.
40257
7dc15d8e 402582008-02-28 Robert Millan <rmh@aybabtu.com>
40259
40260 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
40261 (aout_mod_SOURCES): New variable.
40262 (aout_mod_CFLAGS): Likewise.
40263 (aout_mod_LDFLAGS): Likewise.
40264
40265 * conf/i386-ieee1275.rmk: Likewise.
40266
b00ab696 402672008-02-28 Robert Millan <rmh@aybabtu.com>
40268
40269 * util/update-grub.in: Reorganise terminal validity check. Accept
40270 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
40271 Based on suggestion by Franklin PIAT.
40272
79ca2d78 402732008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
40274
40275 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
40276 function.
40277 * util/getroot.c (grub_util_check_block_device): New function that
40278 returns the given argument if it is a block device and returns NULL else.
40279 * util/grub-probe.c (argument_is_device): New variable.
40280 (probe): Promote device_name from a variable to an argument. Receive
40281 device_name from grub_util_check_block_device() if path is NULL and from
40282 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 40283 (options): Introduce new parameter '-d, --device'.
79ca2d78 40284 (main): Add description of the new parameter to the help screen.
40285 Rename path variable to argument. Set argument_is_device if the '-d'
40286 option is given. Pass argument to probe() depending on
40287 argument_is_device.
40288
0d16e571 402892008-02-24 Bean <bean123ch@gmail.com>
40290
40291 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
40292 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
40293 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
40294 (GRUB_ISO9660_VOLDESC_PART): Likewise.
40295 (GRUB_ISO9660_VOLDESC_END): Likewise.
40296 (grub_iso9660_primary_voldesc): New member escape.
40297 (grub_iso9660_data): New member joliet.
40298 (grub_iso9660_convert_string): New function.
40299 (grub_iso9660_mount): Detect joliet extension.
40300 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
40301 (grub_iso9660_iso9660_label): Likewise.
40302
40303 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
40304 (grub_setup_SOURCES): Add fs/udf.c.
40305 (grub_fstest_SOURCES): Likewise.
40306 (udf_mod_SOURCES): New variable.
40307 (udf_mod_CFLAGS): Likewise.
40308 (udf_mod_LDFLAGS): Likewise.
40309
40310 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
40311 (grub_emu_SOURCES): Likewise.
40312
40313 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40314
40315 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40316
40317 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40318
40319 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40320
40321 * fs/udf.c: New file.
40322
8a594a17 403232008-02-24 Robert Millan <rmh@aybabtu.com>
40324
40325 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
40326 (normal/lexer.c_DEPENDENCIES): New variables.
40327 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
40328 (normal/lexer.c_DEPENDENCIES): Likewise.
40329 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
40330 (normal/lexer.c_DEPENDENCIES): Likewise.
40331 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
40332 (normal/lexer.c_DEPENDENCIES): Likewise.
40333 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
40334 (normal/lexer.c_DEPENDENCIES): Likewise.
40335 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
40336 (normal/lexer.c_DEPENDENCIES): Likewise.
40337
2dc33c03 403382008-02-23 Robert Millan <rmh@aybabtu.com>
40339
40340 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
40341 since they were intended to be in hex. This didn't break previously
40342 because of a bug in gpt_partition_map_iterate() (see below).
40343
40344 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
40345 when checking the validity of GPT header.
40346 Remove `partno', since it always provides the same information as `i'.
40347
f6f4cfb0 403482008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
40349
40350 * include/grub/efi/time.h: Fix a wrong comment.
40351
79ff665f 403522008-02-19 Pavel Roskin <proski@gnu.org>
40353
40354 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
40355 message.
40356
d38e24c2 403572008-02-19 Bean <bean123ch@gmail.com>
40358
40359 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
40360 (aout_mod_SOURCES): New variable.
40361 (aout_mod_CFLAGS): Likewise.
40362 (aout_mod_LDFLAGS): Likewise.
40363 (_bsd_mod_SOURCES): New variable.
40364 (_bsd_mod_CFLAGS): Likewise.
40365 (_bsd_mod_LDFLAGS): Likewise.
40366 (bsd_mod_SOURCES): New variable.
40367 (bsd_mod_CFLAGS): Likewise.
40368 (bsd_mod_LDFLAGS): Likewise.
40369
40370 * include/grub/aout.h: New file.
40371
40372 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
40373
40374 * include/grub/i386/bsd.h: New file.
40375
40376 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
40377 to make it public.
40378
40379 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
40380 function is called, so that it's possible to change it inside the hook.
40381 (grub_elf64_load): Likewise.
40382 (grub_elf_file): Don't close the file if elf header is not found.
40383 (grub_elf_close): Close the file if grub_elf_file fails (The new
40384 grub_elf_file won't close it).
40385 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
40386 (grub_elf64_size): Likewise.
40387
40388 * kern/i386/loader.S (grub_unix_real_boot): New function.
40389
40390 * loader/aout.c: New file.
40391
40392 * loader/i386/bsd.c: New file.
40393
40394 * loader/i386/bsd_normal.c: New file.
40395
40396 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
40397
40398 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 40399 can test other formats.
d38e24c2 40400
b93bdb0f 404012008-02-19 Robert Millan <rmh@aybabtu.com>
40402
40403 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
40404 (grub_gpt_partition_type_empty): Redefine with macro from
40405 `<grub/gpt_partition.h>'.
40406 (gpt_partition_map_iterate): Adjust partition type comparison.
40407
40408 Export `entry' as partmap-specific `part.data' struct.
40409 (grub_gpt_header, grub_gpt_partentry): Move from here ...
40410
40411 * include/grub/gpt_partition.h (grub_gpt_header)
40412 (grub_gpt_partentry): ... to here (new file).
40413
40414 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
40415
40416 (grub_gpt_partition_type_bios_boot): New const variable, defined
40417 with macro from `<grub/gpt_partition.h>'.
40418
40419 (setup): Replace `first_start' with `embed_region', which keeps
40420 track of the embed region (and is partmap-agnostic).
40421
40422 Replace find_first_partition_start() with find_usable_region(),
40423 which finds a usable region for embedding using partmap-specific
40424 knowledge (supports PC/MSDOS and GPT).
40425
40426 Fix all assumptions that the embed region start at sector 1, using
40427 `embed_region.start' from now on. Similarly, use `embed_region.end'
40428 rather than `first_start' to calculate available size.
40429
40430 In grub_util_info() message, replace "into after the MBR" with an
40431 indication of the specific sector our embed region starts at.
40432
66cb40f6 404332008-02-19 Robert Millan <rmh@aybabtu.com>
40434
40435 * DISTLIST: Replace `commands/ieee1275/halt.c' and
40436 `commands/ieee1275/reboot.c' with `commands/halt.c' and
40437 `commands/reboot.c'.
40438 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
40439 (halt_mod_SOURCES): Likewise.
40440 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
40441 (halt_mod_SOURCES): Likewise.
40442
b7202015 404432008-02-17 Christian Franke <franke@computer.org>
40444
40445 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
40446
32b0fc49 404472008-02-17 Robert Millan <rmh@aybabtu.com>
40448
40449 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
40450 set `first_start' to 0 for non-PC/MSDOS partition maps.
40451
aca63502 404522008-02-16 Robert Millan <rmh@aybabtu.com>
40453
40454 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
40455 do not assume partition map is PC/MSDOS before performing checks that
40456 are specific to that layout.
40457
0de8be86 404582008-02-13 Robert Millan <rmh@aybabtu.com>
40459
40460 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
40461 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
40462 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
40463
c3db8364 404642008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
40465
40466 * configure.ac: Only a cosmetic change on the handling of
40467 -fno-stack-protector.
40468
f714229e 404692008-02-12 Alexandre Boeglin <alex@boeglin.org>
40470
c3db8364 40471 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
40472 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
40473 reboot.c.
f714229e 40474 (grub_install_SOURCES): Add halt.mod and reboot.mod.
40475 (halt_mod_SOURCES): New variable.
40476 (halt_mod_CFLAGS): Likewise.
40477 (halt_mod_LDFLAGS): Likewise.
40478 (reboot_mod_SOURCES): Likewise.
40479 (reboot_mod_CFLAGS): Likewise.
40480 (reboot_mod_LDFLAGS): Likewise.
40481
c3db8364 40482 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
40483 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
40484 reboot.c.
f714229e 40485 (halt_mod_SOURCES): Likewise.
40486 (reboot_mod_SOURCES): Likewise.
40487
c3db8364 40488 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
40489 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 40490 (reboot_mod_SOURCES): Likewise.
40491
40492 * commands/i386/pc/reboot.c: merge this file ...
40493
40494 * commands/ieee1275/reboot.c: ... and this file ...
40495
40496 * commands/reboot.c: ... to this file.
c3db8364 40497 Add some precompiler directive to include the correct header for
40498 each machine.
f714229e 40499
40500 * commands/ieee1275/halt.c: move this file ...
40501
40502 * commands/halt.c: ... to here.
c3db8364 40503 Add some precompiler directive to include the correct header for
40504 each machine.
f714229e 40505
40506 * include/grub/efi/efi.h (grub_reboot): New function declaration.
40507 (grub_halt): Likewise.
40508
40509 * kern/efi/efi.c (grub_reboot): New function.
40510 (grub_halt): Likewise.
40511
c74493e0 405122008-02-12 Robert Millan <rmh@aybabtu.com>
40513
40514 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
40515 /dev (like it is done for /dev/mapper). This doesn't provide support
40516 for EVMS, but at least it is now easy to identify the problem when it
40517 arises.
40518
d0db4b04 405192008-02-11 Robert Millan <rmh@aybabtu.com>
40520
40521 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
40522 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
40523 comparing it with -1, not 0.
40524
bf748642 405252008-02-10 Robert Millan <rmh@aybabtu.com>
40526
40527 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
40528 `disk/lvm.c'.
40529 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40530 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
40531
40532 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
40533 `disk/lvm.c' to the end of the list.
40534 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40535 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40536
b5db202a 405372008-02-10 Robert Millan <rmh@aybabtu.com>
40538
40539 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
40540 grub_print_error() instead. This will let user know why we're entering
40541 rescue mode.
40542 Based on suggestions from Sam Morris.
40543
83abee31 405442008-02-10 Alexandre Boeglin <alex@boeglin.org>
40545
40546 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
40547 on remaining N args, instead of "--" arg N times.
40548
78d5a08b 405492008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
40550
40551 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
40552 (fill_with_default_glyph): Changed to use unknown_glyph for fill
40553 pattern for unknown glyphs.
40554
68807e5f 405552008-02-09 Robert Millan <rmh@aybabtu.com>
40556
40557 * configure.ac: Probe for `help2man'.
40558 * Makefile.in (builddir): New variable.
40559 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
40560 or otherwise add a few flags/options to it.
40561 (install-local): For every executable utility or script that is
40562 installed, invoke $(HELP2MAN) to install a manpage based on --help
40563 output.
40564
40565 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
40566 that it doesn't prevent --help from working in build tree.
40567
40568 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
40569 with `bug-grub@gnu.org'.
40570 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
40571 * util/update-grub.in (usage): New function.
40572 Implement proper argument check, with support for --help and --version
40573 (as well as existing -y).
40574
405752008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 40576
40577 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
40578 avoid overwriting previous output.
40579 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
40580
c1962162 405812008-02-09 Robert Millan <rmh@aybabtu.com>
40582
40583 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
40584 drawing the menu.
40585
3dac2e3f 405862008-02-09 Robert Millan <rmh@aybabtu.com>
40587
40588 * commands/sleep.c: New file.
40589 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
40590 (sleep_mod_SOURCES): New variable.
40591 (sleep_mod_CFLAGS): Likewise.
40592 (sleep_mod_LDFLAGS): Likewise.
40593
7a634e08 405942008-02-09 Robert Millan <rmh@aybabtu.com>
40595
40596 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
40597 situations in which we can deduce the RAID size and the superblock
40598 doesn't match it.
40599
b92f0c18 406002008-02-09 Robert Millan <rmh@aybabtu.com>
40601
40602 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
40603 and return a grub_diskmemberlist_t composed of LVM physical volumes.
40604 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
40605
40606 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
40607 and return a grub_diskmemberlist_t composed of physical array members.
40608 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
40609
40610 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
40611 prototype.
40612 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
40613 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
40614 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
40615
40616 * util/grub-probe.c (probe): Move partmap probing code from here ...
40617 (probe_partmap): ... to here.
40618 (probe): Use probe_partmap() once for the disk we're probing, and
40619 additionally, when such disk contains a memberlist() struct member,
40620 once for each disk that is contained in the structure returned by
40621 memberlist().
40622
91a4bf68 406232008-02-09 Robert Millan <rmh@aybabtu.com>
40624
40625 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
40626 environment variable to 'all' in order to obtain debug output from
40627 non-util/ code.
40628 * util/i386/pc/grub-setup.c (main): Likewise.
40629
a96f9caa 406302008-02-08 Robert Millan <rmh@aybabtu.com>
40631
40632 * disk/raid.c (grub_raid_scan_device): Check for
40633 `array->device[sb.this_disk.number]' rather than for
40634 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 40635 guaranteed to be accessible.
a96f9caa 40636
b37a9222 406372008-02-08 Robert Millan <rmh@aybabtu.com>
40638
40639 * disk/raid.c: Update copyright.
40640 * fs/cpio.c: Likewise.
40641 * include/grub/raid.h: Likewise.
40642 * loader/i386/pc/multiboot.c: Likewise.
40643 * util/hostfs.c: Likewise.
40644
5626aee1 406452008-02-08 Robert Millan <rmh@aybabtu.com>
40646
40647 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
40648 to a grub_disk_t array.
40649 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
40650 `device[x]'.
40651 (grub_raid_scan_device): Replace `device[x].name' accesses with
40652 `device[x]->name'. Simplify initialization of `array->device[x]'.
40653
554f0187 406542008-02-08 Robert Millan <rmh@aybabtu.com>
40655
40656 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
40657 grub_dprintf() calls.
40658 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
40659 error message.
40660
1ec8425d 406612008-02-07 Christian Franke <franke@computer.org>
40662
40663 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
40664 instead of fseek and ftell to support large files.
40665 (grub_hostfs_read): Likewise.
40666
f2156fda 406672008-02-07 Robert Millan <rmh@aybabtu.com>
40668
40669 Patch from Jeroen Dekkers.
40670 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 40671 failure, since successfully reading all array members might not be
f2156fda 40672 required.
40673
9216e0e7 406742008-02-06 Robert Millan <rmh@aybabtu.com>
40675
40676 * util/grub-probe.c (probe): Simplify partmap probing (with the
40677 assumption that the first word up to the underscore equals to
40678 the module name).
40679
b0dfd29a 406802008-02-06 Christian Franke <franke@computer.org>
40681
40682 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
40683 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
40684 last block of a cpio or tar stream.
40685 Check for "TRAILER!!!" instead of any empty data
40686 block to detect last block of a cpio stream.
40687 (grub_cpio_dir): Fix constness of variable np.
40688 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
40689 cpio or tar trailer is detected. This fixes a crash
40690 on open of a non existing file.
40691
c32865bf 406922008-02-05 Bean <bean123ch@gmail.com>
40693
40694 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
40695 address of entry.
40696 (grub_multiboot_load_elf64): Likewise.
40697 (grub_multiboot): Initialize mbi structure.
40698
40699 * util/grub-fstest.c: Don't include unused header file script.h.
40700
fe6b695a 40701 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 40702 of file.
40703 (grub_fstest_SOURCES): Likewise.
40704
409480b7 407052008-02-05 Robert Millan <rmh@aybabtu.com>
40706
40707 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
40708 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
40709 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
40710 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
40711
40712 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
40713 (translation_table): Replace hardcoded values with macros
40714 provided by `<grub/term.h>'.
40715
40716 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
40717 (keyboard_map): Correct/add a few values, with macros provided
40718 by `<grub/term.h>'.
40719 (keyboard_map_shift): Zero values that don't differ from their
40720 `keyboard_map' equivalents.
40721 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
40722 Discard the second scan code that is always sent by Caps lock.
40723 Only use `keyboard_map_shift' when it provides a non-zero value,
40724 otherwise fallback to `keyboard_map'.
40725
99fadbaa 407262008-02-04 Bean <bean123ch@gmail.com>
40727
40728 * Makefile.in (enable_grub_fstest): New variable.
40729
40730 * conf/common.rmk (grub_fstest_init.lst): New rule.
40731 (grub_fstest_init.h): Likewise.
40732 (grub_fstest_init.c): Likewise.
40733 (util/grub-fstest.c_DEPENDENCIES): New variable.
40734 (grub_fstest_SOURCES): Likewise.
40735
40736 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
40737
40738 * util/grub-fstest.c: New file.
40739
bf567c50 407402008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40741
40742 Make grub-setup handle a separate root device.
f19dbdb7 40743
bf567c50 40744 * util/i386/pc/grub-setup.c (setup): Always open the root device,
40745 so that the root device can be compared with the destination
40746 device.
40747 When embedding the core image, if the root and destination devices
40748 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
40749 0xFF.
40750 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 40751
9be6b98b 407522008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40753
40754 Add support for having a grub directory in a different drive. This
40755 is still only the data handling part.
f19dbdb7 40756
9be6b98b 40757 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
40758 (codestart): Save %dh in GRUB_ROOT_DRIVE.
40759 (grub_root_drive): New variable.
40760
40761 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
40762 instead of GRUB_BOOT_DRIVE to construct a device name. Set
40763 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
40764 as it was.
40765
40766 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
40767
40768 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
40769 macro.
40770 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
40771
40772 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
40773 is bogus, because PXE booting does not specify any drive
40774 correctly.
40775
40776 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
40777 am not sure if this is really correct.
40778
40779 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
40780 is always identical to the boot drive when booting from a CD.
40781
40782 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
40783 longer.
40784 (root_drive): New variable.
40785 (real_start): Unconditionally set %dh to ROOT_DRIVE.
40786 (setup_sectors): Push %dx right after popping it, because %dh will
40787 be modified later.
40788 (copy_buffer): Restore %dx.
40789
e0ca0677 407902008-02-03 Robert Millan <rmh@aybabtu.com>
40791
40792 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
40793 use `cdboot.img' for cdrom images.
40794
3b3f6629 407952008-02-03 Robert Millan <rmh@aybabtu.com>
40796
40797 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
40798 only setup gfxterm when `font' command has succeeded.
40799
d42b3672 408002008-02-03 Robert Millan <rmh@aybabtu.com>
40801
40802 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
40803 (grub_rescue_cmd_multiboot_loader)
40804 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
40805
fa370ea6 408062008-02-03 Pavel Roskin <proski@gnu.org>
40807
e0c5dacb 40808 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 40809 %edx and %esi from stack only after grub_gate_a20() is called.
40810 grub_gate_a20() clobbers %edx.
40811
f2a76e1d 408122008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40813
40814 * configure.ac (AC_INIT): Bumped to 1.96.
40815
40816 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
40817 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
40818 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
40819 video/readers/png.c.
40820
90fd32d1 408212008-02-03 Bean <bean123ch@gmail.com>
9be665dd 40822
40823 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
40824 (cdboot_img_SOURCES): New variable.
40825 (cdboot_img_ASFLAGS): New variable.
40826 (cdboot_img_LDFLAGS): New variable.
40827
40828 * boot/i386/pc/cdboot.S: New file.
40829
40830 * disk/i386/pc/biosdisk.c (cd_start): New variable.
40831 (cd_count): Likewise.
40832 (grub_biosdisk_get_drive): Add support for cd device.
40833 (grub_biosdisk_call_hook): Likewise.
40834 (grub_biosdisk_iterate): Likewise.
40835 (grub_biosdisk_open): Likewise.
40836 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
40837 (grub_biosdisk_rw): Support reading from cd device.
40838 (GRUB_MOD_INIT): Iterate cd devices.
40839
40840 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
40841 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
40842 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
40843
40844 * kern/i386/pc/init.c (make_install_device): Check for cd device.
40845
4020aa53 408462008-02-02 Robert Millan <rmh@aybabtu.com>
40847
40848 * commands/read.c: New file.
40849 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
40850 (read_mod_SOURCES): New variable.
40851 (read_mod_CFLAGS): Likewise.
40852 (read_mod_LDFLAGS): Likewise.
40853
e03a1132 408542008-02-02 Robert Millan <rmh@aybabtu.com>
40855
40856 * normal/main.c (grub_normal_execute): Check for `menu->size' when
40857 determining whether menu has to be displayed.
40858
58c69220 408592008-02-02 Marco Gerards <marco@gnu.org>
40860
40861 * bus/pci.c: New file.
40862
40863 * include/grub/pci.h: Likewise.
40864
40865 * include/grub/i386/pc/pci.h: Likewise.
40866
40867 * commands/lspci.c: Likewise.
40868
40869 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
40870 `lspci.mod'.
40871 (pci_mod_SOURCES): New variable.
40872 (pci_mod_CFLAGS): Likewise.
40873 (pci_mod_LDFLAGS): Likewise.
40874 (lspci_mod_SOURCES): Likewise.
40875 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 40876 (lspci_mod_LDFLAGS): Likewise.
58c69220 40877
c004e1b4 408782008-02-02 Bean <bean123ch@gmail.com>
40879
40880 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
40881 (grub_ufs_get_file_block): Fix indirect block calculation problem.
40882
40883 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
40884 (grub_xfs_btree_node): New structure.
40885 (grub_xfs_btree_root): New structure.
40886 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
40887 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
40888 (GRUB_XFS_EXTENT_BLOCK): Likewise.
40889 (GRUB_XFS_EXTENT_SIZE): Likewise.
40890 (grub_xfs_read_block): Support btree format type.
40891 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
40892 Use directory block as basic unit.
40893
40894 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
40895
40896 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
40897 __attribute__ ((__regparm__ (1))).
40898
f95562bf 408992008-02-01 Robert Millan <rmh@aybabtu.com>
40900
40901 Correct a mistake in previous commit.
40902
40903 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
40904 top.
40905 (normal/command.c_DEPENDENCIES): New variable.
40906
7d31f41f 409072008-02-01 Robert Millan <rmh@aybabtu.com>
40908
40909 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
40910 top.
40911 (normal/command.c_DEPENDENCIES): New variable.
40912 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
40913 * conf/i386-ieee1275.rmk: Likewise.
40914 * conf/i386-linuxbios.rmk: Likewise.
40915 * conf/i386-pc.rmk: Likewise.
40916 * conf/sparc64-ieee1275.rmk: Likewise.
40917 * conf/powerpc-ieee1275.rmk: Likewise.
40918 (grub_emu_SOURCES): Add `fs/fshelp.c'.
40919
40920 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
40921
60b6be74 409222008-02-01 Robert Millan <rmh@aybabtu.com>
40923
40924 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
40925 call at beginning of function.
40926
078522ab 409272008-01-31 Pavel Roskin <proski@gnu.org>
40928
40929 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 40930 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
40931 (grub_mkrescue_SOURCES): Likewise.
078522ab 40932 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
40933
ccaa8a5f 409342008-01-30 Robert Millan <rmh@aybabtu.com>
40935
40936 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
40937 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
40938 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
40939 (grub_probe_SOURCES): ... to here.
40940
40941 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
40942 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
40943 * conf/i386-ieee1275.rmk: Likewise.
40944 * conf/i386-linuxbios.rmk: Likewise.
40945 * conf/powerpc-ieee1275.rmk: Likewise.
40946
ae5a9cd7 409472008-01-30 Tristan Gingold <gingold@free.fr>
40948
40949 * kern/rescue.c: Silently accept empty lines.
40950
70bc2ef2 409512008-01-29 Bean <bean123ch@gmail.com>
40952
40953 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
40954 (real_code_2): Code cleanup and change comment style.
40955 (move_memory): Avoid using 32-bit address mode.
40956
6a4d50ea 409572008-01-29 Bean <bean123ch@gmail.com>
40958
40959 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
40960 (png_mod_SOURCES): New variable.
40961 (png_mod_CFLAGS): Likewise.
40962 (png_mod_LDFLAGS): Likewise.
40963
40964 * video/readers/png.c: New file.
40965
11cc30ac 409662008-01-28 Robert Millan <rmh@aybabtu.com>
40967
40968 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
40969 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
40970 `ifndef GRUB_MOD_GAP' hack.
40971 * util/elf/grub-mkimage.c (add_segments): Likewise.
40972
3abc589f 409732008-01-27 Robert Millan <rmh@aybabtu.com>
40974
40975 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
40976 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 40977 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 40978
e1907778 409792008-01-27 Robert Millan <rmh@aybabtu.com>
40980
40981 Get grub-emu to build again (including parallel builds).
40982
40983 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
40984 Split into ...
40985 (util/grub-emu.c_DEPENDENCIES): ... this, ...
40986 (normal/execute.c_DEPENDENCIES): ... this, ...
40987 (grub-emu_DEPENDENCIES): ... and this.
40988
40989 * conf/i386-efi.rmk: Likewise.
40990 * conf/i386-linuxbios.rmk: Likewise.
40991 * conf/i386-ieee1275.rmk: Likewise.
40992 * conf/powerpc-ieee1275.rmk: Likewise.
40993 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
40994
2216b101 409952008-01-27 Robert Millan <rmh@aybabtu.com>
40996
40997 * NEWS: Add a few items.
40998
f75172d9 409992008-01-27 Robert Millan <rmh@aybabtu.com>
41000
41001 Fix parallel builds with grub-emu. Based on earlier commit for
41002 grub-probe and grub-setup.
41003
41004 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41005 (util/grub-emu.c_DEPENDENCIES): ... this.
41006 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41007 (util/grub-emu.c_DEPENDENCIES): ... this.
41008 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41009 (util/grub-emu.c_DEPENDENCIES): ... this.
41010 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41011 (util/grub-emu.c_DEPENDENCIES): ... this.
41012 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41013 (util/grub-emu.c_DEPENDENCIES): ... this.
41014
3f51de77 410152008-01-27 Pavel Roskin <proski@gnu.org>
41016
41017 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
41018 to create a gap between _end and the modules added to the image
41019 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
41020 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
41021 * util/elf/grub-mkimage.c (add_segments): Likewise.
41022
2033f53e 410232008-01-26 Pavel Roskin <proski@gnu.org>
41024
41025 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
41026 just return an error.
41027
22da1f6f 410282008-01-26 Bean <bean123ch@gmail.com>
41029
41030 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
41031 (grub_reiserfs_get_item): Save offset of the next item.
41032 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
41033
2a9525e6 410342008-01-25 Robert Millan <rmh@aybabtu.com>
41035
41036 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
41037 make all filesystem sources appear together (possibly fixing omissions
41038 while at it).
41039 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41040 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41041 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41042 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41043
41044 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
41045 add `kern/file.c'.
41046 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
41047 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
41048 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
41049 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
41050
41051 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
41052 (probe): Add a sanity check to make sure of our ability to read
41053 requested files when probing for filesystem type.
41054
41055 * genmk.rb: Update copyright year (2007).
41056
41057 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
41058 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
41059 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
41060 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
41061 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
41062 : Remove function prototypes.
41063
b95f71b5 410642008-01-25 Robert Millan <rmh@aybabtu.com>
41065
41066 Revert my previous commits (based on wrong assumption of how grub_errno
41067 works).
41068
fe6b695a 41069 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 41070 * kern/file.c (grub_file_open): Likewise.
41071
d08bbb49 410722008-01-24 Pavel Roskin <proski@gnu.org>
41073
41074 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
41075 that hang if GRUB tries to setup colors.
41076 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
41077 colors for firmwares that don't support it.
41078 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
41079 Recognize Open Hack'Ware, set flags to work around its
41080 limitations.
41081
605e36ed 410822008-01-24 Robert Millan <rmh@aybabtu.com>
41083
41084 * kern/file.c (grub_file_open): Do not account previous failures of
41085 unrelated functions when grub_errno is checked for.
41086 Reported by Oleg Strikov.
41087
bac332a1 410882008-01-24 Bean <bean123ch@gmail.com>
41089
41090 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
41091 (grub_ufs_sblock): New member volume name.
41092 (grub_ufs_find_file): Fix string copy bug.
41093 (grub_ufs_label): Implement this function properly.
41094
41095 * fs/hfs.c (grub_hfs_cnid_type): New enum.
41096 (grub_hfs_iterate_records): Use the correct file number for extents
41097 and catalog file. Fix problem in next index calculation.
41098 (grub_hfs_find_node): Replace recursive function call with loop.
41099 (grub_hfs_iterate_dir): Replace recursive function call with loop.
41100
15c80c09 411012008-01-23 Robert Millan <rmh@aybabtu.com>
41102
41103 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
41104 `<grub/symbol.h>' and `<grub/multiboot.h>'.
41105 (grub_multiboot2_real_boot): New function prototype.
41106
41107 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
41108 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
41109
41110 * kern/i386/ieee1275/init.c (grub_os_area_addr)
41111 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
41112
305338fd 411132008-01-23 Robert Millan <rmh@aybabtu.com>
41114
41115 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
41116 #ifdef'ed out grub_printf().
41117
3ea52685 411182008-01-23 Robert Millan <rmh@aybabtu.com>
41119
41120 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
41121 grub_dprintf calls, since they make "debug=all" mode unusable.
41122 (grub_console_checkkey): Likewise.
41123
5882ae4b 411242008-01-23 Robert Millan <rmh@aybabtu.com>
41125
41126 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
41127 `term/i386/pc/at_keyboard.c'.
41128 (pkglib_MODULES): Add `serial.mod'.
41129 (serial_mod_SOURCES): New variable.
41130 (serial_mod_CFLAGS): Likewise.
41131 (serial_mod_LDFLAGS): Likewise.
41132
41133 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
41134 `<grub/powerpc/ieee1275/console.h>'.
41135 (grub_keyboard_controller_init): New function prototype.
41136 (grub_console_checkkey): Likewise.
41137 (grub_console_getkey): Likewise.
41138
41139 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
41140 keyboard on i386.
41141
41142 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
41143 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
41144
06ab5303 411452008-01-23 Robert Millan <rmh@aybabtu.com>
41146
41147 * kern/i386/pc/init.c (make_install_device): When memdisk image is
41148 present, "(memdisk)/boot/grub" becomes the default prefix.
41149
41150 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
41151 a memdisk tarball with all the modules. Add --overlay=DIR option that
41152 allows users to overlay additional files into the image.
41153
dbb475a4 411542008-01-23 Robert Millan <rmh@aybabtu.com>
41155
41156 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
41157 and `machine/memory.h'.
41158 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
41159 (_multiboot_mod_SOURCES): New variable.
41160 (_multiboot_mod_CFLAGS): Likewise.
41161 (_multiboot_mod_LDFLAGS): Likewise.
41162 (multiboot_mod_SOURCES): Likewise.
41163 (multiboot_mod_CFLAGS): Likewise.
41164 (multiboot_mod_LDFLAGS): Likewise.
41165
41166 * include/grub/i386/ieee1275/loader.h: New file.
41167
41168 * include/grub/i386/ieee1275/machine.h: Likewise.
41169
41170 * include/grub/i386/ieee1275/memory.h: Likewise.
41171
41172 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
41173 variable declaration.
41174 (grub_os_area_size): Likewise.
41175
41176 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
41177 (grub_lower_mem, grub_upper_mem): New variables.
41178 (grub_stop_floppy): New function (just to make
41179 grub_multiboot2_real_boot() happy).
41180
41181 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
41182 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
41183 (grub_stop): New function.
41184 Include `"../realmode.S"' and `"../loader.S"'.
41185
41186 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
41187 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
41188
41189 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
41190 rely on grub_multiboot2_real_boot() for final boot.
41191
25638629 411922008-01-22 Robert Millan <rmh@aybabtu.com>
41193
41194 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
41195 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
41196 device that doesn't look like an SD card.
41197 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
41198 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
41199 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
41200 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
41201 found.
41202
9dad816d 412032008-01-22 Robert Millan <rmh@aybabtu.com>
41204
41205 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
41206 avoid claiming over our own code.
41207
34842f2d 412082008-01-22 Bean <bean123ch@gmail.com>
41209
41210 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
41211 (jpeg_mod_SOURCES): New variable.
41212 (jpeg_mod_CFLAGS): Likewise.
41213 (jpeg_mod_LDFLAGS): Likewise.
41214
41215 * video/readers/jpeg.c : New file.
41216
44023a28 412172008-01-22 Bean <bean123ch@gmail.com>
41218
41219 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
41220 there are no more items.
41221
bc2d8ac6 412222008-01-21 Robert Millan <rmh@aybabtu.com>
41223
41224 * kern/mm.c (grub_mm_init_region): Improve debug message.
41225
261bd4bc 412262008-01-21 Robert Millan <rmh@aybabtu.com>
41227
41228 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
41229 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
41230 address.
41231 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
41232 a C macro.
41233 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
41234 Indicates start of upper memory.
41235 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
41236 (generate_image): Abort when image size is big enough to corrupt
41237 upper memory.
41238
41239 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
41240 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
41241 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
41242 instead of hardcoding 0xA0000.
41243 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
41244 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
41245 instead of hardcoding 0xA0000.
41246
f970b55e 412472008-01-21 Robert Millan <rmh@aybabtu.com>
41248
41249 * disk/memdisk.c (memdisk_size): New variable.
41250 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
41251 `memdisk_size'.
41252 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
41253 image to dynamic memory.
41254 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
41255 `memdisk_size'. Free memdisk block.
41256
1a8b0526 412572008-01-21 Robert Millan <rmh@aybabtu.com>
41258
41259 Fix detection of very small filesystems (like tar).
41260
41261 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
41262 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
41263 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
41264 a problem with this disk).
41265
6e9b4aab 412662008-01-21 Robert Millan <rmh@aybabtu.com>
41267
41268 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
41269 on grub_biosdisk_rw_standard() error.
41270
0d8837b2 412712008-01-21 Robert Millan <rmh@aybabtu.com>
41272
41273 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
41274 recent changes.
41275 * kern/elf.c: Likewise.
41276 * kern/ieee1275/ieee1275.c: Likewise.
41277 * kern/powerpc/ieee1275/openfw.c: Likewise.
41278 * term/ieee1275/ofconsole.c: Likewise.
41279
ffd36e34 412802008-01-21 Robert Millan <rmh@aybabtu.com>
41281
41282 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
41283
3f0093d0 41284 * include/grub/kernel.h (grub_arch_memdisk_addr)
41285 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 41286
3f0093d0 41287 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
41288 (grub_arch_memdisk_size): ... to here.
ffd36e34 41289
6c391b21 412902008-01-21 Robert Millan <rmh@aybabtu.com>
41291
41292 Mostly based on bugfix from Bean.
41293
41294 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
41295 attribute with hook() parameter.
41296 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
41297 declaration.
41298 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
41299 attribute with hook() parameter.
41300 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
41301 declaration.
41302
55a581dc 413032008-01-21 Robert Millan <rmh@aybabtu.com>
41304
41305 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
41306 (pkglib_MODULES): Add `memdisk.mod'.
41307 (memdisk_mod_SOURCES): New variable.
41308 (memdisk_mod_CFLAGS): Likewise.
41309 (memdisk_mod_LDFLAGS): Likewise.
41310
41311 * disk/memdisk.c: New file.
41312
41313 * include/grub/disk.h (grub_disk_dev_id): Add
41314 `GRUB_DISK_DEVICE_MEMDISK_ID'.
41315
41316 * include/grub/i386/pc/kernel.h
41317 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
41318 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
41319 (grub_kernel_image_size): New variable declaration.
41320 (grub_total_module_size): Likewise.
41321 (grub_memdisk_image_size): Likewise.
41322
41323 * include/grub/i386/pc/memory.h
41324 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
41325
41326 * include/grub/kernel.h: Include `<grub/symbol.h>'.
41327 (grub_arch_memdisk_addr): New variable declaration.
41328 (grub_arch_memdisk_size): Likewise.
41329
41330 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
41331 (grub_arch_memdisk_size): Likewise.
41332
41333 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
41334 (codestart): Replace hardcoded `0x100000' with
41335 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
41336
41337 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
41338 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
41339 not NULL, append the contents of the file it refers to, at the end of
41340 the compressed kernel image. Initialize `grub_memdisk_image_size'
41341 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
41342 (options): Add "memdisk"|'m' option.
41343 (main): Parse --memdisk|-m option, and pass user-provided path as
41344 parameter to generate_image().
41345
3d7f54c9 413462008-01-20 Robert Millan <rmh@aybabtu.com>
41347
41348 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
41349 grub_dprintf() calls from here ...
41350 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
41351
0bf74728 413522008-01-20 Robert Millan <rmh@aybabtu.com>
41353
41354 Fix detection of "real mode" when /options/real-mode? doesn't exist.
41355
41356 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
41357 declaration.
41358 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
41359 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
41360 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 41361 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 41362 property).
41363 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
41364 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
41365
33bf70a7 413662008-01-19 Robert Millan <rmh@aybabtu.com>
41367
fe6b695a 41368 Get rid of confusing function (superseded by
33bf70a7 41369 `grub_ieee1275_get_integer_property')
41370 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
41371 prototype.
41372 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
41373 function.
41374 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
41375 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 41376 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 41377
e2da7d26 413782008-01-19 Robert Millan <rmh@aybabtu.com>
41379
41380 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
41381 command after "shut-down", since implementations differ on which
41382 the command for halt is.
41383
59f1fd8d 413842008-01-19 Robert Millan <rmh@aybabtu.com>
41385
41386 * include/grub/i386/linuxbios/console.h: Add header protection.
41387 (grub_keyboard_controller_init): New function prototype.
41388 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
41389 (KEYBOARD_COMMAND_READ): Likewise.
41390 (KEYBOARD_COMMAND_WRITE): Likewise.
41391 (KEYBOARD_SCANCODE_SET1): Likewise.
41392 (grub_keyboard_controller_write): New function.
41393 (grub_keyboard_controller_read): Likewise.
41394 (grub_keyboard_controller_init): Likewise.
41395
41396 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
41397 (grub_console_init): On coreboot/LinuxBIOS, call
41398 grub_keyboard_controller_init().
41399
5f5a7c15 414002008-01-19 Robert Millan <rmh@aybabtu.com>
41401
41402 PowerPC changes provided by Pavel Roskin.
41403
41404 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
41405 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
41406 don't rely on cmain() doing it.
41407 * kern/i386/ieee1275/startup.S (_start): Store %eax in
41408 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
41409
1210e168 414102008-01-16 Robert Millan <rmh@aybabtu.com>
41411
41412 * include/grub/i386/linuxbios/memory.h
41413 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
41414 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
41415 receive `table_header' as argument. Instead, probe for it in the
41416 known memory ranges where it can be present.
41417 (grub_available_iterate): Do not pass a fixed `table_header' address
41418 to grub_linuxbios_table_iterate().
41419
3d04eab8 414202008-01-15 Robert Millan <rmh@aybabtu.com>
41421
41422 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
41423 * conf/i386-ieee1275.rmk: New file.
41424 * include/grub/i386/ieee1275/console.h: Likewise.
41425 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
41426 * include/grub/i386/ieee1275/kernel.h: Likewise.
41427 * include/grub/i386/ieee1275/time.h: Likewise.
41428 * kern/i386/ieee1275/init.c: Likewise.
41429 * kern/i386/ieee1275/startup.S: Likewise.
41430
d1bc1b73 414312008-01-15 Robert Millan <rmh@aybabtu.com>
41432
41433 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
41434 when pointers are 32-bit (but still do set it to one when they are
41435 64-bit).
41436
66a65807 414372008-01-15 Robert Millan <rmh@aybabtu.com>
41438
41439 * include/grub/ieee1275/ieee1275.h
41440 (grub_ieee1275_get_integer_property): New function prototype.
41441
41442 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
41443 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 41444 grub_ieee1275_get_property() to handle endianness.
66a65807 41445
41446 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
41447 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 41448 where appropriate.
66a65807 41449 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
41450 (grub_map): Likewise.
41451 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
41452
a83ccafd 414532008-01-15 Bean <bean123ch@gmail.com>
41454
41455 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
41456 (grub_script_execute_cmdline): Reset grub_errno.
41457
41458 * normal/main.c (read_config_file): Reset grub_errno.
41459
41460 * normal/parse.y (script_init): New.
41461 (script): Move function and menuentry here.
41462 (delimiter): New.
41463 (command): Add delimiter at the end of command.
41464 (commands): Adjust to match the new command.
41465 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 41466 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 41467 (if): Use the new commands.
41468
41469 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
41470
df6ecfc6 414712008-01-15 Robert Millan <rmh@aybabtu.com>
41472
41473 * normal/menu.c (run_menu): Move timeout message from here ...
41474 (print_timeout): ... to here.
41475 (run_menu): Use print_timeout() once during initial draw to print
41476 the whole message, and again in every clock tick to update only
41477 the number of seconds.
41478
87ae25eb 414792008-01-15 Robert Millan <rmh@aybabtu.com>
41480
41481 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
41482 actual size of `available' from grub_ieee1275_get_property(), and
41483 restrict parsing to that bound.
41484
47bf09a4 414852008-01-15 Christian Franke <franke@computer.org>
41486
41487 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
41488 (argp_program_version): Remove variable.
41489 (argp_program_bug_address): Likewise.
41490 (options): Convert from struct argp_option to struct option.
41491 (struct arguments): Remove.
41492 (parse_opt): Remove.
41493 (usage): New function.
41494 (main): Replace struct args members by simple variables.
41495 Replace argp_parse() by getopt_long().
41496 Add switch to evaluate options.
41497 Add missing "(...)" around root_dev in prefix string.
41498
c86f1469 414992008-01-14 Robert Millan <rmh@aybabtu.com>
41500
41501 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
41502 for grub_ieee1275_exit(), in order to improve portability.
41503
e622c559 415042008-01-14 Robert Millan <rmh@aybabtu.com>
41505
41506 * util/grub.d/10_linux.in (prefix): Define.
41507 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
41508
44cb1ec8 415092008-01-13 Pavel Roskin <proski@gnu.org>
41510
41511 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
41512 grub_errno if no errors have been detected.
41513
1eb8c802 415142008-01-12 Robert Millan <rmh@aybabtu.com>
41515
41516 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
41517 (grub_util_get_dev_abstraction): New function prototype.
41518
41519 * util/getroot.c: Include `<grub/util/getroot.h>'
41520 (grub_util_get_grub_dev): Move detection of abstraction type to ...
41521 (grub_util_get_dev_abstraction): ... here (new function).
41522
41523 * util/grub-probe.c: Convert PRINT_* to an enum. Add
41524 `PRINT_ABSTRACTION'.
41525 (probe): Probe for abstraction type when requested.
41526 (main): Understand `--target=abstraction'.
41527
41528 * util/i386/efi/grub-install.in: Add abstraction module to core
41529 image when it is found to be necessary.
41530 * util/i386/pc/grub-install.in: Likewise.
41531 * util/powerpc/ieee1275/grub-install.in: Likewise.
41532
41533 * util/update-grub_lib.in (font_path): Return system path without
41534 converting to GRUB path.
41535 * util/update-grub.in: Convert system path returned by font_path()
41536 to a GRUB path. Use `grub-probe -t abstraction' to determine what
41537 abstraction module is needed for loading fonts (if any). Export
41538 that as `GRUB_PRELOAD_MODULES'.
41539 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
41540 insmod commands).
41541
52bd3de9 415422008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
41543
41544 Remove some unused code from reiserfs.
f19dbdb7 41545
52bd3de9 41546 * fs/reiserfs.c (struct grub_reiserfs_key)
41547 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
41548 (struct grub_reiserfs_node_body): Removed.
41549 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
41550 Likewise.
41551 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41552 Likewise.
41553 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41554 Likewise.
41555 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41556 Likewise.
41557 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
41558 Likewise.
41559 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
41560 Likewise.
41561 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41562 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41563 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41564
2f80039d 415652008-01-10 Robert Millan <rmh@aybabtu.com>
41566
41567 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
41568 Determines if a file is garbage left by packaging systems, etc.
41569 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
41570 for processing /etc/grub.d scripts.
41571 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
41572 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
41573 as a condition for processing Linux images.
41574
87888032 415752008-01-10 Pavel Roskin <proski@gnu.org>
41576
41577 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
41578 to compile reiserfs.c on PowerPC.
41579
7e54fced 415802008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 41581
41582 * kern/device.c (grub_device_iterate): Do not abort device iteration
41583 when one of the devices cannot be opened.
41584 * kern/disk.c (grub_disk_open): Do not account previous failures of
41585 unrelated functions when grub_errno is checked for.
41586
5aa541e6 415872008-01-08 Robert Millan <rmh@aybabtu.com>
41588
41589 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
41590 `! grub_linux_is_bzimage', change order of address comparison to make
41591 it more intuitive, and improve "too big zImage" error message.
41592
7076340d 415932008-01-08 Robert Millan <rmh@aybabtu.com>
41594
41595 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
41596 `$(update-grub_DATA)'.
41597 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
41598 targets.
41599
9ca70333 416002008-01-07 Robert Millan <rmh@aybabtu.com>
41601
41602 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
41603 which instruction is modified by grub-setup during installation
41604 (since it wasn't obvious by only looking at this file).
41605
38ccf575 416062008-01-07 Robert Millan <rmh@aybabtu.com>
41607
41608 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
41609 listing actual TODO items.
41610
f5db4291 416112008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
41612
868967cf 41613 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
41614 correctly.
41615 (grub_reiserfs_get_key_offset): Likewise.
41616 (grub_reiserfs_set_key_offset): Likewise.
41617 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 41618 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 41619
41620 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
41621 better to remove the bitfield version completely.
f19dbdb7 41622
868967cf 416232008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 41624
f5db4291 41625 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
41626 allocated from the heap, due to the fshelp implementation.
41627 (grub_reiserfs_dir): Free NODE, due to the same reason.
41628
492e6d9d 416292008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
41630
41631 Mostly from Vincent Pelletier:
f19dbdb7 41632
492e6d9d 41633 * fs/reiserfs.c: New file.
f19dbdb7 41634
492e6d9d 41635 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
41636 (reiserfs_mod_SOURCES): New variable.
41637 (reiserfs_mod_CFLAGS): Likewise.
41638 (reiserfs_mod_LDFLAGS): Likewise.
41639
41640 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
41641 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
41642 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
41643 normal/color.c.
41644
9ce3e7c1 416452008-01-06 Robert Millan <rmh@aybabtu.com>
41646
41647 * normal/color.c: Remove `<grub/env.h>'.
41648
f3b58148 416492008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
41650
41651 * include/grub/normal.h: Include <grub/env.h>.
41652
7ac3bcfa 416532008-01-05 Robert Millan <rmh@aybabtu.com>
41654
41655 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
41656 usage example with `(hd0,1)'.
fb358190 41657 Reported by Samuel Thibault.
7ac3bcfa 41658
c8ee99d7 416592008-01-05 Robert Millan <rmh@aybabtu.com>
41660
41661 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
41662 (grub_linux_boot_zimage): Rename to ...
41663 (grub_linux_boot): ... this.
41664 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
41665 (grub_linux_boot_zimage): Conditionalize zImage copy.
41666
41667 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
41668 (grub_linux_boot_bzimage): Remove prototype.
41669 (grub_linux_boot_zimage): Rename to ...
41670 (grub_linux_boot): ... this.
41671
41672 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
41673 (grub_linux_boot): Remove function.
41674
0ece25b1 416752008-01-05 Robert Millan <rmh@aybabtu.com>
41676
41677 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
41678 (grub_env_write_color_highlight): Likewise.
41679 (grub_wait_after_message): Likewise.
41680
41681 * normal/color.c: New file.
41682
41683 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41684 (normal_mod_DEPENDENCIES): Likewise.
41685
41686 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41687 (normal_mod_DEPENDENCIES): Likewise.
41688
41689 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41690 (normal_mod_DEPENDENCIES): Likewise.
41691
41692 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41693 (normal_mod_DEPENDENCIES): Likewise.
41694
41695 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
41696 for waiting after a message is printed.
41697 * normal/main.c (read_config_file): Likewise.
41698 (grub_normal_init): Register grub_env_write_color_normal() and
41699 grub_env_write_color_highlight() hooks. Mark `color_normal' and
41700 `color_highlight' variables as global.
41701
41702 * normal/menu.c (grub_wait_after_message): New function.
41703 (grub_color_menu_normal): New variable. Replaces ...
41704 (GRUB_COLOR_MENU_NORMAL): ... this macro.
41705 (grub_color_menu_highlight): New variable. Replaces ...
41706 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
41707 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
41708 `GRUB_TERM_COLOR_STANDARD'.
41709 (print_message): Use `grub_setcolorstate' to reload colors. Rename
41710 `normal_code' and `highlight_code' to `old_color_normal' and
41711 `old_color_highlight', respectively.
41712 (grub_menu_init_page): Update colors when drawing the menu, based on
41713 `menu_color_normal' and `menu_color_highlight' variables.
41714 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
41715 a message is printed.
41716
182dd4e5 417172008-01-05 Robert Millan <rmh@aybabtu.com>
41718
41719 * kern/env.c (grub_env_context_open): Propagate hooks for global
41720 variables to new context.
41721
41722 * kern/main.c (grub_set_root_dev): Export `root' variable.
41723
ddf8f6ad 417242008-01-05 Robert Millan <rmh@aybabtu.com>
41725
41726 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 41727 discs unconditionally, since udev and others have options to provide
ddf8f6ad 41728 them.
41729
d8b43d9b 417302008-01-05 Robert Millan <rmh@aybabtu.com>
41731
41732 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
41733
2bff2de3 417342008-01-04 Christian Franke <franke@computer.org>
41735
41736 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
41737 of eisa_mmap.
41738
97eab917 417392008-01-03 Pavel Roskin <proski@gnu.org>
41740
41741 * kern/i386/linuxbios/init.c: Put "void" to all function
41742 declarations with no arguments.
41743 * kern/powerpc/ieee1275/init.c: Likewise.
41744 * term/i386/pc/at_keyboard.c: Likewise.
41745 * term/i386/pc/vga_text.c: Likewise.
41746 * util/grub-mkdevicemap.c: Likewise.
41747
b9416d00 417482008-01-02 Robert Millan <rmh@aybabtu.com>
41749
41750 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
41751 message when loaded image is out of bounds.
41752 (grub_multiboot_load_elf64): Likewise.
41753
92695df9 417542008-01-02 Pavel Roskin <proski@gnu.org>
41755
41756 * util/grub.d/10_linux.in: Try version without ".old" when
41757 looking for initrd. It's better to use initrd from the newer
41758 kernel of the same version than no initrd at all.
41759
d98d9cad 417602008-01-01 Robert Millan <rmh@aybabtu.com>
41761
41762 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
41763
dbfdce36 417642008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
41765
f19dbdb7 41766 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 41767 grub_video_get_active_render_target.
41768 (grub_video_adapter): Added unmap_color and get_active_render_target.
41769
f19dbdb7 41770 * video/video.c: Added grub_video_unmap_color and
dbfdce36 41771 grub_video_get_active_render_target.
41772 (grub_video_get_info): Changed method to accept NULL pointer as an
41773 argument to allow detection of active video adapter.
41774
41775 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
41776 grub_video_vbe_unmap_color_int.
41777 Added grub_video_vbe_unmap_color and
41778 grub_video_vbe_get_active_render_target.
41779 (grub_video_vbe_adapter): Added unmap_color and
41780 get_active_render_target.
41781
f19dbdb7 41782 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 41783 with grub_video_vbe_unmap_color_int.
41784
41785 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
41786 (DEFAULT_NORMAL_COLOR): Likewise.
41787 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
41788 (DEFAULT_FG_COLOR): Removed.
41789 (DEFAULT_BG_COLOR): Likewise.
41790 (DEFAULT_CURSOR_COLOR): Changed value.
41791 (grub_virtual_screen): Added standard_color_setting,
41792 normal_color_setting, highlight_color_setting and term_color.
41793 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
41794 (bitmap_width): Added.
41795 (bitmap_height): Likewise.
41796 (bitmap): Likewise.
41797 (set_term_color): Likewise.
41798 (grub_virtual_screen_setup): Changed to use new terminal coloring
41799 settings.
41800 (grub_gfxterm_init): Added init for bitmap.
41801 (grub_gfxterm_fini): Added destroy for bitmap.
41802 (redraw_screen_rect): Updated to use background bitmap and new
41803 terminal coloring.
41804 (scroll_up): Added optimization for case when there is no bitmap.
41805 (grub_gfxterm_cls): Fixed to use correct background color.
41806 (grub_virtual_screen_setcolorstate): Changed to use new terminal
41807 coloring.
41808 (grub_virtual_screen_setcolor): Likewise.
41809 (grub_virtual_screen_getcolor): Added.
41810 (grub_gfxterm_background_image_cmd): Likewise.
41811 (grub_video_term): Added setcolor and getcolor.
41812 (MOD_INIT): Added registration of background_image command.
41813 (MOD_TERM): Added unregistration for background_image command.
41814
c3c20931 418152007-12-30 Pavel Roskin <proski@gnu.org>
41816
41817 * loader/multiboot_loader.c: Fix multiboot command
41818 unregistration. Fix all typos in the word "multiboot".
41819
df266716 418202007-12-29 Pavel Roskin <proski@gnu.org>
94239199 41821
41822 * util/grub.d/10_linux.in: Refactor search for initrd. Add
41823 support for initrd names used in Fedora.
41824
fc6e896c 418252007-12-26 Bean <bean123ch@gmail.com>
41826
41827 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
41828 (cpio_mod_SOURCES): New variable.
41829 (cpio_mod_CFLAGS): Likewise.
41830 (cpio_mod_LDFLAGS): Likewise.
41831
41832 * fs/cpio.c: New file.
41833
41834 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
41835
41836 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41837
41838 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41839
41840 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41841
533110ad 418422007-12-25 Robert Millan <rmh@aybabtu.com>
41843
41844 * include/grub/term.h (struct grub_term): Add `getcolor' function.
41845 (grub_getcolor): New function.
41846
41847 * kern/term.c (grub_getcolor): New function.
41848 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
41849 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
41850 (print_entry): Set normal and highlight colors to
41851 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
41852 respectively, before printing and restore them to old
41853 values afterwards.
41854 (grub_menu_init_page): Likewise. Fill an additional colored space
41855 that would otherwise be left blank.
41856
41857 * term/efi/console.c (grub_console_getcolor): New function.
41858 (struct grub_console_term.getcolor): New variable.
41859 * term/i386/pc/console.c (grub_console_getcolor): New function.
41860 (struct grub_console_term.getcolor): New variable.
41861 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
41862 (struct grub_console_term.getcolor): New variable.
41863
41864 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
41865 (struct grub_console_term.setcolor): Remove variable.
41866 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
41867 (struct grub_console_term.setcolor): Remove variable.
41868 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
41869 (struct grub_console_term.setcolor): Remove variable.
41870 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
41871 (struct grub_console_term.setcolor): Remove variable.
41872
4931827f 418732007-12-25 Robert Millan <rmh@aybabtu.com>
41874
41875 * configure.ac: Search for possible unifont.hex locations, and
41876 define UNIFONT_HEX if found.
41877
41878 * Makefile.in (UNIFONT_HEX): Define variable.
41879 (DATA): Rename to ...
41880 (PKGLIB): ... this. Update all users.
41881 (PKGDATA): New variable.
41882 (pkgdata_IMAGES): Rename to ...
41883 (pkglib_IMAGES): ... this. Update all users.
41884 (pkgdata_MODULES): Rename to ...
41885 (pkglib_MODULES): ... this. Update all users.
41886 (pkgdata_PROGRAMS): Rename to ...
41887 (pkglib_PROGRAMS): ... this. Update all users.
41888 (pkgdata_DATA): Rename to ...
41889 (pkglib_DATA): ... this. Update all users.
41890 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
41891 (unicode.pff, ascii.pff): New rules.
41892 (all-local): Add `$(PKGDATA)' dependency.
41893 (install-local): Process `$(PKGDATA)'.
41894
41895 * util/update-grub_lib.in (font_path): Search for *.pff files in
41896 a few more locations, including `${pkgdata}'.
41897
57e57e31 418982007-12-23 Robert Millan <rmh@aybabtu.com>
41899
41900 Patch from Bean <bean123ch@gmail.com>:
41901 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
41902 `size'.
41903
4bc72aa9 419042007-12-21 Bean <bean123ch@gmail.com>
41905
41906 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
41907 (ntfscomp_mod_SOURCES): New variable.
41908 (ntfscomp_mod_CFLAGS): Likewise.
41909 (ntfscomp_mod_LDFLAGS): Likewise.
41910
41911 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
41912 (grub_probe_SOURCES): Likewise.
41913 (grub_emu_SOURCES): Likewise.
41914
41915 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41916 (grub_emu_SOURCES): Likewise.
41917
41918 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41919 (grub_emu_SOURCES): Likewise.
41920
41921 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41922 (grub_emu_SOURCES): Likewise.
41923
41924 * fs/ntfs.c (grub_ntfscomp_func): New variable.
41925 (read_run_list): Renamed to grub_ntfs_read_run_list.
41926 (decomp_nextvcn): Moved to ntfscomp.c.
41927 (decomp_getch): Likewise.
41928 (decomp_get16): Likewise.
41929 (decomp_block): Likewise.
41930 (read_block): Likewise.
41931 (read_data): Partially moved to ntfscomp.c.
41932 (fixup): Change unsigned to grub_uint16_t.
41933 (read_mft): Change unsigned long to grub_uint32_t.
41934 (read_attr): Likewise.
41935 (read_data): Likewise.
41936 (read_run_data): Likewise.
41937 (read_run_list): Likewise.
41938 (read_mft): Likewise.
41939
41940 * fs/ntfscomp.c: New file.
41941
41942 * include/grub/ntfs.h: New file.
41943
af680a87 419442007-12-16 Robert Millan <rmh@aybabtu.com>
41945
41946 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
41947 IDE disk check, since Linux is known to support 20 IDE disks.
41948 Reported by Colin Watson.
41949
84be7599 419502007-12-15 Bean <bean123ch@gmail.com>
41951
41952 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
41953 (lnxboot_img_SOURCES): New variable.
41954 (lnxboot_img_ASFLAGS): Likewise.
41955 (lnxboot_img_LDFLAGS): Likewise.
41956
41957 * boot/i386/pc/lnxboot.S: New file.
41958
6af9db01 419592007-11-24 Pavel Roskin <proski@gnu.org>
41960
41961 * configure.ac: Test if '--build-id=none' is supported by the
41962 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
41963 objcopy to generate incorrect binary files (binutils
41964 2.17.50.0.18-1 as shipped by Fedora 8).
41965 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
41966 linking, so that build ID doesn't break the test.
41967
7361cfe6 419682007-11-24 Pavel Roskin <proski@gnu.org>
41969
41970 * include/grub/i386/time.h: use "void" in the argument list
41971 of grub_cpu_idle().
41972 * include/grub/powerpc/time.h: Likewise.
41973 * include/grub/sparc64/time.h: Likewise.
41974
1593e10c 419752007-11-18 Christian Franke <franke@computer.org>
41976
41977 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
41978 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
41979 This fixes the problem that function keys did not work in grub-emu.
41980
3b8db1a8 419812007-11-18 Christian Franke <franke@computer.org>
41982
41983 * disk/host.c (grub_host_open): Remove attribute unused from
41984 name parameter. Add check for "host". This fixes the problem
41985 that grub-emu does not find partitions.
41986
2e29408d 419872007-11-18 Christian Franke <franke@computer.org>
41988
41989 * util/hostfs.c (is_dir): New function.
41990 (grub_hostfs_dir): Handle missing dirent.d_type case.
41991 (grub_hostfs_read): Add missing fseek().
41992 (grub_hostfs_label): Clear label pointer. This fixes a crash
41993 of grub-emu on "ls (host)".
41994
398cd047 419952007-11-18 Christian Franke <franke@computer.org>
41996
41997 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
41998 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
41999 to 64 bit boundary by default.
42000
c405c391 420012007-11-18 Bean <bean123ch@gmail.com>
42002
42003 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
42004 (hexdump_mod_SOURCES): New variable.
42005 (hexdump_mod_CFLAGS): Likewise.
42006 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 42007
c405c391 42008 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42009
42010 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42011
42012 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42013
42014 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42015
42016 * include/grub/hexdump.h: New file.
42017
42018 * commands/hexdump.c: New file.
42019
5cced7fd 420202007-11-10 Robert Millan <rmh@aybabtu.com>
42021
42022 * commands/i386/pc/play.c (beep_off): Switch order of arguments
42023 in grub_outb() calls.
42024 (beep_on): Likewise.
42025
8b714eb0 420262007-11-10 Christian Franke <franke@computer.org>
42027
42028 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
42029 (grub_menu_run): Likewise.
42030
ce0f1839 420312007-11-10 Robert Millan <rmh@aybabtu.com>
42032
42033 * include/grub/i386/efi/machine.h: New file.
42034 * include/grub/i386/linuxbios/machine.h: Likewise.
42035 * include/grub/i386/pc/machine.h: Likewise.
42036 * include/grub/powerpc/ieee1275/machine.h: Likewise.
42037 * include/grub/sparc64/ieee1275/machine.h: Likewise.
42038
42039 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
42040 (serial_hw_io_addr): New variable.
42041 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
42042 instead of `(unsigned short *) 0x400'.
42043
270c237d 420442007-11-10 Bean <bean123ch@gmail.com>
42045
42046 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
42047
a87783bf 420482007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
42049
42050 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
42051 (vga_mod_SOURCES): Added.
42052 (vga_mod_CFLAGS): Likewise.
42053 (vga_mod_LDFLAGS): Likewise.
42054
42055 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
42056 grub_outb() calls.
42057 (set_map_mask): Likewise.
42058 (set_read_map): Likewise.
42059 (set_read_address): Likewise.
42060 (vga_font): Removed variable.
42061 (get_vga_glyph): Removed function.
42062 (invalidate_char): Likewise.
42063 (write_char): Changed to use grub_font_get_glyph() for font
42064 information.
42065 (grub_vga_putchar): Likewise.
42066 (grub_vga_getcharwidth): Likewise.
42067
6433b448 420682007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
42069
42070 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
42071 flags.
42072 (pxeboot_img_LDFLAGS): Likewise.
42073 (diskboot_img_LDFLAGS): Likewise.
42074 (kernel_img_LDFLAGS): Likewise.
42075
49178511 420762007-11-06 Robert Millan <rmh@aybabtu.com>
42077
42078 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
42079 in grub_outb() calls.
42080 (serial_hw_init): Likewise.
42081
53b052de 420822007-11-05 Robert Millan <rmh@aybabtu.com>
42083
42084 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
42085 spaces. Skip non-regular files.
42086
5ab33bba 420872007-11-05 Robert Millan <rmh@aybabtu.com>
42088
42089 * kern/disk.c (grub_disk_firmware_fini)
42090 (grub_disk_firmware_is_tainted): New variables.
42091
42092 * include/grub/disk.h (grub_disk_firmware_fini)
42093 (grub_disk_firmware_is_tainted): Likewise.
42094
42095 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
42096 (grub_disk_biosdisk_fini): ... to here.
42097 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
42098 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
42099 is set. Register grub_disk_biosdisk_fini() in
42100 `grub_disk_firmware_fini'.
42101
42102 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
42103 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
42104 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
42105 to finish existing firmware disk interface.
42106
42107 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
42108 (ata_mod_SOURCES): New variable.
42109 (ata_mod_CFLAGS): Likewise.
42110 (ata_mod_LDFLAGS): Likewise.
42111
0149ab7c 421122007-11-05 Robert Millan <rmh@aybabtu.com>
42113
42114 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
42115 (grub_ata_wait): Reimplement using grub_millisleep().
42116
42117 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
42118 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
42119
be7ac41e 421202007-11-03 Marco Gerards <marco@gnu.org>
42121
42122 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
42123 (CRTC_ADDR_PORT): New macro.
42124 (CRTC_DATA_PORT): Likewise.
42125 (CRTC_CURSOR): Likewise.
42126 (CRTC_CURSOR_ADDR_HIGH): Likewise.
42127 (CRTC_CURSOR_ADDR_LOW): Likewise.
42128 (update_cursor): New function.
42129 (grub_console_real_putchar): Call `update_cursor'.
42130 (grub_console_gotoxy): Likewise.
42131 (grub_console_cls): Set the default color when clearing the
42132 screen.
42133 (grub_console_setcursor): Implemented.
42134
bb06ab2e 421352007-11-03 Marco Gerards <marco@gnu.org>
42136
42137 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
42138 become activate.
42139 (grub_ata_pio_write): Likewise.
42140
42141 (grub_atapi_identify): Wait after issuing an ATA command.
42142 (grub_atapi_packet): Likewise.
42143 (grub_ata_identify): Likewise.
42144 (grub_ata_readwrite): Likewise.
42145
cf8f780b 421462007-11-03 Marco Gerards <marco@gnu.org>
42147
42148 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
42149 (grub_ata_pio_write): Likewise.
42150 (grub_ata_readwrite): Use `grub_error', instead of
42151 returning `grub_errno'.
42152
ed649e54 421532007-11-03 Marco Gerards <marco@gnu.org>
42154
42155 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
42156 grub_ata_pio_write once for every single sector, instead of for
42157 multiple sectors.
42158
ca25d8f0 421592007-10-31 Robert Millan <rmh@aybabtu.com>
42160
42161 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
42162
42163 * conf/i386-linuxbios.rmk: New file.
42164
42165 * kern/i386/pc/hardware.c: Likewise.
42166 * term/i386/pc/at_keyboard.c: Likewise.
42167 * term/i386/pc/vga_text.c: Likewise.
42168
42169 * include/grub/i386/linuxbios/boot.h: Likewise.
42170 * include/grub/i386/linuxbios/console.h: Likewise.
42171 * include/grub/i386/linuxbios/init.h: Likewise.
42172 * include/grub/i386/linuxbios/kernel.h: Likewise.
42173 * include/grub/i386/linuxbios/loader.h: Likewise.
42174 * include/grub/i386/linuxbios/memory.h: Likewise.
42175 * include/grub/i386/linuxbios/serial.h: Likewise.
42176 * include/grub/i386/linuxbios/time.h: Likewise.
42177
42178 * kern/i386/linuxbios/init.c: Likewise.
42179 * kern/i386/linuxbios/startup.S: Likewise.
42180 * kern/i386/linuxbios/table.c: Likewise.
42181
e911ecc1 421822007-10-31 Marco Gerards <marco@gnu.org>
42183
42184 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
42185 (ata_mod_SOURCES): New variable.
42186 (ata_mod_CFLAGS): Likewise.
42187 (ata_mod_LDFLAGS): Likewise.
42188
42189 * disk/ata.c: New file.
42190
42191 * include/grub/disk.h (grub_disk_dev_id): Add
42192 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 42193
7f66d0e0 421942007-10-31 Robert Millan <rmh@aybabtu.com>
42195
42196 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
42197 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
42198
42199 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
42200 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
42201
42202 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
42203 `<grub/types.h>'.
42204
42205 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
42206
5cd7dd46 422072007-10-27 Robert Millan <rmh@aybabtu.com>
42208
3236ca65 42209 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 42210
2ebfc90f 422112007-10-22 Robert Millan <rmh@aybabtu.com>
42212
42213 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
42214 `"../realmode.S"'.
42215 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
42216
73fcb0f3 422172007-10-22 Robert Millan <rmh@aybabtu.com>
42218
42219 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
42220 (pkgdata_MODULES): Add `biosdisk.mod'.
42221 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
42222 variables.
42223
42224 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
42225 (grub_biosdisk_init): Replace with ...
42226 (GRUB_MOD_INIT(biosdisk)): ... this.
42227 (grub_biosdisk_fini): Replace with ...
42228 (GRUB_MOD_FINI(biosdisk)): ... this.
42229
42230 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
42231 (grub_machine_init): Remove call to grub_biosdisk_init().
42232 (grub_machine_fini): Remove call to grub_machine_fini().
42233
42234 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
42235
3381d274 422362007-10-22 Robert Millan <rmh@aybabtu.com>
42237
42238 * include/grub/time.h: New file.
42239 * include/grub/i386/time.h: Likewise.
42240 * include/grub/powerpc/time.h: Likewise.
42241 * include/grub/sparc64/time.h: Likewise.
42242
42243 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
42244 instances to ...
42245 (KERNEL_MACHINE_TIME_HEADER): ... this.
42246 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
42247 instances to ...
42248 (KERNEL_MACHINE_TIME_HEADER): ... this.
42249 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
42250 instances to ...
42251 (KERNEL_MACHINE_TIME_HEADER): ... this.
42252
42253 * kern/i386/efi/init.c: Include `<grub/time.h>'.
42254 (grub_millisleep): New function.
42255 * kern/i386/pc/init.c: Include `<grub/time.h>'.
42256 (grub_millisleep): New function.
42257 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
42258 Remove `grub/machine/time.h' include.
42259 (grub_millisleep): New function.
42260 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
42261 Remove `grub/machine/time.h' include.
42262 (grub_millisleep): New function.
42263
42264 * include/grub/misc.h (grub_div_roundup): New function.
42265
42266 * kern/misc.c: Include `<grub/time.h>'.
42267 (grub_millisleep_generic): New function.
42268
42269 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
42270 Add `time.h'.
42271 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
42272 Add `time.h'.
42273 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
42274 `machine/time.h'. Add `time.h'.
42275 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
42276
a39a0312 422772007-10-21 Robert Millan <rmh@aybabtu.com>
42278
42279 * include/grub/misc.h (grub_max): New function.
42280
2aad70e2 422812007-10-21 Robert Millan <rmh@aybabtu.com>
42282
42283 * util/misc.c (grub_util_info): Call fflush() before returning.
42284
54b71c4b 422852007-10-20 Robert Millan <rmh@aybabtu.com>
42286
42287 * genmk.rb (Image): Copy `extra_flags' from here ...
42288 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
42289
42290 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
42291 to `argc' and `args' arguments.
42292
a979f513 422932007-10-17 Robert Millan <rmh@aybabtu.com>
42294
42295 * kern/i386/loader.S: New file.
42296
42297 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
42298 * kern/i386/loader.S (grub_linux_prot_size)... to here.
42299 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
42300 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
42301 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
42302 * kern/i386/loader.S (grub_linux_real_addr)... to here.
42303 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
42304 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
42305 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
42306 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
42307 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
42308 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
42309 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
42310 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
42311
42312 * kern/i386/realmode.S: New file.
42313
42314 * kern/i386/pc/startup.S (protstack): Moved from here ...
42315 * kern/i386/realmode.S (protstack)... to here.
42316 * kern/i386/pc/startup.S (gdt): Moved from here ...
42317 * kern/i386/realmode.S (gdt)... to here.
42318 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
42319 * kern/i386/realmode.S (prot_to_real)... to here.
42320
42321 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
42322 `kern/i386/realmode.S'.
42323
825fc8fd 423242007-10-17 Robert Millan <rmh@aybabtu.com>
42325
42326 * include/grub/i386/loader.h: New file.
42327
42328 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
42329 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
42330 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
42331 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
42332 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
42333 * include/grub/i386/loader.h (grub_linux_prot_size)
42334 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
42335 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
42336 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
42337 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
42338
42339 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
42340
e179b2f4 423412007-10-15 Robert Millan <rmh@aybabtu.com>
42342
42343 * normal/misc.c (grub_normal_print_device_info): Do not probe for
42344 filesystem when dev->disk is unset.
42345 Do probe for filesystem even when dev->disk->has_partitions is set.
42346 In case a filesystem is found, always report it.
42347 In case it isn't, if dev->disk->has_partitions is set, report that
42348 a partition table was found instead of reporting that no filesystem
42349 could be identified.
42350
5db82af6 423512007-10-12 Robert Millan <rmh@aybabtu.com>
42352
42353 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
42354 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
42355
68f6ac74 42356 * include/grub/types.h (grub_host_to_target16): New macro.
42357 (grub_host_to_target32): Likewise.
42358 (grub_host_to_target64): Likewise.
42359 (grub_target_to_host16): Likewise.
42360 (grub_target_to_host32): Likewise.
42361 (grub_target_to_host64): Likewise.
5db82af6 42362
42363 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
42364 Renamed from to ...
42365 (GRUB_MOD_ALIGN): ...this. Update all users.
42366
68f6ac74 42367 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
42368 grub_host_to_target32.
42369 Replace grub_be_to_cpu32 with grub_target_to_host32.
42370 (load_modules): Likewise.
42371 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
42372 Replace grub_be_to_cpu32 with grub_target_to_host32.
42373 Replace grub_cpu_to_be16 with grub_host_to_target16.
42374 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 42375
3cf497cc 423762007-10-12 Robert Millan <rmh@aybabtu.com>
42377
42378 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
42379 * util/elf/grub-mkimage.c: ... here.
42380
42381 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
42382 `util/powerpc/ieee1275/grub-mkimage.c'.
42383
c8cc3692 423842007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 42385
c8cc3692 42386 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
42387 and make it easier to figure out.
42388 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
42389 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
42390 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
42391 leave us with less than HEAP_MIN_SIZE total heap.
42392 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 42393
5c58b791 423942007-10-03 Robert Millan <rmh@aybabtu.com>
42395
42396 * include/grub/i386/io.h: New file.
42397 * commands/i386/pc/play.c (inb): Removed.
42398 (outb): Removed.
42399 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42400 with grub_outb().
afcd2ef8 42401 * term/i386/pc/serial.c (inb): Removed.
42402 (outb): Removed.
42403 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42404 with grub_outb().
42405 * term/i386/pc/vga.c (inb): Removed.
42406 (outb): Removed.
42407 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42408 with grub_outb().
5c58b791 42409
1a477ed6 424102007-10-02 Robert Millan <rmh@aybabtu.com>
42411
42412 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
42413 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42414 Reported by Marcin Kurek.
42415
6b5d80fa 424162007-09-07 Robert Millan <rmh@aybabtu.com>
42417
42418 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
42419 SmartFirmware version updates (as released by Sven Luther), and avoid
42420 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
42421 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
42422 known broken.
42423
5618afbf 424242007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42425
42426 From Hitoshi Ozeki:
42427 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
42428 when merging two regions.
42429
6139dcd9 424302007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42431
508e39ee 42432 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
42433 * normal/completion.c (grub_normal_do_completion): Likewise.
42434 Reported by Hitoshi Ozeki.
42435
424362007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42437
6139dcd9 42438 Do not use devices at boot in chainloading.
f19dbdb7 42439
6139dcd9 42440 * loader/i386/pc/chainloader.c (boot_drive): New variable.
42441 (boot_part_addr): Likewise.
42442 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
42443 with BOOT_DRIVE and BOOT_PART_ADDR.
42444 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
42445 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
42446
38da6516 424472007-08-29 Robert Millan <rmh@aybabtu.com>
42448
42449 Patch from Simon Peter <dn.tlp@gmx.net>:
42450 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
42451 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
42452 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
42453 util/i386/pc/grub-setup.c_DEPENDENCIES.
42454 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
42455 util/grub-probe.c_DEPENDENCIES.
42456 * conf/powerpc-ieee1275.rmk: Likewise.
42457
29d0928c 424582007-08-28 Robert Millan <rmh@aybabtu.com>
42459
42460 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
42461 to tell grub-mkdevicemap how to name devices.
42462 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
42463 feature).
42464
42465 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
42466 util/i386/get_disk_name.c.
42467 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
42468 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
42469 util/ieee1275/get_disk_name.c.
42470
42471 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
42472
42473 * DISTLIST: Add util/i386/get_disk_name.c and
42474 util/ieee1275/get_disk_name.c.
42475
42476 * util/grub-mkdevicemap.c: Replace device naming logic with
42477 grub_util_get_disk_name() calls.
42478
5a0d3cca 424792007-08-20 Robert Millan <rmh@aybabtu.com>
42480
42481 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
42482 (so that it works for both plural and singular quantities).
42483
8b72db2f 424842007-08-05 Robert Millan <rmh@aybabtu.com>
42485
42486 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
42487 so that [xz] isn't taken into account when determining order.
42488
352466bf 424892007-08-02 Marco Gerards <marco@gnu.org>
42490
42491 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
42492 `include/multiboot2.h', `include/grub/elfload.h',
42493 `include/multiboot.h', `include/grub/multiboot.h',
42494 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
42495 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
42496 `kern/elf.c', `loader/multiboot_loader.c',
42497 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
42498 `loader/i386/pc/multiboot2.c',
42499 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
42500 `util/i386/pc/grub-mkrescue.in'. Remove
42501 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
42502 `include/grub/i386/pc/util/biosdisk.h' and
42503 `include/grub/powerpc/ieee1275/multiboot.h'.
42504
8f096014 425052007-08-02 Bean <bean123ch@gmail.com>
42506
42507 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
42508 (ntfs_mod_SOURCES): New variable.
42509 (ntfs_mod_CFLAGS): Likewise.
42510 (ntfs_mod_LDFLAGS): Likewise.
42511
42512 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
42513 (grub_probe_SOURCES): Likewise.
42514 (grub_emu_SOURCES): Likewise.
42515
42516 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
42517 (grub_emu_SOURCES): Likewise.
42518
42519 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
42520 (grub_emu_SOURCES): Likewise.
f19dbdb7 42521
8f096014 42522 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
42523
42524 * fs/ntfs.c: New file.
42525
9959f7db 425262007-08-02 Bean <bean123ch@gmail.com>
42527
42528 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
42529
42530 * file.h (grub_file): Likewise.
42531
42532 * fshelp.h (grub_fshelp_read_file): Likewise.
42533
42534 * util/i386/pc/grub-setup.c (setup): Likewise.
42535 (save_first_sector): Likewise.
42536 (save_blocklists): Likewise.
f19dbdb7 42537
9959f7db 42538 * fs/affs.c (grub_affs_read_file): Likewise.
42539
42540 * fs/ext2.c (grub_ext2_read_file): Likewise.
42541
42542 * fs/fat.c (grub_fat_read_data): Likewise.
42543
42544 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
42545
42546 * fs/hfs.c (grub_hfs_read_file): Likewise.
42547
42548 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
42549
42550 * fs/jfs.c (grub_jfs_read_file): Likewise.
42551
42552 * fs/minix.c (grub_minix_read_file): Likewise.
42553
42554 * fs/sfs.c (grub_sfs_read_file): Likewise.
42555
42556 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 42557
9959f7db 42558 * fs/xfs.c (grub_xfs_read_file): Likewise.
42559
42560 * command/blocklist.c (read_blocklist): Likewise.
42561 (print_blocklist): Likewise.
42562
0a203f83 425632007-08-02 Marco Gerards <marco@gnu.org>
42564
42565 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
42566 `util/hostfs.c'.
42567
42568 * disk/host.c: New file.
42569
42570 * util/hostfs.c: Likewise.
42571
42572 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
42573 return `GRUB_ERR_BAD_FS'.
42574 * fs/sfs.c (grub_sfs_mount): Likewise.
42575 * fs/xfs.c (grub_xfs_mount): Likewise.
42576
42577 * include/grub/disk.h (enum grub_disk_dev_id): Add
42578 `GRUB_DISK_DEVICE_HOST_ID'.
42579
42580 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
42581
e5dfe777 425822007-07-24 Jerone Young <jerone@gmail.com>
42583
f19dbdb7 42584 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 42585 modules for compilation.
42586 * conf/powerpc-ieee1275.rmk: Likewise.
42587
42588 * include/multiboot.h: Move multiboot definitions to one file. Rename
42589 many definitions to not get grub specific.
42590 * include/multiboot2.h: Create header with multiboot 2 definitions.
42591 * include/grub/multiboot.h: Header for grub specific function
42592 prototypes and definitions.
42593 * include/grub/multiboot2.h: Likewise.
42594 * include/grub/multiboot_loader.h: Likewise.
42595 * include/grub/i386/pc/multiboot.h: Removed.
42596 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
42597
42598 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
42599 and 2 to allow for one multiboot and module commands.
42600 * loader/multiboot2.c: Add multiboot2 functionality.
42601 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
42602 and definition names.
42603 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
42604 2 functions.
42605 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
42606 ieee1275 specific multiboot2 code.
42607
42608 * kern/i386/pc/startup.S: Change headers and definition names for
42609 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
42610
daf0f0ba 426112007-07-22 Robert Millan <rmh@aybabtu.com>
42612
42613 * geninitheader.sh: Process file specified in first parameter rather
42614 than hardcoding grub_modules_init.lst.
fe6b695a 42615 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 42616 than hardcoding grub_modules_init.h.
42617
42618 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
42619 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
42620 grub_probe_init.[ch] and grub_setup_init.[ch].
42621
42622 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
42623 grub_modules_init.h with grub_emu_init.h.
42624 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
42625 grub_probe_init.[ch] files.
42626 * conf/i386-efi.rmk: Likewise.
42627 * conf/i386-pc.rmk: Likewise.
42628 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
42629 grub_setup_init.[ch] files.
42630
42631 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
42632 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
42633 to initialize modules rather than a list of hardcoded functions.
42634 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
42635 grub_init_all() to initialize modules rather than a list of hardcoded
42636 functions.
42637
54cdc1cc 426382007-07-22 Robert Millan <rmh@aybabtu.com>
42639
42640 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
42641 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
42642
ad0686cc 426432007-07-22 Robert Millan <rmh@aybabtu.com>
42644
42645 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
42646 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
42647 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
42648 flag when running on SmartFirmware.
42649 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
42650 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
42651 was set.
42652
42653 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
42654 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
42655 rather than decreasing it.
42656
42657 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
42658 there's not enough space to do it, fail in the same way as when it
42659 can't be done because there are no partitions.
42660
42661 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
42662 when nvsetenv failed.
42663
969c02ec 426642007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
42665
42666 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
42667 because this rule is automatically generated.
42668 (grub-mkrescue): Removed for the same reason as above.
42669
5a79f472 426702007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
42671
42672 Migrate to GNU General Public License Version 3.
f19dbdb7 42673
5a79f472 42674 * COPYING: Replaced with the plain text version of GPLv3.
42675
42676 * config.guess: Updated from gnulib.
42677 * config.sub: Likewise.
42678
42679 * geninit.sh: Output a GPLv3 copyright notice.
42680 * geninitheader.sh: Likewise.
42681 * genmodsrc.sh: Likewise.
42682 * gensymlist.sh.in: Likewise.
42683
42684 * boot/i386/pc/boot.S: Upgraded to GPLv3.
42685 * boot/i386/pc/diskboot.S: Likewise.
42686 * boot/i386/pc/pxeboot.S: Likewise.
42687 * commands/blocklist.c: Likewise.
42688 * commands/boot.c: Likewise.
42689 * commands/cat.c: Likewise.
42690 * commands/cmp.c: Likewise.
42691 * commands/configfile.c: Likewise.
42692 * commands/echo.c: Likewise.
42693 * commands/help.c: Likewise.
42694 * commands/ls.c: Likewise.
42695 * commands/search.c: Likewise.
42696 * commands/terminal.c: Likewise.
42697 * commands/test.c: Likewise.
42698 * commands/videotest.c: Likewise.
42699 * commands/i386/cpuid.c: Likewise.
42700 * commands/i386/pc/halt.c: Likewise.
42701 * commands/i386/pc/play.c: Likewise.
42702 * commands/i386/pc/reboot.c: Likewise.
42703 * commands/i386/pc/vbeinfo.c: Likewise.
42704 * commands/i386/pc/vbetest.c: Likewise.
42705 * commands/ieee1275/halt.c: Likewise.
42706 * commands/ieee1275/reboot.c: Likewise.
42707 * commands/ieee1275/suspend.c: Likewise.
42708 * disk/loopback.c: Likewise.
42709 * disk/lvm.c: Likewise.
42710 * disk/raid.c: Likewise.
42711 * disk/efi/efidisk.c: Likewise.
42712 * disk/i386/pc/biosdisk.c: Likewise.
42713 * disk/ieee1275/ofdisk.c: Likewise.
42714 * font/manager.c: Likewise.
42715 * fs/affs.c: Likewise.
42716 * fs/ext2.c: Likewise.
42717 * fs/fat.c: Likewise.
42718 * fs/fshelp.c: Likewise.
42719 * fs/hfs.c: Likewise.
42720 * fs/hfsplus.c: Likewise.
42721 * fs/iso9660.c: Likewise.
42722 * fs/jfs.c: Likewise.
42723 * fs/minix.c: Likewise.
42724 * fs/sfs.c: Likewise.
42725 * fs/ufs.c: Likewise.
42726 * fs/xfs.c: Likewise.
42727 * hello/hello.c: Likewise.
42728 * include/grub/acorn_filecore.h: Likewise.
42729 * include/grub/arg.h: Likewise.
42730 * include/grub/bitmap.h: Likewise.
42731 * include/grub/boot.h: Likewise.
42732 * include/grub/cache.h: Likewise.
42733 * include/grub/device.h: Likewise.
42734 * include/grub/disk.h: Likewise.
42735 * include/grub/dl.h: Likewise.
42736 * include/grub/elfload.h: Likewise.
42737 * include/grub/env.h: Likewise.
42738 * include/grub/err.h: Likewise.
42739 * include/grub/file.h: Likewise.
42740 * include/grub/font.h: Likewise.
42741 * include/grub/fs.h: Likewise.
42742 * include/grub/fshelp.h: Likewise.
42743 * include/grub/gzio.h: Likewise.
42744 * include/grub/hfs.h: Likewise.
42745 * include/grub/kernel.h: Likewise.
42746 * include/grub/loader.h: Likewise.
42747 * include/grub/lvm.h: Likewise.
42748 * include/grub/misc.h: Likewise.
42749 * include/grub/mm.h: Likewise.
42750 * include/grub/net.h: Likewise.
42751 * include/grub/normal.h: Likewise.
42752 * include/grub/parser.h: Likewise.
42753 * include/grub/partition.h: Likewise.
42754 * include/grub/pc_partition.h: Likewise.
42755 * include/grub/raid.h: Likewise.
42756 * include/grub/rescue.h: Likewise.
42757 * include/grub/script.h: Likewise.
42758 * include/grub/setjmp.h: Likewise.
42759 * include/grub/symbol.h: Likewise.
42760 * include/grub/term.h: Likewise.
42761 * include/grub/terminfo.h: Likewise.
42762 * include/grub/tparm.h: Likewise.
42763 * include/grub/types.h: Likewise.
42764 * include/grub/video.h: Likewise.
42765 * include/grub/efi/api.h: Likewise.
42766 * include/grub/efi/chainloader.h: Likewise.
42767 * include/grub/efi/console.h: Likewise.
42768 * include/grub/efi/console_control.h: Likewise.
42769 * include/grub/efi/disk.h: Likewise.
42770 * include/grub/efi/efi.h: Likewise.
42771 * include/grub/efi/pe32.h: Likewise.
42772 * include/grub/efi/time.h: Likewise.
42773 * include/grub/i386/linux.h: Likewise.
42774 * include/grub/i386/setjmp.h: Likewise.
42775 * include/grub/i386/types.h: Likewise.
42776 * include/grub/i386/efi/kernel.h: Likewise.
42777 * include/grub/i386/efi/loader.h: Likewise.
42778 * include/grub/i386/efi/time.h: Likewise.
42779 * include/grub/i386/pc/biosdisk.h: Likewise.
42780 * include/grub/i386/pc/boot.h: Likewise.
42781 * include/grub/i386/pc/chainloader.h: Likewise.
42782 * include/grub/i386/pc/console.h: Likewise.
42783 * include/grub/i386/pc/init.h: Likewise.
42784 * include/grub/i386/pc/kernel.h: Likewise.
42785 * include/grub/i386/pc/loader.h: Likewise.
42786 * include/grub/i386/pc/memory.h: Likewise.
42787 * include/grub/i386/pc/multiboot.h: Likewise.
42788 * include/grub/i386/pc/serial.h: Likewise.
42789 * include/grub/i386/pc/time.h: Likewise.
42790 * include/grub/i386/pc/vbe.h: Likewise.
42791 * include/grub/i386/pc/vbeblit.h: Likewise.
42792 * include/grub/i386/pc/vbefill.h: Likewise.
42793 * include/grub/i386/pc/vbeutil.h: Likewise.
42794 * include/grub/i386/pc/vga.h: Likewise.
42795 * include/grub/ieee1275/ieee1275.h: Likewise.
42796 * include/grub/ieee1275/ofdisk.h: Likewise.
42797 * include/grub/powerpc/libgcc.h: Likewise.
42798 * include/grub/powerpc/setjmp.h: Likewise.
42799 * include/grub/powerpc/types.h: Likewise.
42800 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
42801 * include/grub/powerpc/ieee1275/console.h: Likewise.
42802 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
42803 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
42804 * include/grub/powerpc/ieee1275/loader.h: Likewise.
42805 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
42806 * include/grub/powerpc/ieee1275/time.h: Likewise.
42807 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
42808 * include/grub/sparc64/libgcc.h: Likewise.
42809 * include/grub/sparc64/setjmp.h: Likewise.
42810 * include/grub/sparc64/types.h: Likewise.
42811 * include/grub/sparc64/ieee1275/console.h: Likewise.
42812 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
42813 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
42814 * include/grub/sparc64/ieee1275/time.h: Likewise.
42815 * include/grub/util/biosdisk.h: Likewise.
42816 * include/grub/util/getroot.h: Likewise.
42817 * include/grub/util/lvm.h: Likewise.
42818 * include/grub/util/misc.h: Likewise.
42819 * include/grub/util/raid.h: Likewise.
42820 * include/grub/util/resolve.h: Likewise.
42821 * io/gzio.c: Likewise.
42822 * kern/device.c: Likewise.
42823 * kern/disk.c: Likewise.
42824 * kern/dl.c: Likewise.
42825 * kern/elf.c: Likewise.
42826 * kern/env.c: Likewise.
42827 * kern/err.c: Likewise.
42828 * kern/file.c: Likewise.
42829 * kern/fs.c: Likewise.
42830 * kern/loader.c: Likewise.
42831 * kern/main.c: Likewise.
42832 * kern/misc.c: Likewise.
42833 * kern/mm.c: Likewise.
42834 * kern/parser.c: Likewise.
42835 * kern/partition.c: Likewise.
42836 * kern/rescue.c: Likewise.
42837 * kern/term.c: Likewise.
42838 * kern/efi/efi.c: Likewise.
42839 * kern/efi/init.c: Likewise.
42840 * kern/efi/mm.c: Likewise.
42841 * kern/i386/dl.c: Likewise.
42842 * kern/i386/efi/init.c: Likewise.
42843 * kern/i386/efi/startup.S: Likewise.
42844 * kern/i386/pc/init.c: Likewise.
42845 * kern/i386/pc/lzo1x.S: Likewise.
42846 * kern/i386/pc/startup.S: Likewise.
42847 * kern/ieee1275/ieee1275.c: Likewise.
42848 * kern/powerpc/cache.S: Likewise.
42849 * kern/powerpc/dl.c: Likewise.
42850 * kern/powerpc/ieee1275/cmain.c: Likewise.
42851 * kern/powerpc/ieee1275/crt0.S: Likewise.
42852 * kern/powerpc/ieee1275/init.c: Likewise.
42853 * kern/powerpc/ieee1275/openfw.c: Likewise.
42854 * kern/sparc64/cache.S: Likewise.
42855 * kern/sparc64/dl.c: Likewise.
42856 * kern/sparc64/ieee1275/init.c: Likewise.
42857 * kern/sparc64/ieee1275/openfw.c: Likewise.
42858 * loader/efi/chainloader.c: Likewise.
42859 * loader/efi/chainloader_normal.c: Likewise.
42860 * loader/i386/efi/linux.c: Likewise.
42861 * loader/i386/efi/linux_normal.c: Likewise.
42862 * loader/i386/pc/chainloader.c: Likewise.
42863 * loader/i386/pc/chainloader_normal.c: Likewise.
42864 * loader/i386/pc/linux.c: Likewise.
42865 * loader/i386/pc/linux_normal.c: Likewise.
42866 * loader/i386/pc/multiboot.c: Likewise.
42867 * loader/i386/pc/multiboot_normal.c: Likewise.
42868 * loader/powerpc/ieee1275/linux.c: Likewise.
42869 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
42870 * normal/arg.c: Likewise.
42871 * normal/cmdline.c: Likewise.
42872 * normal/command.c: Likewise.
42873 * normal/completion.c: Likewise.
42874 * normal/execute.c: Likewise.
42875 * normal/function.c: Likewise.
42876 * normal/lexer.c: Likewise.
42877 * normal/main.c: Likewise.
42878 * normal/menu.c: Likewise.
42879 * normal/menu_entry.c: Likewise.
42880 * normal/misc.c: Likewise.
42881 * normal/parser.y: Likewise.
42882 * normal/script.c: Likewise.
42883 * normal/i386/setjmp.S: Likewise.
42884 * normal/powerpc/setjmp.S: Likewise.
42885 * normal/sparc64/setjmp.S: Likewise.
42886 * partmap/acorn.c: Likewise.
42887 * partmap/amiga.c: Likewise.
42888 * partmap/apple.c: Likewise.
42889 * partmap/gpt.c: Likewise.
42890 * partmap/pc.c: Likewise.
42891 * partmap/sun.c: Likewise.
42892 * term/gfxterm.c: Likewise.
42893 * term/terminfo.c: Likewise.
42894 * term/efi/console.c: Likewise.
42895 * term/i386/pc/console.c: Likewise.
42896 * term/i386/pc/serial.c: Likewise.
42897 * term/i386/pc/vesafb.c: Likewise.
42898 * term/i386/pc/vga.c: Likewise.
42899 * term/ieee1275/ofconsole.c: Likewise.
42900 * util/biosdisk.c: Likewise.
42901 * util/console.c: Likewise.
42902 * util/genmoddep.c: Likewise.
42903 * util/getroot.c: Likewise.
42904 * util/grub-emu.c: Likewise.
42905 * util/grub-mkdevicemap.c: Likewise.
42906 * util/grub-probe.c: Likewise.
42907 * util/lvm.c: Likewise.
42908 * util/misc.c: Likewise.
42909 * util/raid.c: Likewise.
42910 * util/resolve.c: Likewise.
42911 * util/update-grub.in: Likewise.
42912 * util/update-grub_lib.in: Likewise.
42913 * util/grub.d/00_header.in: Likewise.
42914 * util/grub.d/10_hurd.in: Likewise.
42915 * util/grub.d/10_linux.in: Likewise.
42916 * util/i386/efi/grub-install.in: Likewise.
42917 * util/i386/efi/grub-mkimage.c: Likewise.
42918 * util/i386/pc/grub-install.in: Likewise.
42919 * util/i386/pc/grub-mkimage.c: Likewise.
42920 * util/i386/pc/grub-mkrescue.in: Likewise.
42921 * util/i386/pc/grub-setup.c: Likewise.
42922 * util/i386/pc/misc.c: Likewise.
42923 * util/powerpc/ieee1275/grub-install.in: Likewise.
42924 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
42925 * util/powerpc/ieee1275/misc.c: Likewise.
42926 * video/bitmap.c: Likewise.
42927 * video/video.c: Likewise.
42928 * video/i386/pc/vbe.c: Likewise.
42929 * video/i386/pc/vbeblit.c: Likewise.
42930 * video/i386/pc/vbefill.c: Likewise.
42931 * video/i386/pc/vbeutil.c: Likewise.
42932 * video/readers/tga.c: Likewise.
42933
3572d015 429342007-07-02 Robert Millan <rmh@aybabtu.com>
42935
42936 * conf/i386-efi.rmk: Replace obsolete reference to
42937 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
42938 with util/getroot.c.
42939 * conf/powerpc-ieee1275.rmk: Likewise.
42940 * conf/sparc64-ieee1275.rmk: Likewise.
42941
42942 * util/grub-emu.c (main): Fix unchecked pointer handling.
42943
2c2a681b 429442007-07-02 Robert Millan <rmh@aybabtu.com>
42945
42946 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
42947 invocation to fail, in order to support partition-less media.
42948
42949 * util/i386/pc/grub-install.in: Likewise.
42950
42951 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
42952 which fs or partmap modules are needed (akin to its sister scripts).
42953
42954 Also use grub-probe to get rid of unportable /proc/mounts check.
42955
42956 Print the same informational message that the other scripts do, before
fe6b695a 42957 exiting.
2c2a681b 42958
6193defe 429592007-06-23 Robert Millan <rmh@aybabtu.com>
42960
fe6b695a 42961 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 42962 a font file can be found and, if so, echo the GRUB path to it.
42963
42964 * util/update-grub.in: Handle multiple terminals depending on user
42965 input, platform availability and font file presence. Propagate
42966 variables of our findings to /etc/grub.d/ children.
42967
42968 * util/grub.d/00_header.in: Handle multiple terminals, based on
42969 environment setup by update-grub.
42970
eface1dc 429712007-06-23 Robert Millan <rmh@aybabtu.com>
42972
ba50d28f 42973 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 42974
bf697e28 429752007-06-21 Robert Millan <rmh@aybabtu.com>
42976
42977 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
42978 indicate end of data section in kernel image.
42979 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
42980 GRUB_KERNEL_MACHINE_DATA_END.
42981
42982 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
42983 space for it.
42984 * kern/i386/efi/startup.S: Likewise.
42985
42986 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
42987 during image generation. Implement --prefix option to override this
42988 patch.
42989 * util/i386/efi/grub-mkimage.c: Likewise.
42990
42991 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
42992 code to make path relative to its root into a separate function.
42993
42994 * util/i386/pc/grub-install.in: Use newly provided
42995 make_system_path_relative_to_its_root() to convert ${grubdir}, then
42996 pass the result to grub-install --prefix.
42997
baa574b4 429982007-06-13 Robert Millan <rmh@aybabtu.com>
42999
43000 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
43001 DEFAULT_DEVICE_MAP.
43002 * util/grub-emu.c: Use above definitions from misc.h instead of
43003 defining them.
43004 * util/grub-mkdevicemap.c: Likewise.
43005 * util/i386/pc/grub-setup.c: Likewise.
43006 * util/grub-probe.c: Likewise.
43007 (probe): Abort with grub_util_error() when either
43008 grub_guess_root_device or grub_util_get_grub_dev fails.
43009
0215dcbf 430102007-06-12 Robert Millan <rmh@aybabtu.com>
43011
43012 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
43013 "pager" assignment.
43014 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
43015 "pcdata".
43016 * util/grub-probe.c (probe): Likewise for "drive_name".
43017
8af2ab7b 430182007-06-11 Robert Millan <rmh@aybabtu.com>
43019
43020 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
43021 not just the cdrom one.
43022
59d31694 430232007-06-11 Robert Millan <rmh@aybabtu.com>
43024
43025 * util/i386/pc/grub-mkrescue.in: Add "set -e".
43026 Add --pkglibdir=DIR option to override pkglibdir.
43027 Mention --image-type=TYPE in help output.
43028 Fix --grub-mkimage (it was a no-op).
fe6b695a 43029 Abort gracefully when no parameter is given.
59d31694 43030
7ee367e4 430312007-06-11 Robert Millan <rmh@aybabtu.com>
43032
43033 * util/i386/pc/grub-mkrescue.in: New file.
43034 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
43035 * Makefile.in: Handle bin_SCRIPTS.
43036
29b0ed46 430372007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
43038
43039 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
43040 list of video modes.
43041
c0f90770 430422007-06-06 Robert Millan <rmh@aybabtu.com>
43043
43044 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
43045 file doesn't exist, or if it is in a filesystem grub can't read.
43046
43047 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
43048 not abort if GRUB_DRIVE could not be defined. Rearrange generated
43049 header comment to fit in 80 columns when the variables are resolved.
43050
43051 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
43052 could be identified by update-grub. Remove redundant check for
fe6b695a 43053 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 43054 handles that).
43055
fb36dc26 430562007-06-04 Robert Millan <rmh@aybabtu.com>
43057
43058 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
43059
43060 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
43061
43062 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
43063
0c68c93e 430642007-06-04 Robert Millan <rmh@aybabtu.com>
43065
43066 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
43067
43068 * include/grub/partition.h: Declare grub_apple_partition_map_init and
43069 grub_apple_partition_map_fini.
43070
43071 * util/biosdisk.c
43072 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
43073 to access >2 TiB disks).
43074
43075 Print disk->total_sectors with %llu instead of %lu, since this
43076 variable is always 64-bit (prevents wrong disk size from being displayed
43077 on either >2 TiB disk or big-endian CPU).
43078
43079 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
43080 into a generic case that supports all (sane) partition maps.
43081
43082 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
43083 breaks big-endian.
43084
43085 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
43086 and grub_apple_partition_map_fini() after that.
43087
0f23eb74 430882007-06-01 Robert Millan <rmh@aybabtu.com>
43089
43090 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
43091
43092 * util/grub.d/00_header.in: Only enable gfxterm when
43093 convert_system_path_to_grub_path() succeeds.
43094
42c71976 430952007-05-20 Robert Millan <rmh@aybabtu.com>
43096
43097 * util/update-grub_lib.in: New file.
43098 * DISTLIST: Add update-grub_lib.in.
43099 * conf/common.rmk: Generate update-grub_lib and install it in
43100 $(lib_DATA).
43101 * Makefile.in: Add install routine for $(lib_DATA).
43102
43103 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
43104 function provided by update-grub_lib to support arbitrary paths of
43105 unifont.pff.
43106 * util/update-grub.in: Use convert_system_path_to_grub_path() to
43107 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
43108
5beb2291 431092007-05-19 Robert Millan <rmh@aybabtu.com>
43110
43111 * commands/i386/cpuid.c: New module.
43112 * DISTLIST: Add it.
43113 * conf/i386-efi.rmk: Enable cpuid.mod.
43114 * conf/i386-pc.rmk: Likewise.
43115
7262eca1 431162007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
43117
43118 * kern/disk.c (grub_disk_read): Check return value of
43119 grub_realloc().
43120
260ba823 431212007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
43122
43123 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
43124 arrays.
43125 * disk/raid.c (grub_raid_open): Likewise.
43126
1ecb6cf2 431272007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
43128
43129 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
43130 stack instead of on the heap.
43131
43132 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
43133 before doing a read on it.
43134
43135 * configure.ac: Only use -fno-stack-protector for the target
43136 environment.
f19dbdb7 43137
21c8cbb1 431382007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
43139
43140 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
43141 __attribute_ ((unused)) to mode_type argument.
43142
43143 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 43144
21c8cbb1 43145 * kern/misc.c (memcmp): Fix prototype.
43146
43147 * include/grub/partition.h [GRUB_UTIL]
43148 (grub_gpt_partition_map_init): Add prototype.
43149 (grub_gpt_partition_map_fini): Likewise.
43150
43151 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
43152 at the right place.
43153
43154 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
43155 (grub_fat_read_data): Likewise.
43156 (grub_fat_find_dir): Likewise.
43157
43158 * font/manager.c (find_glyph): Make table a const.
43159 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 43160
849d55d3 431612007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
43162
43163 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
43164 code, first search for device in /dev/mapper, then in /dev.
43165 (grub_util_get_grub_dev): New function.
43166 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
43167 prototype.
43168 * util/grub-probe.c (probe): Remove check for RAID, call
43169 grub_util_get_grub_dev() instead of
43170 grub_util_biosdisk_get_grub_dev().
43171 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
43172 grub_util_biosdisk_get_grub_dev().
43173 * util/i386/pc/grub-setup.c (main): Likewise.
43174
8fff7c2f 431752007-05-16 Robert Millan <rmh@aybabtu.com>
43176
43177 * DISTLIST: Update for the latest changes.
43178 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
43179 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
43180 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
43181 grub/util/biosdisk.h.
43182 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
43183 grub/util/biosdisk.h.
43184
48e12b52 431852007-05-16 Robert Millan <rmh@aybabtu.com>
43186
43187 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
43188
46b9d128 431892007-05-16 Robert Millan <rmh@aybabtu.com>
43190
43191 * util/i386/efi/grub-install.in: New.
43192 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
43193 newly added grub-install.
43194 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
43195 include.
43196 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
43197 grub/util/biosdisk.h.
43198 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
43199 grub/util/biosdisk.h.
43200
2d1a40a9 432012007-05-16 Robert Millan <rmh@aybabtu.com>
43202
43203 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
43204 * include/grub/util/biosdisk.h: ... here.
43205 * util/i386/pc/biosdisk.c: Moved to ...
43206 * util/biosdisk.c: ... here.
43207 * util/i386/pc/getroot.c: Moved to ...
43208 * util/getroot.c: ... here.
43209 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
43210 * util/grub-mkdevicemap.c: ... here.
43211 * util/i386/pc/grub-probe.c: Moved to ...
43212 * util/grub-probe.c: ... here.
43213
9e26e3bc 432142007-05-15 Robert Millan <rmh@aybabtu.com>
43215
43216 * util/update-grub.in: Remove duplicated line in grub.cfg header
43217 message.
43218
57f96397 432192007-05-13 Robert Millan <rmh@aybabtu.com>
43220
43221 * util/update-grub.in: Fix a few assumptions about the devices holding
43222 /, /boot and /boot/grub being the same.
43223 * util/grub.d/00_header.in: Likewise.
43224 * util/grub.d/10_hurd.in: Likewise.
43225 * util/grub.d/10_linux.in: Likewise.
43226
43227 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
43228 patterns. Use that to define the `.old' suffix as older than `'.
43229
43230 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
43231
43232 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
43233 the grub.cfg header message.
43234
2e610d62 432352007-05-11 Robert Millan <rmh@aybabtu.com>
43236
43237 * util/update-grub.in: Create device.map if it doesn't already exist,
43238 before attempting to run grub-probe.
43239 Check for grub-probe and grub-mkdevicemap with the same code
43240 grub-install is using.
43241 Remove test mode.
43242
3f6a10ef 432432007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
43244
43245 * Makefile.in: Add the datarootdir autoconf variable.
43246
02e7b75e 432472007-05-09 Robert Millan <rmh@aybabtu.com>
43248
43249 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 43250 fail gracefully if dev->disk->partition == NULL.
02e7b75e 43251
75f396cc 432522007-05-07 Robert Millan <rmh@aybabtu.com>
43253
43254 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
43255 determine partition map module.
43256 * util/i386/pc/grub-install.in: Use this feature to decide which
43257 partition module to load, instead of hardcoding pc and gpt.
43258
da65cb36 432592007-05-07 Robert Millan <rmh@aybabtu.com>
43260
43261 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
43262 source directory differs from build directory.
43263
b57d6a91 432642007-05-05 Robert Millan <rmh@aybabtu.com>
43265
43266 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
43267 initialisation.
43268
509d00f1 432692007-05-05 Robert Millan <rmh@aybabtu.com>
43270
43271 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
43272
c48f23ef 432732007-05-05 Robert Millan <rmh@aybabtu.com>
43274
43275 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
43276 command-line arguments via ${GRUB_CMDLINE_LINUX}.
43277
20b97658 432782007-05-05 Robert Millan <rmh@aybabtu.com>
43279
43280 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
43281 (grub_probe_SOURCES): Likewise.
43282 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
43283 GPT and initialize dos_part and bsd_part accordingly.
43284 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
43285 install_bsd_part.
43286 (main): Activate gpt module for use during partition identification,
43287 and deactivate it afterwards.
43288 * util/i386/pc/grub-install.in: Add gpt module to core.img.
43289 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
43290 partition identification, and deactivate it afterwards.
43291
99123174 432922007-05-05 Robert Millan <rmh@aybabtu.com>
43293
43294 * term/i386/pc/console.c (grub_console_fini): Call
43295 grub_term_set_current() before grub_term_unregister().
43296
ebd97f6e 432972007-05-04 Robert Millan <rmh@aybabtu.com>
43298
43299 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
43300 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
43301 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
43302 and update-grub_DATA.
43303 * conf/common.rmk: Build and install update-grub components.
43304 * conf/common.mk: Regenerate.
43305 * util/update-grub.in: New. Core of update-grub.
43306 * util/grub.d/00_header.in: New. Generates grub.cfg header.
43307 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
43308 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
43309 * util/grub.d/README: New. Document grub.d directory layout.
43310
b06a264d 433112007-05-01 Robert Millan <rmh@aybabtu.com>
43312
43313 * util/grub-emu.c: Move initialization functions
43314 grub_util_biosdisk_init() and grub_init_all() before
43315 grub_util_biosdisk_get_grub_dev(), which relies on them.
43316
41f0050e 433172007-04-19 Robert Millan <rmh@aybabtu.com>
43318
43319 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
43320 it is used later.
43321
04582bb3 433222007-04-18 Jerone Young <jerone@gmail.com>
43323
f19dbdb7 43324 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 43325 stanza.
43326
08db4632 433272007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 43328
08db4632 43329 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
43330 continue on and look for device node with real device name.
43331
801b76be 433322007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 43333
fe6b695a 43334 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 43335 ability.
43336 * Makefile.in: Add autoconf package transformation code.
43337 * util/i386/pc/grub-install.in: Likewise.
43338 * util/powerpc/ieee1275/grub-install.in: Likewise.
43339
6795c4e1 433402007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
43341
43342 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
43343 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
43344 (EXT2_REVISION): Likewise.
43345 (EXT2_INODE_SIZE): Likewise.
43346 (struct grub_ext2_block_group): Added a missing member
43347 "used_dirs".
43348 (grub_ext2_read_inode): Divide by the inode size in a superblock
43349 instead of 128 to obtain INODES_PER_BLOCK.
43350 Use the macro EXT2_INODE_SIZE instead of directly using
43351 SBLOCK->INODE_SIZE.
43352
d70af616 433532007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
43354
43355 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
43356 superblock instead of the structure size to compute an
43357 offset. This fixes the problem that GRUB could not read a
43358 filesystem when inode size is different from 128-byte.
43359
3b801603 433602007-03-05 Marco Gerards <marco@gnu.org>
43361
43362 * normal/main.c (read_config_file): When "menu" is not set, create
43363 an initial context.
43364
4785bfe4 433652007-02-21 Hollis Blanchard <hollis@penguinppc.org>
43366
43367 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
43368 (HEAP_LIMIT): New macro.
43369 (grub_claim_heap): Claim memory up to `heaplimit'.
43370
a0cbb023 433712007-02-21 Hollis Blanchard <hollis@penguinppc.org>
43372
43373 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
43374 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
43375 (_start): Likewise.
43376 (grub_arch_modules_addr): Return address after `_end'.
43377 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
43378 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
43379 (add_segments): Calculate `_end' from phdr size and location.
43380 (ALIGN_UP): Moved to ...
43381 * include/grub/misc.h: here.
43382 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
43383 New macro.
43384 (GRUB_IEEE1275_MODULE_BASE): Removed.
43385
fd7d8eba 433862007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43387
43388 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
43389 loop boundary.
43390
9b09e6fc 433912007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43392
43393 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
43394 All users updated.
43395 (grub_elf64_load_hook_t): Likewise.
43396 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
43397 debug output.
43398
3ce27299 433992007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43400
43401 * kern/mm.c: Update copyright.
43402 (grub_mm_debug): Correct syntax error.
43403 (grub_mm_dump_free): New function.
43404 (grub_debug_free): Call `grub_free'.
43405 * include/grub/mm.h: Update copyright.
43406 (grub_mm_dump_free): Add declaration.
43407
077d5fee 434082007-02-12 Hollis Blanchard <hollis@penguinppc.org>
43409
43410 * include/grub/ieee1275/ieee1275.h: Update copyright.
43411 * kern/powerpc/ieee1275/init.c: Likewise.
43412 * kern/powerpc/ieee1275/openfw.c: Likewise.
43413
43414 * loader/powerpc/ieee1275/linux.c: Likewise.
43415 * include/grub/elfload.h: Likewise.
43416 * kern/elf.c: Likewise.
43417 (grub_elf32_load): Pass `base' and `size' parameters. Update all
43418 callers.
43419 (grub_elf64_load): Likewise.
43420 (grub_elf32_load_segment): Move to a nested function.
43421 (grub_elf64_load_segment): Likewise.
43422
dc946850 434232007-02-12 Hollis Blanchard <hollis@penguinppc.org>
43424
43425 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
43426 prototype.
43427 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
43428 (grub_heap_len): Likewise.
43429 (HEAP_SIZE): New macro.
43430 (grub_claim_heap): New function.
43431 (grub_machine_init): Don't claim heap directly. Call
43432 `grub_claim_heap'.
43433 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
43434 (grub_available_iterate): New function.
43435
baa2a121 434362007-02-03 Thomas Schwinge <tschwinge@gnu.org>
43437
43438 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
43439 * configure.ac: Use it for testing the HOST and TARGET compilers.
43440
4fe9862e 434412006-12-13 Thomas Schwinge <tschwinge@gnu.org>
43442
43443 * Makefile.in (enable_grub_emu): New variable.
43444 * configure.ac (--enable-grub-emu): New option.
43445 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
43446 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
43447 * conf/i386-pc.rmk: Likewise.
43448 * conf/powerpc-ieee1275.rmk: Likewise.
43449 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
43450
a8aa5762 434512006-12-12 Marco Gerards <marco@gnu.org>
43452
43453 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
43454
43455 * kern/env.c (grub_env_unset): Don't free the member `value' when
43456 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
43457 pointer.
43458
43459 * normal/main.c (current_menu): Removed.
43460 (free_menu): Unset the `menu' environment variable.
43461 (grub_normal_menu_addentry): Make use of the environment variable
43462 `menu', instead of using the global `current_menu'. Allocate
43463 memory for the sourcecode of this entry.
43464 (read_config_file): New argument `nested', changed all callers.
43465 Only in the case of a new context, initialize a new menu. Set the
43466 `menu' environment variable.
43467 (grub_normal_execute): Don't set and unset the environment
43468 variable `menu' here anymore. Only free the menu when leaving the
43469 context.
43470
43471 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
43472 leak.
43473
957b3a3e 434742006-12-11 Marco Gerards <marco@gnu.org>
43475
43476 * normal/menu_entry.c (run): Fix off by one bug so the last line
43477 is executed. Move the loader check to outside the loop.
43478
ef875714 434792006-12-08 Hollis Blanchard <hollis@penguinppc.org>
43480
43481 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
43482
4e739985 434832006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
43484
43485 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
43486 the number of sectors. Reported by Andrey Shuvikov
43487 <mr_hyro@yahoo.com>.
f19dbdb7 43488
790707f2 434892006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
43490
43491 * kern/disk.c (grub_disk_read): When there is a read error, always
43492 try to read only the necessary data.
f19dbdb7 43493
790707f2 43494 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
43495 disk/raid.c.
43496 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
43497 prototype.
43498 [GRUB_UTIL] (grub_raid_fini): Likewise.
43499 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 43500 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 43501 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
43502 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
43503 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
43504 and grub_raid_fini().
f19dbdb7 43505
03e58196 435062006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
43507
43508 * include/grub/types.h (__unused): Rename to UNUSED.
43509 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
43510 (grub_elf64_size): Likewise.
f19dbdb7 43511
ae4f23bf 435122006-11-03 Hollis Blanchard <hollis@penguinppc.org>
43513
43514 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
43515 grub_error_push and grub_error_pop in the error-handling path.
43516 (grub_elf32_load_segment): Only call grub_file_read with non-zero
43517 length.
43518
2166cc83 435192006-11-03 Hollis Blanchard <hollis@penguinppc.org>
43520
43521 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
43522 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43523 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43524 (kernel_elf_SOURCES): Likewise.
43525 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
43526 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
43527 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43528 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43529 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
43530 (elf_mod_SOURCES): New variable.
43531 (elf_mod_CFLAGS): Likewise.
43532 (elf_mod_LDFLAGS): Likewise.
43533 * include/grub/types.h (__unused): New macro.
43534 * include/grub/elfload.h: New file.
43535 * kern/elf.c: Likewise.
43536 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
43537 (ELF32_LOADMASK): New macro.
43538 (ELF64_LOADMASK): Likewise.
43539 (vmlinux): Removed.
43540 (grub_linux_load32): New function.
43541 (grub_linux_load64): Likewise.
43542 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
43543 Use grub_elf_t instead of grub_file_t.
43544
a09d5aa5 435452006-11-02 Hollis Blanchard <hollis@penguinppc.org>
43546
43547 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
43548 `catch_result' to struct set_color_args.
43549
d976fc51 435502006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
43551
43552 * normal/menu.c: Include grub/script.h.
43553 * normal/menu_entry.c: Likewise.
43554 * include/grub/normal.h: Do not include grub/script.h.
43555
67507549 435562006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43557
43558 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
43559
69203a99 435602006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43561
43562 * kern/disk.c (grub_disk_open): Print debug messages when opening a
43563 disk.
43564 (grub_disk_close): Print debug messages when closing a disk.
43565 (grub_disk_read): Print debug messages when disk read fails.
43566 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
43567 filesystem type.
43568 * kern/partition.c: Include misc.h.
43569 (grub_partition_iterate): Print debug messages when detecting
43570 partition type.
43571
e2b8278c 435722006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43573
43574 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
43575 is negative.
43576 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
43577
97b2f2ff 435782006-10-26 Hollis Blanchard <hollis@penguinppc.org>
43579
43580 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
43581 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
43582
6555d655 435832006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
43584
43585 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
43586 instead of sizeof(lv). Patch by Michael Guntsche.
43587
4d42b77f 435882006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
43589
43590 * disk/lvm.c: Rename VGS to VG_LIST.
43591 (grub_lvm_iterate): Change VGS->LV to VG-LV.
43592 (grub_lvm_open): Likewise.
43593 Thanks to Michael Guntsche for finding this bug.
43594
5d74d927 435952006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43596
43597 * configure.ac (AC_INIT): Bumped to 1.95.
43598
a1bb27e4 435992006-10-14 Robert Millan <rmh@aybabtu.com>
43600
43601 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
43602 with "/dev/.static/dev/md".
43603
e0994b8b 436042006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
43605
43606 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
43607 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
43608 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
43609 DRIVE_NAME are always freed.
43610
43611 * util/i386/pc/biosdisk.c (make_device_name): Add one into
43612 DOS_PART, as a DOS partition is counted from one instead of zero
43613 now. Reported by Robert Millan.
43614
ddd5cee9 436152006-10-14 Robert Millan <rmh@aybabtu.com>
43616
43617 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
43618 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
43619 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
43620 string returned by grub_guess_root_device.
43621 * util/i386/pc/grub-setup.c: Likewise.
43622 * util/i386/pc/grub-probefs.c: Likewise.
43623
43624 * util/i386/pc/grub-probefs.c: Rename to ...
43625 * util/i386/pc/grub-probe.c: ... this.
43626 * DISTLIST: Remove grub-probefs, add grub-probe.
43627 * conf/i386-efi.rmk: Likewise.
43628 * conf/i386-pc.rmk: Likewise.
43629 * util/i386/pc/grub-install.in: Likewise.
43630
43631 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
43632 choose which information we want to print.
43633
2b002173 436342006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
43635
43636 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
43637 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
43638 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
43639 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
43640 video/readers/tga.c and video/i386/pc/vbeutil.c.
43641
436422006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
43643
43644 Added support for RAID and LVM.
f19dbdb7 43645
2b002173 43646 * disk/lvm.c: New file.
43647 * disk/raid.c: Likewise.
43648 * include/grub/lvm.h: Likewise.
f19dbdb7 43649 * include/grub/raid.h: Likewise.
2b002173 43650 * include/grub/util/lvm.h: Likewise.
43651 * include/grub/util/raid.h: Likewise.
43652 * util/lvm.c: Likewise.
43653 * util/raid.c: Likewise.
43654
43655 * include/grub/disk.h (grub_disk_dev_id): Add
43656 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
43657 (grub_disk_get_size): New prototype.
43658 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
43659 returns a partition.
43660 (grub_disk_get_size): New function.
f19dbdb7 43661
2b002173 43662 * kern/i386/pc/init.c (make_install_device): Copy the prefix
43663 verbatim if grub_install_dos_part is -2.
43664
43665 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
43666 and LVM devices.
43667
43668 * util/i386/pc/grub-setup.c (setup): New argument
43669 MUST_EMBED. Force embedding of GRUB when the argument is
43670 true. Close FILE before returning.
43671 (main): Add support for RAID and LVM.
f19dbdb7 43672
2b002173 43673 * conf/common.rmk: Add RAID and LVM modules.
43674 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
43675 util/lvm.c.
43676 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
43677
43678 * kern/misc.c (grub_strstr): New function.
43679 * include/grub/misc.h (grub_strstr): New prototype.
43680
050548d0 436812006-10-10 Tristan Gingold <tristan.gingold@bull.net>
43682
43683 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
43684
da849d2d 436852006-10-05 Tristan Gingold <tristan.gingold@bull.net>
43686
43687 * kern/misc.c (grub_strtoull): Guess the base only if not
43688 specified.
43689
97b2f2ff 436902006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 43691
43692 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
43693 PowerMac support.
43694
97b2f2ff 436952006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 43696
43697 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
43698
43699 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
43700 Remove `flags' argument. All callers changed.
43701 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
43702 (IEEE1275_IHANDLE_INVALID): New variable.
43703 (IEEE1275_CELL_INVALID): New variable.
43704 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
43705 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
43706 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
43707 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
43708 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
43709 codes from Open Firmware. All callers updated.
43710 (grub_ieee1275_next_property): Directly return Open Firmware return
43711 code.
43712 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
43713 Standardize error checking from `grub_ieee1275_get_property'.
43714 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
43715 `devalias' to `aliases'. Correct comments. Consolidate error paths.
43716
97b2f2ff 437172006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 43718
43719 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
43720 `instance_to_package_args' to `instance_to_path_args'.
43721
43722 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
43723 `grub_ieee1275_chosen'.
43724
43725 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
43726 `grub_ieee1275_interpret'.
43727
97b2f2ff 437282006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 43729
43730 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
43731
97b2f2ff 437322006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 43733
43734 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
43735 (__cmpdi): Likewise.
43736
43737 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
43738 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
43739 `grub_ssize_t'.
43740
02bb8acc 43741 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 43742
43743 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
43744 to type `grub_ssize_t'.
43745 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
43746
7f9a8531 437472006-09-22 Marco Gerards <marco@gnu.org>
43748
43749 * normal/script.c (grub_script_create_cmdmenu): Skip leading
43750 newlines.
43751
b5ef1102 437522006-09-22 Marco Gerards <marco@gnu.org>
43753
43754 * commands/echo.c: New file.
43755
43756 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
43757
43758 * conf/common.rmk (echo_mod_SOURCES): New variable.
43759 (echo_mod_CFLAGS): Likewise.
43760 (echo_mod_LDFLAGS): Likewise.
43761
2cff3677 437622006-09-22 Marco Gerards <marco@gnu.org>
43763
43764 * normal/main.c (get_line): Malloc memory instead of using
43765 preallocated memory. Removed the arguments `cmdline' and
43766 `max_len'. Updated all callers.
43767
6ba4688b 437682006-09-22 Marco Gerards <marco@gnu.org>
43769
43770 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
43771 (normal_mod_DEPENDENCIES): Likewise.
43772
43773 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
43774 (normal_mod_DEPENDENCIES): Likewise.
43775
43776 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
43777
e02ac02c 437782006-09-22 Johan Rydberg <jrydberg@gnu.org>
43779
43780 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
43781 programs.
43782 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
43783 (normal_mod_DEPENDENCIES): Likewise.
43784 * conf/i386-pc.mk: Regenerate.
43785 * conf/i386-efi.mk: Likewise
43786 * conf/common.mk: Likewise.
43787 * conf/powerpc-ieee1275.mk: Likewise.
43788 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 43789
8d252e44 437902006-09-22 Robert Millan <rmh@aybabtu.com>
43791
43792 Sync with i386 version.
43793 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
43794 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
43795
209bf7ac 437962006-09-21 Robert Millan <rmh@aybabtu.com>
43797
43798 Import from GRUB Legacy (lib/device.c):
43799 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
43800 (init_device_map) [__linux__]: Add support for I2O devices.
43801
6b146090 438022006-09-14 Marco Gerards <marco@gnu.org>
43803
43804 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
43805 `-melf_i386'.
43806
e38600a8 438072006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 43808
43809 * util/i386/pc/grub-install.in: Skip menu.lst when removing
43810 /boot/grub/*.lst.
78fa1790 43811
2952da5d 43812 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 43813
2952da5d 43814 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
43815 before adding it to device.map.
43816
01b82a64 438172006-08-15 Johan Rydberg <jrydberg@gnu.org>
43818
fe6b695a 43819 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 43820 compiles a file; using the -MD option.
43821 * conf/common.mk: Regenerate.
43822 * conf/i386-pc.mk: Likewise.
43823 * conf/i386-efi.mk: Likewise.
43824 * conf/powerpc-ieee1275.mk: Likewise.
43825 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 43826
1064790d 438272006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
43828
43829 Move the prototypes of grub_setjmp and grub_longjmp to
43830 cpu/setjmp.h, so that each architecture may specify different
43831 attributes.
f19dbdb7 43832
1064790d 43833 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
43834 (grub_longjmp): Likewise.
43835 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
43836 (grub_longjmp): Likewise.
43837 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
43838 (grub_longjmp): Likewise.
43839
43840 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
43841 [!GRUB_UTIL] (grub_longjmp): Removed.
43842
29dda3ed 438432006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
43844
43845 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
43846 "color!" method does not return any value.
43847
ad2a06ed 438482006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43849
43850 * include/grub/bitmap.h: New file.
43851
43852 * include/grub/i386/pc/vbeutil.h: Likewise.
43853
43854 * video/bitmap.c: Likewise.
43855
43856 * video/readers/tga.c: Likewise.
43857
43858 * video/i386/pc/vbeutil.c: Likewise.
43859
43860 * commands/videotest.c: Code cleanup and updated to reflect to new
43861 video API.
43862
43863 * term/gfxterm.c: Likewise.
43864
43865 * video/video.c: Likewise.
43866
43867 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
43868 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
43869 (bitmap_mod_SOURCES): New entry.
43870 (bitmap_mod_CFLAGS): Likewise.
43871 (bitmap_mod_LDFLAGS): Likewise.
43872 (tga_mod_SOURCES): Likewise.
43873 (tga_mod_CFLAGS): Likewise.
43874 (tga_mod_LDFLAGS): Likewise.
43875
43876 * include/grub/video.h (grub_video_blit_operators): New enum type.
43877 (grub_video_render_target): Changed as forward declaration and moved
43878 actual definition to be video driver specific.
43879 (grub_video_adapter.blit_bitmap): Added blitting operator.
43880 (grub_video_adapter.blit_render_target): Likewise.
43881 (grub_video_blit_bitmap): Likewise.
43882 (grub_video_blit_render_target): Likewise.
43883
43884 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
43885 driver specific render target definition.
43886 (grub_video_vbe_map_rgba): Added driver internal helper.
43887 (grub_video_vbe_unmap_color): Updated to use
43888 grub_video_i386_vbeblit_info.
43889 (grub_video_vbe_get_video_ptr): Likewise.
43890
43891 * include/grub/i386/pc/vbeblit.h
43892 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
43893 grub_video_i386_vbeblit_info.
43894 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
43895 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
43896 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
43897 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
43898 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
43899 (grub_video_i386_vbeblit_index_index): Likewise.
43900 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
43901 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
43902 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
43903 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
43904 operator.
43905 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
43906 operator.
43907
43908 * video/i386/pc/vbeblit.c: Updated to reflect changes on
43909 include/grub/i386/pc/vbeblit.h.
43910
43911 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
43912 Updated to use grub_video_i386_vbeblit_info.
43913 (grub_video_i386_vbefill_R8G8B8): Likewise.
43914 (grub_video_i386_vbefill_index): Likewise.
43915 (grub_video_i386_vbefill): Added generic filler.
43916
43917 * video/i386/pc/vbefill.c: Updated to reflect changes on
43918 include/grub/i386/pc/vbefill.h.
43919
43920 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
43921 grub_video_i386_vbeblit_info.
43922 (grub_video_vbe_unmap_color): Likewise.
43923 (grub_video_vbe_blit_glyph): Likewise.
43924 (grub_video_vbe_scroll): Likewise.
43925 (grub_video_vbe_draw_pixel): Removed function.
43926 (grub_video_vbe_get_pixel): Likewise.
43927 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
43928 updated code to use it.
43929 (common_blitter): Added common blitter for render target and bitmap.
43930 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
43931 (grub_video_vbe_blit_render_target): Likewise.
43932
bc8c036d 439332006-07-30 Johan Rydberg <jrydberg@gnu.org>
43934
43935 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
43936 is in text mode if there is no console control protocol instance
43937 available.
43938
684a8eff 439392006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43940
43941 * include/grub/video.h: Code cleanup.
43942
43943 * include/grub/i386/pc/vbe.h: Likewise.
43944
43945 * video/i386/pc/vbe.c: Likewise.
43946
43947 * video/i386/pc/vbeblit.c: Likewise.
43948
43949 * video/i386/pc/vbefill.c: Likewise.
43950
43951 * video/video.c: Likewise. Also added more comments.
43952
5915059b 439532006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43954
43955 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
43956 (struct grub_biosdisk_dap): Likewise.
43957
43958 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
43959 linkage settings for all functions.
43960
90ce5d56 439612006-07-12 Marco Gerards <marco@gnu.org>
43962
43963 * configure.ac (--enable-mm-debug): Fix typo.
43964
43965 * genkernsyms.sh.in: Use proper quoting for `CC'.
43966
43e7f879 439672006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
43968
43969 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
43970 (normal_mod_ASFLAGS): Remove "-m32".
43971
4889bdec 439722006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
43973
43974 * util/misc.c: Include config.h.
43975 [!HAVE_MEMALIGN]: Do not include malloc.h.
43976 (grub_memalign): Use posix_memalign, if present. Then, use
43977 memalign, if present. Otherwise, emit an error.
43978
43979 * util/grub-emu.c: Do not include malloc.h.
43980
43981 * include/grub/util/misc.h: Include unistd.h. This is required for
43982 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
43983 D. Eades III <hde@foobar-qux.org>.
43984
43985 * configure.ac (AC_GNU_SOURCE): Added.
43986 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
43987 type.
43988
fd39d4da 439892006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
43990
43991 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
43992 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
43993
b786f3b5 439942006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
43995
43996 * include/grub/types.h (grub_host_addr_t): Rename to
43997 grub_target_addr_t.
43998 (grub_host_off_t): Rename to grub_target_off_t.
43999 (grub_host_size_t): Rename to grub_target_size_t.
44000 (grub_host_ssize_t): Rename to grub_target_ssize_t.
44001 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
44002
44003 * include/grub/kernel.h (struct grub_module_header): Change type
44004 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
44005 (grub_module_info): Likewise.
f19dbdb7 44006
051988bb 440072006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
44008
44009 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
44010 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
44011 Velazquez <jesus.velazquez@gmail.com>.
44012
deae281b 440132006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
44014
44015 Count partitions from 1 instead of 0 in the string representation
44016 of partitions. Still use 0-based internally.
f19dbdb7 44017
deae281b 44018 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
44019 (sun_partition_map_iterate): Use grub_partition_t instead of
44020 struct grub_partition *. Cast DESC->START_CYLINDER to
44021 grub_uint64_t after converting the endian.
44022 (sun_partition_map_probe): Subtract 1 for PARTNUM.
44023 (sun_partition_map_get_name): Add 1 to P->INDEX.
44024
44025 * partmap/pc.c (grub_partition_parse): Subtract 1 for
44026 PCDATA->DOS_PART.
44027 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
44028
44029 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
44030 zero instead of one.
44031 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
44032 (gpt_partition_map_get_name): Add 1 into P->INDEX.
44033
44034 * partmap/apple.c (apple_partition_map_iterate): Change the type
44035 of POS to unsigned.
44036 (apple_partition_map_probe): Subtract 1 for PARTNUM.
44037 (apple_partition_map_get_name): Add 1 into P->INDEX.
44038
44039 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
44040 of POS to unsigned.
44041 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
44042 calculate the offset of a partition.
44043 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
44044 (amiga_partition_map_get_name): Add 1 into P->INDEX.
44045
44046 * partmap/acorn.c (acorn_partition_map_find): Change the type of
44047 SECTOR to grub_disk_addr_t.
44048 (acorn_partition_map_iterate): Likewise.
44049 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
44050 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
44051 top.
44052 (acorn_partition_map_get_name): Add 1 into P->INDEX.
44053
44054 * kern/i386/pc/init.c (make_install_device): Add 1 into
44055 GRUB_INSTALL_DOS_PART.
44056
44057 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
44058 conditional.
44059
524a1e6a 440602006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
44061
44062 Clean up the code to support 64-bit addressing in disks and
44063 files. This change is not enough for filesystems yet.
f19dbdb7 44064
524a1e6a 44065 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
44066 type of "start" to grub_uint64_t.
44067 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
44068 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
44069 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
44070 convert addresses.
44071
44072 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
44073 to grub_disk_addr_t.
44074
44075 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
44076 string.
44077
44078 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44079
44080 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
44081 to char *.
44082
44083 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
44084
44085 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
44086
44087 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
44088
44089 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
44090 to grub_off_t, to detect an error from grub_file_seek.
44091 (grub_multiboot_load_elf32): Likewise.
44092
44093 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
44094 maximum unsigned long value when an overflow is detected.
44095 (grub_strtoull): New function.
44096 (grub_divmod64): Likewise.
44097 (grub_lltoa): use grub_divmod64.
44098
44099 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
44100 grub_disk_addr_t.
44101 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
44102 the pointer to next character. Use grub_strtoull instead of
44103 grub_strtoul.
44104 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
44105 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
44106 respectively.
44107
fe6b695a 44108 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 44109 return value is signed.
44110 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
44111 test if OFFSET is less than zero, as OFFSET is unsigned now.
44112
44113 * kern/disk.c (struct grub_disk_cache): Change the type of
44114 "sector" to grub_disk_addr_t.
44115 (grub_disk_cache_get_index): Change the type of SECTOR to
44116 grub_disk_addr_t. Calculate the hash with SECTOR casted to
44117 unsigned after shifting.
44118 (grub_disk_cache_invalidate): Change the type of SECTOR to
44119 grub_disk_addr_t.
44120 (grub_disk_cache_unlock): Likewise.
44121 (grub_disk_cache_store): Likewise.
44122 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
44123 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
44124 grub_disk_addr_t and grub_uint64_t, respectively.
44125 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
44126 body, as the value of OFFSET is tweaked by
44127 grub_disk_check_range. Change the types of START_SECTOR, LEN and
44128 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
44129 respectively.
44130 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
44131 body, as the value of OFFSET is tweaked by
44132 grub_disk_check_range. Change the types of LEN and N to
44133 grub_size_t.
44134
44135 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
44136 and "saved_offset" to grub_off_t.
44137 (test_header): Cast BUF to char *.
44138 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
44139 to char *.
44140 (grub_gzio_read): Change the types of OFFSET and SIZE to
44141 grub_off_t and grub_size_t, respectively.
44142
44143 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
44144 Removed.
44145 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
44146 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
44147 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
44148 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
44149 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
44150
44151 * include/grub/types.h (grub_off_t): Unconditionally set to
44152 grub_uint64_t.
44153 (grub_disk_addr_t): Changed to grub_uint64_t.
44154
44155 * include/grub/partition.h (struct grub_partition): Change the
44156 types of "start", "len" and "offset" to grub_disk_addr_t,
44157 grub_uint64_t and grub_disk_addr_t, respectively.
44158 (grub_partition_get_start): Return grub_disk_addr_t.
44159 (grub_partition_get_len): Return grub_uint64_t.
44160
44161 * include/grub/misc.h (grub_strtoull): New prototype.
44162 (grub_divmod64): Likewise.
44163
44164 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
44165 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
44166 grub_off_t, respectively.
44167 All callers and references changed.
44168
44169 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
44170 grub_size_t in "read".
44171 All callers and references changed.
44172
44173 * include/grub/file.h (struct grub_file): Change the types of
44174 "offset" and "size" to grub_off_t and grub_off_t,
44175 respectively. Change the type of SECTOR to grub_disk_addr_t in
44176 "read_hook".
44177 (grub_file_read): Change the type of LEN to grub_size_t.
44178 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
44179 grub_off_t.
44180 (grub_file_size): Return grub_off_t.
44181 (grub_file_tell): Likewise.
44182 All callers and references changed.
44183
44184 * include/grub/disk.h (struct grub_disk_dev): Change the types of
44185 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
44186 "write".
44187 (struct grub_disk): Change the type of "total_sectors" to
44188 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 44189 "read_hook".
524a1e6a 44190 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
44191 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
44192 (grub_disk_write): Likewise.
44193 All callers and references changed.
44194
44195 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
44196 char * for grub_strncmp to silence gcc.
44197 (grub_iso9660_mount): Likewise.
44198 (grub_iso9660_mount): Likewise.
44199 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
44200 return statement.
44201 (grub_iso9660_iterate_dir): Likewise.
44202 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
44203
44204 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
44205 LEN to grub_disk_addr_t and grub_size_t, respectively.
44206
44207 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
44208
44209 * fs/jfs.c (grub_jfs_read_file): Likewise.
44210
44211 * fs/minix.c (grub_jfs_read_file): Likewise.
44212
44213 * fs/sfs.c (grub_jfs_read_file): Likewise.
44214
44215 * fs/ufs.c (grub_jfs_read_file): Likewise.
44216
44217 * fs/xfs.c (grub_jfs_read_file): Likewise.
44218
44219 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
44220 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
44221 respectively.
44222
44223 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
44224 BLKNR to -1 instead of returning GRUB_ERRNO.
44225 (grub_ext2_read_file): Change the types of SECTOR and
44226 LEN to grub_disk_addr_t and grub_size_t, respectively.
44227
44228 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
44229 LEN to grub_disk_addr_t and grub_size_t, respectively.
44230
44231 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
44232 grub_file_read.
44233
44234 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
44235 string. Do not cast SECTOR explicitly.
44236
44237 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
44238 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
44239 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
44240 grub_disk_addr_t and grub_size_t, respectively. If the sector is
44241 over 2TB and LBA mode is not supported, raise an error.
44242 (get_safe_sectors): New function.
44243 (grub_biosdisk_read): Use get_safe_sectors.
44244 (grub_biosdisk_write): Likewise.
44245
44246 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
44247 (grub_efidisk_write): Likewise.
44248
44249 * disk/loopback.c (delete_loopback): Cosmetic changes.
44250 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
44251 correctly.
44252 (grub_loopback_open): Likewise.
44253 (grub_loopback_read): Likewise. Also, change the type of POS to
44254 grub_off_t, and fix the usage of grub_memset.
44255
44256 * commands/i386/pc/play.c: Include grub/machine/time.h.
44257
44258 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
44259 print FILE->SIZE.
44260
44261 * commands/configfile.c: Include grub/env.h.
44262
44263 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
44264 GRUB_ERRNO directly instead. Change the type of POS to
44265 grub_off_t. Follow the coding standard.
44266
44267 * commands/blocklist.c: Include grub/partition.h.
44268 (grub_cmd_blocklist): Return an error if the underlying device is
44269 not a disk. Take the starting sector of a partition into account,
44270 if a partition is used.
44271
44272 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
44273 a length field.
44274 (lba_mode): Support 64-bit addresses.
44275 (chs_mode): Likewise.
44276 (copy_buffer): Adapted to the new offsets of a length field and a
44277 segment field.
44278 (blocklist_default_start): Allocate 64-bit space.
44279
44280 * boot/i386/pc/boot.S (force_lba): Removed.
44281 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 44282 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 44283 space.
44284 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
44285 is useless.
44286 (lba_mode): Refactored to support a 64-bit address. More size
44287 optimization.
44288 (setup_sectors): Likewise.
44289
53af98ad 442902006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
44291
44292 * DISTLIST: Added include/grub/i386/linux.h. Removed
44293 include/grub/i386/pc/linux.h
44294
44295 * configure.ac (AC_INIT): Bumped to 1.94.
44296
44297 * config.guess: Updated from gnulib.
44298 * config.sub: Likewise.
44299 * install-sh: Likewise.
44300 * mkinstalldirs: Likewise.
44301
b4c1940a 443022006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
44303
44304 * conf/common.rmk (grub_modules_init.lst): Depended on
44305 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
44306 MODSRCFILES.
44307
44308 * genmk.rb (PModule::rule): Reverted the previous change.
44309
cfca1cfd 443102006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
44311
44312 * conf/common.rmk (grub_modules_init.lst): Depends on
44313 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
44314 that the target does not exist before producing.
44315 (grub_modules_init.h): Remove the target before generating.
44316 (grub_emu_init.c): Likewise.
44317
44318 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
44319
aa6d7826 443202006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
44321
44322 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
44323 for the target-specific tests. Make sure that we also have the
44324 up-to-date target variables for those tests.
44325
26c607b9 443262006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
44327
44328 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
44329 (PModule::rule): Likewise.
44330
0162321a 443312006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
44332
44333 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
44334 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
44335 target-specific flags should be prefixed.
44336 (PModule::rule): Likewise.
44337
6c826348 443382006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
44339
44340 * configure.ac (CMP): Check if cmp is available explicitly.
44341
b977bf01 443422006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
44343
44344 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
44345 (target_cpu): New variable.
44346 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 44347
b977bf01 44348 * util/i386/pc/grub-install.in (host_cpu): Removed.
44349 (target_cpu): New variable.
44350 (pkglibdir): Use target_cpu instead of host_cpu.
44351
44352 * util/genmoddep.c: Removed.
f19dbdb7 44353
b977bf01 44354 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
44355 instead of GRUB_HOST_SIZEOF_VOID_P.
44356 * kern/dl.c: Likewise.
44357
44358 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
44359 ...
44360 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
44361 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
44362 (GRUB_TARGET_SIZEOF_LONG): ... this.
44363 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
44364 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
44365 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
44366 to ...
44367 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
44368 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
44369 (GRUB_TARGET_SIZEOF_LONG): ... this.
44370 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
44371 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
44372 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
44373 to ...
44374 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
44375 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
44376 (GRUB_TARGET_SIZEOF_LONG): ... this.
44377 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
44378 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
44379
44380 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
44381 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
44382 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
44383 instead of GRUB_HOST_SIZEOF_LONG.
44384 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
44385 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
44386 GRUB_CPU_WORDS_BIGENDIAN.
44387 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
44388 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
44389 grub_host_ssize_t.
44390
44391 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
44392 (genmoddep_SOURCES): Likewise.
44393 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
44394 (genmoddep_SOURCES): Likewise.
44395 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
44396 (genmoddep_SOURCES): Likewise.
44397 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
44398 Likewise.
44399 (genmoddep_SOURCES): Likewise.
44400
44401 * genmoddep.awk: New file.
44402
44403 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
44404 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
44405 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
44406 (PModule::rule): Likewise.
44407 (Program::rule): Likewise.
44408 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
44409 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
44410 respectively.
44411
44412 * configure.ac: Rewritten intensively to use host and target
44413 instead of build and host, respectively.
44414
44415 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
44416 (host_cpu): Removed.
44417 (target_cpu): New variable.
44418 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
44419 (BUILD_CC): Removed.
44420 (BUILD_CFLAGS): Likewise.
44421 (BUILD_CPPFLAGS): Likewise.
44422 (TARGET_CC): New variable.
44423 (TARGET_CFLAGS): Likewise.
44424 (TARGET_CPPFLAGS): Likewise.
44425 (TARGET_LDFLAGS): Likewise.
44426 (AWK): Likewise.
44427 (include): Use target_cpu instead of host_cpu.
44428 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 44429
b977bf01 44430 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
44431
f09771a1 444322006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
44433
44434 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
44435 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
44436 field 'false' to 'exec_on_false'.
44437 (grub_script_create_cmdif): Renamed argument names to reflect above
44438 changes.
44439
44440 * normal/execute.c (grub_script_execute_cmdif): Likewise.
44441
44442 * normal/script.c (grub_script_create_cmdif): Likewise.
44443
118f4fb3 444442006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
44445
44446 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
44447 top.
44448 (grub_hfsplus_btree_recptr): Likewise.
44449 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
44450 FILEBLOCK both to pass a block number and store next block
44451 number.
44452 (grub_hfsplus_read_block): Rewritten heavily to support an extent
44453 overflow file correctly. Specify errors appropriately, because
44454 fshelp expects that GRUB_ERRNO is set when fails. Reuse
44455 grub_hfsplus_btree_recptr to get the pointer to a found key.
44456 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
44457 is found.
44458
44459 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
44460 linux.mod.
44461 (_linux_mod_SOURCES): New variable.
44462 (_linux_mod_CFLAGS): Likewise.
44463 (_linux_mod_LDFLAGS): Likewise.
44464 (linux_mod_SOURCES): Likewise.
44465 (linux_mod_CFLAGS): Likewise.
44466 (linux_mod_LDFLAGS): Likewise.
44467
44468 * DISTLIST: Added loader/i386/efi/linux.c,
44469 loader/i386/efi/linux_normal.c and
44470 include/grub/i386/efi/loader.h.
44471
44472 * loader/i386/efi/linux.c: New file.
44473 * loader/i386/efi/linux_normal.c: Likewise.
44474 * include/grub/i386/efi/loader.h: Likewise.
44475
89a7d726 444762006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
44477
44478 * commands/blocklist.c: New file.
44479
44480 * DISTLIST: Added commands/blocklist.c.
44481
44482 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 44483 color for the background, and a darker color for the foreground.
89a7d726 44484 (grub_console_checkkey): Return READ_KEY.
44485 (grub_console_cls): Set the background to
44486 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
44487
44488 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
44489
44490 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
44491 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
44492
44493 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
44494 prototype.
44495
44496 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
44497 BG. The spec is wrong again.
44498
44499 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
44500 prototype.
44501 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
44502
44503 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44504 commands/blocklist.c.
44505 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 44506
89a7d726 44507 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
44508 (blocklist_mod_SOURCES): New variable.
44509 (blocklist_mod_CFLAGS): Likewise.
44510 (blocklist_mod_LDFLAGS): Likewise.
44511
75c8f258 445122006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
44513
44514 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
44515 duplication.
44516 (lba_mode): Use %eax more intensively to reduce the code size.
44517
da2eb181 445182006-05-20 Marco Gerards <marco@gnu.org>
44519
44520 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
44521
44522 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
44523 for `menuentry'.
44524 (script): Accept leading newlines.
44525 (newlines): New rule to describe 0 or more newlines.
44526 (commands): Accept `command' with trailing newline. Fixed the
44527 order in which arguments were passed to `grub_script_add_cmd'.
44528 Accept commands separated by newlines.
44529 (function): Changed to accept newlines.
44530 (menuentry) Rewritten.
44531
44532 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
44533 front of the list, instead of to the end.
44534
577b4050 445352006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
44536
44537 * util/i386/pc/grub-install.in (bindir): New variable.
44538 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
44539 Shaver <lbgwjl@gmail.com>.
44540
0d6e1189 445412006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
44542
44543 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
44544 grub/machine/linux.h
44545 * loader/i386/pc/linux.c: Likewise.
44546
44547 * include/grub/i386/pc/linux.h: Moved to ...
44548 * include/grub/i386/linux.h: ... here.
44549
44550 * include/grub/i386/linux.h (struct linux_kernel_params): New
44551 struct.
f19dbdb7 44552
31b86e9f 445532006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
44554
44555 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
44556 checking.
44557 (grub_video_vbe_blit_glyph): Likewise.
44558 (grub_video_vbe_blit_bitmap): Likewise.
44559 (grub_video_vbe_blit_render_target): Likewise.
44560
83b984de 445612006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
44562
44563 * configure.ac (--with-platform): Properly quote the square
44564 brackets.
44565
5f0413bd 445662006-05-08 Marco Gerards <marco@gnu.org>
44567
44568 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
44569 this...
44570 (kernel_elf_HEADERS): ...to this. Updated all users.
44571 (grubof_symlist.c): Renamed from this...
44572 (kernel_elf_symlist.c): ...to this. Updated all users.
44573 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
44574 (grubof_SOURCES): Renamed from this...
44575 (kernel_elf_SOURCES): ...to this.
44576 (grubof_HEADERS): Renamed from this...
44577 (kernel_elf_HEADERS): ...to this.
44578 (grubof_CFLAGS): Renamed from this...
44579 (kernel_elf_CFLAGS): ...to this.
44580 (grubof_ASFLAGS): Renamed from this...
44581 (kernel_elf_ASFLAGS): ...to this.
44582 (grubof_LDFLAGS): Renamed from this...
44583 (kernel_elf_LDFLAGS): ...to this.
44584
44585 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
44586 this...
44587 (kernel_elf_HEADERS): ...to this. Updated all users.
44588 (grubof_symlist.c): Renamed from this...
44589 (kernel_elf_symlist.c): ...to this. Updated all users.
44590 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
44591 (grubof_SOURCES): Renamed from this...
44592 (kernel_elf_SOURCES): ...to this.
44593 (grubof_HEADERS): Renamed from this...
44594 (kernel_elf_HEADERS): ...to this.
44595 (grubof_CFLAGS): Renamed from this...
44596 (kernel_elf_CFLAGS): ...to this.
44597 (grubof_ASFLAGS): Renamed from this...
44598 (kernel_elf_ASFLAGS): ...to this.
44599 (grubof_LDFLAGS): Renamed from this...
44600 (kernel_elf_LDFLAGS): ...to this.
44601
44602 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
44603 `kernel.elf' instead of `grubof'.
44604
05568c2e 446052006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
44606
44607 Add --with-platform to configure. Use pkglibdir instead of
44608 pkgdatadir. This is reported by Roger Leigh.
44609
44610 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
44611 (host_vendor): Likewise.
44612 (host_os): Likewise.
44613 (pkgdatadir): Likewise.
44614 (platform): New variable.
44615 (pkglibdir): Likewise.
44616 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 44617
05568c2e 44618 * util/i386/pc/grub-install.in (datadir): Removed.
44619 (host_vendor): Likewise.
44620 (host_os): Likewise.
44621 (pkgdatadir): Likewise.
44622 (platform): New variable.
44623 (pkglibdir): Likewise.
44624 Use PKGLIBDIR instead of PKGDATADIR.
44625
44626 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
44627 instead of GRUB_DATADIR.
44628 (main): Likewise.
44629 * util/i386/pc/grub-mkimage.c (usage): Likewise.
44630 (main): Likewise.
44631 * util/i386/efi/grub-mkimage.c (usage): Likewise.
44632 (main): Likewise.
44633
44634 * configure.ac (--with-platform): New option.
44635 Use PLATFORM instead of HOST_VENDOR to specify a platform.
44636
44637 * Makefile.in: Include a makefile based on PLATFORM instead of
44638 HOST_VENDOR.
44639 (pkgdatadir): Not appended by the machine type.
44640 (pkglibdir): Appended by the machine type.
44641 (host_vendor): Removed.
44642 (platform): New variable.
44643 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
44644 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
44645 (uninstall): Likewise.
44646
4e93851c 446472006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
44648
44649 Use the environment context in the menu. Remove the commands
44650 "default" and "timeout", and use variables instead.
f19dbdb7 44651
4e93851c 44652 * normal/menu.c: Include grub/env.h.
44653 (print_entry): Cast TITLE to silence gcc.
44654 (get_timeout): New function.
44655 (set_timeout): Likewise.
44656 (get_entry_number): Likewise.
44657 (run_menu): Use a default entry, a fallback entry and a timeout
44658 in the environment variables "default", "fallback" and
44659 "timeout". Also, tweak the default entry if it is not within the
44660 current menu entries.
44661 (grub_menu_run): Use a fallback entry in the environment variable
44662 "fallback".
44663
44664 * normal/main.c (read_config_file): Do not initialize
44665 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
44666 NEWMENU->TIMEOUT.
44667 (grub_normal_execute): Use a data slot to store the menu.
44668
44669 * include/grub/normal.h (struct grub_menu): Removed default_entry,
44670 fallback_entry and timeout.
44671 (struct grub_menu_list): Removed.
44672 (grub_menu_list_t): Likewise.
44673 (struct grub_context): Likewise.
44674 (grub_context_t): Likewise.
44675 (grub_context_get): Likewise.
44676 (grub_context_get_current_menu): Likewise.
44677 (grub_context_push_menu): Likewise.
44678 (grub_context_pop_menu): Likewise.
44679 (grub_default_init): Likewise.
44680 (grub_default_fini): Likewise.
44681 (grub_timeout_init): Likewise.
44682 (grub_timeout_fini): Likewise.
44683
44684 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
44685 and timeout.mod.
44686 (normal_mod_SOURCES): Removed normal/context.c.
44687
44688 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
44689 commands/default.c, commands/timeout.c and normal/context.c.
44690 (normal_mod_SOURCES): Removed normal/context.c.
44691
44692 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
44693 commands/timeout.c and normal/context.c.
44694 (normal_mod_SOURCES): Removed normal/context.c.
44695
44696 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
44697 commands/default.c, commands/timeout.c and normal/context.c.
44698 (normal_mod_SOURCES): Removed normal/context.c.
44699
44700 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
44701 timeout.mod.
44702 (default_mod_SOURCES): Removed.
44703 (default_mod_CFLAGS): Likewise.
44704 (default_mod_LDFLAGS): Likewise.
44705 (timeout_mod_SOURCES): Removed.
44706 (timeout_mod_CFLAGS): Likewise.
44707 (timeout_mod_LDFLAGS): Likewise.
44708
44709 * DISTLIST: Removed commands/default.c, commands/timeout.c and
44710 normal/context.c.
44711
44712 * commands/default.c: Removed.
44713 * commands/timeout.c: Likewise.
44714 * normal/context.c: Likewise.
44715
1eb9cc1d 447162006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
44717
44718 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
44719
385bd9c1 447202006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
44721
44722 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
44723 "next" to "prev" for readability.
44724 (struct grub_env_sorted_var): New struct.
44725 (grub_env_context): Renamed to ...
44726 (initial_context): ... this.
44727 (grub_env_var_context): Renamed to ...
44728 (current_context): ... this.
44729 (grub_env_find): Look only at CURRENT_CONTEXT.
44730 (grub_env_context_open): Rewritten to copy exported variables from
44731 previous context.
44732 (grub_env_context_close): Rewritten according to the new
44733 scheme. Also, add an assertion to prevent the initial context from
44734 removed.
44735 (grub_env_insert): Removed the code for the sorted list.
44736 (grub_env_remove): Likewise.
44737 (grub_env_export): Simply mark the variable with
44738 GRUB_ENV_VAR_GLOBAL.
44739 (grub_env_set): A cosmetic change for naming consistency.
44740 (grub_env_get): Likewise.
44741 (grub_env_unset): Likewise.
44742 (grub_env_iterate): Rewritten to sort variables within this
44743 function.
44744 (grub_register_variable_hook): Fixed for naming consistency. Call
44745 grub_env_find again, only if NAME is not found at the first time.
44746 (mangle_data_slot_name): New function.
44747 (grub_env_set_data_slot): Likewise.
44748 (grub_env_get_data_slot): Likewise.
44749 (grub_env_unset_data_slot): Likewise.
44750
44751 * include/grub/env.h (grub_env_var_type): New enum.
44752 (GRUB_ENV_VAR_LOCAL): New constant.
44753 (GRUB_ENV_VAR_GLOBAL): Likewise.
44754 (GRUB_ENV_VAR_DATA): Likewise.
44755 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
44756 "type".
44757 (grub_env_set): Replace VAR with NAME for consistency.
44758 (grub_register_variable_hook): Likewise.
44759 (grub_env_export): Specify the name of the argument.
44760 (grub_env_set_data_slot): New prototype.
44761 (grub_env_get_data_slot): Likewise.
44762 (grub_env_unset_data_slot): Likewise.
44763
7f362539 447642006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
44765
44766 Extend the loader so that GRUB can accept a loader which comes
44767 back to GRUB when a loaded image exits. Also, this change adds
44768 support for a chainloader on EFI.
f19dbdb7 44769
7f362539 44770 * term/efi/console.c: Include grub/misc.h.
44771 (grub_console_checkkey): Display a scan code on the top for
44772 debugging. This will be removed once the EFI port gets stable.
44773 Correct the scan code mapping.
44774
44775 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
44776 allocate memory from larger regions, in order to reduce the number
44777 of allocated regions. Otherwise, the MacOSX loader panics.
44778 (filter_memory_map): Avoid less than 1MB for compatibility with
44779 other loaders.
44780 (add_memory_regions): Allocate from the tail of a region, if
44781 possible, to avoid allocating a region near to 1MB, for the MacOSX
44782 loader.
44783
44784 * kern/efi/init.c (grub_efi_set_prefix): Specify
44785 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
44786
44787 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
44788 argument IMAGE_HANDLE and specify it to get a loaded image.
44789 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
44790 grub_efi_get_loaded_image.
fe6b695a 44791 (grub_efi_get_filename): Divide the length by the size of
7f362539 44792 grub_efi_char16_t.
44793 (grub_efi_get_device_path): New function.
44794 (grub_efi_print_device_path): Print End Device Path nodes. Divide
44795 the length by the size of grub_efi_char16_t for a file path device
44796 path node.
44797
44798 * kern/loader.c (grub_loader_noreturn): New variable.
44799 (grub_loader_set): Accept a new argument NORETURN. Set
44800 GRUB_LOADER_NORETURN to NORETURN.
44801 All callers changed.
44802 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
44803 grub_machine_fini.
44804
44805 * include/grub/efi/efi.h (grub_efi_get_device_path): New
44806 prototype.
44807 (grub_efi_get_loaded_image): Take an argument to specify an image
44808 handle.
44809
44810 * include/grub/loader.h (grub_loader_set): Added one more argument
44811 NORETURN.
44812
44813 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
44814 instead of grub_efi_open_protocol.
44815 (grub_efidisk_get_device_name): Likewise.
44816 (grub_efidisk_close): Print a newline.
44817 (grub_efidisk_get_device_handle): Fixed to use
44818 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
44819 GRUB_EFI_DEVICE_PATH_TYPE.
44820
44821 * disk/efi/efidisk.c (device_path_guid): Moved to ...
44822 * kern/efi/efi.c (device_path_guid): ... here.
44823
44824 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
44825 chain.mod.
44826 (kernel_mod_HEADERS): Added efi/disk.h.
44827 (_chain_mod_SOURCES): New variable.
44828 (_chain_mod_CFLAGS): Likewise.
44829 (_chain_mod_LDFLAGS): Likewise.
44830 (chain_mod_SOURCES): Likewise.
44831 (chain_mod_CFLAGS): Likewise.
44832 (chain_mod_LDFLAGS): Likewise.
44833
44834 * DISTLIST: Added include/grub/efi/chainloader.h,
44835 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
44836
44837 * include/grub/efi/chainloader.h: New file.
44838 * loader/efi/chainloader.c: Likewise.
44839 * loader/efi/chainloader_normal.c: Likewise.
44840
c0111d6e 448412006-04-30 Marco Gerards <marco@gnu.org>
44842
44843 * commands/configfile.c (grub_cmd_source): New function.
44844 (GRUB_MOD_INIT): Register the commands `source' and `.'.
44845 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
44846
df5341da 448472006-04-30 Marco Gerards <marco@gnu.org>
44848
44849 * normal/execute.c (grub_script_execute_cmd): Change the return
44850 type to `grub_err_t'. Correctly return the error.
44851 (grub_script_execute_cmdline): In case a command line is not a
44852 command or a function, try to interpret it as an assignment.
44853
f85934bd 448542006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
44855
44856 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
44857 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
44858 skip a node whose name is obviously invalid as UTF-16,
44859 i.e. contains a NUL character. Stop the iteration when the last
44860 directory entry is found. Instead of using the return value of
44861 grub_hfsplus_btree_iterate_node, store the value in RET and use
44862 it, because the iterator can be stopped by the last directory
44863 entry.
44864
8f8a2cf8 448652006-04-30 Marco Gerards <marco@gnu.org>
44866
44867 * include/grub/env.h (grub_env_export): New prototype. Reported
44868 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
44869
a27e84ce 448702006-04-30 Marco Gerards <marco@gnu.org>
44871
44872 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
44873 size of the extents in a catalog file record.
44874
eaef0553 448752006-04-29 Marco Gerards <marco@gnu.org>
44876
44877 * commands/configfile.c (grub_cmd_configfile): Execute the
44878 configfile within its own context.
44879
44880 * include/grub/env.h (grub_env_context_open): New prototype.
44881 (grub_env_context_close): Likewise.
44882
44883 * kern/env.c (grub_env): Removed.
44884 (grub_env_sorted): Likewise.
44885 (grub_env_context): New variable.
44886 (grub_env_var_context): Likewise.
44887 (grub_env_find): Search both the active context and the global
44888 context.
44889 (grub_env_context_open): New function.
44890 (grub_env_context_close): Likewise.
44891 (grub_env_insert): Likewise.
44892 (grub_env_remove): Likewise.
44893 (grub_env_export): Likewise.
44894 (grub_env_set): Changed to use helper functions to avoid code
44895 duplication.
44896 (grub_env_iterate): Rewritten so both the current context and the
44897 global context are being used.
44898
44899 * normal/command.c (export_command): New function.
44900 (grub_command_init): Register the `export' function.
44901
7b455f4d 449022006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
44903
44904 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
44905 explicitly to suppress gcc's warnings.
44906 * fs/fat.c (grub_fat_find_dir): Likewise.
44907 (grub_fat_label): Likewise.
44908 * fs/xfs.c (grub_xfs_read_inode): Likewise.
44909 (grub_xfs_mount): Likewise.
44910 (grub_xfs_label): Likewise.
44911 * fs/affs.c (grub_affs_mount): Likewise.
44912 (grub_affs_label): Likewise.
44913 (grub_affs_iterate_dir): Likewise.
44914 * fs/sfs.c (grub_sfs_mount): Likewise.
44915 (grub_sfs_iterate_dir): Likewise.
44916 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
44917 * fs/hfs.c (grub_hfs_mount): Likewise.
44918 (grub_hfs_cmp_catkeys): Likewise.
44919 (grub_hfs_find_dir): Likewise.
44920 (grub_hfs_dir): Likewise.
44921 (grub_hfs_label): Likewise.
44922 * fs/jfs.c (grub_jfs_mount): Likewise.
44923 (grub_jfs_opendir): Likewise.
44924 (grub_jfs_getent): Likewise.
44925 (grub_jfs_lookup_symlink): Likewise.
44926 (grub_jfs_label): Likewise.
44927 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
44928 (grub_hfsplus_iterate_dir): Likewise.
44929 (grub_hfsplus_btree_iterate_node): Made static.
44930
44931 * util/grub-emu.c (prefix): New variable.
44932 (grub_machine_set_prefix): New function.
44933 (main): Do not set the environment variable "prefix" here. Only
44934 set PREFIX, which is used later by grub_machine_set_prefix.
44935
44936 * include/grub/video.h: Do not include grub/symbol.h.
44937 (grub_video_register): Not exported. This symbol is not defined in
44938 the kernel.
44939 (grub_video_unregister): Likewise.
44940 (grub_video_iterate): Likewise.
44941 (grub_video_setup): Likewise.
44942 (grub_video_restore): Likewise.
44943 (grub_video_get_info): Likewise.
44944 (grub_video_get_blit_format): Likewise.
44945 (grub_video_set_palette): Likewise.
44946 (grub_video_get_palette): Likewise.
44947 (grub_video_set_viewport): Likewise.
44948 (grub_video_get_viewport): Likewise.
44949 (grub_video_map_color): Likewise.
44950 (grub_video_map_rgb): Likewise.
44951 (grub_video_map_rgba): Likewise.
44952 (grub_video_fill_rect): Likewise.
44953 (grub_video_blit_glyph): Likewise.
44954 (grub_video_blit_bitmap): Likewise.
44955 (grub_video_blit_render_target): Likewise.
44956 (grub_video_scroll): Likewise.
44957 (grub_video_swap_buffers): Likewise.
44958 (grub_video_create_render_target): Likewise.
44959 (grub_video_delete_render_target): Likewise.
44960 (grub_video_set_active_render_target): Likewise.
44961
44962 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
44963 Undefined.
44964 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
44965
44966 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
44967 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44968 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44969 instead of $(srcdir)/genkernsyms.sh.
44970
44971 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
44972 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44973 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44974 instead of $(srcdir)/genkernsyms.sh.
44975
44976 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
44977 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44978 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44979 instead of $(srcdir)/genkernsyms.sh.
44980
44981 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
44982 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44983 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44984 instead of $(srcdir)/genkernsyms.sh.
44985
44986 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
44987 genkernsyms.sh.
44988
44989 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
44990 genkernsyms.sh.
44991 (gensymlist.sh): New target.
44992 (genkernsyms.sh): Likewise.
44993
44994 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
44995 genkernsyms.sh.in and gensymlist.sh.in.
44996
44997 * genkernsyms.sh: Removed.
44998 * gensymlist.sh: Likewise.
f19dbdb7 44999
7b455f4d 45000 * genkernsyms.sh.in: New file.
45001 * gensymlist.sh.in: Likewise.
45002
1885bb27 450032006-04-25 Hollis Blanchard <hollis@penguinppc.org>
45004
45005 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
45006 clobber "prefix", since we may have already set it manually.
45007
71538dff 450082006-04-25 Hollis Blanchard <hollis@penguinppc.org>
45009
45010 * kern/misc.c (abort): New alias for grub_abort.
45011
2965c7cc 450122006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
45013
45014 A new machine-specific function "grub_machine_set_prefix" is
45015 defined. This is called after loading modules, so that a prefix
45016 initialization can use modules. Also, this change adds an
45017 intensive debugging feature for the memory manager via the
45018 configure option "--enable-mm-debug".
f19dbdb7 45019
2965c7cc 45020 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
45021 PART.LEN.
45022
45023 * kern/sparc64/ieee1275/init.c (abort): Removed.
45024 (grub_stop): Likewise.
45025 (grub_exit): New function.
45026 (grub_set_prefix): Renamed to ...
45027 (grub_machine_set_prefix): ... this.
45028 (grub_machine_init): Do not call grub_set_prefix.
45029
45030 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
45031 (grub_machine_set_prefix): ... this.
45032 (grub_machine_init): Do not call grub_set_prefix.
45033
45034 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
45035 (grub_machine_init): Do not set the prefix here.
45036
45037 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
45038
45039 * kern/efi/init.c: Include grub/mm.h.
45040 (grub_efi_set_prefix): New function.
45041
45042 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
45043 (grub_efi_get_filename): New function.
45044 (grub_print_device_path): Renamed to ...
45045 (grub_efi_print_device_path): ... this.
45046
45047 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
45048 [MM_DEBUG] (grub_realloc): Likewise.
45049 [MM_DEBUG] (grub_free): Likewise.
45050 [MM_DEBUG] (grub_memalign): Likewise.
45051 [MM_DEBUG] (grub_mm_debug): New variable.
45052 [MM_DEBUG] (grub_debug_malloc): New function.
45053 [MM_DEBUG] (grub_debug_free): New function.
45054 [MM_DEBUG] (grub_debug_realloc): New function.
45055 [MM_DEBUG] (grub_debug_memalign): New function.
45056
45057 * kern/misc.c (grub_abort): Print a newline to distinguish
45058 the message.
45059
45060 * kern/main.c (grub_main): Call grub_machine_set_prefix and
45061 grub_set_root_dev after loading modules. This is necessary when
45062 setting a prefix depends on modules.
45063
45064 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
45065 (grub_efi_print_device_path): ... this.
45066 (grub_efi_get_filename): New prototype.
45067 (grub_efi_set_prefix): Likewise.
45068
45069 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
45070 and grub/disk.h.
45071 (grub_efidisk_get_device_handle): New prototype.
45072 (grub_efidisk_get_device_name): Likewise.
45073
45074 * include/grub/mm.h: Include config.h.
45075 (MM_DEBUG): Removed.
45076 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
45077 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
45078 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
45079 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
45080 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
45081 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
45082 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
45083 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
45084 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
45085
45086 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
45087
45088 * disk/efi/efidisk.c: Include grub/partition.h.
45089 (iterate_child_devices): New function.
45090 (add_device): First, compare only last device path nodes, so that
45091 devices are sorted by the types.
45092 (grub_efidisk_get_device_handle): New function.
45093 (grub_efidisk_get_device_name): Likewise.
45094
45095 * configure.ac (--enable-mm-debug): New option to enable the
45096 memory manager debugging feature. This makes the binary much
45097 bigger, so is disabled by default.
45098
9cacaa17 450992006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
45100
45101 Use grub_abort instead of grub_stop, and grub_exit must be
45102 define in each architecture now. Also, this change adds support
45103 for EFI disks.
f19dbdb7 45104
9cacaa17 45105 * util/i386/pc/grub-probefs.c: Include grub/term.h.
45106 (grub_getkey): New function.
45107 (grub_term_get_current): Likewise.
45108
45109 * util/i386/pc/grub-setup.c: Include grub/term.h.
45110 (grub_getkey): New function.
45111 (grub_term_get_current): Likewise.
45112
45113 * util/misc.c (grub_stop): Renamed to ...
45114 (grub_exit): ... this.
45115
45116 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
45117 (grub_exit): ... this.
45118 (grub_machine_init): Use grub_abort instead of abort.
45119 (grub_stop): Removed.
45120
45121 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
45122 abort.
45123
45124 * kern/i386/pc/startup.S (grub_exit): New function.
45125 (cold_reboot): New label.
45126
45127 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
45128 (grub_efi_init): Call grub_efidisk_init.
45129 (grub_efi_fini): Call grub_efidisk_fini.
45130
45131 * kern/efi/efi.c: Include grub/mm.h.
45132 (grub_efi_console_control_guid): Renamed to ...
45133 (console_control_guid): ... this.
45134 (grub_efi_loaded_image_guid): Renamed to ...
45135 (loaded_image_guid): ... this.
45136 (grub_efi_locate_handle): New function.
45137 (grub_efi_open_protocol): Likewise.
45138 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
45139 GRUB_EFI_CONSOLE_CONTROL_GUID.
45140 (grub_efi_exit): Removed.
45141 (grub_stop): Likewise.
45142 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
45143 (grub_exit): New function.
45144 (grub_print_device_path): Likewise.
45145
45146 * kern/rescue.c (grub_rescue_cmd_exit): New function.
45147 (grub_enter_rescue_mode): Register "exit".
45148
45149 * kern/misc.c (grub_real_dprintf): A cosmetic change.
45150 (grub_abort): New function.
45151
45152 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
45153
45154 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
45155
45156 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
45157
45158 * include/grub/efi/efi.h (grub_efi_exit): Removed.
45159 (grub_print_device_path): New prototype.
45160 (grub_efi_locate_handle): Likewise.
45161 (grub_efi_open_protocol): Likewise.
45162
45163 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
45164 * disk/efi/efidisk.c: Likewise.
45165
45166 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
45167
45168 * include/grub/efi/console_control.h
45169 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
45170
45171 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
45172 last 8 bytes as an array.
45173 (GRUB_EFI_DISK_IO_GUID): New macro.
45174 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
45175 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
45176 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
45177 grub_uint8_t.
45178 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
45179 (struct grub_efi_device_path): Rename the member "sub_type" to
45180 "subtype".
45181 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
45182 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
45183 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
45184 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
45185 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
45186 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
45187 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
45188 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
45189 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
45190 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
45191 (struct grub_efi_pci_device_path): New structure.
45192 (grub_efi_pci_device_path_t): New type.
45193 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
45194 (struct grub_efi_pccard_device_path): New structure.
45195 (grub_efi_pccard_device_path_t): New type.
45196 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
45197 (struct grub_efi_memory_mapped_device_path): New structure.
45198 (grub_efi_memory_mapped_device_path_t): New type.
45199 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
45200 (struct grub_efi_vendor_device_path): New structure.
45201 (grub_efi_vendor_device_path_t): New type.
45202 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
45203 (struct grub_efi_controller_device_path): New structure.
45204 (grub_efi_controller_device_path_t): New type.
45205 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
45206 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
45207 (struct grub_efi_acpi_device_path): New structure.
45208 (grub_efi_acpi_device_path_t): New type.
45209 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
45210 (struct grub_efi_expanded_acpi_device_path): New structure.
45211 (grub_efi_expanded_acpi_device_path_t): New type.
45212 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
45213 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
45214 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
45215 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
45216 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
45217 (struct grub_efi_atapi_device_path): New structure.
45218 (grub_efi_atapi_device_path_t): New type.
45219 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
45220 (struct grub_efi_fibre_channel_device_path): New structure.
45221 (grub_efi_fibre_channel_device_path_t): New type.
45222 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
45223 (struct grub_efi_1394_device_path): New structure.
45224 (grub_efi_1394_device_path_t): New type.
45225 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
45226 (struct grub_efi_usb_device_path): New structure.
45227 (grub_efi_usb_device_path_t): New type.
45228 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
45229 (struct grub_efi_usb_class_device_path): New structure.
45230 (grub_efi_usb_class_device_path_t): New type.
45231 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
45232 (struct grub_efi_i2o_device_path): New structure.
45233 (grub_efi_i2o_device_path_t): New type.
45234 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
45235 (struct grub_efi_mac_address_device_path): New structure.
45236 (grub_efi_mac_address_device_path_t): New type.
45237 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
45238 (struct grub_efi_ipv4_device_path): New structure.
45239 (grub_efi_ipv4_device_path_t): New type.
45240 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
45241 (struct grub_efi_ipv6_device_path): New structure.
45242 (grub_efi_ipv6_device_path_t): New type.
45243 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
45244 (struct grub_efi_infiniband_device_path): New structure.
45245 (grub_efi_infiniband_device_path_t): New type.
45246 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
45247 (struct grub_efi_uart_device_path): New structure.
45248 (grub_efi_uart_device_path_t): New type.
45249 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
45250 (struct grub_efi_vendor_messaging_device_path): New structure.
45251 (grub_efi_vendor_messaging_device_path_t): New type.
45252 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
45253 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
45254 (struct grub_efi_hard_drive_device_path): New structure.
45255 (grub_efi_hard_drive_device_path_t): New type.
45256 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
45257 (struct grub_efi_cdrom_device_path): New structure.
45258 (grub_efi_cdrom_device_path_t): New type.
45259 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
45260 (struct grub_efi_vendor_media_device_path): New structure.
45261 (grub_efi_vendor_media_device_path_t): New type.
45262 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
45263 (struct grub_efi_file_path_device_path): New structure.
45264 (grub_efi_file_path_device_path_t): New type.
45265 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
45266 (struct grub_efi_protocol_device_path): New structure.
45267 (grub_efi_protocol_device_path_t): New type.
45268 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
45269 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
45270 (struct grub_efi_bios_device_path): New structure.
45271 (grub_efi_bios_device_path_t): New type.
45272 (struct grub_efi_disk_io): New structure.
45273 (grub_efi_disk_io_t): New type.
45274 (struct grub_efi_block_io_media): New structure.
45275 (grub_efi_block_io_media_t): New type.
45276 (struct grub_efi_block_io): New structure.
45277 (grub_efi_block_io_t): New type.
45278
45279 * include/grub/misc.h (grub_stop): Removed.
45280 (grub_exit): New prototype.
45281 (grub_abort): Likewise.
45282
45283 * include/grub/disk.h (enum grub_disk_dev_id): Added
45284 GRUB_DISK_DEVICE_EFIDISK_ID.
45285
45286 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
45287 disk/efi/efidisk.c.
45288 (kernel_syms.lst): Remove the target if an error occurs.
45289
49986a9f 452902006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
45291
45292 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
45293 as it was simply too buggy.
45294
970d3b8a 452952006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
45296
45297 * kern/misc.c (grub_lltoa): New function.
45298 (grub_vsprintf): Added support for the long long suffix,
45299 i.e. "ll".
45300
ff04ec24 453012006-04-20 Hollis Blanchard <hollis@penguinppc.org>
45302
45303 * Makefile.in (LDFLAGS): Add variable.
45304 (LD): Remove variable.
45305 * configure.ac: Add -m32 to LDFLAGS.
45306 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
45307 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
45308 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
45309 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
45310 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
45311 variables.
45312 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
45313 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
45314 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
45315
37e5e1a4 453162006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
45317
45318 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
45319 length for unknown glyph.
45320
c352d8dd 453212006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
45322
2eab1c0d 45323 Add support for pre-loaded modules into the EFI port.
f19dbdb7 45324
2eab1c0d 45325 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
45326 completely. Accept one more argument DIR. The caller has changed.
45327
45328 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
45329
45330 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
45331 (grub_efi_loaded_image_guid): New variable.
45332 (grub_efi_get_loaded_image): New function.
45333 (grub_arch_modules_addr): Likewise.
45334
45335 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
45336 prototype.
45337
45338 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
45339 (struct grub_efi_loaded_image): New structure.
45340 (grub_efi_loaded_image_t): New type.
45341
453422006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45343
c352d8dd 45344 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
45345 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
45346 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
45347
6d01d6b4 453482006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
45349
45350 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
45351
976a4ea0 453522006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
45353
45354 * DISTLIST: Added include/grub/efi/console.h,
45355 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
45356 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
45357
45358 * include/grub/efi/console.h: New file.
45359 * include/grub/efi/time.h: Likewise.
45360 * include/grub/i386/efi/kernel.h: Likewise.
45361 * kern/efi/init.c: Likewise.
45362 * kern/efi/mm.c: Likewise.
45363 * term/efi/console.c: Likewise.
f19dbdb7 45364
976a4ea0 45365 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
45366 (grub_stop): Removed.
45367 (grub_get_rtc): Likewise.
45368 (grub_machine_init): Simply call grub_efi_init.
45369 (grub_machine_fini): Call grub_efi_fini.
45370
45371 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
45372 (grub_efi_output_string): Removed.
45373 (grub_efi_stall): New function.
45374 (grub_stop): Likewise.
45375 (grub_get_rtc): Likewise.
45376
45377 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
45378 (grub_efi_stall): New prototype.
45379 (grub_efi_allocate_pages): Likewise.
45380 (grub_efi_free_pages): Likewise.
45381 (grub_efi_get_memory_map): Likewise.
45382 (grub_efi_mm_init): Likewise.
45383 (grub_efi_mm_fini): Likewise.
45384 (grub_efi_init): Likewise.
45385 (grub_efi_fini): Likewise.
45386
45387 * include/grub/i386/efi/time.h: Do not include
45388 grub/symbol.h. Include grub/efi/time.h.
45389 (GRUB_TICKS_PER_SECOND): Removed.
45390 (grub_get_rtc): Likewise.
45391
45392 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
45393 Added padding. The EFI spec is buggy.
45394 (GRUB_EFI_BLACK): New macro.
45395 (GRUB_EFI_BLUE): Likewise.
45396 (GRUB_EFI_GREEN): Likewise.
45397 (GRUB_EFI_CYAN): Likewise.
45398 (GRUB_EFI_RED): Likewise.
45399 (GRUB_EFI_MAGENTA): Likewise.
45400 (GRUB_EFI_BROWN): Likewise.
45401 (GRUB_EFI_LIGHTGRAY): Likewise.
45402 (GRUB_EFI_BRIGHT): Likewise.
45403 (GRUB_EFI_DARKGRAY): Likewise.
45404 (GRUB_EFI_LIGHTBLUE): Likewise.
45405 (GRUB_EFI_LIGHTGREEN): Likewise.
45406 (GRUB_EFI_LIGHTCYAN): Likewise.
45407 (GRUB_EFI_LIGHTRED): Likewise.
45408 (GRUB_EFI_LIGHTMAGENTA): Likewise.
45409 (GRUB_EFI_YELLOW): Likewise.
45410 (GRUB_EFI_WHITE): Likewise.
45411 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
45412 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
45413 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
45414 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
45415 (GRUB_EFI_BACKGROUND_RED): Likewise.
45416 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
45417 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
45418 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
45419 (GRUB_EFI_TEXT_ATTR): Likewise.
45420
45421 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
45422 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
45423 (kernel_mod_HEADERS): Added efi/time.h.
45424
83709125 454252006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
45426
45427 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
45428 include/grub/efi/api.h, include/grub/efi/console_control.h,
45429 include/grub/efi/efi.h, include/grub/efi/pe32.h,
45430 include/grub/i386/efi/time.h, kern/efi/efi.c,
45431 kern/i386/efi/init.c, kern/i386/efi/startup.S,
45432 and util/i386/efi/grub-mkimage.c.
45433
45434 * Makefile.in (RMKFILES): Added i386-efi.rmk.
45435
45436 * genmk.rb (PModule#rule): Do not export symbols if
45437 #{prefix}_EXPORTS is set to "no".
45438
45439 * conf/i386-efi.mk: New file.
45440 * conf/i386-efi.rmk: Likewise.
45441 * include/grub/efi/api.h: Likewise.
45442 * include/grub/efi/console_control.h: Likewise.
45443 * include/grub/efi/efi.h: Likewise.
45444 * include/grub/efi/pe32.h: Likewise.
45445 * include/grub/i386/efi/time.h: Likewise.
45446 * kern/efi/efi.c: Likewise.
45447 * kern/i386/efi/init.c: Likewise.
45448 * kern/i386/efi/startup.S: Likewise.
45449 * util/i386/efi/grub-mkimage.c: Likewise.
45450
454512006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 45452
45453 * include/grub/script.h: Include <grub/parser.h> and
45454 "grub_script.tab.h".
45455 (struct grub_lexer_param): New struct.
45456 (struct grub_parser_param): Likewise.
45457 (grub_script_create_arglist): Pass the state in an argument.
45458 (grub_script_add_arglist): Likewise.
45459 (grub_script_create_cmdline): Likewise.
45460 (grub_script_create_cmdblock): Likewise.
45461 (grub_script_create_cmdif): Likewise.
45462 (grub_script_create_cmdmenu): Likewise.
45463 (grub_script_add_cmd): Likewise.
45464 (grub_script_arg_add): Likewise.
45465 (grub_script_lexer_ref): Likewise.
45466 (grub_script_lexer_deref): Likewise.
45467 (grub_script_lexer_record_start): Likewise.
45468 (grub_script_lexer_record_stop): Likewise.
45469 (grub_script_mem_record): Likewise.
45470 (grub_script_mem_record_stop): Likewise.
45471 (grub_script_malloc): Likewise.
45472 (grub_script_yylex): Likewise.
45473 (grub_script_yyparse): Likewise.
45474 (grub_script_yyerror): Likewise.
45475 (grub_script_yylex): Likewise.
45476 (grub_script_lexer_init): Return the state.
45477
45478 * normal/lexer.c (grub_script_lexer_state): Removed variable.
45479 (grub_script_lexer_done): Likewise.
45480 (grub_script_lexer_getline): Likewise.
45481 (grub_script_lexer_refs): Likewise.
45482 (script): Likewise.
45483 (newscript): Likewise.
45484 (record): Likewise.
45485 (recording): Likewise.
45486 (recordpos): Likewise.
45487 (recordlen): Likewise.
45488 (grub_script_lexer_init): Return the state instead of setting
45489 global variables.
45490 (grub_script_lexer_ref): Use the newly added argument for state
45491 instead of globals.
45492 (grub_script_lexer_deref): Likewise.
45493 (grub_script_lexer_record_start): Likewise.
45494 (grub_script_lexer_record_stop): Likewise.
45495 (recordchar): Likewise.
45496 (nextchar): Likewise.
45497 (grub_script_yylex2): Likewise.
45498 (grub_script_yylex): Likewise.
45499 (grub_script_yyerror): Likewise.
45500
45501 * normal/parser.y (func_mem): Removed variable.
45502 (menu_entry): Likewise.
45503 (err): Likewise.
45504 (%lex-param): New parser option.
45505 (%parse-param): Likewise.
45506 (script): Always return the AST.
45507 (argument): Pass the state around.
45508 (arguments): Likewise.
45509 (grubcmd): Likewise.
45510 (commands): Likewise.
45511 (function): Likewise.
45512 (menuentry): Likewise.
45513 (if_statement): Likewise.
45514 (if): Likewise.
45515
45516 * normal/script.c (grub_script_memused): Removed variable.
45517 (grub_script_parsed): Likewise.
45518 (grub_script_malloc): Added a state argument. Use that instead of
45519 global variables.
45520 (grub_script_mem_record): Likewise.
45521 (grub_script_mem_record_stop): Likewise.
45522 (grub_script_arg_add): Likewise.
45523 (grub_script_add_arglist): Likewise.
45524 (grub_script_create_cmdline): Likewise.
45525 (grub_script_create_cmdif): Likewise.
45526 (grub_script_create_cmdmenu): Likewise.
45527 (grub_script_add_cmd): Likewise.
45528 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 45529
e2a8c904 455302006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 45531
45532 * normal/command.c (grub_command_init): Remove the title command.
45533
45534 * normal/lexer.c (grub_script_yylex): Renamed from this...
45535 (grub_script_yylex2): ... to this.
45536 (grub_script_yylex): New function. Temporary
45537 introduced to filter some tokens.
45538 (grub_script_yyerror): Print a newline.
45539
45540 * normal/main.c (read_config_file): Output information about the
45541 lines that contain errors. Wait for a key after all lines have
45542 been processed. Don't return an empty menu.
45543
45544 * normal/parser.y (func_mem): Don't initialize.
45545 (menu_entry): Likewise.
45546 (err): New variable.
45547 (script): Don't return anything when an error was encountered.
45548 (ws, returns): Removed rules.
45549 (argument): Disabled concatenated variable support.
45550 (arguments): Remove explicit separators.
45551 (grubcmd): Likewise.
45552 (function): Likewise.
45553 (menuentry): Likewise.
45554 (if): Likewise.
45555 (commands): Likewise. Add error handling.
45556
45557 * normal/script.c (grub_script_create_cmdline): If
45558 `grub_script_parsed' is 0, assume the parser encountered an error.
45559
c9a86192 455602006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
45561
45562 * configure.ac: Add support for EFI. Fix the typo
45563 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
45564
70f3b243 455652006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
45566
45567 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
45568 foreign multibyte characters should be shown correctly.
45569
65f201ad 455702006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
45571
45572 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
45573 calculation.
45574 (read_config_file): Made it to close file before returning.
45575
b4b93674 455762006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
45577
45578 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
45579 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
45580 video/i386/pc/vbefill.c.
45581
45582 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
45583 video/i386/pc/vbefill.c.
45584
45585 * include/grub/video.h (grub_video_blit_format): New enum.
45586 (grub_video_mode_info): Added new member blit_format.
45587 (grub_video_get_blit_format): New function prototype.
45588
45589 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
45590 function prototype.
45591 (grub_video_vbe_map_rgb): Likewise.
45592 (grub_video_vbe_unmap_color): Likewise.
45593
45594 * include/grub/i386/pc/vbeblit.h: New file.
45595
45596 * include/grub/i386/pc/vbefill.h: New file.
45597
45598 * video/video.c (grub_video_get_blit_format): New function.
45599 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
45600 (grub_video_vbe_map_rgb): Likewise.
45601 (grub_video_vbe_unmap_color): Likewise.
45602
45603 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
45604 optimized fills.
45605 (grub_video_vbe_blit_render_target): Changed to use more optimized
45606 blits.
45607 (grub_video_vbe_setup): Added detection for optimized settings.
45608 (grub_video_vbe_create_render_target): Likewise.
45609
45610 * video/i386/pc/vbeblit.c: New file.
45611
45612 * video/i386/pc/vbefill.c: New file.
45613
c2379b9c 456142006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
45615
45616 * font/manager.c (grub_font_get_glyph): Removed font fixup from
45617 here...
45618
45619 * util/unifont2pff.rb: ... and moved it to here. Improved argument
45620 parsing to support both hex and dec ranges. If filename was missing
45621 show usage information.
45622
bd0d7896 456232006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
45624
45625 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
45626 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
45627
45628 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
45629 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
45630 (video_mod_SOURCES): Added.
45631 (video_mod_CFLAGS): Likewise.
45632 (video_mod_LDFLAGS): Likewise.
45633 (gfxterm_mod_SOURCES): Likewise.
45634 (gfxterm_mod_CFLAGS): Likewise.
45635 (gfxterm_mod_LDFLAGS): Likewise.
45636 (videotest_mod_SOURCES): Likewise.
45637 (videotest_mod_CFLAGS): Likewise.
45638 (videotest_mod_LDFLAGS): Likewise.
45639 (vesafb_mod_SOURCES): Removed.
45640 (vesafb_mod_CFLAGS): Likewise.
45641 (vesafb_mod_LDFLAGS): Likewise.
45642 (vga_mod_SOURCES): Likewise.
45643 (vga_mod_CFLAGS): Likewise.
45644 (vga_mod_LDFLAGS): Likewise.
45645
45646 * commands/videotest.c: New file.
45647
45648 * font/manager.c (fill_with_default_glyph): Modified to use
45649 grub_font_glyph.
45650 (grub_font_get_glyph): Likewise.
45651 (fontmanager): Renamed from this...
45652 (font_manager): ... to this.
45653
45654 * include/grub/font.h (grub_font_glyph): Added new structure.
45655 (grub_font_get_glyph): Modified to use grub_font_glyph.
45656
45657 * include/grub/misc.h (grub_abs): Added as inline function.
45658
45659 * include/grub/video.h: New file.
45660
45661 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
45662 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
45663 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
45664 (grub_vbe_get_controller_info): Renamed from this...
45665 (grub_vbe_bios_get_controller_info): ... to this.
45666 (grub_vbe_get_mode_info): Renamed from this...
45667 (grub_vbe_bios_get_mode_info): ... to this.
45668 (grub_vbe_set_mode): Renamed from this...
45669 (grub_vbe_bios_set_mode): ... to this.
45670 (grub_vbe_get_mode): Renamed from this...
45671 (grub_vbe_bios_get_mode): ... to this.
45672 (grub_vbe_set_memory_window): Renamed from this...
45673 (grub_vbe_bios_set_memory_window): ... to this.
45674 (grub_vbe_get_memory_window): Renamed from this...
45675 (grub_vbe_bios_get_memory_window): ... to this.
45676 (grub_vbe_set_scanline_length): Renamed from this...
45677 (grub_vbe_set_scanline_length): ... to this.
45678 (grub_vbe_get_scanline_length): Renamed from this...
45679 (grub_vbe_bios_get_scanline_length): ... to this.
45680 (grub_vbe_set_display_start): Renamed from this...
45681 (grub_vbe_bios_set_display_start): ... to this.
45682 (grub_vbe_get_display_start): Renamed from this...
45683 (grub_vbe_bios_get_display_start): ... to this.
45684 (grub_vbe_set_palette_data): Renamed from this...
45685 (grub_vbe_bios_set_palette_data): ... to this.
45686 (grub_vbe_set_pixel_rgb): Removed.
45687 (grub_vbe_set_pixel_index): Likewise.
45688
45689 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
45690 from this...
45691 (grub_vbe_bios_get_controller_info): ... to this.
45692 (grub_vbe_get_mode_info): Renamed from this...
45693 (grub_vbe_bios_get_mode_info): ... to this.
45694 (grub_vbe_set_mode): Renamed from this...
45695 (grub_vbe_bios_set_mode): ... to this.
45696 (grub_vbe_get_mode): Renamed from this...
45697 (grub_vbe_bios_get_mode): ... to this.
45698 (grub_vbe_set_memory_window): Renamed from this...
45699 (grub_vbe_bios_set_memory_window): ... to this.
45700 (grub_vbe_get_memory_window): Renamed from this...
45701 (grub_vbe_bios_get_memory_window): ... to this.
45702 (grub_vbe_set_scanline_length): Renamed from this...
45703 (grub_vbe_set_scanline_length): ... to this.
45704 (grub_vbe_get_scanline_length): Renamed from this...
45705 (grub_vbe_bios_get_scanline_length): ... to this.
45706 (grub_vbe_set_display_start): Renamed from this...
45707 (grub_vbe_bios_set_display_start): ... to this.
45708 (grub_vbe_get_display_start): Renamed from this...
45709 (grub_vbe_bios_get_display_start): ... to this.
45710 (grub_vbe_set_palette_data): Renamed from this...
45711 (grub_vbe_bios_set_palette_data): ... to this.
45712 (grub_vbe_bios_get_controller_info): Fixed problem with registers
45713 getting corrupted after calling it. Added more pushes and pops.
45714 (grub_vbe_bios_set_mode): Likewise.
45715 (grub_vbe_bios_get_mode): Likewise.
45716 (grub_vbe_bios_get_memory_window): Likewise.
45717 (grub_vbe_bios_set_scanline_length): Likewise.
45718 (grub_vbe_bios_get_scanline_length): Likewise.
45719 (grub_vbe_bios_get_display_start): Likewise.
45720 (grub_vbe_bios_set_palette_data): Likewise.
45721
45722 * normal/cmdline.c (cl_set_pos): Refresh the screen.
45723 (cl_insert): Likewise.
45724 (cl_delete): Likewise.
45725
45726 * term/gfxterm.c: New file.
45727
45728 * term/i386/pc/vesafb.c: Removed file.
45729
45730 * video/video.c: New file.
45731
45732 * video/i386/pc/vbe.c (real2pm): Added new function.
45733 (grub_video_vbe_draw_pixel): Likewise.
45734 (grub_video_vbe_get_video_ptr): Likewise.
45735 (grub_video_vbe_get_pixel): Likewise
45736 (grub_video_vbe_init): Likewise.
45737 (grub_video_vbe_fini): Likewise.
45738 (grub_video_vbe_setup): Likewise.
45739 (grub_video_vbe_get_info): Likewise.
45740 (grub_video_vbe_set_palette): Likewise.
45741 (grub_video_vbe_get_palette): Likewise.
45742 (grub_video_vbe_set_viewport): Likewise.
45743 (grub_video_vbe_get_viewport): Likewise.
45744 (grub_video_vbe_map_color): Likewise.
45745 (grub_video_vbe_map_rgb): Likewise.
45746 (grub_video_vbe_map_rgba): Likewise.
45747 (grub_video_vbe_unmap_color): Likewise.
45748 (grub_video_vbe_fill_rect): Likewise.
45749 (grub_video_vbe_blit_glyph): Likewise.
45750 (grub_video_vbe_blit_bitmap): Likewise.
45751 (grub_video_vbe_blit_render_target): Likewise.
45752 (grub_video_vbe_scroll): Likewise.
45753 (grub_video_vbe_swap_buffers): Likewise.
45754 (grub_video_vbe_create_render_target): Likewise.
45755 (grub_video_vbe_delete_render_target): Likewise.
45756 (grub_video_vbe_set_active_render_target): Likewise.
45757 (grub_vbe_set_pixel_rgb): Remove function.
45758 (grub_vbe_set_pixel_index): Likewise.
45759 (index_color_mode): Remove static variable.
45760 (active_mode): Likewise.
45761 (framebuffer): Likewise.
45762 (bytes_per_scan_line): Likewise.
45763 (grub_video_vbe_adapter): Added new static variable.
45764 (framebuffer): Likewise.
45765 (render_target): Likewise.
45766 (initial_mode): Likewise.
45767 (mode_in_use): Likewise.
45768 (mode_list): Likewise.
45769
5f97350b 457702006-03-10 Marco Gerards <marco@gnu.org>
45771
45772 * configure.ac (AC_INIT): Bumped to 1.93.
45773
45774 * DISTLIST: Added `include/grub/hfs.h'.
45775
a3c5c6f8 457762006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
45777
45778 * boot/i386/pc/boot.S (general_error): Before looping, try INT
45779 18H, which might help the BIOS falling back to next boot media.
45780
6de53d26 457812006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
45782
45783 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
45784 Poe Chen <poe.poechen@gmail.com>.
45785
77c4a393 457862006-01-17 Marco Gerards <marco@gnu.org>
45787
45788 * include/grub/normal.h: Include <grub/script.h>.
45789 (grub_command_list): Removed struct.
45790 (grub_command_list_t): Removed type.
45791 (grub_menu_entry): Remove members `num' and `command_list'. Add
45792 members `commands' and `sourcecode'.
45793 * include/grub/script.h: Add inclusion guards.
45794 (grub_script_cmd_menuentry): New struct.
45795 (grub_script_execute_menuentry): New prototype.
45796 (grub_script_lexer_record_start): Likewise.
45797 (grub_script_lexer_record_stop): Likewise.
45798 * normal/execute.c (grub_script_execute_menuentry): New function.
45799 * normal/lexer.c (record, recording, recordpos, recordlen): New
45800 variables.
45801 (grub_script_lexer_record_start): New function.
45802 (grub_script_lexer_record_stop): Likewise.
45803 (recordchar): Likewise.
45804 (nextchar): Likewise.
45805 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
45806 2048 as the buffer size. Add the tokens `menuentry' and `@'.
45807 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
45808 (current_menu): New variable.
45809 (free_menu): Mainly rewritten.
45810 (grub_normal_menu_addentry): New function.
45811 (read_config_file): Rewritten.
45812 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 45813 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 45814 the menu entry.
45815 (run): Mainly rewritten.
45816 * normal/parser.y (menu_entry): New variable.
45817 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
45818 (menuentry): New rule.
45819 (command): Add `menuentry'.
45820 (if_statement): Allow additional returns before `fi'.
45821 * normal/script.c (grub_script_create_cmdmenu): New function.
45822
144f1f98 458232006-01-03 Marco Gerards <marco@gnu.org>
45824
45825 * INSTALL: GNU Bison is required.
45826 * configure.ac: Rewritten the test to detect Bison.
45827 * Makefile.in (YACC): New variable. Reported by Xun Sun
45828 <xun.sun.cn@gmail.com>.
45829
af4b2d89 458302006-01-03 Marco Gerards <marco@gnu.org>
45831
45832 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
45833 the HFS+ filesystem to filesystem blocks.
45834 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
45835 GCC warning is silenced.
45836
15643b71 458372006-01-03 Marco Gerards <marco@gnu.org>
45838
45839 * partmap/apple.c (apple_partition_map_iterate): Convert the data
45840 read from disk from big endian to host byte order.
45841
00905879 458422006-01-03 Hollis Blanchard <hollis@penguinppc.org>
45843
45844 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
45845 documentation.
45846 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
45847 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
45848 embedded HFS+ filesystem.
45849 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
45850 (grub_hfs_sblock): Move from here...
45851 * include/grub/hfs.h: To here... New file.
45852 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
45853 documentation.
45854 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
45855 New macros.
45856 (grub_hfsplus_volheader): Change type of member `magic' to
45857 `grub_uint16_t'.
45858 (grub_hfsplus_data): Add new member `embedded_offset'.
45859 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
45860 returned block.
45861 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
45862 Calculate the offset.
45863
8899bc3e 458642005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45865
45866 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
45867 Removed.
45868 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
45869
ae8c0277 458702005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45871
45872 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
45873 ENV->NAME is NULL after allocating ENV->VALUE.
45874
07084456 458752005-12-25 Marco Gerards <marco@gnu.org>
45876
45877 * kern/env.c (grub_env_set): Rewritten the error handling code.
45878
4750f5f1 458792005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45880
45881 * geninit.sh: Made more robust, and more portable.
45882
50214199 458832005-12-25 Marco Gerards <marco@gnu.org>
45884
45885 Add support for Apple HFS+ filesystems.
f19dbdb7 45886
50214199 45887 * fs/hfsplus.c: New file.
45888
45889 * DISTLIST: Added `fs/hfsplus.c'.
45890
45891 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
45892 (hfsplus_mod_SOURCES): New variable.
45893 (hfsplus_mod_CFLAGS): Likewise.
45894 (hfsplus_mod_LDFLAGS): Likewise.
45895 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
45896 (grub_setup_SOURCES): Likewise.
45897 (grub_mkdevicemap_SOURCES): Likewise.
45898 (grub_emu_SOURCES): Likewise.
45899 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45900
45901 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
45902
45903 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
45904
befaed6c 459052005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45906
45907 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
45908 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
45909 include/grub/parser.h, include/grub/script.h, kern/parser.c,
45910 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
45911 normal/lexer.c, normal/parser.y, normal/script.c, and
45912 partmap/gpt.c.
45913 Removed kern/sparc64/cache.c.
45914
45915 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
45916 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
45917 grub_emu_init.c.
45918
45919 * configure.ac (AC_INIT): Bumped to 1.92.
45920
6a124103 459212005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
45922
45923 * kern/err.c (grub_error_push): Added new function to support error
45924 stacks.
45925 (grub_error_pop): Likewise.
45926 (grub_error_stack_items): New local variable to support error stacks.
45927 (grub_error_stack_pos): Likewise.
45928 (grub_error_stack_assert): Likewise.
45929 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
45930 stack depth.
45931 (grub_print_error): Added support to print errors from error stack.
45932
45933 * include/grub/err.h (grub_error_push): Added function prototype.
45934 (grub_error_pop): Likewise.
45935
be973c1b 459362005-12-09 Hollis Blanchard <hollis@penguinppc.org>
45937
45938 * configure.ac: Accept `powerpc64' as host_cpu.
45939 (amd64): Rename to `biarch32'.
45940
45941 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
45942 non-cacheline-aligned addresses.
45943
45944 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
45945 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
45946 if `size' is non-zero.
45947
b04216ab 459482005-12-03 Marco Gerards <mgerards@xs4all.nl>
45949
45950 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
45951 and `cd' to make sure the filename is not prefixed with a
45952 directory name.
45953 (pkgdata_MODULES): Add `gpt.mod'.
45954 (gpt_mod_SOURCES): New variable.
45955 (gpt_mod_CFLAGS): Likewise.
45956 (gpt_mod_LDFLAGS): Likewise.
45957
45958 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
45959
45960 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
45961 New macro.
45962
45963 * partmap/gpt.c: New file.
45964
45965 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
45966 GPT partition map is detected.
45967
41730ed9 459682005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
45969
45970 * commands/i386/pc/play.c: New file.
45971 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
45972 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
45973 macros.
f19dbdb7 45974
95dc3643 459752005-11-27 Marco Gerards <mgerards@xs4all.nl>
45976
45977 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
45978 ((unused))' to silence gcc warning.
45979
1569ec51 459802005-11-26 Hollis Blanchard <hollis@penguinppc.org>
45981
45982 * configure.ac: Correct `AC_PROG_YACC' test.
45983
9abde152 459842005-11-22 Hollis Blanchard <hollis@penguinppc.org>
45985
45986 * util/powerpc/ieee1275/grub-install.in: Run the mount point
45987 check before installing files.
45988
44b83271 459892005-11-22 Mike Small <smallm@panix.com>
45990
45991 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
45992 number regex so multidigit numbers are recognized correctly.
45993
459942005-11-22 Mike Small <smallm@panix.com>
45995
45996 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
45997 debugging message before attempting to claim memory.
45998 (grub_rescue_cmd_initrd): Add a claim debugging message and try
45999 multiple addresses in case of failure.
46000
9c12956b 460012005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46002
46003 * term/tparm.c (get_space): Remove empty `if' statement.
46004
46005 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
46006
46007 * kern/parser.c (check_varstate): Rename `state' to 's'.
46008
aeaf81d9 460092005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46010
46011 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
46012 variable definitions to the beginning of each function. Sort stack
46013 variables by size.
46014 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
46015 `buf' argument to `char *'.
46016
79bbb63f 460172005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46018
46019 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
46020 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 46021 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 46022 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
46023 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
46024 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
46025 configfile.mod, search.mod, gzio.mod and test.mod.
46026 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
46027 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
46028 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
46029 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
46030 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
46031 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
46032 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
46033 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
46034 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
46035 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
46036 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46037 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46038 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
46039 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
46040 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
46041 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
46042 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
46043 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
46044 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
46045 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
46046 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
46047 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
46048 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
46049
46050 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
46051 `grep --include'.
46052 (pkgdata_MODULES): Add test.mod.
46053
233b1628 460542005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46055
46056 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
46057 appending to variables with "+=".
46058 (PModule): Use full pathname to generate *.lst filenames.
46059
46060 * Makefile.in: Fixed list rules moved from genmk.rb.
46061 (.DELETE_ON_ERROR): New special target.
46062 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
46063
46064 * conf/i386-pc.rmk: Include conf/common.mk.
46065 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 46066 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 46067 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
46068 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
46069 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
46070 configfile.mod, search.mod, gzio.mod and test.mod.
46071 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
46072 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
46073 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
46074 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
46075 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
46076 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
46077 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
46078 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
46079 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
46080 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
46081 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46082 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46083 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
46084 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
46085 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
46086 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
46087 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
46088 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
46089 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
46090 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
46091 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
46092 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
46093 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
46094 here...
46095 * conf/common.rmk: ... to here. New file.
46096
46097 * conf/common.mk: New file.
46098
16f820c8 460992005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
46100
46101 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
46102 (grub_script.tab.c): ... here.
46103
46104 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
46105 (grub_script.tab.c): ... here.
46106
46107 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
46108 (grub_script.tab.c): ... here.
46109
46110 * normal/command.c (grub_command_find): Fixed a memory leak of
46111 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
46112
63ba1554 461132005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46114
46115 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
46116 "@" which marks the start of a comment on ARM.
46117 (VARIABLE): Likewise.
46118
7f67dc13 461192005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46120
79bbb63f 46121 Add support for Linux/ADFS partition tables.
7f67dc13 46122
46123 * partmap/acorn.c: New file.
46124
46125 * include/grub/acorn_filecore.h: Likewise.
46126
46127 * DISTLIST: Added `partmap/acorn.c' and
46128 `include/grub/acorn_filecore.h'.
f19dbdb7 46129
7f67dc13 46130 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46131 `partmap/acorn.c'.
46132 (pkgdata_MODULES): Add `acorn.mod'.
46133 (acorn_mod_SOURCES): New variable.
46134 (acorn_mod_CFLAGS): Likewise.
46135
46136 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
46137 `partmap/acorn.c'.
46138 (pkgdata_MODULES): Add `acorn.mod'.
46139 (acorn_mod_SOURCES): New variable.
46140 (acorn_mod_CFLAGS): Likewise.
46141
46142 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
46143 (pkgdata_MODULES): Add `acorn.mod'.
46144 (acorn_mod_SOURCES): New variable.
46145 (acorn_mod_CFLAGS): Likewise.
46146 (acorn_mod_LDFLAGS): Likewise.
46147
46148 * include/types.h (grub_disk_addr_t): New typedef.
46149
6d099807 461502005-11-13 Marco Gerards <mgerards@xs4all.nl>
46151
46152 * geninit.sh: New file.
46153
46154 * geninitheader.sh: Likewise.
46155
46156 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
46157 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
46158 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
46159 * commands/configfile.c (grub_configfile_init)
46160 (grub_configfile_fini): Likewise.
46161 * commands/default.c (grub_default_init, grub_default_fini):
46162 Likewise.
46163 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
46164 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
46165 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
46166 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
46167 Likewise.
46168 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
46169 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
46170 Likewise.
46171 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 46172 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 46173 Likewise.
46174 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
46175 Likewise.
fe6b695a 46176 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 46177 Likewise.
46178 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
46179 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
46180 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
46181 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
46182 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
46183 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
46184 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
46185 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
46186 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
46187 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
46188 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
46189 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
46190 * partmap/amiga.c (grub_amiga_partition_map_init)
46191 (grub_amiga_partition_map_fini): Likewise.
46192 * partmap/apple.c (grub_apple_partition_map_init)
46193 (grub_apple_partition_map_fini): Likewise.
46194 * partmap/pc.c (grub_pc_partition_map_init)
46195 (grub_pc_partition_map_fini): Likewise.
46196 * partmap/sun.c (grub_sun_partition_map_init,
46197 grub_sun_partition_map_fini): Likewise.
46198 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
46199 Likewise.
46200
46201 * util/grub-emu.c: Include <grub_modules_init.h>.
46202 (main): Don't initialize and de-initialize any modules directly,
46203 use `grub_init_all' and `grub_fini_all' instead.
46204
46205 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
46206 `grub_vesafb_mod_init'.
46207 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
46208 all users.
46209 * term/i386/pc/vga.c (grub_vga_init): Renamed to
46210 `grub_vga_mod_init'. Updated all users.
46211 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 46212
6d099807 46213 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
46214 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
46215 rules.
46216
46217 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
46218 Generate a function to initialize the module in utilities.
46219 Updated all callers.
46220 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
46221 initialize the module in utilities. Updated all callers.
46222
9046bcf0 462232005-11-09 Hollis Blanchard <hollis@penguinppc.org>
46224
46225 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
46226 escape sequence and a literal ^L to clear the screen.
46227
46228 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
46229 when returning from Open Firmware.
46230
d13ea639 462312005-11-09 Hollis Blanchard <hollis@penguinppc.org>
46232
46233 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
46234 (grub_ofconsole_height): Likewise.
46235 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
46236 manually insert a '\n'.
46237 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
46238 `grub_ofconsole_height'. Return early if these are already set.
46239
a8fcf206 462402005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
46241
46242 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
46243 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
46244 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
46245 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
46246 and `normal/script.c'.
46247 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
46248 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
46249 (test_mod_SOURCES): New variable.
46250 (test_mod_CFLAGS): Likewise.
46251 (test_mod_LDFLAGS): Likewise.
46252 (pkgdata_MODULES): Add `test.mod'.
46253 (grub_script.tab.c): New rule.
46254 (grub_script.tab.h): Likewise.
46255
b6b32745 462562005-11-07 Marco Gerards <mgerards@xs4all.nl>
46257
46258 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46259 `commands/test.c', `normal/execute.c', `normal/lexer.c',
46260 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
46261 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
46262 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
46263 (test_mod_SOURCES): New variable.
46264 (test_mod_CFLAGS): Likewise.
46265 (pkgdata_MODULES): Add `test.mod'.
46266 (grub_script.tab.c): New rule.
46267 (grub_script.tab.h): Likewise.
46268
daac212a 462692005-11-06 Marco Gerards <mgerards@xs4all.nl>
46270
46271 Add initial scripting support.
46272
46273 * commands/test.c: New file.
46274 * include/grub/script.h: Likewise.
46275 * normal/execute.c: Likewise.
46276 * normal/function.c: Likewise.
46277 * normal/lexer.c: Likewise.
46278 * normal/parser.y: Likewise.
46279 * normal/script.c: Likewise.
46280
46281 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 46282
daac212a 46283 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
46284 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
46285 `normal/function.c' and `normal/script.c'.
46286 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
46287 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 46288 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
46289 variables.
daac212a 46290 (pkgdata_MODULES): Add `test.mod'.
46291 (grub_script.tab.c): New rule.
46292 (grub_script.tab.h): Likewise.
46293
46294 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
46295
46296 * include/grub/normal.h (grub_test_init): New prototype.
46297 (grub_test_fini): Likewise.
f19dbdb7 46298
daac212a 46299 * normal/command.c: Include <grub/script.h>.
46300 (grub_command_execute): Rewritten.
f19dbdb7 46301
daac212a 46302 * util/grub-emu.c (main): Call `grub_test_init' and
46303 `grub_test_fini'.
46304
77500b2b 463052005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46306
46307 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
46308 to 0.
46309 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
46310 there are no pending characters.
46311
e45deb9e 463122005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46313
46314 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
46315 `grub_strndup' to drop device arguments. Replace unnecessary
46316 `grub_strndup' with `grub_strdup'.
46317
4ce32619 463182005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46319
46320 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
46321 `debug' environment variable has been set.
46322
463232005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 46324
4ce32619 46325 * Makefile.in (install-local): Use $(DATA).
46326 (uninstall): Likewise.
46327 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
46328 (sbin_UTILITIES): ... to here.
46329 (sbin_SCRIPTS): New variable.
46330 (grub_install_SOURCES): New variable.
46331 * util/powerpc/ieee1275/grub-install.in: New file.
46332 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
46333 variable.
46334 (add_segments): Call `grub_util_get_path'.
46335
25fe6f03 463362005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
46337
46338 From Timothy Baldwin:
46339 * commands/ls.c (grub_ls_list_files): Close FILE with
46340 grub_file_close.
46341 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
46342
04ccf3ec 463432005-10-24 Marco Gerards <mgerards@xs4all.nl>
46344
46345 * include/grub/parser.h: New file.
46346
46347 * kern/parser.c: Likewise.
46348
46349 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
46350 (grub_setup_SOURCES): Likewise.
46351 (grub_probefs_SOURCES): Likewise.
46352 (grub_emu_SOURCES): Likewise.
46353 (kernel_img_HEADERS): Add `parser.h'.
46354
46355 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
46356 (grub_emu_SOURCES): Add `kern/parser.c'.
46357 (grubof_SOURCES): Likewise.
46358
46359 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
46360 (grubof_SOURCES): Add `kern/parser.c'.
46361
46362 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
46363
46364 * kern/misc.c (grub_split_cmdline): Removed function.
46365
46366 * kern/rescue.c: Include <grub/parser.h>.
46367 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
46368 of `grub_split_cmdline'.
46369
46370 * normal/command.c: Include <grub/parser.h>.
46371 (grub_command_execute): Use `grub_parser_split_cmdline' instead
46372 of `grub_split_cmdline'.
46373
46374 * normal/completion.c: Include <grub/parser.h>.
46375 (cmdline_state): New variable.
46376 (iterate_dir): End the filename with a quote depending on the
46377 command line state.
46378 (get_state): new function.
46379 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
46380 split the arguments and determine the current argument. When the
46381 argument string is not quoted, escape all spaces.
46382
6d8f4b0e 463832005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46384
46385 * normal/sparc64/setjmp.S: New file.
46386
15cf03ed 463872005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46388
46389 * include/grub/sparc64/libgcc.h: New file.
46390 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
46391 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
46392 normal/sparc64/setjmp.c.
46393
03e8661a 463942005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46395
46396 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
46397 * kern/sparc64/cache.S: New file.
46398 * kern/sparc64/cache.c: Removed.
46399 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
46400 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
46401 -mtune=ultrasparc.
46402 (COMMON_LDFLAGS): Add -melf64_sparc.
46403 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
46404 (grubof_SOURCES): Use cache.S instead of cache.c.
46405 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
46406 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
46407 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
46408 commented though.
46409 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
46410 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
46411 (linux_mod_CFLAGS): Commented out.
46412 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
46413 out because module isn't built.
46414 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
46415 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
46416 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
46417 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
46418 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
46419 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
46420 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
46421 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
46422 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
46423 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
46424 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46425 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46426 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
46427 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
46428
34eeec8a 464292005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
46430
46431 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
46432 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
46433 longer, because HFS should not be used on PC.
46434
708367a3 464352005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46436
46437 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
46438 consistently within the loop.
46439
6fa1251a 464402005-10-15 Marco Gerards <mgerards@xs4all.nl>
46441
46442 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
46443 directory can not be read.
46444
4801580b 464452005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46446
46447 * configure.ac (AC_INIT): Increase the version number to 1.91.
46448
46449 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
46450 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
46451 term/i386/pc/serial.c.
46452
219ad426 464532005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46454
46455 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
46456 file size must be permitted.
46457
46458 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
46459 between %ah and %al.
46460
688e5699 464612005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46462
46463 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
46464 grub_uint64_t.
46465 Call the hook with a NUL-terminated filename.
46466 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
46467 grub_cpu_to_be32.
46468
46469 * kern/term.c (cursor_state): New variable.
46470 (grub_term_set_current): Reset the cursor state on a new
46471 terminal.
46472 (grub_setcursor): Rewritten to use CURSOR_STATE.
46473 (grub_getcursor): New function.
46474
46475 * include/grub/term.h (grub_getcursor): New prototype.
46476
46477 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
46478 integers on ARM. Reported by Timothy Baldwin
46479 <T.E.Baldwin99@members.leeds.ac.uk>.
46480
bb34586c 464812005-10-11 Marco Gerards <mgerards@xs4all.nl>
46482
46483 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
46484 allocated.
46485 (grub_sfs_dir): Likewise.
46486
9a909877 464872005-10-09 Marco Gerards <mgerards@xs4all.nl>
46488
46489 Add support for the SFS filesystem.
46490
46491 * fs/sfs.c: New file.
46492
46493 * DISTLIST: Added `fs/sfs.c'.
46494
46495 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
46496 (grub_probefs_SOURCES): Likewise.
46497 (grub_emu_SOURCES): Likewise.
46498 (pkgdata_MODULES): Add `sfs.mod'.
46499 (sfs_mod_SOURCES): New variable.
46500 (sfs_mod_CFLAGS): Likewise.
46501 (sfs_mod_LDFLAGS): Likewise.
46502
46503 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
46504 (pkgdata_MODULES): Add `sfs.mod'.
46505 (sfs_mod_SOURCES): New variable.
46506 (sfs_mod_CFLAGS): Likewise.
46507
46508 * util/grub-emu.c (main): Call `grub_sfs_init' and
46509 `grub_sfs_fini'.
46510
46511 * include/grub/fs.h (grub_sfs_init): New prototype.
46512 (grub_sfs_fini): Likewise.
46513
57bdbde3 465142005-10-07 Marco Gerards <mgerards@xs4all.nl>
46515
46516 Add support for the AFFS filesystem.
46517
46518 * fs/affs.c: New file.
46519
46520 * DISTLIST: Added `fs/affs.c'.
46521
46522 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
46523 (grub_probefs_SOURCES): Likewise.
46524 (grub_emu_SOURCES): Likewise.
46525 (pkgdata_MODULES): Add `affs.mod'.
46526 (affs_mod_SOURCES): New variable.
46527 (affs_mod_CFLAGS): Likewise.
46528 (affs_mod_LDFLAGS): Likewise.
46529
46530 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
46531 (pkgdata_MODULES): Add `affs.mod'.
46532 (affs_mod_SOURCES): New variable.
46533 (affs_mod_CFLAGS): Likewise.
46534
46535 * util/grub-emu.c (main): Call `grub_affs_init' and
46536 `grub_affs_fini'.
46537
46538 * include/grub/fs.h (grub_affs_init): New prototype.
46539 (grub_affs_fini): Likewise.
46540
047b67e0 465412005-10-01 Marco Gerards <mgerards@xs4all.nl>
46542
46543 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
46544
59b8208a 465452005-10-01 Marco Gerards <mgerards@xs4all.nl>
46546
46547 * configure.ac: Accept `x86_64' as host_cpu. In that case add
46548 `-m32' to CFLAGS.
46549
46550 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
46551 linking.
f19dbdb7 46552
59b8208a 46553 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
46554 (COMMON_LDFLAGS): New variable.
46555 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
46556 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
46557 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
46558 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
46559 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
46560 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
46561 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
46562 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
46563 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
46564 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
46565 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
46566 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
46567 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
46568 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
46569 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
46570 variables.
46571 (normal_mod_ASFLAGS): Add `-m32'.
46572
46573 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
46574 (grub_host_size_t, grub_host_ssize_t): New types.
46575 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 46576 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 46577 `GRUB_HOST_SIZEOF_VOID_P'.
46578
46579 * include/grub/kernel.h (struct grub_module_header): Type of
46580 member offset changed to `grub_host_off_t'. Type of member size
46581 changed to `grub_host_size_t'.
46582 (struct grub_module_info): Type of member offset changed to
46583 `grub_host_off_t'. Type of member size changed to
46584 `grub_host_size_t'.
46585
b4093103 465862005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
46587
46588 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 46589
b4093103 46590 * kern/i386/pc/startup.S (multiboot_header): New label.
46591 (multiboot_entry): Likewise.
46592 (multiboot_trampoline): Likewise.
46593
46594 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
46595 Increased to 0x4A0.
46596
46597 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
46598 put parentheses after a question mark.
46599 [!GRUB_UTIL] (my_mod): New variable.
46600
46601 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
46602
b2499b29 466032005-09-28 Marco Gerards <mgerards@xs4all.nl>
46604
46605 Adds support for the XFS filesystem. Btrees are not supported
46606 yet.
46607
46608 * fs/xfs.c: New file.
46609
46610 * DISTLIST: Added `fs/xfs.c'.
46611
46612 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
46613 (grub_probefs_SOURCES): Likewise.
46614 (grub_emu_SOURCES): Likewise.
46615 (pkgdata_MODULES): Add `xfs.mod'.
46616 (xfs_mod_SOURCES): New variable.
46617 (xfs_mod_CFLAGS): Likewise.
46618
46619 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
46620 (pkgdata_MODULES): Add `xfs.mod'.
46621 (xfs_mod_SOURCES): New variable.
46622 (xfs_mod_CFLAGS): Likewise.
46623
46624 * util/grub-emu.c (main): Call `grub_xfs_init' and
46625 `grub_xfs_fini'.
46626
46627 * include/grub/fs.h (grub_xfs_init): New prototype.
46628 (grub_xfs_fini): Likewise.
46629
f19dbdb7 46630
83d37a62 466312005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
46632
46633 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
46634 color modes, allow greater than 16 colors to be configured as
46635 a default palette.
46636
47d2d65e 466372005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46638
46639 * normal/completion.c (complete_arguments): Add the qualifier
46640 const into OPTIONS.
46641
46642 From Omniflux <omniflux+lists@omniflux.com>:
46643 * include/grub/terminfo.h: New file.
46644 * include/grub/tparm.h: Likewise.
46645 * include/grub/i386/pc/serial.h: Likewise.
46646 * term/terminfo.c: Likewise.
46647 * term/tparm.c: Likewise.
46648 * term/i386/pc/serial.c: Likewise.
46649 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
46650 serial.mod.
46651 (terminfo_mod_SOURCES): New variable.
46652 (terminfo_mod_CFLAGS): Likewise.
46653 (serial_mod_SOURCES): Likewise.
46654 (serial_mod_CFLAGS): Likewise.
46655
48b671ff 466562005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
46657
46658 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
46659 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
46660 and kern/powerpc/ieee1275/cmain.c, respectively.
46661
46662 * boot/powerpc/ieee1275/crt0.S: Moved to ...
46663 * kern/powerpc/ieee1275/crt0.S: ... here.
46664
46665 * boot/powerpc/ieee1275/cmain.c: Moved to ...
46666 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 46667
48b671ff 46668 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
46669 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
46670 instead of boot/powerpc/ieee1275/crt0.S and
46671 boot/powerpc/ieee1275/cmain.c, respectively.
46672
46673 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
46674 sectors. It was not used anyway.
46675
09fc77a7 466762005-08-30 Hollis Blanchard <hollis@penguinppc.org>
46677
46678 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
46679 `unused parameter' warning.
46680
003789c7 466812005-08-30 Hollis Blanchard <hollis@penguinppc.org>
46682
46683 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
46684 function.
46685 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
46686 getcharwidth.
46687
67f44c86 466882005-08-28 Marco Gerards <metgerards@student.han.nl>
46689
46690 * include/grub/normal.h (enum grub_completion_type): Added
46691 `GRUB_COMPLETION_TYPE_ARGUMENT'.
46692
46693 * normal/cmdline.c (print_completion): Handle
46694 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
46695 * normal/menu_entry.c (store_completion): Likewise.
46696
46697 * normal/completion.c (complete_arguments): New function.
46698 (grub_normal_do_completion): Call `complete_arguments' when the
46699 current words start with a dash.
46700
0b5abe02 467012005-08-27 Marco Gerards <metgerards@student.han.nl>
46702
46703 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
46704 `gzio.mod' instead of `io.mod').
46705
d9864ee1 467062005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
46707
46708 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
46709 (DISTDIRS): Added io and video.
46710 Rewrite the search routine to make an output consistently.
46711
46712 * DISTLIST: Added conf/sparc64-ieee1275.mk,
46713 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
46714 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
46715 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
46716 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
46717 util/powerpc/ieee1275/misc.c.
f19dbdb7 46718
d9864ee1 46719 * include/grub/gzio.h: New file.
46720 * io/gzio.c: Likewise.
f19dbdb7 46721
d9864ee1 46722 * kern/file.c (grub_file_close): Call grub_device_close only if
46723 FILE->DEVICE is not NULL.
46724
46725 * include/grub/mm.h [!NULL] (NULL): New macro.
46726
46727 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
46728
46729 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
46730 (pkgdata_MODULES): Added gzio.mod.
46731 (gzio_mod_SOURCES): New variable.
46732 (gzio_mod_CFLAGS): Likewise.
46733
46734 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
46735 (pkgdata_MODULES): Added gzio.mod.
46736 (gzio_mod_SOURCES): New variable.
46737 (gzio_mod_CFLAGS): Likewise.
46738
46739 * commands/cat.c: Include grub/gzio.h.
46740 (grub_cmd_cat): Use grub_gzfile_open instead of
46741 grub_file_open.
f19dbdb7 46742
d9864ee1 46743 * commands/cmp.c: Include grub/gzio.h.
46744 (grub_cmd_cmp): Use grub_gzfile_open instead of
46745 grub_file_open.
46746
46747 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
46748 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
46749 grub_file_open.
46750 (grub_rescue_cmd_module): Likewise.
46751
fa46f4b5 467522005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
46753
46754 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
46755 kern/sparc64/ieee1275/init.c because it contains _start.
46756 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
46757
e9211b5d 467582005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
46759
46760 * configure.ac: Add support for sparc64 host with ieee1275
46761 firmware.
46762 * configure: Generated from configure.ac.
46763 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
46764 instead of int.
46765 (grub_ofdisk_read): Likewise.
46766 (grub_ofdisk_open): Use %p to print pointer values, and cast the
46767 pointers as (void *) to remove a warning.
46768 (grub_ofdisk_close): Likewise.
46769 (grub_ofdisk_read): Likewise.
46770 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
46771 returns, so make it return void to remove a warning.
46772 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
46773 Corresponding prototype change.
46774 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
46775 values, and cast the pointers as (void *) to remove a warning.
46776 (grub_mm_dump): Likewise.
46777 * conf/sparc64-ieee1275.mk: New file.
46778 * conf/sparc64-ieee1275.rmk: Likewise.
46779 * include/grub/sparc64/setjmp.h: Likewise.
46780 * include/grub/sparc64/types.h: Likewise.
46781 * include/grub/sparc64/ieee1275/console.h: Likewise.
46782 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
46783 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
46784 * include/grub/sparc64/ieee1275/time.h: Likewise.
46785 * kern/sparc64/cache.c: Likewise.
46786 * kern/sparc64/dl.c: Likewise.
46787 * kern/sparc64/ieee1275/init.c: Likewise.
46788 * kern/sparc64/ieee1275/openfw.c: Likewise.
46789
385c6a92 467902005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
46791
46792 * util/console.c (grub_ncurses_putchar): If C is greater than
46793 0x7f, set C to a question mark.
46794 (grub_ncurses_getcharwidth): New function.
46795 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
46796 getcharwidth.
46797
46798 * normal/menu.c (print_entry): Made aware of Unicode. First,
46799 convert TITLE to UCS-4, and predict the cursor position by
46800 grub_getcharwidth.
46801
46802 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
46803 const to SRC.
46804 * kern/misc.c (grub_utf16_to_utf8): Likewise.
46805
16ccb8b1 468062005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46807
46808 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
46809 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
46810 grub_strcat.
46811
46812 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
46813 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
46814 grub_strcpy and grub_strlen. Take it into account that a space
46815 character is inserted as a delimiter.
46816
6a85ce79 468172005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46818
46819 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 46820 invalid magic in the error.
6a85ce79 46821
46822 * commands/search.c: New file.
f19dbdb7 46823
6a85ce79 46824 * util/grub-emu.c (main): Call grub_search_init and
46825 grub_search_fini.
46826
46827 * kern/rescue.c (grub_rescue_print_disks): Removed.
46828 (grub_rescue_print_devices): New function.
46829 (grub_rescue_cmd_ls): Use grub_device_iterate with
46830 grub_rescue_print_devices instead of grub_disk_dev_iterate with
46831 grub_rescue_print_disks.
46832
46833 * kern/partition.c (grub_partition_iterate): Return the result of
46834 PARTMAP->ITERATE instead of GRUB_ERRNO.
46835
46836 * kern/device.c: Include grub/partition.h.
46837 (grub_device_iterate): New function.
46838
46839 * include/grub/partition.h (grub_partition_iterate): Return int
46840 instead of grub_err_t.
46841
46842 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
46843 prototype.
46844 [GRUB_UTIL] (grub_search_fini): Likewise.
46845
46846 * include/grub/device.h (grub_device_iterate): New prototype.
46847
46848 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
46849 commands/search.c.
46850 (pkgdata_MODULES): Added search.mod.
46851 (search_mod_SOURCES): New variable.
46852 (search_mod_CFLAGS): Likewise.
46853
46854 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
46855 (pkgdata_MODULES): Added search.mod.
46856 (search_mod_SOURCES): New variable.
46857 (search_mod_CFLAGS): Likewise.
46858
46859 * commands/ls.c (grub_ls_list_disks): Renamed to ...
46860 (grub_ls_list_devices): ... this, and use grub_device_iterate.
46861 All callers changed.
46862
46863 * DISTLIST: Added commands/search.c.
46864
ef095434 468652005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46866
46867 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
46868 conversion.
46869 (grub_getcharwidth): New function.
46870
46871 * kern/misc.c (grub_utf8_to_ucs4): New function.
46872
46873 * include/grub/term.h (struct grub_term): Added a new member
46874 "getcharwidth".
46875 (grub_getcharwidth): New prototype.
46876
46877 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
46878
46879 * term/i386/pc/console.c (map_char): New function. Segregated from
46880 grub_console_putchar.
46881 (grub_console_putchar): Use map_char.
46882 (grub_console_getcharwidth): New function.
46883 (grub_console_term): Specified grub_console_getcharwidth as
46884 getcharwidth.
46885
46886 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
46887 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
46888
46889 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
46890 GRUB_ERRNO.
46891 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
46892 on grub_strtoul completely.
46893 (write_char): Declare local variables in the beginning of the
46894 function.
46895 (grub_vesafb_getcharwidth): New function.
46896 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
46897 getcharwidth.
46898
1f0a95e4 468992005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
46900
46901 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
46902 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
46903 commands/i386/pc/vbetest.c.
46904
46905 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
46906 call grub_vbe_get_controller_info again, because the returned
46907 information is volatile.
46908 (grub_vbe_set_video_mode): Mostly rewritten.
46909 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
46910 grub_vbe_status_t correctly.
46911 (grub_vbe_get_video_mode_info): Likewise.
46912 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
46913 several if statements.
46914
46915 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
46916 * commands/i386/pc/vbeinfo.c: ... this.
46917
46918 * commands/i386/pc/vbe_test.c: Renamed to ...
46919 * commands/i386/pc/vbetest.c: ... this.
46920
46921 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
46922 ...
46923 (grub_cmd_vbeinfo): ... this. Save video modes before
46924 iterating. Skip a video mode, if it is not available, not enough
46925 information is given or it is monochrome. Show the memory
46926 model. Leave the interpretation of MODEVAR to grub_strtoul
46927 completely.
46928 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
46929 (GRUB_MOD_FINI): Likewise.
46930
46931 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
46932 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
46933 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
46934 duplicated grub_env_get. Leave the interpretation of MODEVAR to
46935 grub_strtoul completely.
46936 (real2pm): Removed.
46937 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
46938 (GRUB_MOD_FINI): Likewise.
46939
46940 * normal/misc.c: Include grub/mm.h.
46941
46942 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
46943 vbe_list_modes with vbetest.mod and vbeinfo.mod.
46944 (vbe_list_modes_mod_SOURCES): Removed.
46945 (vbe_list_modes_mod_CFLAGS): Likewise.
46946 (vbe_test_mod_SOURCES): Likewise.
46947 (vbe_test_mod_CFLAGS): Likewise.
46948 (vbeinfo_mod_SOURCES): New variable.
46949 (vbeinfo_mod_CFLAGS): Likewise.
46950 (vbetest_mod_SOURCES): Likewise.
46951 (vbetest_mod_CFLAGS): Likewise.
46952
992ffbbe 469532005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
46954
46955 * normal/misc.c: New file.
46956
46957 * DISTLIST: Added normal/misc.c.
f19dbdb7 46958
992ffbbe 46959 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
46960 DISK to HOOK. Call HOOK with DISK.
46961 * partmap/apple.c (apple_partition_map_iterate): Likewise.
46962 * partmap/pc.c (pc_partition_map_iterate): Likewise.
46963 * partmap/sun.c (sun_partition_map_iterate): Likewise.
46964
46965 * normal/menu_entry.c (struct screen): Added a new member
46966 "completion_shown".
46967 (completion_buffer): New global variable.
46968 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
46969 (store_completion): New function.
46970 (complete): Likewise.
46971 (clear_completions): Likewise.
46972 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
46973 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
46974 a tab, call complete.
46975
46976 * normal/completion.c (disk_dev): Removed.
46977 (print_simple_completion): Likewise.
46978 (print_partition_completion): Likewise.
46979 (print_func): New global variable.
46980 (add_completion): Do not take the arguments WHAT or PRINT any
46981 longer. Added a new argument TYPE. Instead of printing directly,
46982 call PRINT_FUNC if not NULL.
46983 All callers changed.
46984 (complete_device): Use a local variable DEV instead of
46985 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
46986 (grub_normal_do_completion): Take a new argument HOOK. Do not
46987 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
46988 empty string, return NULL instead.
46989 All callers changed.
46990
46991 * normal/cmdline.c (print_completion): New function.
46992
46993 * kern/partition.c (grub_partition_iterate): Add an argument DISK
46994 to HOOK.
46995 All callers changed.
46996
46997 * kern/disk.c (grub_print_partinfo): Removed.
46998
46999 * include/grub/partition.h (struct grub_partition_map): Add a new
47000 argument DISK into HOOK of ITERATE.
47001 (grub_partition_iterate): Add a new argument DISK to HOOK.
47002
47003 * include/grub/normal.h (enum grub_completion_type): New enum.
47004 (grub_completion_type_t): New type.
47005 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
47006 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
47007 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
47008 (GRUB_COMPLETION_TYPE_FILE): Likewise.
47009 (grub_normal_do_completion): Added a new argument HOOK.
47010 (grub_normal_print_device_info): New prototype.
47011
47012 * include/grub/disk.h (grub_print_partinfo): Removed.
47013
47014 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
47015 (normal_mod_SOURCES): Likewise.
47016 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47017 (normal_mod_SOURCES): Likewise.
47018
47019 * commands/ls.c (grub_ls_list_disks): Use
47020 grub_normal_print_device_info instead of grub_print_partinfo. Free
47021 PNAME.
47022 (grub_ls_list_files): Use grub_normal_print_device_info instead of
47023 duplicating the code.
47024
0bd41162 470252005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
47026
47027 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 47028 follow GCS more precisely.
47029 * commands/i386/pc/vbe_test.c: Likewise.
47030 * include/grub/i386/pc/vbe.h: Likewise.
47031 * term/i386/pc/vesafb.c: Likewise.
47032 * video/i386/pc/vbe.c: Likewise.
0bd41162 47033
6323696a 470342005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
47035
47036 * DISTLIST: Added term/i386/pc/vesafb.c
47037 DISTLIST: Added video/i386/pc/vbe.c
47038 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
47039 DISTLIST: Added commands/i386/pc/vbe_test.c.
47040 * commands/i386/pc/vbe_list_modes.c: New file.
47041 * commands/i386/pc/vbe_test.c: Likewise.
47042 * term/i386/pc/vesafb.c: Likewise.
47043 * video/i386/pc/vbe.c: Likewise.
47044 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
47045 (grub_vbe_probe) Added prototype.
47046 (grub_vbe_set_video_mode) Likewise.
47047 (grub_vbe_get_video_mode) Likewise.
47048 (grub_vbe_get_video_mode_info) Likewise.
47049 (grub_vbe_set_pixel_rgb) Likewise.
47050 (grub_vbe_set_pixel_index) Likewise.
47051 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
47052 (pkgdata_MODULES): Added vesafb.mod.
47053 (pkgdata_MODULES): Added vbe_list_modes.mod.
47054 (pkgdata_MODULES): Added vbe_test.mod.
47055 (vbe_mod_SOURCES): Added.
47056 (vbe_mod_CFLAGS): Likewise.
47057 (vesafb_mod_SOURCES): Likewise.
47058 (vesafb_mod_CFLAGS): Likewise.
47059 (vbe_list_modes_mod_SOURCES): Likewise.
47060 (vbe_list_modes_mod_CFLAGS): Likewise.
47061 (vbe_test_mod_SOURCES): Likewise.
47062 (vbe_test_mod_CFLAGS): Likewise.
47063
0a74e62f 470642005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
47065
0a74e62f 47066 * normal/command.c (grub_command_execute): If INTERACTIVE is
47067 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
47068 CMDLINE. Disable the pager if INTERACTIVE is true.
47069 All callers are changed.
47070
47071 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
47072 before reading a config file.
47073 * normal/main.c (read_config_file): Even if a command is not
47074 found, register it if it is within an entry.
47075
47076 * util/grub-emu.c: Include sys/types.h and unistd.h.
47077 (options): Added --hold.
47078 (struct arguments): Added a new member "hold".
47079 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
47080 missing.
47081 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
47082 cleared by a debugger, if it is not zero.
47083
47084 * include/grub/normal.h (grub_command_execute): Add an argument
47085 INTERACTIVE.
47086
e51f85ae 470872005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
47088
47089 * DISTLIST: Added include/grub/i386/pc/vbe.h.
47090
e9c6f39b 470912005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
47092
47093 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
47094 program with another one, because the old one didn't detect a bug
47095 in gcc-3.4. Always use regparm 2, because the new test is still
47096 not enough for gcc-4.0. Someone must investigate a simple test
47097 case which detects a bug in gcc-4.0.
47098
8de3495c 470992005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
47100
47101 * DISTLIST: Added normal/completion.c.
47102
47103 * normal/completion.c: New file.
f19dbdb7 47104
8de3495c 47105 * term/i386/pc/console.c (grub_console_getwh): New function.
47106 (grub_console_term): Assign grub_console_getwh to getwh.
47107
47108 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
47109 function is defined in normal/completion.c as
47110 grub_normal_do_completion.
47111 (grub_cmdline_get): Use grub_normal_do_completion instead of
47112 grub_tab_complete.
47113
47114 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
47115 returns non-zero, otherwise return 0.
47116 (grub_partition_iterate): First, probe the partition map. Then,
47117 call ITERATE only for this partition map.
47118
47119 * kern/misc.c (grub_strncmp): Rewritten.
47120
47121 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
47122 returns non-zero. Otherwise return 0.
47123
47124 * include/grub/partition.h (grub_partition_map_iterate): Return
47125 int instead of void.
47126
47127 * include/grub/normal.h (grub_normal_do_completion): New prototype.
47128
47129 * include/grub/misc.h (grub_strncmp): Change the type of N to
47130 grub_size_t.
47131
47132 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
47133 of void.
47134
47135 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 47136 unsigned explicitly before comparing it with I.
8de3495c 47137
47138 * kern/main.c (grub_env_write_root): Add the attribute unused into
47139 VAR.
47140
47141 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47142 normal/completion.c.
47143 (normal_mod_SOURCES): Likewise.
47144 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
47145 (normal_mod_SOURCES): Likewise.
47146
47147 * normal/command.c (grub_iterate_commands): If ITERATE returns
47148 non-zero, return one immediately.
47149
e85e144b 471502005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
47151
47152 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
47153 * kern/i386/pc/startup.S: Updated Global Descriptor table's
47154 descriptions.
47155 (grub_vbe_get_controller_info): New function.
47156 (grub_vbe_get_mode_info): Likewise.
47157 (grub_vbe_set_mode): Likewise.
47158 (grub_vbe_get_mode): Likewise.
47159 (grub_vbe_set_memory_window): Likewise.
47160 (grub_vbe_get_memory_window): Likewise.
47161 (grub_vbe_set_scanline_length): Likewise.
47162 (grub_vbe_get_scanline_length): Likewise.
47163 (grub_vbe_set_display_start): Likewise.
47164 (grub_vbe_get_display_start): Likewise.
47165 (grub_vbe_set_palette_data): Likewise.
47166 * include/grub/i386/pc/vbe.h: New file.
47167
c46153d2 471682005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47169
47170 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
47171 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
47172 * DISTLIST: Likewise.
47173 * kern/ieee1275/of.c: Moved to ...
47174 * kern/ieee1275/ieee1275.c: ... here.
47175
0cb90c45 471762005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47177
47178 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
47179 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
47180 Pass 0 as `end' parameter to grub_strtoul().
47181
a19fb360 471822005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47183
47184 * include/grub/powerpc/ieee1275/console.h: Do not include
47185 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
47186 ifdef.
47187 (grub_console_cur_color): Remove i386-specific prototype.
47188 (grub_console_real_putchar): Likewise.
47189 (grub_console_checkkey): Likewise.
47190 (grub_console_getkey): Likewise.
47191 (grub_console_getxy): Likewise.
47192 (grub_console_gotoxy): Likewise.
47193 (grub_console_cls): Likewise.
47194 (grub_console_setcursor): Likewise.
47195 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
47196 Include <grub/machine/console.h>.
47197 * term/ieee1275/ofconsole.c: Likewise.
47198
4ac9bd04 471992005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
47200
47201 * Makefile.in (LIBLZO): New variable.
47202
47203 * configure.ac: Check for LZO version 2.
47204
47205 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
47206 lzo/lzo1x.h instead of lzo1x.h.
47207
47208 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
47209 of -llzo.
47210
47211 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
47212 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
47213
47214 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
47215 copying the data from PARTITION to P.
47216
f4917dfd 472172005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
47218
47219 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
47220 negative, unload the module.
47221
47222 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
47223 map is "pc_partition_map" but not "pc".
47224 (usage): Fix the description. The options are --boot-image and
47225 --core-image but not --boot-file or --core-file.
47226 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
47227 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
47228 DEFAULT_DIRECTORY.
47229
47230 * util/i386/pc/grub-install.in: Do not specify --boot-file or
47231 --core-file. Specify INSTALL_DEVICE as an argument.
47232
47233 * util/console.c: Include config.h.
47234 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
47235 [HAVE_NCURSES_H]: Include ncurses.h.
47236 [HAVE_CURSES_H]: Include curses.h.
47237 [!A_NORMAL] (A_NORMAL): Defined as zero.
47238 [!A_STANDOUT] (A_STANDOUT): Likewise.
47239
47240 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
47241 -lncurses.
47242 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
47243
47244 * configure.ac: Check for curses libraries and headers.
47245
47246 * Makefile.in (LIBCURSES): New variable.
47247
47248 * genmk.rb (Script::rule): Set the executable bits.
47249
47250 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
47251 name of the PC partition map is "pc_partition_map" but not "pc".
47252
0e143073 472532005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
47254
47255 * util/i386/pc/grub-install.in (grub_probefs): New variable.
47256 (modules): Likewise.
47257 (usage): Added descriptions for --modules and --grub-probefs.
47258 Handle --modules and --grub-probefs. Save the arguments in MODULES
47259 and GRUB_PROBEFS, respectively.
47260 Auto-detect a filesystem module against GRUBDIR. If the result is
47261 empty and modules are not specified explicitly, abort the
47262 installation. Add the result to MODULES.
47263
47264 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
47265 disk/powerpc/ieee1275/ofdisk.c,
47266 include/grub/powerpc/ieee1275/init.h and
47267 term/powerpc/ieee1275/ofconsole.c.
47268 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
47269 term/ieee1275/ofconsole.c.
47270
47271 * include/grub/powerpc/ieee1275/console.h: Resurrected.
47272
47273 * COPYING: Upgraded to the latest version. Only the address of the
47274 FSF office has changed.
f19dbdb7 47275
efd6e6d5 472762005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
47277
47278 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
47279 kern/ieee1275.c with kern/ieee1275/of.c.
47280
47281 * kern/ieee1275.c: Moved to ...
47282 * kern/ieee1275/of.c: ... here.
47283
8ceafda2 472842005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
47285
47286 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 47287 readability.
8ceafda2 47288
47289 * config.guess: Updated to the latest version from gnulib.
47290 * config.sub: Likewise.
47291 * install.sh: Likewise.
47292 * mkinstalldirs: Likewise.
47293
47294 * include/grub/console.h: Removed. This file is arch-specific. Do
47295 not put this in include/grub.
47296
47297 * include/grub/i386/pc/console.h: Resurrected.
47298
47299 * util/console.c: Include grub/machine/console.h instead of
47300 grub/console.h.
47301 * util/grub-emu.c: Likewise.
47302
267f6cd9 473032005-08-04 Marco Gerards <metgerards@student.han.nl>
47304
47305 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
47306 hardcoded value.
f19dbdb7 47307
267f6cd9 47308 From Vincent Pelletier <subdino2004@yahoo.fr>
47309 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
47310 Redefined to use grub_getwh.
47311 (grub_term): New member named getwh.
47312 (grub_getwh): New prototype.
47313 * kern/term.c (grub_getwh): New function.
47314 * term/i386/pc/console.c (grub_console_getwh): New function.
47315 (grub_console_term): New member `getwh'.
47316 * term/i386/pc/vga.c (grub_vga_getwh): New function.
47317 (grub_vga_term): New member `getwh'.
0b5abe02 47318 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 47319 grub_ssize_t.
47320 (grub_ofconsole_getw): New function.
47321 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
47322 (grub_ofconsole_term): New field named getwh and new initial
47323 value.
47324
3be7266d 473252005-08-03 Hollis Blanchard <hollis@penguinppc.org>
47326
47327 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
47328 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
47329 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
47330 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
47331 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
47332 of <grub/machine/ieee1275.h>.
47333 * commands/ieee1275/reboot.c: Likewise.
47334 * boot/powerpc/ieee1275/ieee1275.c: Move ...
47335 * kern/ieee1275.c: ... to here. All users updated. Change all
47336 parameter structs to use new type `grub_ieee1275_cell_t'.
47337 * term/powerpc/ieee1275/ofconsole.c: Move ...
47338 * term/ieee1275/ofconsole.c: ... to here. All users updated.
47339 * disk/powerpc/ieee1275/ofdisk.c: Move ...
47340 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
47341 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
47342 to return int.
47343 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
47344 Remove unused prototypes. All users updated.
47345 * include/grub/powerpc/ieee1275/console.h: Removed.
47346 * include/grub/powerpc/ieee1275/ieee1275.h: Define
47347 `grub_ieee1275_cell_t'.
47348 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
47349 Cast comparisons with -1 to the correct type.
47350 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
47351 type to match `grub_ieee1275_entry_fn'.
47352
8b5f3938 473532005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
47354
47355 * DISTLIST: Added util/i386/pc/grub-probefs.c.
47356
47357 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
47358 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
47359 partmap/sun.c.
47360 (grub_probefs_SOURCES): New variable.
47361
47362 * util/i386/pc/grub-probefs.c: New file.
47363
47364 * util/i386/pc/grub-setup.c (main): Call
47365 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
47366 grub_hfs_init and grub_jfs_init to initialize the system. Call
47367 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
47368 grub_pc_partition_map_fini to finish the system.
47369
ea409713 473702005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
47371
47372 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
47373 function.
47374 (grub_multiboot_load_elf32): Likewise.
47375 (grub_multiboot_is_elf64): Likewise.
47376 (grub_multiboot_load_elf64): Likewise.
47377 (grub_multiboot_load_elf): Likewise.
47378 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
47379 an ELF32 or ELF64 file.
47380 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
47381
47382 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
47383 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
47384 NULL before calling FS->LABEL.
47385 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
47386 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
47387 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
47388 before calling FS->LABEL.
47389
141a288b 473902005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
47391
47392 * util/i386/pc/grub-install.in (datadir): New variable.
47393 (libdir): Removed.
47394 (pkgdatadir): New variable.
47395 (pkglibdir): Removed.
47396
0d5f8a54 473972005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
47398
47399 * DISTLIST: Added util/i386/pc/grub-install.in.
47400
47401 * util/i386/pc/grub-install.in: New file.
47402
47403 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
47404 (grub_install_SOURCES): Likewise.
47405
47406 * genmk.rb: Added support for scripts.
47407 (Script): New class.
47408 (scripts): New variable.
47409
47410 * Makefile.in (install-local): Install sbin_SCRIPTS by
47411 INSTALL_SCRIPT.
47412 (uninstall): Remove sbin_SCRIPTS.
47413
47414 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
47415 device, try to get a GRUB device by
47416 grub_util_biosdisk_get_grub_dev.
47417 Free DEST_DEV.
47418
47419 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
47420 description for --device-map.
47421
5f968e1e 474222005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
47423
47424 Change the semantics of variable hooks. They now return strings
47425 instead of error values.
f19dbdb7 47426
5f968e1e 47427 * util/i386/pc/grub-setup.c: Include grub/env.h.
47428 (setup): Use grub_device_set_root instead of grub_env_set.
47429
47430 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
47431 grub_env_get instead of grub_device_set_root and
47432 grub_device_get_root, respectively.
47433
47434 * kern/main.c (grub_env_write_root): New function.
47435 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
47436 grub_env_set instead of grub_device_set_root.
47437
47438 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
47439 many variables.
47440 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
47441 rather than calling ENV->WRITE_HOOK afterwards.
47442 (grub_env_get): Return the result of ENV->READ_HOOK rather than
47443 passing a pointer of a pointer.
47444 (grub_register_variable_hook): Change the types of "read_hook" and
47445 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
47446 respectively.
47447 Allocate the default empty string on the heap, because this string
47448 may be freed later.
47449
47450 * kern/device.c: Include grub/env.h.
47451 (grub_device_set_root): Removed.
47452 (grub_device_get_root): Likewise.
47453 (grub_device_open): Use grub_env_get instead of
47454 grub_device_get_root.
47455
47456 * include/grub/env.h (grub_env_read_hook_t): New type.
47457 (grub_env_write_hook_t): Likewise.
47458 (grub_env_var): Change the types of "read_hook" and "write_hook"
47459 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
47460 (grub_register_variable_hook): Likewise.
47461
47462 * include/grub/device.h (grub_device_set_root): Removed.
47463 (grub_device_set_root): Likewise.
47464
47465 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
47466 make sure that DIRNAME terminates with '/', so that
47467 grub_fat_find_dir will fail if PATH is not a directory.
47468
47469 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
47470 from DIRNAME.
47471 Use the qualifier auto for print_files and print_files_long.
47472 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
47473 as a regular file.
47474 Put a newline only if there is no error.
47475 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
47476 used.
47477
896f0afd 474782005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
47479
47480 * kern/partition.c (grub_partition_probe): Initialize PART to
47481 NULL. Otherwise, when no partition map is registered, this returns
47482 a garbage.
47483
b28b81b2 474842005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
47485
47486 * partmap/apple.c (apple_partition_map_iterate): Check if POS
47487 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
47488 valid.
47489
5f3607e0 474902005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
47491
47492 * commands/ls.c (grub_ls_list_disks): Print the filesystem
47493 information on each device, if it does not have partitions. Print
47494 "Device" instead of "Disk", because this function is not specific
47495 to disk devices.
47496
47497 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
47498 static to ensure that it is put on the memory rather than a
47499 register.
47500
502c87e8 475012005-07-17 Yoshinori Okuji <okuji@enbug.org>
47502
47503 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
47504 (grub_cat_init): Likewise.
47505 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
47506 (options): Likewise.
47507 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
47508 (grub_configfile_init): Likewise.
47509 * font/manager.c (GRUB_MOD_INIT): Likewise.
47510 * commands/help.c (GRUB_MOD_INIT): Likewise.
47511 (grub_help_init): Likewise.
47512 * normal/command.c (grub_command_init): Likewise.
47513 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
47514 * disk/loopback.c (grub_loop_init): Likewise.
47515 (GRUB_MOD_INIT): Likewise.
47516 * commands/ls.c (grub_ls_init): Likewise.
47517 (GRUB_MOD_INIT): Likewise.
47518 (options): Likewise.
47519 * commands/boot.c (grub_boot_init): Likewise.
47520 (GRUB_MOD_INIT): Likewise.
47521 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
47522 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
47523 (GRUB_MOD_INIT): Likewise.
47524 * commands/cmp.c (grub_cmp_init): Likewise.
47525 (GRUB_MOD_INIT): Likewise.
47526
47527 * normal/arg.c: Use <> instead of "" to include header files.
47528 (SHORT_ARG_HELP): New macro.
47529 (SHORT_ARG_USAGE): Likewise.
47530 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
47531 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
47532 descriptions.
47533 (find_short): Check if C is 'h' or 'u' explicitly.
47534 (grub_arg_show_help): Use space characters instead of tabs. Treat
47535 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
47536 are shown with --help and --usage only if they are not used for
47537 the command itself.
47538 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
47539 'h' and 'u'.
47540
47541 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
47542 const into "longarg". Change the type of "shortarg" to int.
47543
f806d18e 475442005-07-17 Yoshinori Okuji <okuji@enbug.org>
47545
47546 * boot/i386/pc/boot.S (boot_drive_check): New label.
47547
47548 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
47549 macro.
47550
47551 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
47552 which do not pass a boot drive correctly. Copied from GRUB Legacy.
47553
e293232b 475542005-07-17 Yoshinori Okuji <okuji@enbug.org>
47555
47556 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
47557 When turning off Gate A20, skip the check and return immediately,
47558 because this is not fatal usually.
47559
ebedfd00 475602005-07-17 Yoshinori Okuji <okuji@enbug.org>
47561
47562 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
47563 be 0x7C00 instead of 0x8000.
47564
47565 * boot/i386/pc/pxeboot.S: Rewritten.
47566
47567 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
47568 EXT_C.
47569 (gate_a20_check_state): Read a byte from 0x108000. Invert the
47570 result.
47571
654fc59f 475722005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
47573
47574 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
47575 robustness. This routine now supports a BIOS call and System
47576 Control Port A to modify the gate A20.
47577
47578 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
47579 Increased to 0x440.
47580
09f9923f 475812005-07-12 Hollis Blanchard <hollis@penguinppc.org>
47582
47583 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
47584 device path and resulting ihandle.
47585 (grub_ofdisk_close): dprintf the ihandle being closed.
47586 (grub_ofdisk_read): dprintf function parameters.
47587 * kern/mm.c (grub_mm_init_region): Likewise.
47588 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
47589 (grub_linux_boot): dprintf the Linux entry point, initrd address and
47590 size, and boot arguments.
47591 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
47592 before loading into memory.
47593 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
47594 before loading into memory.
47595
7ef504d8 475962005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
47597
47598 * kern/mm.c: Added much documentation.
47599 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
47600 8, set to 5 instead of 8.
47601
e0f050c2 476022005-07-10 Yoshinori Okuji <okuji@enbug.org>
47603
47604 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
47605
47606 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
47607 (grub_mkdevicemap_SOURCES): New variable.
47608
47609 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
47610 lib/device.c of GRUB Legacy.
47611
7224189a 476122005-07-10 Yoshinori Okuji <okuji@enbug.org>
47613
47614 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
47615 instead of PATH is NULL.
47616
68c864eb 476172005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
47618
47619 * commands/cmp.c (BUFFER_SIZE): New macro.
47620 (grub_cmd_cmp): Close the right file at the right time. Compare
47621 only data just read. Don't report files of different size as
47622 identical. Dynamically allocate buffers. Move variable
47623 declarations at the beginning of function.
47624
e6f3e614 476252005-07-09 Yoshinori Okuji <okuji@enbug.org>
47626
47627 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
47628 reverse.
47629
f8f1559a 476302004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
47631
47632 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
47633 when backspace is pressed at beginning of line.
47634
39c9d41d 476352005-07-03 Yoshinori Okuji <okuji@enbug.org>
47636
47637 * DISTLIST: Added genfslist.sh.
47638
47639 * normal/main.c (fs_module_list): New variable.
47640 (autoload_fs_module): New function.
47641 (read_fs_list): Likewise.
47642 (grub_normal_execute): Call read_fs_list.
47643
47644 * kern/fs.c (grub_fs_autoload_hook): New variable.
47645 (grub_fs_probe): Added support for auto-loading.
47646
47647 * include/grub/normal.h (struct grub_fs_module_list): New struct.
47648 (grub_fs_module_list_t): New type.
47649
47650 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
47651 (grub_fs_autoload_hook): New prototype.
47652
47653 * genfslist.sh: New file.
f19dbdb7 47654
39c9d41d 47655 * genmk.rb: Added a rule to generate a filesystem list.
47656
121c1d83 476572005-06-30 Marco Gerards <metgerards@student.han.nl>
47658
47659 * configure.ac: Fix the test for cross-compiling.
47660
47661 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
47662 define GRUB_UTIL anymore.
47663
47664 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
47665 so this function works on other systems than just big endian.
47666 (load_modules): Likewise.
47667 (add_segments): Likewise.
47668
e75d76e1 476692005-06-23 Hollis Blanchard <hollis@penguinppc.org>
47670
47671 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
47672 contains `l' modifier, get a long from va_arg().
47673
50b5a0a7 476742005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
47675
47676 * kern/mm.c (grub_free): If the next free block which is being
47677 merged is the first free block, set the first block to the block
47678 being freed.
47679 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
47680
89371b20 476812005-05-08 Hollis Blanchard <hollis@penguinppc.org>
47682
47683 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
47684 `grub_ieee1275_chosen'.
47685
168d6e58 476862005-05-08 Hollis Blanchard <hollis@penguinppc.org>
47687
47688 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
47689 (grub_ieee1275_chosen): New variable.
47690 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
47691 `chosen'.
47692 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
47693 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
47694 Rename first argument to `phandle' for consistency.
47695 (grub_ieee1275_get_property_length): Likewise.
47696 (grub_ieee1275_next_property): Likewise. Change type of first argument
47697 to grub_ieee1275_phandle_t.
47698 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
47699 Move export next to declaration.
47700 (grub_ieee1275_chosen): New variable.
47701 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
47702 Correct cosmetic typo.
47703 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
47704 `grub_ieee1275_chosen'.
47705 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
47706 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
47707 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
47708 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
47709 `grub_ieee1275_chosen'.
47710
ca5baa3f 477112005-05-10 Hollis Blanchard <hollis@penguinppc.org>
47712
47713 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
47714 /chosen/bootargs.
47715 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
47716 /chosen/bootargs as "variable=value" pairs.
47717
708b345f 477182005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
47719
47720 * include/grub/misc.h (grub_dprintf): New macro.
47721 (grub_real_dprintf): New prototype.
47722 (grub_strword): Likewise.
47723 (grub_iswordseparator): Likewise.
47724 * kern/misc.c (grub_real_dprintf): New function.
47725 (grub_strword): Likewise.
47726 (grub_iswordseparator): Likewise.
47727
f4c5e67c 477282005-04-30 Hollis Blanchard <hollis@penguinppc.org>
47729
47730 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
47731 (roundup): Remove macro.
47732 (grub_ieee1275_flags): Make static.
47733 (grub_ieee1275_realmode): Remove.
47734 (grub_ieee1275_test_flag): New function.
47735 (grub_ieee1275_set_flag): Likewise.
47736 (find_options): Rename to `grub_ieee1275_find_options'; update
47737 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
47738 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
47739 (cmain): New prototype.
47740 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
47741 `grub_ieee1275_flags' directly.
47742 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
47743 machine/biosdisk.h.
47744 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
47745 Don't include grub/machine/init.h.
47746 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
47747 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
47748 Remove prototype.
47749 (grub_ieee1275_realmode): Likewise.
47750 (grub_ieee1275_flag): New enum.
47751 (grub_ieee1275_test_flag): New prototype.
47752 (grub_ieee1275_set_flag): New prototype.
47753 * include/grub/powerpc/ieee1275/init.h: Remove file.
47754 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
47755 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
47756 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
47757 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
47758 comment.
47759 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
47760 `grub_ieee1275_test_flag'.
47761 (grub_ieee1275_encode_devname): Likewise.
47762
ed16607e 477632005-04-21 Hollis Blanchard <hollis@penguinppc.org>
47764
47765 * include/grub/powerpc/ieee1275/ieee1275.h
47766 (grub_ieee1275_encode_devname): New prototype.
47767 (grub_ieee1275_get_filename): Likewise.
47768 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
47769 function.
47770 (grub_set_prefix): Likewise.
47771 (grub_machine_init): Call grub_set_prefix.
47772 * kern/powerpc/ieee1275/openfw.c: Fix typos.
47773 (grub_parse_type): New enum.
47774 (grub_ieee1275_get_devargs): New function.
47775 (grub_ieee1275_get_devname): Likewise.
47776 (grub_ieee1275_parse_args): Likewise.
47777 (grub_ieee1275_get_filename): Likewise.
47778 (grub_ieee1275_encode_devname): Likewise.
47779
be369920 477802005-03-30 Marco Gerards <metgerards@student.han.nl>
47781
47782 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
47783 `grub_loader_unset'.
47784
a5ce3a4a 477852005-03-26 Hollis Blanchard <hollis@penguinppc.org>
47786
47787 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
47788 instead of grub_ieee1275_interpret.
47789 (grub_halt_init): New function.
47790 (grub_halt_fini): Likewise.
47791 (GRUB_MOD_INIT): Correct message grammar.
47792 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
47793 instead of grub_ieee1275_interpret.
47794 (grub_reboot_init): New function.
47795 (grub_reboot_fini): Likewise.
47796 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
47797 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
47798 util/i386/pc/misc.c with commands/ieee1275/halt.c,
47799 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
47800 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
47801 function.
47802 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
47803 Add prototype.
47804 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
47805 prototype.
47806 (grub_halt): Likewise.
47807 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
47808 (cmain): Remove __attribute__((unused)).
47809 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
47810 (grub_heap_len): Likewise.
47811 (grub_machine_fini): New function.
47812 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
47813 (grub_halt): Likewise.
47814 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
47815 function.
47816 * util/powerpc/ieee1275/misc.c: New file.
47817
0058f771 478182005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
47819
47820 * DISTLIST: New file.
47821 * gendistlist.sh: Likewise.
f19dbdb7 47822
0058f771 47823 * Makefile.in (COMMON_DISTFILES): Removed.
47824 (BOOT_DISTFILES): Likewise.
47825 (CONF_DISTFILES): Likewise.
47826 (DISK_DISTFILES): Likewise.
47827 (FS_DISTFILES): Likewise.
47828 (INCLUDE_DISTFILES): Likewise.
47829 (KERN_DISTFILES): Likewise.
47830 (LOADER_DISTFILES): Likewise.
47831 (TERM_DISTFILES): Likewise.
47832 (UTIL_DISTFILES): Likewise.
47833 (DISTFILES): Likewise.
47834 (uninstall): Uninstall files in $(pkgdata_DATA).
47835 (DISTLIST): New target.
47836 (distdir): Use the contents of the file DISTLIST to get a list of
47837 distributed files.
47838
46b3b8a5 478392005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
47840
47841 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
47842 descriptor. This is ported from GRUB Legacy.
47843
47844 * gencmdlist.sh: Added an extra semicolon to make it work with
47845 old sed versions. Reported by Robert Bihlmeyer
47846 <robbe@orcus.priv.at>.
47847
5822ff87 478482005-03-08 Yoshinori Okuji <okuji@enbug.org>
47849
47850 Automatic loading of commands is supported.
f19dbdb7 47851
5822ff87 47852 * normal/main.c (read_command_list): New function.
47853 (grub_normal_execute): Call read_command_list.
47854
47855 * normal/command.c (grub_register_command): Return zero or CMD.
47856 Allocate CMD->NAME from the heap.
47857 Initialize CMD->MODULE_NAME to zero.
47858 Find the same name as well. If the same command is found and it is
47859 a dummy command, overwrite members. If it is not a dummy command,
47860 return zero.
47861 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
47862 (grub_command_find): If a dummy command is found, load a module
47863 and retry to find a command only once.
47864
47865 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
47866 make sure that each command is loaded.
47867
47868 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
47869 macro.
47870 (struct grub_command): Remove const from the member `name'.
47871 Add a new member `module_name'.
47872 (grub_register_command): Return grub_command_t.
47873
47874 * commands/help.c (grub_cmd_help): Call grub_command_find to make
47875 sure that each command is loaded.
47876
47877 * genmk.rb (PModule::rule): Specify a module name without the
47878 suffix ".mod" to gencmdlist.sh.
47879
7b1f4b57 478802005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
47881
47882 * gencmdlist.sh: New file.
f19dbdb7 47883
7b1f4b57 47884 * genmk.rb (PModule::rule): Generate a rule for a command list.
47885 Clean command.lst.
47886 Generate command.lst from $(COMMANDFILES).
47887
47888 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
47889 (DATA): Added $(pkgdata_DATA).
47890 (install-local): Install files in $(pkgdata_DATA).
47891
062aaf39 478922005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
47893
47894 * term/i386/pc/vga.c (debug_command): Removed.
47895 (GRUB_MOD_INIT): Do not register the command "debug".
47896
47897 From Hollis Blanchard:
47898 * commands/configfile.c: New file.
47899 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47900 commands/configfile.c.
47901 (pkgdata_MODULES): Added configfile.mod.
47902 (configfile_mod_SOURCES): New variable.
47903 (configfile_mod_CFLAGS): Likewise.
47904 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47905 commands/configfile.c.
47906 (pkgdata_MODULES): Added configfile.mod.
47907 (configfile_mod_SOURCES): New variable.
47908 (configfile_mod_CFLAGS): Likewise.
47909 * util/grub-emu.c (main): Call grub_configfile_init and
47910 grub_configfile_fini.
47911 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
47912 prototype.
47913 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 47914
cee01aa6 479152005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
47916
47917 * normal/arg.c (grub_arg_show_help): Do not show the bug report
47918 address.
47919
47920 * commands/help.c (grub_cmd_help): Do not print newlines after
47921 the last command in print_command_help.
47922
93f3a1d8 479232005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
47924
47925 * commands/default.h: New file.
47926 * commands/timeout.h: Likewise.
47927 * normal/context.c: Likewise.
f19dbdb7 47928
93f3a1d8 47929 * util/misc.c: Do not include sys/times.h.
47930 Include sys/time.h and grub/machine/time.h.
47931 (grub_get_rtc): Rewritten with gettimeofday.
47932
47933 * util/grub-emu.c (main): Call grub_default_init and
47934 grub_timeout_init before grub_normal_init, and call
47935 grub_timeout_fini and grub_default_fini after grub_main.
47936
47937 * util/console.c (grub_ncurses_checkkey): Return the read
47938 character or -1.
47939
47940 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
47941 timeouts.
47942
47943 * normal/main.c (read_config_file): Push MENU. If this fails,
47944 print an error and wait for a user input.
47945 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
47946 If a menu is empty or an error occurs, pop MENU.
47947 (grub_normal_execute): Pop and free MENU after grub_menu_run
47948 returns.
47949
47950 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
47951
47952 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
47953 include time.h.
47954 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
47955 without GRUB_UTIL.
47956 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
47957 time.h.
47958 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
47959 without GRUB_UTIL.
47960
47961 * include/grub/normal.h (struct grub_menu_list): New struct.
47962 (grub_menu_list_t): New type.
47963 (struct grub_context): New struct.
47964 (grub_context_t): New type.
47965 (grub_register_command): Got rid of EXPORT_FUNC.
47966 (grub_unregister_command): Likewise.
47967 (grub_context_get): New prototype.
47968 (grub_context_get_current_menu): Likewise.
47969 (grub_context_push_menu): Likewise.
47970 (grub_context_pop_menu): Likewise.
47971 [GRUB_UTIL] (grub_default_init): Likewise.
47972 [GRUB_UTIL] (grub_default_fini): Likewise.
47973 [GRUB_UTIL] (grub_timeout_init): Likewise.
47974 [GRUB_UTIL] (grub_timeout_fini): Likewise.
47975
47976 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
47977 commands/timeout.c and normal/context.c.
47978 (pkgdata_MODULES): Added default.mod and timeout.mod.
47979 (normal_mod_SOURCES): Added normal/context.c.
47980 (default_mod_SOURCES): New variable.
47981 (default_mod_CFLAGS): Likewise.
47982 (timeout_mod_SOURCES): Likewise.
47983 (timeout_mod_CFLAGS): Likewise.
47984 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
47985 conf/i386-pc.rmk.
47986 (pkgdata_MODULES): Added default.mod and timeout.mod.
47987 (normal_mod_SOURCES): Added normal/context.c.
47988 (default_mod_SOURCES): New variable.
47989 (default_mod_CFLAGS): Likewise.
47990 (timeout_mod_SOURCES): Likewise.
47991 (timeout_mod_CFLAGS): Likewise.
47992
47993 * Makefile.in (all-local): Added $(MKFILES).
47994
4ed2e1dd 479952005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
47996
47997 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
47998 (grub_emu_SOURCES): Likewise.
47999 (pkgdata_MODULES): Add `sun.mod'.
48000 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
48001 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48002 `partmap/sun.c'.
48003 (pkgdata_MODULES): Add `sun.mod'.
48004 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
48005 * include/grub/partition.h (grub_sun_partition_map_init): New
48006 prototype.
48007 (grub_sun_partition_map_fini): Likewise.
48008 * partmap/sun.c: New file.
48009 * util/grub-emu.c (main): Initialize and de-initialize the sun
48010 partitionmap support.
48011
4d4e372e 480122005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
48013
48014 This implements an Emacs-like menu entry editor.
f19dbdb7 48015
4d4e372e 48016 * normal/menu_entry.c: New file.
f19dbdb7 48017
4d4e372e 48018 * util/console.c (grub_ncurses_putchar): Translate some Unicode
48019 characters to ASCII.
48020 (saved_char): New variable.
48021 (grub_ncurses_checkkey): Rewritten completely.
48022 (grub_ncurses_getkey): Likewise.
48023 (grub_ncurses_init): Call raw instead of cbreak.
48024
48025 * normal/menu.c (print_entry): Do not put a space.
48026 (init_page): Renamed to ...
48027 (grub_menu_init_page): ... this. All callers changed.
48028 (edit_menu_entry): Removed.
48029 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
48030
48031 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
48032
48033 * kern/misc.c (grub_vprintf): Call grub_refresh.
48034
48035 * normal/menu.c (DISP_LEFT): Renamed to ...
48036 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
48037 * normal/menu.c (DISP_UP): Renamed to ...
48038 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
48039 * normal/menu.c (DISP_RIGHT): Renamed to ...
48040 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
48041 * normal/menu.c (DISP_DOWN): Renamed to ...
48042 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
48043 * normal/menu.c (DISP_HLINE): Renamed to ...
48044 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
48045 * normal/menu.c (DISP_VLINE): Renamed to ...
48046 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
48047 * normal/menu.c (DISP_UL): Renamed to ...
48048 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
48049 * normal/menu.c (DISP_UR): Renamed to ...
48050 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
48051 * normal/menu.c (DISP_LL): Renamed to ...
48052 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
48053 * normal/menu.c (DISP_LR): Renamed to ...
48054 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
48055 * normal/menu.c (TERM_WIDTH): Renamed to ...
48056 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
48057 * normal/menu.c (TERM_HEIGHT): Renamed to ...
48058 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
48059 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
48060 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
48061 * normal/menu.c (TERM_MARGIN): Renamed to ...
48062 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
48063 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
48064 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
48065 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
48066 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
48067 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
48068 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
48069 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
48070 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
48071 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
48072 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
48073 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
48074 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
48075 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
48076 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
48077 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
48078 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
48079 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
48080 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
48081 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
48082 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
48083 All callers changed.
48084
48085 * include/grub/normal.h: New prototype.
48086
48087 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48088 normal/menu_entry.c.
48089 (normal_mod_SOURCES): Likewise.
48090 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48091 (normal_mod_SOURCES): Likewise.
48092
e6b92c8a 480932005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
48094
48095 * include/grub/normal.h (grub_halt_init): New prototype.
48096 (grub_halt_fini): Likewise.
48097 (grub_reboot_init): Likewise.
48098 (grub_reboot_fini): Likewise.
48099
48100 * util/grub-emu.c: Include signal.h.
48101 (main_env): New global variable.
48102 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
48103 catch C-c.
48104 (grub_machine_fini): New function.
48105 (main): Call grub_halt_init and grub_reboot_init before
48106 grub_main, and grub_reboot_fini and grub_halt_fini after it.
48107 Call setjmp with MAIN_ENV to go back afterwards.
48108 Call grub_machine_fini right before return.
48109
48110 * include/grub/util/misc.h: Include setjmp.h.
48111 (main_env): New prototype.
48112
48113 * include/grub/kernel.h (grub_machine_fini): New prototype.
48114 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
48115 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
48116
48117 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
48118 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
48119 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 48120
e6b92c8a 48121 * util/i386/pc/misc.c: New file.
f19dbdb7 48122
e6b92c8a 48123 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48124 util/i386/pc/misc.c, commands/i386/pc/halt.c and
48125 commands/i386/pc/reboot.c.
48126
c642636f 481272005-02-14 Guillem Jover <guillem@hadrons.org>
48128
48129 * include/grub/dl.h (grub_dl_check_header): New prototype.
48130 (grub_arch_dl_check_header): Change return type to grub_err_t,
48131 remove size parameter and export function. Update all callers.
48132 * kern/dl.c (grub_dl_check_header): New function.
48133 (grub_dl_load_core): Use `grub_dl_check_header' instead of
48134 `grub_arch_dl_check_header'. Check ELF type. Check if sections
48135 are inside the core.
48136 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
48137 independent ELF header checks.
48138 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
48139 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
48140 `grub_dl_check_header' instead of explicit checks. Check for the
48141 ELF type.
48142 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
48143 `grub_dl_check_header' instead of explicit checks. Remove arch
48144 specific ELF header checks.
48145
e6b92c8a 48146 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
48147 argument SIZE.
48148
5eabe94b 481492005-02-13 Hollis Blanchard <hollis@penguinppc.org>
48150
48151 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
48152 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
48153
1b14a681 481542005-02-12 Hollis Blanchard <hollis@penguinppc.org>
48155
48156 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 48157 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 48158 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 48159 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 48160 * partmap/amiga.c (amiga_partition_map_iterate): Return
48161 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
48162 * partmap/apple.c (apple_partition_map_iterate): Likewise.
48163
aca108aa 481642005-02-01 Guillem Jover <guillem@hadrons.org>
48165
48166 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
48167 help info.
48168
c9f9c556 481692005-01-31 Marco Gerards <metgerards@student.han.nl>
48170
48171 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
48172 Removed prototype.
48173 (grub_rescue_cmd_linux): New prototype.
48174 (grub_rescue_cmd_initrd): Likewise.
48175 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
48176 `bi_rec'.
48177 (grub_linux_release_mem): Release the memory for the initrd.
48178 (grub_load_linux): Renamed from this...
48179 (grub_rescue_cmd_linux): ...To this. Changed all callers.
48180 Changed `entry' not to be static. Loop over memory regions to
48181 find another one when the default fails.
48182 (grub_rescue_cmd_initrd): New function.
48183 (grub_linux_init): Remove function.
48184 (grub_linux_fini): Likewise.
48185 (GRUB_MOD_INIT): Register `initrd'.
48186 (GRUB_MOD_FINI): Unregister `initrd'.
48187 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
48188 Function removed.
48189 (grub_linux_normal_fini): Likewise.
48190 (GRUB_MOD_INIT): Register `initrd'.
48191 (GRUB_MOD_FINI): Unregister `initrd'.
48192
990cf3aa 481932005-01-31 Marco Gerards <metgerards@student.han.nl>
48194
48195 * commands/help.c: New file.
48196 * normal/arg.c (show_help): Renamed to...
48197 (grub_arg_show_help): ... this.
48198 * commands/i386/pc/halt.c: New file.
48199 * commands/i386/pc/reboot.c: Likewise.
48200 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
48201 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
48202 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
48203 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
48204 variables.
48205 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48206 `commands/help.c'.
48207 (pkgdata_MODULES): Add `help.mod'.
48208 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
48209 * grub/i386/pc/init.h (grub_reboot): New prototype.
48210 (grub_halt): Likewise.
48211 * include/grub/normal.h (grub_arg_show_help): New prototype.
48212 (grub_help_init): Likewise.
48213 (grub_help_fini): Likewise.
48214 * util/grub-emu.c (main): Initialize and deinitialize the help
48215 command.
48216
48217 * normal/cmdline.c (grub_cmdline_get): Doc fix.
48218
48219 * normal/command.c (grub_command_init): Fixed the description of
48220 the `set' and `unset' commands.
48221
482222005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 48223
48224 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
48225 function.
48226 * commands/ieee1275/halt.c: New file.
48227 * commands/ieee1275/reboot.c: Likewise.
48228 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
48229 `__attribute__ ((unused))'. Some GCS related fixed.
48230 (grub_suspend_init) [GRUB_UTIL]: Function removed.
48231 (grub_suspend_fini): Likewise.
48232 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
48233 and `halt.mod'.
48234 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
48235 (halt_mod_CFLAGS): New variables.
48236 * include/grub/powerpc/ieee1275/ieee1275.h
48237 (grub_ieee1275_interpret): New prototype.
48238
1ab09cc7 482392005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
48240
48241 * include/grub/misc.h (memmove): New prototype.
48242 (memcpy): Likewise.
48243
8b8cbdb2 482442005-01-22 Hollis Blanchard <hollis@penguinppc.org>
48245
48246 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
48247 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
48248
e3741a27 482492005-01-22 Marco Gerards <metgerards@student.han.nl>
48250
48251 * kern/misc.c (grub_strndup): Function rewritten.
48252
776bd780 482532005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
48254
48255 * normal/menu.c (TERM_WIDTH): Macro redefined.
48256 (TERM_TOP_BORDER_Y): Likewise.
48257 (draw_border): Replaced while-loop by a for-loop. Make the number
48258 of lines consistent with the number of lines displayed in
48259 print_entries. Added a margin below the rectangle.
48260 (print_entry): Make the entry fit in the rectangle.
48261 (print_entries): Display the scroll arrows next to the right
48262 border.
48263
78026bce 482642005-01-21 Marco Gerards <metgerards@student.han.nl>
48265
48266 * fs/minix.c (grub_minix_find_file): Reserve more space for
48267 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
48268 `grub_strncpy' to copy `path' into it.
48269
67bbaf0f 482702005-01-21 Marco Gerards <metgerards@student.han.nl>
48271
48272 Add the loopback device, a device via which files can be accessed
48273 as devices.
f19dbdb7 48274
67bbaf0f 48275 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
48276 (pkgdata_MODULES): Add loopback.mod.
48277 (loopback_mod_SOURCES): New variable.
48278 (loopback_mod_CFLAGS): Likewise.
48279 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48280 `disk/loopback.c'.
48281 (pkgdata_MODULES): Add loopback.mod.
48282 (loopback_mod_SOURCES): New variable.
48283 (loopback_mod_CFLAGS): Likewise.
48284 * disk/loopback.c: new file.
48285 * include/grub/normal.h (grub_loop_init): New prototype.
48286 (grub_loop_fini): New prototype.
48287 * util/grub-emu.c (main): Initialize and de-initialize loopback
48288 support.
48289 * include/grub/disk.h (grub_disk_dev_id): Add
48290 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
48291
6f1c18bd 482922005-01-20 Hollis Blanchard <hollis@penguinppc.org>
48293
48294 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
48295 function.
48296 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
48297 (suspend_mod_SOURCES): New variable.
48298 (suspend_mod_CFLAGS): Likewise.
48299 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
48300 New prototype.
48301 * commands/ieee1275/suspend.c: New file.
48302
b38551da 483032005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48304
48305 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 48306 ((unused))' to `__attribute__ ((used))'.
b38551da 48307 (GRUB_MOD_FINI): Likewise.
48308 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
48309 * genmk.rb (PModule): Assign space to common symbols when linking
48310 modules.
48311
777aff39 483122005-01-20 Marco Gerards <metgerards@student.han.nl>
48313
48314 * include/grub/mm.h (grub_mm_init_region): Change the type of the
48315 `unsigned' arguments to `grub_size_t'.
48316 (grub_malloc): Likewise.
48317 (grub_realloc): Likewise.
48318 (grub_memalign): Likewise.
48319 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
48320 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
48321 * util/misc.c (grub_malloc): Likewise.
48322 (grub_realloc): Likewise.
48323 * kern/mm.c (get_header_from_pointer): Change the casts to
48324 `unsigned' into a cast to `grub_size_t'.
48325
48326 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
48327 point to `currnode' when `currnode' is changed.
48328
48329 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
48330 Schottelius <nico-linux@schottelius.org>.
48331
d0ff18e1 483322005-01-09 Hollis Blanchard <hollis@penguinppc.org>
48333
48334 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
48335 (note_path): Remove variable.
48336 (GRUB_IEEE1275_NOTE_NAME): New macro.
48337 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
48338 (grub_ieee1275_note_hdr): New structure.
48339 (grub_ieee1275_note_desc): Likewise.
48340 (grub_ieee1275_note): Likewise.
48341 (load_note): Remove `dir' argument. All callers updated. Remove
48342 `note_img' and `path'. Do not load a file from `note_path'.
48343 Initialize a struct grub_ieee1275_note and write that to `out'.
48344 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
48345
4ca7004c 483462005-01-05 Marco Gerards <metgerards@student.han.nl>
48347
48348 * util/misc.c (grub_util_read_image): Revert last change. It
48349 called `grub_util_read_at', which seeks from the beginning of the
48350 file.
48351
0b412211 483522005-01-04 Hollis Blanchard <hollis@penguinppc.org>
48353
48354 * TODO: Add note about endianness in grub-mkimage.
48355 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
48356 section.
48357 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
48358 (grub_mkimage_SOURCES): New target.
48359 * include/grub/kernel.h (grub_start_addr): Remove variable.
48360 (grub_end_addr): Likewise.
48361 (grub_total_module_size): Likewise.
48362 (grub_kernel_image_size): Likewise.
48363 (GRUB_MODULE_MAGIC): New constant.
48364 (grub_module_info): New structure.
48365 (grub_arch_modules_addr): New prototype.
48366 (grub_get_end_addr): Remove prototype.
48367 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
48368 * include/grub/powerpc/ieee1275/kernel.h: New file.
48369 * include/grub/util/misc.h (grub_util_get_fp_size): New
48370 prototype.
48371 (grub_util_read_at): Likewise.
48372 (grub_util_write_image_at): Likewise.
48373 * kern/main.c (grub_get_end_addr): Remove function.
48374 (grub_load_modules): Call grub_arch_modules_addr instead of using
48375 grub_end_addr. Look for a grub_module_info struct in memory. Use
48376 the grub_module_info fields instead of calling grub_get_end_addr
48377 as loop conditions. Move grub_add_unused_region code here.
48378 (grub_add_unused_region): Remove function.
48379 * kern/i386/pc/init.c: Include grub/cache.h.
48380 (grub_machine_init): Remove call to grub_get_end_addr. Remove
48381 one call to add_mem_region.
48382 (grub_arch_modules_addr): New function.
48383 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
48384 (grub_total_module_size): Likewise.
48385 Include grub/machine/kernel.h.
48386 (grub_arch_modules_addr): New function.
48387 * util/grub-emu.c (grub_end_addr): Remove variable.
48388 (grub_total_module_size): Likewise.
48389 (grub_arch_modules_addr): New function.
48390 * util/misc.c: Include unistd.h.
48391 (grub_util_get_fp_size): New function.
48392 (grub_util_read_at): Likewise.
48393 (grub_util_write_image_at): Likewise.
48394 (grub_util_read_image): Call grub_util_read_at.
48395 (grub_util_write_image): Call grub_util_write_image_at.
48396 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
48397 additional memory in kernel_img for a struct grub_module_info.
48398 Fill in that grub_module_info.
48399 * util/powerpc/ieee1275/grub-mkimage.c: New file.
48400
458786f8 484012005-01-03 Hollis Blanchard <hollis@penguinppc.org>
48402
48403 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
48404 New function.
48405 * include/grub/powerpc/ieee1275/ieee1275.h
48406 (grub_ieee1275_milliseconds): New prototype.
48407 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
48408 Change to 1000.
48409 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
48410 grub_ieee1275_milliseconds.
48411
ac507d1b 484122005-01-03 Hollis Blanchard <hollis@penguinppc.org>
48413
48414 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
48415 variable.
48416 (find_options): New function.
48417 (cmain): Call find_options.
48418 * include/grub/powerpc/ieee1275/ieee1275.h
48419 (grub_ieee1275_realmode): New extern variable.
48420 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
48421 grub_map if grub_ieee1275_realmode is false.
48422
6b8fd1c4 484232004-12-29 Marco Gerards <metgerards@student.han.nl>
48424
48425 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
48426 lines are inserted and make it work like readline. Reported by
48427 Vincent Pelletier <subdino2004@yahoo.fr>.
48428
8514a1e0 484292004-12-28 Marco Gerards <metgerards@student.han.nl>
48430
48431 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
48432
48433 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
48434 `kern/powerpc/cache.S'.
48435
924b6140 484362004-12-27 Marco Gerards <metgerards@student.han.nl>
48437
48438 * genmk.rb: Handle the `Program' class in the main loop. Written
48439 by Johan Rydberg <jrydberg@gnu.org>.
48440 (Program): New class.
48441 (programs): New variable.
48442 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
48443 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
48444 instead of "grub/kernel.h". Include <grub/machine/init.h>.
48445 (help_arch): Function removed.
48446 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
48447 `powerpc/libgcc.h' and `loader.h'.
48448 (pkgdata_PROGRAMS): New variable.
48449 (sbin_UTILITIES): Variable removed.
48450 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
48451 (grubof_SOURCES): Variable re-defined so it only includes the
48452 core functionality.
48453 (grubof_CFLAGS): Remove `-DGRUBOF'.
48454 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
48455 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
48456 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
48457 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
48458 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
48459 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
48460 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
48461 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
48462 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
48463 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
48464 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
48465 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
48466 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
48467 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
48468 (pc_mod_CFLAGS): New variables.
48469 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
48470 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
48471 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
48472 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
48473 Moved from here...
48474 * include/grub/i386/pc/init.h (grub_os_area_addr)
48475 (rub_os_area_size): ... to here.
48476 * include/grub/powerpc/ieee1275/ieee1275.h
48477 (grub_ieee1275_entry_fn): Export symbol.
48478 * include/grub/powerpc/ieee1275/init.h: New file.
48479 * include/grub/powerpc/libgcc.h: Likewise.
48480 * include/grub/cache.h: Likewise.
48481 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
48482 <hollis@penguinppc.org>.
48483 * kern/dl.c: Include <grub/cache.h>.
48484 (grub_dl_flush_cache): New function.
48485 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
48486 for this module.
48487 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
48488 (grub_console_init): Removed prototypes.
48489 (grub_machine_init): Don't initialize the modules anymore.
48490 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
48491 static.
48492 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
48493 Macro undef removed.
48494 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
48495 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
48496 relocation `R_PPC_REL32'. Return an error when the relocation is
48497 unknown.
48498 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
48499 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
48500 * util/misc.c (grub_arch_sync_caches): Likewise.
48501
e4b47e0c 485022004-12-19 Marco Gerards <metgerards@student.han.nl>
48503
48504 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
48505 `symlist.c', add `grubof_symlist.c'.
48506 (symlist.c): Variable removed.
48507 (grubof_HEADERS): Variable added.
48508 (grubof_symlist.c): New target.
48509 (kernel_syms.lst): Use `grubof_HEADERS' instead of
48510 `kernel_img_HEADERS'.
48511 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
48512 * kern/powerpc/dl.c: New file.
48513 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
48514 Function removed.
48515 (grub_arch_dl_relocate_symbols): Likewise.
48516 (grub_register_exported_symbols): Likewise.
48517
4ceb3636 485182004-12-13 Marco Gerards <metgerards@student.han.nl>
48519
48520 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
48521 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
48522 to fail instead. Reported by Vincent Pelletier
48523 <subdino2004@yahoo.fr>.
48524
48525 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
48526 it is not allocated. Reported by Vincent Pelletier
48527 <subdino2004@yahoo.fr>.
48528
48529 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
48530 output so the output looks better.
f19dbdb7 48531
3f1578fe 485322004-12-04 Marco Gerards <metgerards@student.han.nl>
48533
48534 Modulize the partition map support and add support for the amiga
48535 partition map.
f19dbdb7 48536
3f1578fe 48537 * commands/ls.c: Include <grub/partition.h> instead of
48538 <grub/machine/partition.h>.
48539 * kern/disk.c: Likewise.
48540 * kern/rescue.c: Likewise.
48541 * loader/i386/pc/chainloader.c: Likewise.
48542 * normal/cmdline.c: Likewise.
48543 * kern/powerpc/ieee1275/init.c: Likewise.
48544 (grub_machine_init): Call `grub_pc_partition_map_init',
48545 `grub_amiga_partition_map_init' and
48546 `grub_apple_partition_map_init'.
48547 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
48548 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
48549 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
48550 `partition.h' and `pc_partition.h'.
48551 (grub_setup_SOURCES): Remove
48552 `disk/i386/pc/partition.c'. Add `kern/partition.c',
48553 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
48554 (grub_emu_SOURCES): Likewise.
48555 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
48556 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
48557 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
48558 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
48559 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
48560 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
48561 (grubof_SOURCES): Likewise.
48562 * disk/i386/pc/partition.c: File removed.
48563 * disk/powerpc/ieee1275/partition.c: Likewise.
48564 * include/grub/powerpc/ieee1275/partition.h: Likewise.
48565 * include/grub/i386/pc/partition.h: Likewise.
48566 * kern/partition.c: New file.
48567 * partmap/amiga.c: Likewise.
48568 * partmap/apple.c: Likewise.
48569 * partmap/pc.c: Likewise.
48570 * include/grub/partition.h: Likewise..
48571 * include/grub/pc_partition.h: Likewise.
48572 * util/grub-emu.c: Include <grub/partition.h> instead of
48573 <grub/machine/partition.h>.
48574 (main): Call `grub_pc_partition_map_init',
48575 `grub_amiga_partition_map_init' and
48576 `grub_apple_partition_map_init' and deinitialize afterwards.
48577 * util/i386/pc/biosdisk.c: Include `#include
48578 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
48579 `<grub/machine/partition.h>'.
48580 * util/i386/pc/grub-setup.c: Likewise.
48581 * util/i386/pc/biosdisk.c: Likewise.
48582 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
48583 partition information in case of a PC partition.
48584 * util/i386/pc/grub-setup.c: Include `#include
48585 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
48586 `<grub/machine/partition.h>'.
48587 (setup): Only access the PC specific partition information in case
48588 of a PC partition.
48589
0ef4ced9 485902004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 48591
0ef4ced9 48592 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
48593 (grub_longjmp): Likewise.
48594 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
48595 20.
48596 * normal/powerpc/setjmp.S: New file.
48597 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
48598 `normal/powerpc/setjmp.S'.
48599 (grubof_CFLAGS): Add `-DGRUBOF'.
48600 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
48601 [GRUB_UTIL && !GRUBOF].
f19dbdb7 48602
19950e29 486032004-11-16 Marco Gerards <metgerards@student.han.nl>
48604
48605 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
48606 property named `name'. Correctly handle the error returned by
48607 `grub_ieee1275_finddevice' if a device can not be opened.
48608
a2fea427 486092004-11-02 Hollis Blanchard <hollis@penguinppc.org>
48610
48611 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
48612 `actual' for negativity.
48613 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
48614 kern/fshelp.c.
48615
41ea0ea3 486162004-11-01 Marco Gerards <metgerards@student.han.nl>
48617
48618 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
48619 (PAGE_OFFSET): New macro.
48620 (CRTC_ADDR_PORT): Likewise.
48621 (CRTC_DATA_PORT): Likewise.
48622 (START_ADDR_HIGH_REGISTER): Likewise.
48623 (START_ADDR_LOW_REGISTER): Likewise.
48624 (GRAPHICS_ADDR_PORT): Likewise.
48625 (GRAPHICS_DATA_PORT): Likewise.
48626 (READ_MAP_REGISTER): Likewise.
48627 (INPUT_STATUS1_REGISTER): Likewise.
48628 (INPUT_STATUS1_VERTR_BIT): Likewise.
48629 (page): New variable.
48630 (wait_vretrace): New function.
48631 (set_read_map): Likewise.
48632 (set_start_address): Likewise.
48633 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
48634 the right page.
48635 (check_vga_mem): Take the page into account.
48636 (write_char): Likewise.
48637 (write_cursor): Likewise.
48638 (scroll_up): Likewise. Copy the page to the page that is not
48639 shown and switch between both pages.
48640 (grub_vga_putchar): Fix off by one error.
48641 (grub_vga_cls): Wait for the vertical retrace. Take the page into
48642 account.
48643
ad0bd20b 486442004-11-01 Marco Gerards <metgerards@student.han.nl>
48645
48646 Add support for iso9660 (including rockridge).
f19dbdb7 48647
ad0bd20b 48648 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
48649 (iso9660_mod_SOURCES): New variable.
48650 (iso9660_mod_CFLAGS): Likewise.
48651 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
48652 * include/grub/fs.h (grub_iso9660_init): New prototype.
48653 * util/grub-emu.c (main): Call `grub_iso9660_init'.
48654 * fs/iso9660.c: New file.
48655
48656 * include/grub/misc.h (grub_strncat): New prototype.
48657 * kern/misc.c (grub_strncat): New function.
f19dbdb7 48658
ad0bd20b 48659 * fs/hfs.c (grub_hfs_mount): Translate the error
48660 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
48661 * fs/jfs.c (grub_jfs_mount): Likewise.
48662 * fs/ufs.c (grub_ufs_mount): Likewise.
48663
a5477a59 486642004-10-28 Hollis Blanchard <hollis@penguinppc.org>
48665
48666 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
48667 which initialized BAT registers.
48668 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
48669 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
48670 Move from here...
48671 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
48672 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
48673 ... to here.
48674 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
48675 (grub_mapclaim): Likewise.
48676 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
48677 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
48678 hand.
48679
9304c1f8 486802004-10-19 Hollis Blanchard <hollis@penguinppc.org>
48681
48682 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
48683 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
48684 -ffreestanding and -msoft-float.
48685
86f4ae25 486862004-10-15 Hollis Blanchard <hollis@penguinppc.org>
48687
48688 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
48689 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
48690 set in grub_ieee1275_flags.
48691
38912228 486922004-10-14 Hollis Blanchard <hollis@penguinppc.org>
48693
48694 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
48695 prototype.
48696 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
48697 grub_console_init first.
48698 Change the memory range used for grub_ieee1275_claim and
48699 grub_mm_init_region.
48700 Print an error message if the claim fails.
48701 Include <grub/misc.h>.
48702
d1923dc8 487032004-10-13 Hollis Blanchard <hollis@penguinppc.org>
48704
48705 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
48706 Call grub_children_iterate for device nodes of type `scsi',
48707 `ide', or `ata'.
48708 (grub_ofdisk_open): Remove manual device alias resolution.
48709 Fix memory leak when device cannot be opened.
f19dbdb7 48710 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 48711 (grub_children_iterate): New prototype.
48712 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
48713 New function.
48714 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
48715 Return -1 if args.size was -1.
48716
4512e4f3 487172004-10-11 Hollis Blanchard <hollis@penguinppc.org>
48718
48719 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
48720 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
48721 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
48722 Open Firmware's memory for it; claim memory from _start to _end.
48723 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
48724 (_end): New extern.
48725 (_start): Zero BSS from __bss_start to _end.
48726 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
48727 New extern.
48728 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
48729
4d61feb0 487302004-10-11 Hollis Blanchard <hollis@penguinppc.org>
48731
ad0bd20b 48732 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
48733 -1 if args.base was -1.
4d61feb0 48734
026fa2f9 487352004-10-08 Hollis Blanchard <hollis@penguinppc.org>
48736
48737 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
48738 escape sequence instead of a literal ^L. Also call
48739 grub_ofconsole_gotoxy.
48740
9f2220ef 487412004-10-03 Hollis Blanchard <hollis@penguinppc.org>
48742
48743 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
48744 void * arguments to grub_addr_t. All callers updated. Also make
48745 the `result' argument optional.
48746 (grub_ieee1275_release): change void * arguments to grub_addr_t.
48747 All callers updated.
48748
8a572cd7 487492004-09-22 Hollis Blanchard <hollis@penguinppc.org>
48750
48751 * commands/ls.c (grub_ls_list_files): Use the string following the
48752 initial ')', if present, as the filesystem path.
48753 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
48754
48755 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
48756
18aa81f2 487572004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
48758
48759 Make the source code of the menu interface more readable.
f19dbdb7 48760
18aa81f2 48761 * normal/menu.c: Include grub/mm.h.
48762 (TERM_WIDTH): New macro.
48763 (TERM_HEIGHT): Likewise.
48764 (TERM_INFO_HEIGHT): Likewise.
48765 (TERM_MARGIN): Likewise.
48766 (TERM_SCROLL_WIDTH): Likewise.
48767 (TERM_TOP_BORDER_Y): Likewise.
48768 (TERM_LEFT_BORDER_X): Likewise.
48769 (TERM_BORDER_WIDTH): Likewise.
48770 (TERM_MESSAGE_HEIGHT): Likewise.
48771 (TERM_BORDER_HEIGHT): Likewise.
48772 (TERM_NUM_ENTRIES): Likewise.
48773 (TERM_FIRST_ENTRY_Y): Likewise.
48774 (TERM_ENTRY_WIDTH): Likewise.
48775 (TERM_CURSOR_X): Likewise.
48776 (draw_border): Use macros instead of magic numbers.
48777 (print_entry): Likewise.
48778 (print_entries): Likewise.
48779 (run_menu): Likewise. Also, handle the key 'e'.
48780 (run_menu_entry): Ignore empty command lines.
48781 (print_message): Added a new argument EDIT. If EDIT is true,
48782 print a different message.
48783 (init_page): Likewise.
48784 (edit_menu_entry): New function. Not implemented yet.
48785
b47efe30 487862004-09-17 Marco Gerards <metgerards@student.han.nl>
48787
48788 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
48789 can be loaded from normal mode.
f19dbdb7 48790
b47efe30 48791 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
48792 `multiboot.mod'.
48793 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
48794 (multiboot_mod_CFLAGS): New variables.
48795 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 48796 * loader/i386/pc/multiboot_normal.c: Likewise.
48797
b47efe30 48798 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
48799 attribute `unused'.
f19dbdb7 48800
b47efe30 48801 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
48802 `fdiro' to read the mode information from instead of `diro'.
48803
48804 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
48805 looking up a symlink.
48806
48807 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
48808 macro.
48809 * normal/command.c (grub_command_execute): Don't parse the
48810 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
48811 flags of the command.
48812
48813 * normal/menu.c (grub_menu_run): Fix typo.
48814
da75ac71 488152004-09-14 Hollis Blanchard <hollis@penguinppc.org>
48816
48817 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
48818
48819 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
48820 `y + 1' instead of `y - 1'.
48821
48822 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 48823
062b24c2 488242004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
48825
48826 From Hollis Blanchard <hollis@penguinppc.org>:
48827 * kern/misc.c (memmove): New alias for grub_memmove.
48828 (memcmp): New alias for grub_memcmp.
48829 (memset): New alias for grub_memset.
f19dbdb7 48830 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 48831 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 48832 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 48833 (grub_ieee1275_get_property): Likewise.
f19dbdb7 48834
8ddad845 488352004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
48836
48837 Added normal mode command `chainloader' as module chain.mod, which
48838 depends on normal.mod and _chain.mod.
f19dbdb7 48839
8ddad845 48840 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
48841 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
48842 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
48843 Deleted prototype.
48844 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
48845 but arguments parsing moved to ...
48846 (grub_chainloader_cmd): ... here. New function.
48847 * include/grub/i386/pc/chainloader.h: New file.
48848 * loader/i386/pc/chainloader_normal.c: Likewise.
48849
2c1f4ce3 488502004-09-11 Marco Gerards <metgerards@student.han.nl>
48851
48852 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
48853 (grub_mkimage_LDFLAGS): Likewise.
48854 (grub_emu_SOURCES): Likewise.
48855 (kernel_img_HEADERS): Added fshelp.h.
48856 * fs/ext2.c: Include <grub/fshelp.h>.
48857 (FILETYPE_REG): New macro.
48858 (FILETYPE_INO_REG): Likewise.
48859 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
48860 Changed all users.
48861 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
48862 all users.
48863 (grub_fshelp_node): New struct.
48864 (grub_ext2_data): Added member `diropen'. Changed member `inode'
48865 to a pointer.
48866 (grub_ext2_get_file_block): Removed function.
48867 (grub_ext2_read_block): New function.
48868 (grub_ext2_read_file): Replaced parameter `data' by `node'.
48869 This function was written.
48870 (grub_ext2_mount): Read the root inode. Create a diropen struct.
48871 (grub_ext2_find_file): Removed function.
48872 (grub_ext2_read_symlink): New function.
48873 (grub_ext2_iterate_dir): Likewise.
48874 (grub_ext2_open): Rewritten.
48875 (grub_ext2_dir): Rewritten.
48876 * include/grub/fshelp.h: New file.
48877 * fs/fshelp.c: Likewise.
48878
3c52136a 488792004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
48880
48881 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
48882 (print_message): Add a missing newline.
48883 (run_menu): Added timeout support.
48884 (run_menu_entry): New local function.
48885 (grub_menu_run): Added support for booting.
48886
48887 * kern/loader.c (grub_loader_is_loaded): New function.
48888
48889 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
48890 (grub_get_rtc): Exported.
48891
48892 * include/grub/i386/pc/time.h: Include grub/symbol.h.
48893 (grub_get_rtc): Exported.
48894
48895 * include/grub/normal.h (struct grub_command_list): Remove
48896 constant from the member `command'.
48897
48898 * include/grub/loader.h (grub_loader_is_loaded): Declared.
48899
48900 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
48901
48902 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
48903
aa033560 489042004-08-28 Marco Gerards <metgerards@student.han.nl>
48905
48906 Add support for the JFS filesystem.
48907
48908 * fs/jfs.c: New file.
48909 * include/grub/fs.h (grub_jfs_init): New prototype.
48910 (grub_jfs_fini): New prototype.
48911 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
48912 (grub_emu_SOURCES): Likewise.
48913 (pkgdata_MODULES): Add jfs.mod.
48914 (jfs_mod_SOURCES): New variable.
48915 (jfs_mod_CFLAGS): Likewise.
48916 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
48917 (grubof_SOURCES): Likewise.
48918 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
48919
48920 * fs/fat.c (grub_fat_find_dir): Convert the filename little
48921 endian to the host endian.
48922 (grub_fat_utf16_to_utf8): Move function from there...
48923 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 48924 the endianness of the source string anymore.
aa033560 48925 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
48926
94bc45af 489272004-08-24 Marco Gerards <metgerards@student.han.nl>
48928
48929 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
48930 (grub_boot_fini) [GRUB_UTIL]: Likewise.
48931 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
48932 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 48933
94bc45af 48934 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
48935 (grub_hfs_iterate_dir): Make the function static. Add prototypes
48936 for `node_found' and `it_dir'.
48937 (grub_hfs_dir): Add prototype for `dir_hook'.
48938
48939 * fs/minix.c (grub_minix_get_file_block): Add prototype for
48940 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
48941 and `indir32' to silence a gcc warning.
48942
48943 * include/grub/fs.h (grub_hfs_init): New prototype.
48944 (grub_hfs_fini): Likewise.
f19dbdb7 48945
48946
97543f08 489472004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
48948
48949 Each disk device has its own id now. This is useful to make use
48950 of multiple disk devices.
f19dbdb7 48951
97543f08 48952 * include/grub/disk.h (grub_disk_dev_id): New enum.
48953 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
48954 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
48955
48956 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
48957 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
48958
48959 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
48960 GRUB_DISK_DEVICE_OFDISK_ID as an id.
48961
48962 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
48963 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
48964
48965 * include/grub/disk.h (struct grub_disk_dev): Added a new member
48966 "id" which is used by the cache manager.
48967
48968 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
48969 of just "GRUB".
48970
64372eb4 489712004-08-18 Marco Gerards <metgerards@student.han.nl>
48972
48973 * fs/hfs.c: New file.
48974 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
48975 (grub_emu_SOURCES): Likewise.
48976 (pkgdata_MODULES): Add hfs.mod.
48977 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
48978 (grubof_SOURCES): Likewise.
48979 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
48980
48981 * include/grub/misc.h (grub_strncasecmp): Add prototype.
48982 * kern/misc.c (grub_strncasecmp): Add function.
48983
cc61b58f 489842004-08-14 Marco Gerards <metgerards@student.han.nl>
48985
48986 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
48987 with parentheses.
48988
48989 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
48990 (grub_ext2_dir): In case the directory entry type is unknown, read
48991 it from the inode.
48992
0ef123f6 489932004-08-02 Peter Bruin <pjbruin@dds.nl>
48994
48995 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
48996 grub_load_linux instead of grub_rescue_cmd_linux as second
48997 argument of grub_rescue_register_command.
48998
48999 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
49000
a447c5df 490012004-07-27 Marco Gerards <metgerards@student.han.nl>
49002
49003 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
49004 function.
49005 * commands/boot.c: Remove the check for `GRUB_UTIL'.
49006 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
49007 `loader/powerpc/ieee1275/linux.c',
49008 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
49009 * include/grub/powerpc/ieee1275/ieee1275.h
49010 (grub_ieee1275_release): New prototype.
49011 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
49012 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
49013 normal, boot, linux and linux_normal.
49014 * loader/powerpc/ieee1275/linux.c: New file.
49015 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
49016
5a9e3546 490172004-07-12 Marco Gerards <metgerards@student.han.nl>
49018
49019 * normal/arg.c (grub_arg_parse): Correct error handling after
49020 reallocating the argumentlist (check if `argl' is not null instead
49021 of checking if `args' is not null).
49022 * kern/mm.c (grub_realloc): Return the same pointer when using the
49023 same region, instead of returning the header address.
49024
e15199cb 490252004-07-11 Marco Gerards <metgerards@student.han.nl>
49026
49027 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
49028 one block instead of two when looking for the initial partition.
49029 (grub_partition_probe): Initialize the local variable `p' with 0.
49030 Use base 10 for the grub_strtoul call.
49031 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
49032 need for one local variable.
49033 (grub_strtoul): Don't add the new value to `num', instead of that
49034 just assign it.
49035
020616c2 490362004-07-11 Marco Gerards <metgerards@student.han.nl>
49037
49038 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
49039 (pxeboot_img_SOURCES): New variable.
49040 (pxeboot_img_ASFLAGS): Likewise.
49041 (pxeboot_img_LDFLAGS): Likewise.
49042 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
49043 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
49044 <lode_leroy@hotmail.com>.
49045
6c51eb64 490462004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49047
49048 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
49049 there was no input.
49050
cfb12aff 490512004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49052
49053 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
49054 the history buffer logic.
49055
6eabba74 490562004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49057
49058 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
49059 (FILETYPE_INO_SYMLINK): New macros.
49060 (grub_ext2_find_file): Check if the node is a directory using the
49061 inode stat information instead of using the filetype in the
49062 dirent. Exclude the first character of an absolute symlink.
49063 (grub_ext2_dir): Mask out the filetype part of the mode member of
49064 the inode.
49065
66e19ef8 490662004-05-24 Marco Gerards <metgerards@student.han.nl>
49067
49068 Add support for UFS version 1 and 2. Add support for the minix
49069 filesystem version 1 and 2, both the variants with 14 and 30 long
49070 filenames.
f19dbdb7 49071
66e19ef8 49072 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
49073 fs/minix.c.
49074 (grub_emu_SOURCES): Likewise.
49075 (pkgdata_MODULES): Add ufs.mod and minix.mod.
49076 (ufs_mod_SOURCES): New variable.
49077 (ufs_mod_CFLAGS): Likewise.
49078 (minix_mod_SOURCES): Likewise.
49079 (minix_mod_CFLAGS): Likewise.
49080 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
49081 fs/minix.c.
49082 (grubof_SOURCES): Likewise.
49083 * fs/ufs.c: New file.
49084 * fs/minix.c: New file.
49085 * include/grub/fs.h (grub_ufs_init): New prototype.
49086 (grub_ufs_fini): Likewise.
49087 (grub_minix_init): Likewise.
49088 (grub_minix_fini): Likewise.
49089 * util/grub-emu.c (main): Initialize and deinitialize UFS and
49090 minix fs.
49091
cc2e748a 490922004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
49093
49094 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
49095 commands/ls.c, commands/terminal.c, commands/boot.c,
49096 commands/cmp.c and commands/cat.c.
49097 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
49098
49099 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
49100 "env.h"
49101
4b13b216 491022004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
49103
49104 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
49105 and grub_, respectively. Because the conversion is trivial and
49106 mechanical, I omit the details here. Please refer to the CVS
49107 if you need more information.
49108
6a142551 491092004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
49110
49111 * include/pupa: Renamed to ...
49112 * include/grub: ... this.
49113 * util/i386/pc/pupa-mkimage.c: Renamed to ...
49114 * util/i386/pc/grub-mkimage.c: ... this.
49115 * util/i386/pc/pupa-setup.c: Renamed to ...
49116 * util/i386/pc/grub-setup.c: ... this.
49117 * util/pupa-emu.c: Renamed to ...
49118 * util/grub-emu.c: ... this.
49119
e56cdf21 491202004-03-29 Marco Gerards <metgerards@student.han.nl>
49121
49122 Add support for the newworld apple macintosh (PPC). This has been
49123 tested on the powerbook 2000 only. It only adds support for
49124 generic ieee1275 functions, console and disk support. This should
49125 be easy to port to other architectures with support for Open
49126 Firmware.
f19dbdb7 49127
e56cdf21 49128 * configure.ac: Accept the powerpc as host_cpu. In the case of
49129 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
49130 specific tests are only executed while building for the i386.
49131 Inverse test for crosscompile.
49132 * genmk.rb (Utility): Allow assembler files.
49133 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
49134 * conf/powerpc-ieee1275.rmk: New file.
49135 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
49136 * disk/powerpc/ieee1275/partition.c: Likewise.
49137 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
49138 * include/pupa/powerpc/ieee1275/console.h: Likewise.
49139 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
49140 * include/pupa/powerpc/ieee1275/time.h: Likewise.
49141 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
49142 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
49143 * include/pupa/powerpc/ieee1275/loader.h
49144 * include/pupa/powerpc/setjmp.h: Likewise.
49145 * include/pupa/powerpc/types.h: Likewise.
49146 * kern/powerpc/ieee1275/init.c: Likewise.
49147 * kern/powerpc/ieee1275/openfw.c: Likewise.
49148 * term/powerpc/ieee1275/ofconsole.c: Likewise.
49149
49150 These files were written by Johan Rydberg
49151 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 49152
e56cdf21 49153 * boot/powerpc/ieee1275/cmain.c: New file.
49154 * boot/powerpc/ieee1275/crt0.S: Likewise.
49155 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
49156 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
49157
8c8cc205 491582004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
49159
49160 * Makefile.in: Update copyright.
49161 * genmodsrc.sh: Likewise.
49162 * gensymlist.sh: Likewise.
49163 * term/i386/pc/vga.c: Indent correctly.
49164
49165 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
49166 bugreporting address.
49167 * util/i386/pc/pupa-setup.c (usage): Likewise,
49168 (main): Call pupa_ext2_init and pupa_ext2_fini.
49169
f19dbdb7 49170 * fs/fat.c (log2): Renamed to ...
8c8cc205 49171 (fat_log2): ... this.
49172 All callers changed.
49173 * kern/misc.c (memcpy): Alias to pupa_memmove.
49174 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
49175 lvalue cast.
49176 * util/console.c (pupa_ncurses_fini): Return 0.
49177
49178 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
49179 Move fail label here.
49180 [__GNU__]: Don't warn when using stat.
49181 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
49182 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
49183 long int. Use strtol instead of strtoul.
f19dbdb7 49184
db1771cf 491852004-03-14 Marco Gerards <metgerards@student.han.nl>
49186
49187 * commands/boot.c: New file.
49188 * commands/cat.c: Likewise.
49189 * commands/cmp.c: Likewise.
49190 * commands/ls.c: Likewise.
49191 * commands/terminal.c: Likewise.
49192 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
49193 (pupa_register_command): Changed interface to match the new
49194 argument parser.
49195 (pupa_command_execute): Changed (almost rewritten) so it uses
49196 pupa_split_command. Added support for setting variables using the
49197 syntax `foo=bar'.
49198 (rescue_command): Changed to work with the new argument parser.
49199 (terminal_command): Moved from here to commands/terminal.c.
49200 (set_command): New function.
49201 (unset_command): New function.
49202 (insmod_command): New function.
49203 (rmmod_command): New function.
49204 (lsmod_command): New function.
49205 (pupa_command_init): Don't initialize the command terminal
49206 anymore. Initialize the commands set, unset, insmod, rmmod and
49207 lsmod.
49208 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
49209 (kernel_img_HEADERS): Add arg.h and env.h.
49210 (pupa_mkimage_LDFLAGS): Add kern/env.c.
49211 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
49212 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
49213 normal/arg.c.
49214 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
49215 terminal.mod.
49216 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
49217 (boot_mod_SOURCES): New variable.
49218 (terminal_mod_SOURCES): Likewise.
49219 (ls_mod_SOURCES): Likewise.
49220 (cmp_mod_SOURCES): Likewise.
49221 (cat_mod_SOURCES): Likewise.
49222
49223 * normal/arg.c: New file.
49224 * kern/env.c: Likewise.
49225 * include/pupa/arg.h: Likewise.
49226 * include/pupa/env.h: Likewise.
49227 * font/manager.c (font_command): Changed to match argument parsing
49228 interface changes.
49229 (PUPA_MOD_INIT): Likewise.
49230 * hello/hello.c (pupa_cmd_hello): Likewise.
49231 (PUPA_MOD_INIT): Likewise.
49232 * include/pupa/disk.h: Include <pupa/device.h>.
49233 (pupa_print_partinfo): New prototype.
49234 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
49235 (pupa_dl_get_prefix): Likewise.
49236 * include/pupa/misc.h: Include <pupa/err.h>.
49237 (pupa_isgraph): New prototype.
49238 (pupa_isdigit): Likewise.
49239 (pupa_split_cmdline): Likewise.
49240 * include/pupa/normal.h: Include <pupa/arg.h>.
49241 (pupa_command): Changed the prototype of the member `func' to
49242 match the argument parsing interface. Added member `options'.
49243 (pupa_register_command): Updated to match function.
49244 (pupa_arg_parse): New prototype.
49245 (pupa_hello_init) [PUPA_UTIL]: New prototype.
49246 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
49247 (pupa_ls_init) [PUPA_UTIL]: Likewise.
49248 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
49249 (pupa_cat_init) [PUPA_UTIL]: Likewise.
49250 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
49251 (pupa_boot_init) [PUPA_UTIL]: Likewise.
49252 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
49253 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
49254 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
49255 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
49256 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
49257 * kern/disk.c: Include <pupa/file.h>.
49258 (pupa_print_partinfo): New function.
49259 * kern/dl.c: Include <pupa/env.h>.
49260 (pupa_dl_dir): Variable removed.
49261 (pupa_dl_load): Use the environment variable `prefix' instead of
49262 the variable pupa_dl_dir.
49263 (pupa_dl_set_prefix): Function removed.
49264 (pupa_dl_get_prefix): Likewise.
49265 * kern/i386/pc/init.c: Include <pupa/env.h>.
49266 (pupa_machine_init): Use the environment variable `prefix' instead of
49267 using pupa_dl_set_prefix to set the prefix.
49268 * kern/main.c: Include <pupa/env.h>.
49269 (pupa_set_root_dev): Use the environment variable `prefix' instead of
49270 using pupa_dl_get_prefix to get the prefix.
49271 * kern/misc.c: Include <pupa/env.h>.
49272 (pupa_isdigit): New function.
49273 (pupa_isgraph): Likewise.
49274 (pupa_ftoa): Likewise.
49275 (pupa_vsprintf): Added support for printing values of the type
49276 `double'. Make it possible to format variable output when using
49277 formatting like `%1.2%f'.
49278 (pupa_split_cmdline): New function.
49279 * kern/rescue.c: Include <pupa/env.h>.
49280 (next_word): Removed function.
49281 (pupa_rescue_cmd_prefix): Likewise.
49282 (pupa_rescue_cmd_set): New function.
49283 (pupa_rescue_cmd_unset): New function.
49284 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
49285 split the command line instead of splitting it here. Added
49286 support for setting variables using the syntax `foo=bar'. Don't
49287 initialize the prefix command anymore. Initialized the set and
49288 unset commands.
49289 * normal/cmdline.c: Include <pupa/env.h>.
49290 (pupa_tab_complete): Added prototypes for print_simple_completion,
49291 print_partition_completion, add_completion, iterate_commands,
49292 iterate_dev, iterate_part and iterate_dir. Moved code to print
49293 partition information from here to kern/disk.c.
fe6b695a 49294 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 49295 * normal/main.c: Include <pupa/env.h>.
49296 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
49297 instead of using pupa_dl_get_prefix to get the prefix.
49298 * term/i386/pc/vga.c: Include <pupa/arg.h>.
49299 (check_vga_mem): Cast pointers to `void *' to silence a gcc
49300 warning.
49301 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
49302 (pupa_vga_setcolor): Declare unused variables with `__attribute__
49303 ((unused))' to silence a gcc warning.
49304 (pupa_vga_setcolor): Likewise.
49305 (debug_command): Changed to match argument parsing
49306 interface changes.
49307 * util/pupa-emu.c: Include <pupa/env.h>.
49308 (options): Added 0's for unused fields to silence a gcc warning.
49309 (argp): Likewise.
49310 (main): Use the environment variable `prefix' instead of using
49311 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
49312 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
49313 and terminal.
49314
49315 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
49316 * util/misc.c: Include <malloc.h>.
49317 (pupa_malloc): Rewritten so errors are correctly reported.
49318 (pupa_realloc): Likewise.
49319 (pupa_memalign): Likewise.
49320 (pupa_mm_init_region): Declare unused variables with
49321 `__attribute__ ((unused))' to silence a gcc warning.
49322 * normal/i386/setjmp.S: Remove tab at the end of the file to
49323 silence a gcc warning.
49324 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
49325 variables with `__attribute__ ((unused))' to silence a gcc
49326 warning.
49327 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
49328 local variable i unsigned to silence a gcc warning.
49329
49330 * kern/term.c: Include <pupa/misc.h>.
49331 (pupa_more_lines): New variable.
49332 (pupa_more): Likewise.
49333 (pupa_putcode): When the pager is active pause at the end of every
49334 screen.
49335 (pupa_set_more): New function.
49336 * include/pupa/term.h (pupa_set_more): New prototype.
49337
49338
3b1139cb 493392004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
49340
49341 Now this project is GRUB 2 rather than PUPA. The location of
49342 the CVS repository was moved to GRUB's.
f19dbdb7 49343
3b1139cb 49344 * configure.ac: Use bug-grub as the reporting address.
49345 Use GRUB instead of PUPA.
49346 Change the version number to 1.90.
49347
8367695c 493482004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
49349
49350 * genkernsyms.sh: Updated copyright information.
49351 * genmk.rb: Likewise.
49352 * genmodsrc.sh: Likewise.
49353 * gensymlist.sh: Likewise.
49354 * boot/i386/pc/boot.S: Likewise.
49355 * boot/i386/pc/diskboot.S: Likewise.
49356 * disk/i386/pc/biosdisk.c: Likewise.
49357 * disk/i386/pc/partition.c: Likewise.
49358 * font/manager.c: Likewise.
49359 * fs/ext2.c: Likewise.
49360 * fs/fat.c: Likewise.
49361 * include/pupa/boot.h: Likewise.
49362 * include/pupa/device.h: Likewise.
49363 * include/pupa/disk.h: Likewise.
49364 * include/pupa/dl.h: Likewise.
49365 * include/pupa/elf.h: Likewise.
49366 * include/pupa/err.h: Likewise.
49367 * include/pupa/file.h: Likewise.
49368 * include/pupa/font.h: Likewise.
49369 * include/pupa/fs.h: Likewise.
49370 * include/pupa/kernel.h: Likewise.
49371 * include/pupa/loader.h: Likewise.
49372 * include/pupa/misc.h: Likewise.
49373 * include/pupa/mm.h: Likewise.
49374 * include/pupa/net.h: Likewise.
49375 * include/pupa/normal.h: Likewise.
49376 * include/pupa/rescue.h: Likewise.
49377 * include/pupa/setjmp.h: Likewise.
49378 * include/pupa/symbol.h: Likewise.
49379 * include/pupa/term.h: Likewise.
49380 * include/pupa/types.h: Likewise.
49381 * include/pupa/i386/setjmp.h: Likewise.
49382 * include/pupa/i386/types.h: Likewise.
49383 * include/pupa/i386/pc/biosdisk.h: Likewise.
49384 * include/pupa/i386/pc/boot.h: Likewise.
49385 * include/pupa/i386/pc/console.h: Likewise.
49386 * include/pupa/i386/pc/init.h: Likewise.
49387 * include/pupa/i386/pc/kernel.h: Likewise.
49388 * include/pupa/i386/pc/linux.h: Likewise.
49389 * include/pupa/i386/pc/loader.h: Likewise.
49390 * include/pupa/i386/pc/memory.h: Likewise.
49391 * include/pupa/i386/pc/multiboot.h: Likewise.
49392 * include/pupa/i386/pc/partition.h: Likewise.
49393 * include/pupa/i386/pc/time.h: Likewise.
49394 * include/pupa/i386/pc/vga.h: Likewise.
49395 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
49396 * include/pupa/util/getroot.h: Likewise.
49397 * include/pupa/util/misc.h: Likewise.
49398 * include/pupa/util/resolve.h: Likewise.
49399 * kern/device.c: Likewise.
49400 * kern/disk.c: Likewise.
49401 * kern/dl.c: Likewise.
49402 * kern/err.c: Likewise.
49403 * kern/file.c: Likewise.
49404 * kern/fs.c: Likewise.
49405 * kern/loader.c: Likewise.
49406 * kern/main.c: Likewise.
49407 * kern/misc.c: Likewise.
49408 * kern/mm.c: Likewise.
49409 * kern/rescue.c: Likewise.
49410 * kern/term.c: Likewise.
49411 * kern/i386/dl.c: Likewise.
49412 * kern/i386/pc/init.c: Likewise.
49413 * kern/i386/pc/lzo1x.S: Likewise.
49414 * kern/i386/pc/startup.S: Likewise.
49415 * loader/i386/pc/chainloader.c: Likewise.
49416 * loader/i386/pc/linux.c: Likewise.
49417 * loader/i386/pc/multiboot.c: Likewise.
49418 * normal/cmdline.c: Likewise.
49419 * normal/command.c: Likewise.
49420 * normal/main.c: Likewise.
49421 * normal/menu.c: Likewise.
49422 * normal/i386/setjmp.S: Likewise.
49423 * term/i386/pc/console.c: Likewise.
49424 * term/i386/pc/vga.c: Likewise.
49425 * util/console.c: Likewise.
49426 * util/genmoddep.c: Likewise.
49427 * util/misc.c: Likewise.
49428 * util/pupa-emu.c: Likewise.
49429 * util/resolve.c: Likewise.
49430 * util/unifont2pff.rb: Likewise.
49431 * util/i386/pc/biosdisk.c: Likewise.
49432 * util/i386/pc/getroot.c: Likewise.
49433 * util/i386/pc/pupa-mkimage.c: Likewise.
49434 * util/i386/pc/pupa-setup.c: Likewise.
49435
e6eced71 494362004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
49437
49438 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
49439 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
49440 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
49441 reading and reset it after reading.
49442 (pupa_ext2_close): Return PUPA_ERR_NONE.
49443
49444 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
49445 Correct value.
49446 (struct linux_kernel_header): Add kernel_version and
49447 initrd_addr_max.
49448 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
49449 pupa_file_read succeeds.
49450 (pupa_rescue_cmd_initrd): Implement.
49451
5aded270 494522003-12-03 Marco Gerards <metgerards@student.han.nl>
49453
49454 * fs/ext2.c (pupa_ext2_label): New function.
49455 (pupa_ext2_fs): Added label.
49456 * fs/fat.c (pupa_fat_label): New function.
49457 (pupa_fat_fs): Added label.
49458 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
49459
49460 * kern/misc.c (pupa_strndup): New function.
49461 * include/pupa/misc.h (pupa_strndup): New prototype.
49462
49463 * include/pupa/normal.h: Include <pupa/err.h>.
49464 (pupa_set_history): New prototype.
49465 (pupa_iterate_commands): New prototype.
49466 * normal/cmdline.c: Include <pupa/machine/partition.h>,
49467 <pupa/disk.h>, <pupa/file.h>.
49468 (hist_size): New variable.
49469 (hist_lines): Likewise.
49470 (hist_end): Likewise.
49471 (hist_used): Likewise.
49472 (pupa_set_history): New function.
49473 (pupa_history_get): Likewise.
49474 (pupa_history_add): Likewise.
49475 (pupa_history_replace): Likewise.
49476 (pupa_tab_complete): Likewise.
49477 (pupa_cmdline_run): Added tab completion and history buffer. Tab
49478 completion shows partitionnames while completing partitions, this
49479 feature was suggested by Jeff Bailey.
49480 * normal/command.c (pupa_iterate_commands): New function.
49481 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
49482 (pupa_normal_init): Initialize history buffer.
49483 (PUPA_MOD_INIT): Likewise.
49484 (pupa_normal_fini): Free the history buffer.
49485 (PUPA_MOD_FINI): Likewise.
49486
49487 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
49488 key.
49489
49490 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
49491 * configure.ac [i386]: Check for regparam bug.
49492 (NESTED_FUNC_ATTR) [! i386]: Defined.
49493
1f7315a3 494942003-11-17 Marco Gerards <metgerards@student.han.nl>
49495
49496 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
49497 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
49498 (pupa_emu_SOURCES): New variable.
49499 (pupa_emu_LDFLAGS): Likewise.
49500 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
49501 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
49502 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
49503 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
49504 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
49505 (pupa_jmp_buf): New typedef.
49506 (pupa_setjmp) [PUPA_UTIL]: New macro.
49507 (pupa_longjmp) [PUPA_UTIL]: Likewise.
49508 * include/pupa/term.h (struct pupa_term): New member `refresh'.
49509 (pupa_refresh): New prototype.
49510 * include/pupa/util/getroot.h: New file.
49511 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
49512 it.
49513 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
49514 (pupa_rescue_cmd_cat): Likewise.
49515 (pupa_rescue_cmd_ls): Likewise.
49516 (pupa_rescue_cmd_testload): Likewise.
49517 (pupa_rescue_cmd_lsmod): Likewise.
49518 * normal/cmdline.c (pupa_cmdline_get): Likewise.
49519 * normal/menu.c (run_menu): Likewise.
49520 * kern/term.c (pupa_cls): Likewise.
49521 (pupa_refresh): New function.
49522 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
49523 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
49524 * util/console.c: New file.
f19dbdb7 49525
1f7315a3 49526 * util/i386/pc/getroot.c: New file.
49527 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
49528 (pupa_putchar): New function.
49529 (pupa_refresh): Likewise.
49530 (xgetcwd): Function moved to ...
49531 (strip_extra_slashes): Likewise.
49532 (get_prefix): Likewise.
f19dbdb7 49533 * util/i386/pc/getroot.c: ... here.
1f7315a3 49534 (find_root_device): Function moved and renamed to...
49535 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
49536 Changed all callers.
49537 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
49538 and renamed to...
49539 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
49540 Changed all callers.
49541 * util/misc.c (pupa_memalign): New function.
49542 (pupa_mm_init_region): Likewise.
49543 (pupa_register_exported_symbols): Likewise.
49544 (pupa_putchar): Function removed.
49545 * util/pupa-emu.c: New file.
49546
9a5c1ade 495472003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
49548
49549 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
49550 (_multiboot_mod_SOURCES): New variable.
49551 (_multiboot_mod_CFLAGS): Likewise.
49552 * loader/i386/pc/multiboot.c: New file.
49553 * include/pupa/i386/pc/multiboot.h: Likewise.
49554 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
49555 (pupa_multiboot_real_boot): New function.
49556 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
49557 (pupa_multiboot_real_boot): New prototype.
49558 (pupa_rescue_cmd_multiboot): Likewise
49559 (pupa_rescue_cmd_module): Likewise.
49560
49561 * kern/loader.c (pupa_loader_set): Continue when
49562 pupa_loader_unload_func() fails.
49563 (pupa_loader_unset): New function.
49564 * include/pupa/loader.h (pupa_loader_unset): New prototype.
49565
49566 * kern/misc.c (pupa_stpcpy): New function.
49567 * include/pupa/misc.h (pupa_stpcpy): New prototype.
49568
8e72a9c0 495692003-11-12 Marco Gerards <metgerards@student.han.nl>
49570
49571 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
49572 for available extensions.
49573
49574 * include/pupa/i386/pc/time.h: New file.
49575 * kern/disk.c: Include <pupa/machine/time.h>.
49576 (PUPA_CACHE_TIMEOUT): New macro.
49577 (pupa_last_time): New variable.
49578 (pupa_disk_open): Flush the cache when there was a timeout.
49579 (pupa_disk_close): Reset the timer.
49580 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
49581 pupa_currticks.
49582 * util/misc.c: Include <sys/times.h>
49583 (pupa_get_rtc): New function.
49584
c4adbd32 495852003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
49586
49587 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
49588 as blocks.
49589 (pupa_ext2_get_file_block): Use blocks member.
49590
49591 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
49592 first block. Return -1 instead of pupa_errno on error.
49593
bfd30f06 495942003-10-27 Marco Gerards <metgerards@student.han.nl>
49595
49596 * README: In the pupa-mkimage example use _chain instead of chain
49597 and ext2 instead of fat.
49598 * TODO: Replace ext2fs with jfs as an example. Add an item for
49599 adding journal playback for ext2fs.
49600 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
49601 (pkgdata_MODULES): Added ext2.mod.
49602 (ext2_mod_SOURCES): New variable.
49603 (ext2_mod_CFLAGS): Likewise.
49604 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
49605 * include/pupa/misc.h (pupa_strncpy): New prototype.
49606 (pupa_strcat): Likewise.
49607 (pupa_strncmp): Likewise.
49608 * kern/misc.c (pupa_strcat): Enable function.
49609 (pupa_strncpy): New function.
49610 (pupa_strncmp): Likewise.
49611 * fs/ext2.c: New file.
f19dbdb7 49612
bfd30f06 49613 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
49614 when the read failed before retrying.
49615 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
49616 (_FILE_OFFSET_BITS): Likewise.
49617 * configure.ac: Added AC_SYS_LARGEFILE.
49618
98d15063 496192003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
49620
49621 * genmk.rb (PModule#rule): Make sure to get only symbol names
49622 from the output of nm.
59cad637 49623 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 49624
18d9c7cd 496252003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
49626
49627 I forgot to check in these changes for a long time. This adds
49628 incomplete support for VGA console, and this is still very
49629 buggy. Also, a lot of consideration is required for I18N,
49630 UNICODE, and VGA font issues. Therefore, assume that this is
49631 such that "better than nothing".
f19dbdb7 49632
18d9c7cd 49633 * font/manager.c: New file.
49634 * include/pupa/font.h: Likewise.
49635 * include/pupa/i386/pc/vga.h: Likewise.
49636 * term/i386/pc/vga.c: Likewise.
49637 * util/unifont2pff.rb: Likewise.
49638
49639 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
49640 (pkgdata_MODULES): Added vga.mod and font.mod.
49641 (vga_mod_SOURCES): New variables.
49642 (vga_mod_CFLAGS): Likewise.
49643 (font_mod_SOURCES): Likewise.
49644 (font_mod_CFLAGS): Likewise.
49645
49646 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
49647
49648 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 49649 (struct pupa_term): Added init and fini.
18d9c7cd 49650 Changed the argument of putchar to pupa_uint32_t.
49651
49652 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
49653 (pupa_console_real_putchar): New prototype.
49654 (pupa_console_putchar): Removed.
49655 (pupa_console_checkkey): Exported.
49656 (pupa_console_getkey): Likewise.
49657
49658 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
49659 characters.
49660
49661 * kern/term.c (pupa_term_set_current): Rewritten.
49662 (pupa_putchar): Likewise.
49663 (pupa_putcode): New function.
49664
49665 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
49666 (pupa_console_real_putchar): ... this.
49667 (pupa_vga_set_mode): New function.
49668 (pupa_vga_get_font): Likewise.
49669
49670 * normal/command.c: Include pupa/term.h.
49671 (terminal_command): New function.
49672 (pupa_command_init): Register the command "terminal".
49673
49674 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
49675 (DISP_UP): Likewise.
49676 (DISP_RIGHT): Likewise.
49677 (DISP_DOWN): Likewise.
49678 (DISP_HLINE): Likewise.
49679 (DISP_VLINE): Likewise.
49680 (DISP_UL): Likewise.
49681 (DISP_UR): Likewise.
49682 (DISP_LL): Likewise.
49683 (DISP_LR): Likewise.
49684
49685 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 49686
977329f5 496872003-02-08 NIIBE Yutaka <gniibe@m17n.org>
49688
49689 * util/resolve.c (pupa_util_resolve_dependencies): BUG
49690 FIX. Reverse the path_list.
49691
49692 * include/pupa/normal.h: Export pupa_register_command and
49693 pupa_unregister_command.
49694
49695 * hello/hello.c (pupa_cmd_hello): New module.
49696 * conf/i386-pc.rmk: Added hello.mod.
49697
1f5ab428 496982003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
49699
49700 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 49701
1f5ab428 49702 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
49703 (compress_kernel): New variable.
49704 (generate_image): Heavily modified to support compressing a
49705 large part of the core image.
49706
49707 * util/misc.c (pupa_util_read_image): Fix a file descriptor
49708 leak.
49709 (pupa_util_load_image): New function.
49710
49711 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
49712 (pupa_compressed_size): New variable.
49713 (codestart): Enable Gate A20 here.
49714 Decompress the compressed part of the core image.
49715 Rearrange the code to put functions and variables which are
49716 required for initialization in the non-compressed part.
49717 Include lzo1x.S.
49718
49719 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
49720 here.
49721
49722 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
49723
f19dbdb7 49724 * include/pupa/i386/pc/kernel.h
1f5ab428 49725 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
49726 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
49727 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
49728 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
49729 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
49730
49731 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
49732
49733 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
49734 (Utility#rule): Likewise.
49735
49736 * configure.ac: Check if LZO is available.
49737
ce5bf700 497382003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
49739
49740 * include/pupa/normal.h: New file.
49741 * include/pupa/setjmp.h: Likewise.
49742 * include/pupa/i386/setjmp.h: Likewise.
49743 * normal/cmdline.c: Likewise.
49744 * normal/command.c: Likewise.
49745 * normal/main.c: Likewise.
49746 * normal/menu.c: Likewise.
49747 * normal/i386/setjmp.S: Likewise.
f19dbdb7 49748
ce5bf700 49749 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
49750 (pupa_rescue_cmd_initrd): Likewise.
49751
49752 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
49753 Likewise.
49754
49755 * kern/i386/pc/startup.S (translation_table): New variable.
49756 (translate_keycode): New function.
49757 (pupa_console_getkey): Call translate_keycode.
49758
49759 * kern/rescue.c (attempt_normal_mode): New function.
49760 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
49761 it failed, print a message.
49762
49763 * kern/mm.c (pupa_real_malloc): Print more information when a
49764 free magic is broken.
49765 (pupa_free): If the first free header is not free actually, set
49766 it to P.
49767
49768 * kern/main.c (pupa_load_normal_mode): Just load the module
49769 "normal".
49770 (pupa_main): Don't print the message
49771 "Entering into rescue mode..." here.
49772
49773 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
49774 Declared.
49775 (pupa_rescue_cmd_initrd): Likewise.
49776 (pupa_rescue_cmd_initrd): Likewise.
49777
49778 * include/pupa/symbol.h (FUNCTION): Specify the type.
49779 (VARIABLE): Likewise.
49780
49781 * include/pupa/err.h (pupa_err_t): Added
49782 PUPA_ERR_UNKNOWN_COMMAND.
49783
49784 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
49785 (pupa_dl_get_prefix): Likewise.
49786
49787 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
49788 Added _chain.mod and _linux.mod instead of chain.mod and
49789 linux.mod.
49790 (chain_mod_SOURCES): Renamed to ...
49791 (_chain_mod_SOURCES): ... this.
49792 (chain_mod_CFLAGS): Renamed to ...
49793 (_chain_mod_CFLAGS): ... this.
49794 (linux_mod_SOURCES): Renamed to ...
49795 (_linux_mod_SOURCES): ... this.
49796 (linux_mod_CFLAGS): Renamed to ...
49797 (_linux_mod_CFLAGS): ... this.
49798 (normal_mod_SOURCES): New variable.
49799 (normal_mod_CFLAGS): Likewise.
49800 (normal_mod_ASFLAGS): Likewise.
49801
498022003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
49803
49804 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
49805 possible.
49806
fe6b695a 49807 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 49808 recursively.
49809 (pupa_dl_unref): Unrefer depending modules recursively.
49810 Don't call pupa_dl_unload implicitly, because PUPA can crash if
49811 a module is unloaded before one depending on that module is
49812 unloaded.
49813 (pupa_dl_unload): Unload depending modules explicitly,
49814 if possible.
49815
c04da074 498162003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
49817
49818 * include/pupa/i386/pc/linux.h: New file.
49819 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 49820
c04da074 49821 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
49822 Removed.
49823 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
49824 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
49825 of PUPA_CHAINLOADER_BOOT_SECTOR.
49826
49827 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
49828 (pupa_linux_prot_size): New variable.
49829 (pupa_linux_tmp_addr): Likewise.
49830 (pupa_linux_real_addr): Likewise.
49831 (pupa_linux_boot_zimage): New function.
49832 (pupa_linux_boot_bzimage): Likewise.
49833
49834 * kern/i386/pc/init.c (struct mem_region): New structure.
49835 (MAX_REGIONS): New macro.
49836 (mem_regions): New variable.
49837 (num_regions): Likewise.
49838 (pupa_os_area_addr): Likewise.
49839 (pupa_os_area_size): Likewise.
49840 (pupa_lower_mem): Likewise.
49841 (pupa_upper_mem): Likewise.
49842 (add_mem_region): New function.
49843 (compact_mem_regions): Likewise.
49844 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
49845 the size of the conventional memory and that of so-called upper
49846 memory (before the first memory hole).
49847 Instead of adding each found region to free memory, use
49848 add_mem_region and add them after removing overlaps.
49849 Also, add only 1/4 of the upper memory to free memory. The rest
49850 is used for loading OS images. Maybe this is ad hoc, but this
49851 makes it much easier to relocate OS images when booting.
49852
49853 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
49854 (pupa_enter_rescue_mode): Don't register initrd and module.
49855
49856 * kern/mm.c: Include pupa/dl.h.
49857
49858 * kern/main.c: Include pupa/file.h and pupa/device.h.
49859
49860 * kern/loader.c (pupa_loader_load_module_func): Removed.
49861 (pupa_loader_load_module): Likewise.
49862
49863 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
49864 ``.o''.
49865
49866 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
49867 (pupa_linux_tmp_addr): Likewise.
49868 (pupa_linux_real_addr): Likewise.
49869 (pupa_linux_boot_zimage): Likewise.
49870 (pupa_linux_boot_bzimage): Likewise.
49871
49872 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
49873 (pupa_upper_mem): Likewise.
49874 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
49875 module is too dangerous.
49876
49877 * include/pupa/loader.h (pupa_os_area_addr): Declared.
49878 (pupa_os_area_size): Likewise.
49879 (pupa_loader_set): Remove the first argument. Loader doesn't
49880 manage modules or initrd any longer.
49881 (pupa_loader_load_module): Removed.
49882
49883 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
49884 (linux_mod_SOURCES): New variable.
49885 (linux_mod_CFLAGS): Likewise.
49886
a13f9237 498872003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
49888
49889 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
49890 the length of a blocklist correctly.
49891
49892 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
49893 Use ioctl only if the OS file is a block device.
49894 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
49895 not very useful for normal files.
49896
49897 * kern/main.c (pupa_set_root_dev): New function.
49898 (pupa_load_normal_mode): Likewise.
49899 (pupa_main): Call those above.
49900
49901 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
49902 pupa_uint16_t.
49903
49904 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
49905
a5ffe966 499062003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
49907
49908 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
49909 (setup): Configure the installed partition information and the
49910 dl prefix.
49911
49912 * loader/i386/pc/chainloader.c (my_mod): New variable.
49913 (pupa_chainloader_unload): New function.
49914 (pupa_rescue_cmd_chainloader): Refer itself.
49915 (PUPA_MOD_INIT): Save its own module in MY_MOD.
49916
49917 * kern/i386/pc/startup.S (install_partition): Removed.
49918 (version_string): Likewise.
49919 (config_file): Likewise.
49920 (pupa_install_dos_part): New variable.
49921 (pupa_install_bsd_part): Likewise.
49922 (pupa_prefix): Likewise.
49923 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
49924
49925 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
49926 and pupa/misc.h.
49927 (make_install_device): New function.
49928 (pupa_machine_init): Set the dl prefix.
49929
49930 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
49931 (buf): Renamed to ...
49932 (linebuf): ... this.
49933 (pupa_rescue_cmd_prefix): New function.
49934 (pupa_rescue_cmd_insmod): Likewise.
49935 (pupa_rescue_cmd_rmmod): Likewise.
49936 (pupa_rescue_cmd_lsmod): Likewise.
49937 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
49938 rmmod and lsmod.
49939
49940 * kern/mm.c (pupa_memalign): If failed even after invalidating
49941 disk caches, unload unneeded modules and retry.
49942
49943 * kern/misc.c (pupa_memmove): New function.
49944 (pupa_memcpy): Removed.
49945 (pupa_strcpy): New function.
49946 (pupa_itoa): Made static.
49947
49948 * kern/dl.c (pupa_dl_iterate): New function.
49949 (pupa_dl_ref): Likewise.
49950 (pupa_dl_unref): Likewise.
49951 (pupa_dl_unload): Return if succeeded or not.
49952 (pupa_dl_unload_unneeded): New function.
49953 (pupa_dl_unload_all): Likewise.
49954 (pupa_dl_init): Renamed to ...
49955 (pupa_dl_set_prefix): ... this.
49956 (pupa_dl_get_prefix): New function.
49957
49958 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
49959 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
49960 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
49961 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
49962 (pupa_install_dos_part): Declared.
49963 (pupa_install_bsd_part): Likewise.
49964 (pupa_prefix): Likewise.
49965 (pupa_boot_drive): Likewise.
49966
49967 * include/pupa/types.h: Fix a typo.
49968
49969 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
49970 pupa_memmove.
49971 (pupa_memmove): Declared.
49972 (pupa_strcpy): Likewise.
49973
49974 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
49975 pupa_mod_init takes one argument, its own module.
49976 (pupa_dl_unload_unneeded): Declared.
49977 (pupa_dl_unload_all): Likewise.
49978 (pupa_dl_ref): Likewise.
49979 (pupa_dl_unref): Likewise.
49980 (pupa_dl_iterate): Likewise.
49981 (pupa_dl_init): Renamed to ...
49982 (pupa_dl_set_prefix): ... this.
49983 (pupa_dl_get_prefix): Declared.
49984
49985 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 49986 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 49987 unloaded.
49988 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
49989 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
49990
49991 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
49992 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
49993
012d7999 499942003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
49995
49996 * util/i386/pc/pupa-setup.c (setup): Define the internal
49997 function find_first_partition_start at the top level, because GCC
49998 3.0.x cannot compile internal functions in deeper scopes
49999 correctly.
50000 (find_root_device): Use lstat instead of stat.
50001 Don't follow symbolic links.
50002 Fix the path-constructing code.
50003
50004 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
50005 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
50006 by a BLKGETSIZE ioctl first, because block devices don't fill
50007 the member st_mode of the structure stat on Linux.
50008 [__linux__] (linux_find_partition): Use a temporary buffer
50009 REAL_DEV for the working space. Copy it to DEV before returning.
50010 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
50011 buffer cache consistent.
50012 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
50013 strncmp. The previous value was merely wrong.
50014 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
50015
50016 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
50017 FAT size is 12. The previous value was merely wrong.
50018
50019 * kern/main.c (pupa_main): Don't split the starting message from
50020 newlines.
50021
50022 * kern/term.c (pupa_putchar): Put CR after LF instead of before
50023 LF, because BIOS goes crazy about character attributes in this
50024 case.
50025
1cc73a62 500262003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
50027
50028 * include/i386/pc/util/biosdisk.h: New file.
50029 * util/i386/pc/biosdisk.c: Likewise.
50030 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 50031
1cc73a62 50032 * Makefile.in (INCLUDE_DISTFILES): Added
50033 include/pupa/i386/pc/util/biosdisk.h.
50034 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
50035 directory util/i386/pc.
50036 (install-local): Added a rule for sbin_UTILITIES.
50037 (uninstall): Likewise.
50038
50039 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
50040
50041 * util/misc.c (xrealloc): New function.
50042 (pupa_malloc): Likewise.
50043 (pupa_free): Likewise.
50044 (pupa_realloc): Likewise.
50045 (pupa_stop): Likewise.
50046 (pupa_putchar): Likewise.
50047
50048 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
50049
50050 * include/pupa/util/misc.h (xrealloc): Declared.
50051
50052 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
50053 macro.
50054 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
50055 (PUPA_BOOT_MACHINE_BPB_END): ... this.
50056
50057 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
50058 [PUPA_UTIL] (pupa_fat_fini): Likewise.
50059
50060 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
50061 way should be implemented.
50062 [PUPA_UTIL] (pupa_fat_fini): Likewise.
50063
50064 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
50065 the size of NAME for safety.
50066 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
50067 0x88.
50068
50069 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
50070 (pupa_setup_SOURCES): Likewise.
50071
50072 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
50073
08b70fe8 500742002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
50075
50076 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
50077 bunch of pushl's from pusha, because this destroys the return
50078 value.
50079
62ddcc8f 500802002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
50081
50082 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
50083 This means that any missing prototypes could be fatal. Also, you
50084 must take care when writing assembly code. See the comments at
50085 the beginning of startup.S, for more details.
f19dbdb7 50086
62ddcc8f 50087 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
50088 compilation mechanism.
50089 (pupa_chainloader_real_boot): Likewise.
50090 (pupa_biosdisk_rw_int13_extensions): Likewise.
50091 (pupa_biosdisk_rw_standard): Likewise.
50092 (pupa_biosdisk_check_int13_extensions): Likewise.
50093 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
50094 (pupa_biosdisk_get_diskinfo_standard): Likewise.
50095 (pupa_get_memsize): Likewise.
50096 (pupa_get_mmap_entry): Likewise.
50097 (pupa_console_putchar): Likewise.
50098 (pupa_console_setcursor): Likewise.
50099 (pupa_getrtsecs): Use pushl instead of push.
50100
50101 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
50102 memory instead of the stack for a mmap entry, because some
50103 BIOSes may ignore the maximum size and overflow.
50104
50105 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
50106
50107 * genmk.rb (PModule#rule): Compile automatically generated
50108 sources with module-specific CFLAGS as well as other sources.
50109
9962ed99 501102002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
50111
50112 * configure.ac: Check ld.
50113 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
50114 respectively, before checking endianness and sizes.
50115
50116 * Makefile.in (LD): New variable.
f19dbdb7 50117
abdfc3c5 501182002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
50119
50120 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
50121
6a161fa9 501222002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
50123
50124 * Changelog: New file.
50125